Menu Close

同步DRAM的原理与结构

上节内容介绍了SRAM与DRAM的原理,并介绍了SRAM的接口与使用,SRAM与早期发展的DRAM接口都是异步接口,所谓异步接口是只地址、数据与控制接口在读写双方的应答中没有与时钟产生直接的关系,尽管主从设备的总线可能都是在各自的系统时钟控制下完成的(从设备系统可能没用自己系统时钟),但由于双发的时钟各自生成,没有直接的关系,这种在没有统一时钟控制下的读写,称为异步读写。因次存储器芯片也分为同步存储器芯片和异步存储器芯片。如只读存储器中I2C 接口的EEPROM, SPI接口的EEPROM, SPI接口的Flash 存储器都可以看作同步存储器,而并行接口的EPROM, NOR Flash,NAND Flash 等都认为是异步只读存储器。随机存取存储器也有同步与异步之分,如上面介绍的SRAM,早期的DRAM都是异步的,但随着技术的发展,同步DRAM由于结构简单,读写速度快,接口时序易于控制等优点,在市场竞争中具有巨大的优势,因此在高速及大容量的内存使用中占有主导地位。下面将着重介绍同步随机存取存储器的原理,接口及应用。

%title插图%num

图1 异步DRAM的读写时序

  1. 同步随机存取存储器

同步随机存取存储器由称为SDRAM(Synchronous DRAM) 。 SDRAM与早期的DRAM最大的不同就是采用了同步时钟,从图1 可以看出,DRAM在外部接口上没有采用时钟同步信号,因此在读写上都要进行异步时钟到同步时钟的转换,读写效率很低。一个简单的例子,SRAM有RD#,WE#信号,在主机与SRAM硬件连接后主机生成的控制信号都是在主机时钟的控制下进行的,但是SRAM在接收的地址线和数据线时依赖CE#和WE#信号的选通,此时如果在内部译码将会产生延迟逻辑,具体的延迟随着芯片的不同而不同,因此在使用时都会给出比较大的时序冗余。如IS61WV51216BLL-10TI,虽然读写速度可以达到100M,但在真正应用时,很难做到主机端100M时钟恰好满足要求。如图2,虽然从时序上看可以做到ADDR,CE#,WE#,RD#等信号可以同时建立和撤销,但在考虑到布线延时(包括FPGA的布线延时和PCB板的布线延时)等因素 ,往往要降低主频使用。特别是在目前要求1GHz以上的读写要求时,显得无能为力。

特别是前面介绍过的FLASH芯片有复杂的读写命令,往往数据,控制信号,数据等都需要锁存,然后再转换成内部时钟,此时就会出现不同时钟域的转换。因此目前的内存都是同步的SDRAM。同步的SDRAM比非同步的DRAM多一套时钟线CLK, 在考虑到非读写期间降低功耗的要求,会添加CLKE#信号,即时钟使能信号。SDRAM的时序如图4所示。

%title插图%num

图2 SRAM的读写时序

%title插图%num

图3 内存条示意图

2. SDRAM(Synchronous DRAM)的分类

随着时间的推进,同步DRAM经过了不同的发展阶段。SDRAM比较典型的阶段及代表产品有SDRAM,DDR-SDRAM, DDR2-SDRAM ,DDR3-SDRAM ,DDR4-SDRAM,DDR5-SDRAM等产品。

  • SDRAM

SDRAM(Synchronous DRAM)是比较早期的产品,主频一般低于100M,与SRAM相比容量大,读写速度高,但读写操作复杂。同时芯片内部采用DRAM结构,因此需要刷新。SDRAM的电压是3.3V,IO口的电平标准一般LVCOMS33(3.3V)。目前在嵌入式领域仍在使用,但性价比不高。

  • DDR-SDRAM

DDR-SDRAM(double data rate)与SDRAM相比突出特点是,在读取与写入时时钟都采用双边沿操作,即在上升沿和下降沿都可以进行读/写操作。DDR-SDRAM的时钟主频一般在150Mhz左右,但由于采用双边沿操作,实际的读写速度要比SDRAM快的多。DDR-SDRAM的供电电压为2.5V,IO的电平标准为LVCMOS25(2.5V)。目前基本上处于淘汰状态。

  • DDR2-SDRAM

DDR2-SDRAM与DDR-SDRAM相比在DDR2内部采用双倍预读取,因此DDR2的时钟一般比DDR-SDRAM的接口时钟高很多。比较流行的333Mhz, 400Mhz ,533Mhz等,接口电压为1.8V。虽然DDR2_SDRAM 在存储器采用双倍预读取,但外部接口依然采用双边沿的读写方式,因此对外接口与DDR-SDRAM 相比仅接口不同电压,读写速度仅时钟频率决定。

DDR3-SDRAM

由于DDR3性价比比DDR2-SDRAM高很多,因此目前嵌入式系统中DDR3-SDRAM是主流产品。DDR3-SDRAM与DDR2-SDRAM相比在芯片内部读写又提高一倍,因此主频也比DDR2有大幅提升。DDR3-SDRAM供电及接口电压典型的为1.5V,低电压系列为1.35V,如DDR3L SDRAM 供电电压和接口电压都为1.35V。目前仍然是计算机内存的主流产品。特别是在嵌入式系统中,由于多数主流控制器件还不支持DDR4,因此多数嵌入式系统仍以DDR3 为主。

  • DDR4-SDRAM

为目前最高性能的SDRAM,主频最高可以达到2.4G,目前在性价比上与DDR3比有优势,因此在不久的将来会逐渐替代DDR3成为嵌入式系统的主要存储器。

本章课程会结合DDR3-SDRAM MT41J128M16HA-125实例讲解原理,硬件设计,FPGA接口设计及应用实例。由于SDRAM为同步DRAM,因此与读写相关的地址,数据,控制信号都与时钟有关,除了复位信号外,其它的信号都为同步信号。时钟由主控制器提供,主从设备共用同一套系统时钟。典型时序如图4所示,

%title插图%num

图4 DDR典型时序

3. DDR3-SDRAM芯片实例详解(MT41J128M16HA-125)

  • 标志

标志:(1)MT41J —-Micron(美光) DDR3的标志(2)128M16–表示128M X 16的存储单元,输入、输出为16位(3)HA–封装形式指96-ball 9mm x 14mm FBGA(4)-125–表示读写速度为1.25ns的级别,时钟最高可以达到800MHz

  • 特性

(1)供电电压与IO电压一致,都为1.5V-0.075V 到1.5V+0.075V,低电压系列为1.35V。 0.75V为中心的IO推拉结构

(2)差分时钟线

(3) 8n-bit数据预取结构(内部)

(4)ODT:为数据、数据选通、数据屏蔽提供芯片内部固定或动态可选的终端电阻(ODT , on die termination)。

(5)可编程的CAS# 读数据潜伏(latency) CL

(6)可编程附加的CAS# 数据潜伏(latency) AL (additive latency)

(7)可编程的写CAS# 的latency ,CWL(CAS Write Latency)

(8)突发长度,固定的8突发长度(burst length)或砍半(chop)的4突发长度(BC4)

(9)封装:96 PINs FBGA封装(16 接口)(fine BGA,HA/JT/JE)或78 PINs FBGA(HX/DA)封装(仅4位或8位接口),如图5,图6所示。

%title插图%num

图5 MT41J128M16HX(DA)-125 封装(78 PIN FBGA)

%title插图%num

图6 MT41J128M16HA(JT)-125 封装

%title插图%num

图7    美光DDR3 芯片型号识别

  • 美光(MICRON)DDR3-SDRAM 的组织结构

以2Gb容量的芯片为例介绍DDR3不同的数据接口和寻址方式,见表1。

    • 数据接口

不同芯片数据接口宽度不同,分别为4,8,16位数据接口。

    • 寻址方式

地址寻址的差别主要在行(ROW)、列(COLOUM)以及BANK组成了立体结构的寻址方式。每一行与不同列地址组成一个页面(page),有多个页面组成一个BANK。整个芯片根据容量由8个BANKs组成。行地址与列地址根据数据接口位数不同而不同。如:

4位数据接口: 行地址A[14:0] ,列地址A[11,9:0]。

8位数据接口: 行地址A[14:0] ,列地址A[9:0]。

16位数据接口:行地址A[13:0] ,列地址A[9:0]。

页面容量由数据位宽和列地址共同决定:分别为1KB,1KB,2KB

表1

%title插图%num

  • 容量计算

DDR3如何根据上表进行容量计算呢?传统的计算方式都是以字节(byte)为单位进行容量计算的,表1中Configuration栏给出的是按位的计算方法,如:

           MT41J512M4JE-125      总容量为 Volbit=64M x  4  x  8 banks=2Gbits ,

 转换成byte时的容量为 Volbyte=Volbit 8=64M x  4  x  8 banks/8=64  x 4 =256M bytes

 

  MT41J256M8JE-125      总容量为 Volbit=32M x 8  x  8 banks=2Gbits ,

 转换成byte时的容量为 Volbyte=Volbit 8=32M x  8  x  8 banks/8=32  x 8=256M bytes

 

 MT41J128M16JE-125      总容量为 Volbit=16M x 16  x  8 banks=2Gbits ,

 转换成byte时的容量为 Volbyte=Volbit 8=16M x  16  x  8 banks/8=16  x 16=256M bytes

        也可以按照行(row),列(column),bank的方式进行计算。以MT41J128M16JE-125为例计算方法如下:

    • 计算每个page的容量,    Volpage = 2KB, 注意这里B代表 byte,
    • 计算每个bank的容量 ,   Volbank=Volpage x  Rownum=2KB  x 16K=32MB
    • 计算总容量                          Vol       =Volbank x 8            =32M x 8     =128MB

 

有关DDR3的接口、时序及控制器的设计,将在后续章节中展开。

 

Posted in FPGA, 元器件, 存储器, 教材与教案, 文章, 资料区

发表评论

相关链接