您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > DDR-SDRAM工作机制简介
DDRSDRAM工作机制简介DDRSDRAM简称DDRSDRAM:DoubleDataRateSDRAM,即双倍速率同步动态随机存储器。双倍速率指能够在时钟的上升沿和下降沿各传输一次数据.(SDRAM:SynchronousDynamicRandomAccessMemory,:['siŋkrənəs]同时的,同周期的;同步的;能动的;动态的,有活力的;有生气的;强有力的[dai'næmik];['rændəm]胡乱的;随便的,任意的随机的;:['ækses]通道,入口,门路;【电脑】存取;取出[U];同步动态随机存储器,同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。)DDRSDRAM是在SDRSDRAM内存基础上发展而来的,SDRSDRAM在一个时钟周期内只传输一次数据,它在时钟上升沿进行数据传输,而DDRSDRAM在时钟的上升沿和下降沿都可传输数据,因此传输数据的等效频率是工作频率的两倍.DDRSDRAM后续简称DDR,为描述方便DDRSDRAM在FPGA系统中的应用在该系统中,由FPGA完成各模块之间的接口控制。FPGA接收从前端传送过来的高速数字信号,并将其存储在DDR中;DSP通过FPGA读取DDR中的数据.DSP信号处理后再送回到DDR,最后由FPGA负责将数据输出。(图1所示)FPGA:现场可编程门阵列,相当于可编程半导体器件。DDRSDRAM在FPGA系统的结构图Input:数字视频流+标准IIS数字音频流Processor:Input送给FPGA+DDR子系统,实现音频视频分别缓存延迟,延迟后的数据通过系统内部的视频合成器和音频合成器,输出合成后的视频流和音频流Output:合成后的数字视频流+标准IIS数字音频流(见图2所示)图2结构图DDRSDRAM缓存子系统介绍如下:1.Processor:FPGA+DDR子系统:加工者;制造者电脑】信息处理器;处理程序Processor子系统分为两个主要模块:音视频缓存控制模块(A/VFIFOLogicModule)和接口控制模块(CtrlLogicModule)(见图3所示)图32.音视频缓存控制模块(A/VFIFO内部逻辑)转换总线宽度音频、视频数据分别送给仲裁逻辑仲裁逻辑内部包含一个多跳转的状态机,负责视频和音频以及RAM的动态刷新、中断的排队和数据读写操作,同时内含地址管理模块,实现音视频数据的分区存储和FIFO功能。FirstInputFirstOutput延迟后的数据由DDR控制器模块从DDRSDRAM中取出,同样经过仲裁逻辑分配给视频通道或音频通道,经过后端视频和音频合成器将数据恢复成为输入时的格式,最后送出FPGA。(见图4所示)图43.缓存控制模块---关键逻辑和算法--A/V刷新中断排队和互斥管理逻辑有效的管理逻辑-防止任何数据或刷新操作丢失(见图5所示)图5音视频数据操作状态转移图4.缓存控制模块---关键逻辑和算法---地址管理和FIFO溢出判别因为音视频的地址是分开管理的,所以也可实现音视频的同步调整视频和音频的数据率是不同的,所占用的空间也不同,内存空间分为3个区:视频存储区、音频存储区和扩展功能保留区,分区大小和延迟时间设置有关,可以根据用户的控制实时改变,同时提供错误检测逻辑,如果用户的设置超过系统配置限制(如容量或时间精度),系统自动设置为相近的有效值。(见图6所示)图6FIFO地址分区管理5.接口控制模块内部子模块逻辑结构当前级FIFO控制单元有视频、音频或刷新操作时,会发出相应的中断请求:wr_int,rd_int,ref_int,在DDR控制模块看来,这几个中断应该同优先级并且互斥.响应数据写中断后,从总线上取得数据和地址,经过内部状态机的判断后,数据和地址被送入各自通道,复用后以DDR写时序写入DDR,相应的命令和控制线信号也一同发出,完成写操作后,返回给前级FIFO控制单元一个ack信号,等待下一个中断操作.读数据和刷新操作原理大致相同。(见图7所示)图7DDR控制器模块逻辑结构DDRSDRAM的系统控制流程1.系统上电后,DDR处于空闲状态(Idle).2.初始化DDR3.当处于空闲状态时,控制器会每隔一个刷新周期,对DDR进行自动刷新.4.当处于空闲状态时,用户还可以重置模式寄存器.5.读/写操作顺序:先激活(Ac—tive)将要读(写)的行,对该行进行连续的突发读/写操作,用户发送突发终止命令,控制器自动产生预充电命令来关闭当前行。(见图8所示)图8控制器状态转移图在DDR能够被存取数据之前,需要先对其初始化。初始化后,DDR便进入正常的工作状态,可对存储器进行读写和刷新。预充电(Precharge)命令功能:当要存取一个不同行的地址单元时,需要通过一个预充电(Precharge)操作关闭当前行。自动刷新(Autorefresh)命令功能:用来周期性地刷新DDRSDRAM,以保持其内部的数据不丢失。DDRSDRAM的初始化过程DDR的初始化过程包含设置DDR的普通模式寄存器MRS(ModeRegisterSet)和扩展模式寄存器EMRS(ExtendedModeRegistersSet),用来制定DDR的工作方式。MRS(ModeRegisterSet)模式寄存器设定CASlatencyCAS潜伏期,burstlength突发长度,bursttype突发类型,mode(testModeornormalmode),DLLreset(内部延迟锁定回路)(enable,disable),WR(writerecovery)andvariousvendorspecificoptionstomakeDDR2SDRAMusefulforvariousapplications.EMRS(1)(ExtendedModeRegisterSet))扩展模式寄存器设定DLL,additivelatency,driverimpedance,ODT(OnDieTermination)andOCD(offchipdriverimpedanceadjustment)输出驱动能力设置,DQSandoutputbuffersdisable,EMRS(2)controlsself-refreshrelatedfeatures.EMRS(3)arereservedforfutureuseDDRSDRAM几个名词介绍突发长度(BurstLength,BL):对DDR的读和写操作是基于突发的:从一个选定的地址单元开始,连续存取设置好长度的地址单元,该长度就是所谓的突发长度。DDR提供的可编程的读或写的突发长度为2,4或8。突发类型:(bursttype)Sequential.InterleaveCAS潜伏期(CASlatency,CL):CAS指的是ColumnAddressStrobe(行地址控制器),Latency(延迟)是指讯号从某一点传输到另一点所需的时间,代表延迟时间单位。把内存想成一个数据数组,内有CAS(行地址控制器)与RAS(列地址控制器)。写入或写出数据时,内存控制芯片先传送列的地址,然后CAS(行地址控制器)讯号才会被启动,而传递的数据则需等待CAS被启动之后才能进行传输。因此由CAS讯号被启动后,到数据被传输到总线之间的延迟时间,即称为CL值。即从DDRSDRAM内核读出数据到数据出现在数据总线上所需要的时间。CL值的大小与DDR的速度和存储器的时钟频率有关。DLL:延迟锁相环(DLLreset/set):Enabledfornormaloperation;disabledwhenSelf-Refreshoperation.OCD(OffChipDriver)校正是加强上下拉驱动的阻抗调整的控制功能,通过减小DQS的Skew(时滞)来增加信号的时序容限(TimingMargin)。EMRS(1)设定OCD的执行方式.ODT(OnDieTermination):是一个控制引脚,通过一个命令集和片上校准引擎(On-DieCalibrationEngine,ODCE)来独立的自动校验数据输出驱动器的导通电阻与ODT的终结电阻值(terminationresistance),应用于DQ/DQS/DM信号,改善信号品质.EMRS(1)设定输出驱动电阻的开关.DDRSDRAM的初始化过程(实例512MbDDR2NT5TU64M8BE)ApplypowerCKElowoneclockODTkeepatalowstate.ApplyNOPandtakeCKEhigh.Precharge-Allcommand:AllbanksmustbeinaprechargedstateIssueEMRScommand.(toenableDLLandothers)IssueMRScommand(forDLLreset.)IssuePrecharge-Allcommand.Auto-Refreshcommands.IssueaMRScommandtoinitializedeviceoperation.executeOCD((OffChipDriverimpedanceadjustment)Calibration见图9所示图9DDRSDRAM支持的常用命令DDRSDRAM命令字主要由片选信号CS,行地址选通信号RAS,列地址选通信号CAS以及读写控制信号WEB三个信号控制并配合一定的地址、数据输入,这些命令字信息和地址信息都是在时钟的上升沿进行锁存的。DDRSDRAM基本控制操作包括初始配置,激活要操作的地址,充电、刷新以及读写操作。如表1所示H:表示高电平L:表示低电平X:表示高低电平均无影响DDRSDRAM的工作状态对存储器进行读写和刷新DDR数据信号在一对差分时钟(CLK与CLKn)的两个边沿控制下工作。命令(地址和控制信号)在时钟(CLK)的上升沿被触发。随着数据DQ一起传送的还包括一个双向的数据选通信号DQS,接收方通过该信号来接收数据。DQS作为选通信号在读周期中由DDR产生,在写周期中由存储器的控制器产生(outputwithreaddata,inputwithwritedata)。该选通信号与数据相关,其作用类似于一个独立的时钟,并满足相应的时序要求。由于DDR的数据接口在时钟的两个沿的触发下工作,其数据宽度(n)是存储器数据宽度(2n)的一半。为实现数据的大容量存储,设计时采用的是一个控制核同时对两片DDR进行操作,外接数据线的宽度由单片DDR的16位扩展到32位。在执行读(写)命令之前,先要激活将要读(写)的行,某一行被激活之后将一直处于激活状态,用户便可进行连续的突发读(写)操作,直到用户发送突发终止命令,此时控制器将自动产生一个预充电命令来关闭当前行,提高了系统的速率。数据的存取以一个激活命令(ACTlVEcommand)开始,接着便是读或写命令。(地址选择:)与激活命令一起被触发的地址位用来选择将要存取的区(bank)和页(或行);与读或写命令一起触发的地址位用来选择突发存取的起始列单元当接收到中断命令时,若此时DDR正在进行读(写)操作,控制器将会等到当前的读(写)操作完成之后再发送刷新命令。在刷新过程中,用户如果有读(写)请求,控制器将在当前刷新周期完成之后再响应用户的请求。再同步读周期中,从DDR来的数据信号首先通过延迟后的DQS锁存到DDR触发器中。为了在FPGA内部能够使用该数据,还要将其同步到FPGA内部的时钟域上,这个过程称为再同步(resynchronization)。对于前一级DQS延迟后的信号锁存的数据再通过clk-90同步之后才送到内部数据总线上。在写周期中,DQS与DQ必须是中心对齐的(centerahgn)。我们用clk_90时钟触发的DDR触发器产生DQS信号,因此,为了满足时序要
本文标题:DDR-SDRAM工作机制简介
链接地址:https://www.777doc.com/doc-5736468 .html