(转):内存器件介绍之RAM篇(五)

本文详细介绍了DDR、DDR2和DDR3内存技术的区别,重点解析了DDR中的关键特性,包括差分时钟信号、DQS数据同步信号的作用原理,以及DLL在内外时钟同步中的作用。此外还介绍了DDR2/DDR3新增的OCD和ODT功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        这一节我们重点介绍下DDRDDR2DDR3的管脚功能和它们之间的差异。

       ♦SDRAM芯片引脚及功能如下图所示:

    下图为DDR SDRAM的管脚列表及功能描述,从中可以可以发现,与SDRAM相比,DDR SDRAM多了两个信号线:CLK# DQSCLK#与正常 CLK 时钟相位相反,形成差分时钟信号。而数据的传输在 CLK CLK#的交叉点进行,可见在 CLK 的上升与下降沿(此时正好是 CLK#的上升沿)都有数据被触发,从而实现 DDR

    由于数据是在 CK 的上下沿触发,造成传输周期缩短了一半,因此必须要保证传输周期的稳定以确保数据的正确传输,这就要求 CK 的上下沿间距要有精确的控制。但因为温度、电阻性能的改变等原因,CK 上下沿间距可能发生变化,此时与其反相的 CK#就起到纠正的作用。而由于上下沿触发的原因,也使 CL=1.5 2.5 成为可能,并容易实现。如下图所示,CKCK#在相位上相差180(CKCK#实际上是伪差分时钟)

   ♦DDR中的DQS信号

         DQS DDR SDRAM 中的重要功能,它的功能主要用来在一个时钟周期内准确的区分出每个传输周期,并便于接收方准确接收数据。每一颗芯片都有一个 DQS 信号线,它是双向的,在写入时它用来传送由北桥发来的 DQS 信号,读取时,则由芯片生成 DQS 向北桥发送。完全可以说,它就是数据的同步信号。

         DQS 在读取时与数据同步传输,那么接收时也是以 DQS 的上下沿为准吗?不,如果以 DQS 的上下沿区分数据周期的危险很大。由于芯片有预取的操作,所以输出时的同步很难控制,只能限制在一定的时间范围内,数据在各 I/O 端口的出现时间可能有快有慢,会与 DQS 有一定的间隔,这也就是为什么要有一个 tAC 规定的原因。

    而在接收方,一切必须保证同步接收,不能有 tAC 之类的偏差。这样在写入时,芯片不再自己生成 DQS,而以发送方传来的 DQS 为基准,并相应延后一定的时间,在 DQS 的中部为数据周期的选取分割点(在读取时分割点就是上下沿),从这里分隔开两个传输周期。这样做的好处是,由于各数据信号都会有一个逻辑电平保持周期,即使发送时不同步,在 DQS 上下沿时都处于保持周期中,此时数据接收触发的准确性无疑是最高的。

    在写入时,以 DQS 的高/低电平期中部为数据周期分割点,而不是上/下沿,但数据的接收 触发仍为 DQS 的上/下沿(写入时在DQS的上升/下降沿采样数据,读时在DQS的高/低电平中点采样数据)

        在讲SDRAM的时候,我们知道它的写入延迟为0,但是DDR的写入延迟已经不是 0 了,在发出写入命令后,DQS 与写入数据要等一段时间才会送达。这个周期被称为 DQS 相对于写入命令的延迟时间(tDQSS WRITE Command to the first corresponding rising edge of DQS)。

    为什么要有这样的延迟设计呢?原因也在于同步,毕竟一个时钟周期两次传送,需要很高的控制精度,它必须要等接收方做好充分的准备才行。tDQSS DDR 内存写入操作的一个重要参数,太短的话恐怕接受有误,太长则会造成总线空闲。tDQSS 最短不能小于 0.75 个时钟周期,最长不能超过 1.25 个时钟周期。

       ♦DDR中的时钟

         DDR SDRAM 对时钟的精确性有着很高的要求,而 DDR SDRAM 有两个时钟,一个是外部的总线时钟,一个是内部的工作时钟,在理论上 DDR SDRAM 这两个时钟应该是同步的,但由于种种原因,如温度、电压波动而产生延迟使两者很难同步,更何况时钟频率本身也有不稳定的情况。

        DDR SDRAM tAC 就是因为内部时钟与外部时钟有偏差而引起的,它很可造成因数据不同步而产生错误的恶果。实际上,不同步就是一种正/负延迟,如果延迟不可避免,那么若是设定一个延迟值,如一个时钟周期,那么内外时钟的上升与下降沿还是同步的。鉴于外部时钟周期也不会绝对统一,所以需要根据外部时钟动态修正内部时钟的延迟来实现与外部时钟的同步,这就是 DLL 的任务。

        DLL 不同于主板上的 PLL,它不涉及频率与电压转换,而是生成一个延迟量给内部时钟。目前 DLL 有两种实现方法,一个是时钟频率测量法(CFMClock Frequency Measurement),一个是时钟比较法(CCClock Comparator)。

       CFM 是测量外部时钟的频率周期,然后以此周期为延迟值控制内部时钟,这样内外时钟正好就相差了一个时钟周期,从而实现同步。DLL 就这样反复测量反复控制延迟值,使内部时钟与外部时钟保持同步。 

       CC 的方法则是比较内外部时钟的长短,如果内部时钟周期短了,就将所少的延迟加到下一个内部时钟周期里,然后再与外部时钟做比较,若是内部时钟周期长了,就将多出的延迟从下一个内部时钟中刨除,如此往复,最终使内外时钟同步。

 

 

     上图为DDR2/DDR3的芯片的引脚和功能说明,与DDR相比,DDR2/DDR3最大的差别是多了OCDODT功能。

          OCDOff-Chip Driver的缩写,即片外驱动调校的意思。OCD 的主要用意在于调整 I/O 接口端的电压,来补偿上拉与下拉电阻值。目的是让 DQS DQ 据信号之间的偏差降低到最小。调校期间,分别测试 DQS 高电平/DQ 高电平,与 DQS 低电平/DQ 高电平时的同步情况,如果不满足要求,则通过设定突发长度的地址线来传送上拉/下拉电阻等级(加一档或减一档),直到测试合格才退出 OCD 操作。

         ODTOn-Die Termination的缩写,即片内终结的意思。所谓的终结,就是让信号被电路的终端吸收掉,而不会在电路上形成反射,造成对后面信号的影响。

        DDR 时代,控制与数据信号的终结在主板上完成,每块 DDR 主板在 DIMM 槽的旁边都会有一个终结电压岛的设计,它主要由一排终结电阻构成。长期以来,这个电压岛一直是 DDR 主板设计上的一个难点。而 ODT 的出现,则将这个难点消灭了。 顾名思义,ODT 就是将终结电阻移植到了芯片内部,主板上不在有终结电路。ODT 的功能与禁止由北桥芯片控制,ODT 所终结的信号包括 DQSDQDM 等。

    在向内存写入时,如果只有一条 DIMM,那么这条 DIMM 就自己进行终结,终结电阻等效为150Ω。如果为两条 DIMM,一条工作时,另一条负责终结,但等效电阻为 75Ω。在从内存读出时,终结操作也将在北桥内进行,如果有两条 DIMM,不工作的那一条将会终结信号在另一方向的余波,等效电阻也因 DIMM 的数量而有两种设置。ODT电阻网络示意图如下图所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值