各位同学大家好,欢迎继续做客电子工程学习圈,今天我们继续来讲这本书,硬件系统工程师宝典。
上篇我们了解了FLASH可分为NOR FLASH和NAND FLASH,NOR FLASH一般用于代码运行及擦除或编程较少的场合,NAND FLASH用于擦除、编程速度快,但是不用于直接运行代码的场合。今天我们来讲一讲SDRAM的相关知识。
SDRAM
SDRAM指同步动态随机存储器,同步指的是Memory工作需要同步时钟,内部命令发送和数据传输都以同步时钟为基准;动态指的是存储阵列要不断地刷新保证数据不丢失;随机指的是数据不是线性存储而是自由指定进行数据读/写。SDRAM的内部存储结构如下图所示:
SDRAM内部的存储结构
我们在进行取址操作时,需要依次获取Bank数、行地址、列地址,从而找到要读取或写入的数据。在系统设计时,Memory的容量如下计算:
例如,某SDRAM的行地址信号为A0~A12,列地址信号线为A0~A9,A11,数据信号线为DQ0~DQ7,位宽为8,Bank数是4,则Memory的容量是213*211*4*8bit=512Mbit。那么,我们在选型时,要确认Bank数、行地址数、列地址数是否和CPU匹配,Memory的位宽是否支持。
DDR SDRAM
DDR SDRAM(Double Data Rate SDRAM)是指双倍速率同步动态随机存储器。其中双倍指的是DDR内存除了像SDRAM一样在时钟上升期进行数据传输外,在时钟下降期也可以进行数据传输,因此DDR内存更快。
DDR SDRAM的Memory容量计算和SDRAM是一样的,DDR SDRAM在数据采样上不再依赖于时钟信号采样,而是采用DQS(数据选通信号,Data Strobe)进行采样。在写操作时,数据由CPU发往DDR,DDR数据接收端利用DQS的边沿对DQ进行采样;读操作时,数据由DDR发送给CPU,在接收端的存取器利用DQS的边沿对DQ采样。DDR SDRAM的数据采样依赖DQS信号,而地址、命令和控制信号等单端信号仍采用时钟信号采样。
DDR2 SDRAM
DDR2 SDRAM简称DDR2,是第二代双倍数据率同步动态随机存取存储器(Double-Data-Rate Two Synchronous Dynamic Random Access Memory)。DDR2的实际工作频率是DDR的两倍,得益于DDR2内存拥有两倍于DDR内存的预读取能力,如下图所示:
DDR和DDR2预读取能力的对比
除了预读取能力的提升,DDR2 SDRAM既可以采用单端DQS信号,也可采用差分DQS信号,使用差分信号以减少信号串扰的影响。另外,DDR2 SDRAM采用SSTL-1.8电平,在相同存储容量和相同数据传输率的情况下,DDR2具有更低的功耗。
DDR3 SDRAM
DDR3是在DDR2基础上采用的新型设计,与DDR2 SDRAM相比具有功耗、发热量较小、工作频率更高等优势。DDR3的内部是一个存储阵列,类似一张表格,将数据“填”进去,如下图所示:
DDR3存储阵列的等效表格
那么,我们芯片寻址就跟检索表格一样,先指定一个行(Row),再指定一个列(Column),就可以准确地找到所需要的单元格(存储单元),这个表格对应的就是逻辑Bank(Logical Bank)。图中黑格的位置表示根据寻址命令B1、R2、C6确定的位置,寻址的流程也就是先指定Bank地址,再指定行地址,然后指定列地址,最终确定寻址单元。
DDR3和DDR2的信号种类是一样的,其中DDR3不再支持单端DQS数据选通信号,全部采用差分数据选通信号,DDR3对DQS与Clock没有严格的时序要求,而DDR2对DQS与Clock有严格的时序要求。DDR3供电采用1.5V,接口电平逻辑满足SSTL_1.5V。
DDR4 SDRAM
内存颗粒的演变如下图所示:
内存颗粒的演变
可以看出,DDR4在2014年开始崛起,在2015年后开始迅速占领市场。DDR4内存的运行频率提升至2133~4266MHz,电压降低至1.2V、1.1V。另外,与DDR3相比,DDR4的接口引脚增加了,ACT_n命令激活输入信号,BG0-BG1用于选择哪个Bank被激活,PAR输入命令和地址信号的奇偶校验,ALERT_n报警的输入和输出信号,VPP用于DRAM激活的2.5V供电引脚等。
另外,整理了一些电子工程类的资料,分享给大家,目前有模拟电路、单片机、C语言、PCB设计、电源相关、FPGA、EMC、物联网、Linux相关学习资料,还有针对大学生的资料包,后续还会有更多资料分享给大家,助力大家学习,成就梦想~
关注同名公众号领取资料~
链接也可在往期文章中找(在文章的最后有链接)~
模拟电路设计的九个级别,你是模电几段?