DDR基础原理介绍:差分时钟,同相,反相,两者差分交叉处也即差分值为0时读写信号,一个时钟周期可以上升沿下降沿都传输数据。相当两个时钟了。所以spi简单一个时钟信号不可能一个周期内同时锁定上升沿下降沿

400 篇文章 153 订阅

相当于还是两个时钟了。所以spi简单一个时钟信号不可能一个周期内同时锁定上升沿和下降沿,只能锁定一个边沿。也就是一个边沿触发,另外一个是电平触发

DQS数据选取脉冲产生原理推测类似边沿脉冲门电路的原理,不大可能是差分运放的原理,因为差分运放输出值要么正最大值,要么负最大值,同相反相输入正好相等的时刻不好控制,输出什么状态更不容易掌控,还受温漂,失调电流影响

 只有信号相差在28uV以内时候,开环的比较器才工作在线性区,输入端差值是0则,输出也是0

 

 失调电压是使输出为0时候的输入电压值,很小的值。对于外接调零电位器的运放(有关联的电路)可以调节使输入为0,输出也为0 

DDR基础原理介绍

1、前言

DDR的全称为Double Data Rate SDRAM,双倍速率的SDRAM,SDRAM在一个CLK周期传输一次数据,DDR在一个CLK周期传输两次数据,分别在上升沿和下降沿各传输一次数据,该概念称为预取,在描述DDR速度的时候一般使用MT/S单位,每秒多少兆次数据传输。

2、DDR结构框图

以Micro的DDR3L芯片MT41K256M16进行结构框图的介绍,该芯片是一款512MB的DDR3L内存芯片,框图如下所示:

对上面给出的框架图各个标号进行简单介绍:

(1)控制线

ODT:片上终端使能,ODT使能和禁止片内终端电阻;

ZQ:输出驱动较准的外部参考引脚,应外接一个RZQ电阻到VSSQ,一般接到地;

RESET:芯片复位引脚,低电平有效;

CKE:时钟使能引脚;

A12:A12为地址引脚,叫做BC引脚,有另外一个功能,A12会在READ和WRITE命令期间被采样,决定burst chop是否会被执行;

CK,CK#:时钟信号线,DDR3的时钟线是差分时钟线,控制信号和地址信号都会在CK的上升沿和CK#的下降沿交叉处采集;但是数据在一个周期的上升沿和下降沿(一个时钟周期的同相反相交叉处有两个)都传输,

CS#:片选信号,低电平有效;

RAS#:行地址选通信号;

CAS#:列地址选通信号;

WE#:写使能信号。

(2)地址线

A[14:0]:A0~A14为15根地址线,根据MT41K256M16的框图,有15根行地址线A0~A14和10根列地址线A0~A9,行地址线和列地址线进行复用,该DDR3L芯片中1个Bank的大小为2^15*2^10*2=32MB*2=64MB,总共有8个Bank,该DDR3L的RAM大小为64MB*8=512MB。

(3)Bank选择线

BA[2:0]:BA0~BA2为Bank的选择先,由2^3=8,可以总共有8个Bank。

(4)Bank区域

8个Bank区域,DDR3一般有8个Bank区域。

(5)数据线

DQ[15:0]:DQ0~DQ15为16根数据线,该DDR3L的宽度为16位。

(6)数据选通引脚

LDQS,LDQS#:LDQS和LDQS#是数据选通引脚,对应低字节DQ0~DQ7,读的时候是输出,写的时候为输入;

UDQS,UDQS#:UDQS和UDQS#是数据选通引脚,对应高字节DQ8~DQ15,读的时候是输出,写的时候为输入。

(7)数据输入屏蔽引脚

LDM/UDM:写数据输入屏蔽引脚。

3、DDR的一些关键时间参数

DDR的一些关键时间参数:

(1)传输速率

如1066MT/S、1600MT/S等,该参数决定了DDR的最高数据传输速率。

(2)tRCD参数

tRCD的全称为RAS-to-CAS Delay,行寻址到列寻址只之间的延迟。DDR的寻址流程为先进行Bank地址,然后指定行地址,最后指定列地址,确定除最终要寻址的单元,Bank地址和行地址是同时发出的,该命令叫"行激活",行激活后就发送列地址和具体的操作命令,同时发出,表示列寻址,在行激活到读写命令发出的这段时间时隔就是tRCD,如下:

数据手册一般会给出tRCD时间参数,如MT41K256M16的数据手册中有如下:

(3)CL参数

当列地址发出以后就会触发数据传输,从数据从存储单元到内存芯片IO接口上需要一段时间,这段时间就是CL(CAS Latency),列地址选通潜伏期,如下:

(4)AL参数

AL(Additive Latency)参数是为了保证足够的延迟潜伏期,单位为时钟周期,AL+CL组成了RL(Read Latency),加入AL参数以后的读时序如下:

(5)tRC参数

tRC是两个ACTIVE命令,或者ACTIVE命令到REFRESH命令之前的周期,DDR的数据手册会给出该值。

(6)tRAS参数

tRAS是ACTIVE命令到PRECHARGE命令之间的最小时间。

参考链接:

http://t.zoukankan.com/Cqlismy-p-11965334.html

DDR技术简介 - 知乎

http://www.360doc.com/content/17/0628/10/43885509_667136417.shtml

发布于 2022-02-10 06:12

上一篇的问题里面问到了DDRX相对于前一代来说的关键技术突破在哪里,虽然没有人回答得完全正确,但这个也是很正常的,因为通过几句话要想说清楚也确实是不容易的,所以还是通过文章来把这些关键技术再给大家介绍一下。

    

 差分时钟技术

差分时钟是DDR的一个重要且必要的设计,但大家对CK#(CKN)的作用认识很少,很多人理解为第二个触发时钟,其实它的真实作用是起到触发时钟校准的作用。 

由于数据是在CK的上下沿触发,造成传输周期缩短了一半,因此必须要保证传输周期的稳定以确保数据的正确传输,这就要求CK的上下沿间距要有精确的控制。但因为温度、电阻性能的改变等原因,CK上下沿间距可能发生变化,此时与其反相的CK#(CKN)就起到纠正的作用(CK上升快下降慢,CK#则是上升慢下降快),如下图一所示。

图一 差分时钟示意图

数据选取脉冲(DQS)


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

在读取时,DQS与数据信号同时生成(也是在CK与CK#的交叉点)。而DDR内存中的CL也就是从CAS发出到DQS生成的间隔,数据真正出现在数据I/O总线上相对于DQS触发的时间间隔被称为tAC。实际上,DQS生成时,芯片内部的预取已经完毕了,由于预取的原因,实际的数据传出可能会提前于DQS发生(数据提前于DQS传出)。由于是并行传输,DDR内存对tAC也有一定的要求,对于DDR266,tAC的允许范围是±0.75ns,对于DDR333,则是±0.7ns,其中CL里包含了一段DQS的导入期。

DQS 在读取时与数据同步传输,那么接收时也是以DQS的上下沿为准吗?不,如果以DQS的上下沿区分数据周期的危险很大。由于芯片有预取的操作,所以输出时的同步很难控制,只能限制在一定的时间范围内,数据在各I/O端口的出现时间可能有快有慢,会与DQS有一定的间隔,这也就是为什么要有一个tAC规定的原因。而在接收方,一切必须保证同步接收,不能有tAC之类的偏差。这样在写入时,DRAM芯片不再自己生成DQS,而以发送方传来的DQS为基准,并相应延后一定的时间,在DQS的中部为数据周期的选取分割点(在读取时分割点就是上下沿),从这里分隔开两个传输周期。这样做的好处是,由于各数据信号都会有一个逻辑电平保持周期,即使发送时不同步,在DQS上下沿时都处于保持周期中,此时数据接收触发的准确性无疑是最高的,如下图二所示。



图二  数据时序


 数据掩码技术(DQM)


不是DDR所特有的,但对于DDR来说也是比较重要的技术,所以一并介绍下。

为了屏蔽不需要的数据,人们采用了数据掩码(Data I/O Mask,简称DQM)技术。通过DQM,内存可以控制I/O端口取消哪些输出或输入的数据。这里需要强调的是,在读取时,被屏蔽的数据仍然会从存储体传出,只是在“掩码逻辑单元”处被屏蔽。 

DQM由主控芯片控制,为了精确屏蔽一个P-Bank位宽中的每个字节,每个64bit位宽的数据中有8个DQM信号线,每个信号针对一个字节。这样,对于4bit位宽芯片,两个芯片共用一个DQM 信号线,对于8bit位宽芯片,一个芯片占用一个DQM信号,而对于16bit位宽芯片,则需要两个DQM引脚。SDRAM 官方规定,在读取时DQM发出两个时钟周期后生效,而在写入时,DQM与写入命令一样是立即生效,如下图三和四分别显示读取和写入时突发周期的第二笔数据被取消。 

图三  读取时数据掩码操作


图四  写入时数据掩码操作


所以DQM信号的作用就是对于突发写入,如果其中有不想存入的数据,就可以运用DQM信号进行屏蔽。DQM信号和数据信号同时发出,接收方在DQS的上升与下降沿来判断DQM的状态,如果DQM为高电平,那么之前从DQS中部选取的数据就被屏蔽了。

有人可能会觉得,DQM是输入信号,意味着DRAM芯片不能发出DQM信号给主控芯片作为屏蔽读取数据的参考。其实,该读哪个数据也是由主控芯片决定的,所以DRAM芯片也无需参与主控芯片的工作,哪个数据是有用的就留给主控芯片自己去选择。

差分时钟、DQS与DQM - DDRx的关键技术介绍(中)

差分时钟、DQS与DQM - DDRx的关键技术介绍(下)

  • 7
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
差分时钟约束是针对FPGA设计中使用的差分信号时钟而设置的约束。在FPGA设计中,差分时钟是由差分对输入引脚接收的,它由两个互为相反极性的时钟信号组成。差分时钟约束的目的是确保正确地捕获和处理这些差分时钟信号,以保证系统的正常运行。 差分时钟约束可以通过设置时钟频率、时钟延迟、时钟相位等方式进行。这些约束可以通过工具(例如Vivado)提供的时钟约束语言(如XDC文件)来定义和设置。在约束中,需要指定差分时钟的输入端口、输出端口以及相关的时钟延迟和时钟频率等参数。 差分时钟约束的目的是确保差分时钟信号FPGA设计中的正常工作,并避免时钟不稳定和其他潜在的序问题。因此,在设计中强烈建议对差分时钟进行约束,以确保设计的可靠性和稳定性。 总的来说,差分时钟约束是为了确保FPGA设计中差分时钟信号的正常工作,并避免序问题。通过设置时钟频率、时钟延迟、时钟相位等约束,可以保证差分时钟的正确捕获和处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [FPGA序约束之时钟约束](https://blog.csdn.net/qq_45467083/article/details/117389544)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [FPGA序约束分享02_时钟约束(实用分享)](https://blog.csdn.net/MDYFPGA/article/details/123368501)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值