本文以美光MT40A1G16RC-062E为例,介绍DDR4 SDRAM基础知识。
一、DDR4引脚
MT40A1G16RC-062E是1Gx16,对应引脚如下:
1、数据线
1)DQ[0:15]:16位数据线。
2)UDQS_t/UDQS_c和LDQS_t/LDQS_c:2组差分数据选通,UDQS对应数据DQ[15:8];LDQS对应数据DQ[7:0]。
3)UDM_n/LDM_n:2根数据掩码,UDM_n与DQ[15:8]关联;LDM_n与DQ[7:0]关联。数据掩码只支持x8和x16。
2、地址线
1)A[17:0] :其中A10/AP, A12/BC_n, WE_n/A14, CAS_n/A15, RAS_n/A16可功能复用。
2)BA[1:0] :bank地址线,bank是DDR4 SDRAM芯片内部的存储阵列,注意和rank区分。
3)BG[1:0] :bank group地址线。
3、时钟
1)CK_t/CK_c:一组差分时钟信号。
2)CKE:时钟使能信号。
4、命令
1)CS_n:片选。
2)ACT_n:激活命令输入。
3)RAS_n/A16、CAS_n/A15、WE_n/A14:命令输入。ACT为低,RAS、CAS和WE作为行地址;ACT为高,RAS、CAS和WE作为命令。
4)PAR:校验位,使能后可以校验命令和地址线数据。
5)ODT(On-die termination):片内终结。将端接电阻移植到芯片内部,防止CPU发出的信号不能被电路终端完全吸收,形成反射,影响后面信号。ODT应用在DQ、DM、DQS引脚。
6)ZQ:ZQ校准。
7)RESET_n:芯片复位信号。
5、电源
1)VDD:电源电压,1.2V ±0.060V。
2)VDDQ:电源电压,1.2V ±0.060V。
3)VPP:DRAM激活电压: 2.5V –0.125V/+0.250V。
4)VREFCA:控制、命令、地址线的参考电压,需要一直保持在规定电压范围内。
5)VSS/VSSQ:地。
例:
使用64bit数据线CPU,外接8G DDR4 SDRAM,连接方法如下:
1)把4片16bit DDR4 SDRAM数据线凑成一组64bit,即为1个rank。
2)CPU区分不同的组连接DQS和DM。
3)多片DDR4 SDRAM可以共用地址线、时钟、命令、电源。
二、内存大小
DDR4的内寸大小 =(Bank个数) * (2^行地址个数) * (2^列地址个数) * (数据线 / 8)
MT40A1G16RC-062E:2个Bank组,每组有4个Bank,17位行地址线,10位列地址线,16位数据线。
![](https://img.haomeiwen.com/i25189644/15201d9d801c3987.png)
DDR4内存大小 =(2*4) * (2^17) * (2^10) * (16/8) = 2G (Byte)
三、时间参数
时间参数 | 全称 | 备注 |
---|---|---|
tCK | Clock Time | 时钟周期 |
tRCD | Row address to Column address Delay | 行地址到列地址的延时 |
tRP | Row Precharge time | 行预充电时间 |
tRAS | Row Active time | 行有效至预充电的最短周期 |
tWR | Write Recovery time | 写恢复时间 |
tRFC | Row Refresh Cycle time | 刷新时间间隔 |
tRRD | Row to Row Delay | 行单元到行单元的延时 |
tCCD | Column to Column Delay | 读命令之间的时间间隔 |
tREF | Refresh Period | 刷新周期 |
一般在程序启动阶段(如:Bootloader或ATF)初始化DDR。芯片厂商会提供DDR控制器初始化代码和DDR参数配置表。如果需要适配新的DDR,需要根据硬件设计和DDR芯片参数修改代码。修改内容除上面的时间参数外,还会涉及到rank,内存大小等参数。
DDR时间参数都可以在对应的芯片手册里查找,MT40A1G16RC-062E的部分时间参数如下:
![](https://img.haomeiwen.com/i25189644/1591ae9b8a4b8b4e.png)
注:
内存模块在嵌入式系统中至关重要,在程序调试时,除了保证基本功能和稳定性外,还要考虑高低温等环境因素。
参考:
JESD79_4 DDR4 Spec.pdf
MT40A512M16.pdf
网友评论