DDR2电路中常见的名词解释
DDR2的有几个比较麻烦的设置,但一般是有国际的规范要求,在做ARM初始化DDR2之前,先了解一些经常出现的名词吧。
- DDR2的时钟输入是差分的时钟输入,即用到了CK,/CK
- DDR2有专门的时钟使能输入引脚CKE
- OCD 这个叫off-chip-driver 它的用途是实现DQS与DQ的边沿校准,因为数据输入可以在时钟的上升沿跟下降沿均可以实现数据传输,为了保证数据
- DLL 这是delay 锁相环的意思,它的用途是将数据的选通信号DQS跟CK的时钟进行边界对齐,实现多信号的同步,非常重要
BA0~BA1
这2个bit的不同组合逻辑值,除了表征了不同的bank地址,还能用来表征在EMR和EMRS周期中访问的具体哪一个
BA0 | BA1 | 代表的bank序列 |
---|---|---|
0 | 0 | 正常模式 |
0 | 1 | PALL模式 |
1 | 0 | MRS模式 |
1 | 1 | EMRS模式 |
我们在初始DDR2的阶段时,会经常去访问MRS跟EMRS寄存器,其中EMRS(2)和EMRS(3)是将来扩展用的,比如DDR3就用到了一些。
ODT
DDR2相比以前的DDR,它新增了了一个ODT管脚(on die termination 片内信号终止器),它可以使信号的反射和信噪比达到一个更好的平衡,提高信号的稳定性,该管脚颗粒使能DQ、DQS、RDQS、DM信号在颗粒内部终结,不需要像DDR那样用外部的电阻进行匹配,减少了不少PCB layout的麻烦
RDQS
读操纵时数据选通信号,该信号和DM管脚复用,EMRS(1)寄存器的A11=1使能RDQS的功能
DQ (Bi-directional data bus)
数据传送(输入,输出)信号,这是一种双向的数据总线,即,既可以读,也可以写(废话显然)
DQS (LDQS 、UDQS、 RDQS)
写数据选通信号,支持(4位,8位,16位写方式),可以用来选择使用差分信号还是单端信号,EMRS(1)寄存器的A10位用来设置它。如果选用单端信号,/DQS信号必须使用20~10K电阻下拉到VSS
- EMRS(1) A10 = 1 使用单端信号 , /DQS信号必须使用20~10K电阻下拉到VSS。
- EMRS(1) A10 = 0 使用差分信号,即使用DQS和/DQS。
其中,如果ddr2 sdram跟MPU连接时,采用数据总线是16位的,那么还有LDQS和UDQS的说法,同时他们也有差分的/LDQS和/UDQS
- LDQS low DQ,即16位数据中的低8位,对应着DQ0~DQ7
- UDQS up DQ,即16位数据中的高8位,对应着DQ15~DQ8
- RDQS 这是用来读的,为了简化读的时序,便提供了RDQS这个功能,但它和DM引脚复用
也就是说,读的时候,你可以选择简化读时序,就用RDQS,而写的时候,分为4位,8位,16位的写模式(根据硬件电路来决定,支持使用DQS,LDQS、UDQS),也就是说DQS其实是write的时候的数据选通(差分不差分就看你设置的EMRS(1)中的A10位)
DLL
延时锁相环的意思,它在DDR2的内部使用一个单独的1.8v电源和地。
Vdd Vddq Vddl Vref
DDR2的正常工作,离不开稳定的供电源,就此解释下这几个的差异
- Vdd DDR2的正常工作电压
- Vddq DQ供给电压
- Vddl 内部DLL模块的供给电压,自带1.8v
- Vref 参考电压