sdram工作原理
乒乓操作,寻址方式,读写操作,sdram结构特点,行地址线和列地址线分时复用中国科学院西安光学精密机械研究表1SPAM的基奉命令命令名释(CoMp值地址线MO空操作)dllb可任意激活(选择uk月,活相的行)可任盘读(怍hk和列地址,Ⅱ开始宴发读取)aloInank行地写t选择hank和判地址,座Ⅱ始宴左写人aicbaM到地坦突发终止(让相应的写让钱活循曜任意搅需预允电nk个预克电[让輞的n中的们失活或者让滴加n失活数不同进行编载A模式寄器00模式寄器的值新YILi呵任意:要“n”形记的表长在生电平下有黄初始化操作SDRAM在上电以后必须先对其进行初始化操作,而斤才能对其进行其他操作。出初始化操作具体步骤如下:(1) SDRAM在上电以后需要等待100-200μs,在等待时间结束后还至少要执行一条空操作命令(2) SDRAM执行条预充电命令后,要执行条空操作命令,这两个操作会使所有的存储单元进行一次预充电,从而使所有阵列中的器件处于待机状态(3) SDRAM要执行两条自刷新命令,每一条刷新命令之后,都要执行一条空操作命令,这些操作可使 SDRAM芯片内部的刷新及计数器进入正常运行状态,以便 SDRAM为模式寄存器编程做好准备;(4)执行加载模式寄存器( LOAD MODE REGISTER)命令,完成对 SDRAM工作模式的设定。完成以上步骤后, SDRAM即可进入正常工作状态,以等待外部命令对其进行读、写、预充电和刷新等操作。的基本读写操作SDRAM的基本读操作[3]需要控制线和地址线相配合并发出一系列命令来完成。 SDRAM的读操作只有突发模式( Burst mode);而写操作则可以有突发写和非突发写两种模式,具体如卜:(1)带有预充电的突发读写模式,该模式一次能够访问的列地址的最大数为1、2、4、8;〔2)不带冇杋充电的全页读写、此模式可任意控制一次能够访问的列地址的最大数。根据实际情况,本设计只选取了与本方法相关的基本操作命令,并没有设计通用的控制器,图3是本方案的 SDRAM内部状态转移图。中国科学院西安光学精密机械研究一电等允电空操怍0新1役入模武岗存器懒作(喇断)一(蝶作空操作谁操怍预电操作图3 SPRAN内部状态转移图SDRAM内部状态转移图表2 SOHAN内Bank的制状态队的值电ADA0(1的状一选取的被选取的B读写、打”、测电ILir kA。写,打开行。酬充电Enk"t『读。写、打开行。充电BnkClIb读。写、打开行。充电 Hank [任意行充电所有nk乒乓操作由于Bank内的行与行之间具有关联性,因此,当其中一个Bank的读或写操作结束后,必须执行次预充电命令以关闭正在操作的行、预充电命令执行后,会有一个tRP的延时,延时完成后才能向同一Bank行(或其他行)发出新的激活命令。由于Bank之间是相互独立的,因此,在一个Bank进行正常的读或写操作时,可以对另外几个Bank进行预充电或空操作;当一个Bank的进行预充电期问也可以直接调用另一个已经进行预充电的Bank,而并不需要等待,具体的Bank控制过程要参考特定的器件数据手册。三星公司的K4S561632内的Bank控制状态如图2所列。常用的三种寻址方式K45561632C器件的常用寻址方法有以下三种:(1)页命令中P( Page hi):若寻址的行与所在的Bank的空闲的,即该Bank内所有的行是关闭的,那么此时便可直接发送行有效命令,这种情况下,数据读取前的总耗时为tRCD+CL;(tRCD为RAS到CAS的延时;CL为CAS1 patency)。(2)页快速命中PFH( Page FASt Hit)或贞直接命中PDH( Page Direct hit):如果要寻址的行正好是在正常读或写,即要寻址的行正处于被选通的有效状态,那么此时可直接发送列寻址命令,这种情况卜,数据读取前的总耗时仅为CL,这就是所谓的背靠背( baCK to bacK)寻址;(3)页错失PM( Bage miss):若要寻址的行所在的Bank中已经有一个行处于激活状态(未关闭),这种现象而称为寻址冲突,这样,就必须要进行预充电来关闭在工作的行、然后再对其他的行发送行有效命令,其总耗时为:LRP+LRCD+CL。(tRP中国科学院西安光学精密机械研究为 Row precharge time)。在以上三种寻址方式中,PH是最理想的寻址方式,PM则是最糟糕的寻址方式,实际应用中要尽量采用PHH寻址方式而应避免采用PM寻址方式。减少延迟的方法自动预允电技术是种有效的减少延迟的方法,它通过自动在每次行操作之后进行预充电操作来减少对同一Bank内的不同行寻址时发生冲突的可能性,但是,如果要在正在读或写的行完成操作后马上打丌同一Bank的另一行时,仍然存在tRP的延迟,交错式掉制是另一种更有效的减少延迟的方法,即在一个Bank工作时,对另一个Bank进行预充电或者寻址(此时要寻址的Bank是关闭的),预充电与数据的传输交错执行,当访问下一个Bak时,tRP已过,这样就可以直接进入行有效状态,如果配合得比较理想,那么就可以实现无间隔的Bank交错读或写,因此,Bank之间的切换可使存储效※成倍提高,并能够大大地提高多组 SDRAM协同工作时的性能Bank乒乓操作写入个由行、场同步信号掉制的计数器在预定的时刻会产生一个掉制信号,先发岀激活相应Bank的激活命令( ACTIVE),并锁存相应的Bank地址(由BAO、BA1给出)和行地址(由A0-A12给出)。一个周期后再给出列地址和写入命令:在CL个周期后便可将所需写入的数据依次送到数据总线上,当计数器的计数周期到达时,系统会产生个控制信号,并向 SDRAM发送预充电( PRECHARGI)命令(如果使用了可编程长度,则在这前要使用突发终止命令),以关闭已激活的页。在下一个视频行同步信号来临时,系统将重复以上操作,并如此循环下去,具体操作如图4所示,图中左边的三……为所对应的视频行同步信号,右边1至511……则代表对应的存储器中的列地址(即是屏幕上对应的像素的位置)。Bank I row I○0511.seBank rowlBank3 rowl0…5|lBank4 row I…写入BankrBank2 row 2七Bank3row2八Bank+rw251+4.日4Bahk乒乓操作写入示意图中国科学院西安光学精密机械研究Bank乒乓操作读出由行、场同步信号控制的一个计数器可在预定的时刻产生一个控制信号,它首先发出相应的Bank激活命令( ACTIVI),并锁存相应的Bank地址(由BA0、BA给出)和行地址(由A0-A12)给出,然后在一个周期后给出列地址和读命令,当计数器的计数周期到达时,系统会产生一个控制信号,并向 SDRAM发出预充电( PRECHARGE)命令,以关闭已经激活的页(如果使用了可编程长度,则在这之前要使用突发终止命令)。之后,再在下一个视频行同步信号来临时重复以上操作,如此循环(具体操作如图5),图中左边的一、二、三……为所对应的视频行同步信号,右边1至511…代表对应的存储器中的列地址(即是屏幕上对应的像素的位置Bankl rowl51l.eBank2 row l自sIlasBank] row I51…Bank row l叫5l|○Bank I row 2读出51…③Bank 2 row 2511+Banks row 2Bank4 row 2八51图5Bank乒乓操作读出示意图场乒乓操作为了 SDRAM能正确进行读和写两个操作,本方案选用两场兵氏操作[6]来实现数据存取,实际上,就是在不同的时间对两场轮换进行读或写,一场读而另一场写,其原理如图6所示。当开关K1在1位置,K2在4位置是时,A写B读;反之,当开关K1在3位置,K2在2位位置时,A读B写。如此循环往复。SDRAM A读出入( SDRAM B图6两帧乒乓操作原理图若以场同步信号的二分频计数器F/2为读写控制信号,设 SDRAMA在F2时为1写、2读,则 SDRAM B在F2时为2写、1读,两场即为一个场乒乓操作周期,读写信号均在场同步信号为高电平时有效,由」存在消隐期,消音所以,将会有一段时间读写都无效(读写信号都是低电平此时 SDRAM进入预充电状态),其总体时序如图7所示。中国科学院西安光学精密机械研究场同步信巧1读写控仁号(CFZKA写几几几A读信号们效啊Bi-uuLuLL读信号有效朗读醅号有效朗B信号有期彐7体读写序示意结束语SDRAM的控制过程虽然很复杂,但如果根据实际情况进行取舍以满足实际系统要求,那么, SDRAM的控制过程还是比较简单的,在实验中,使用 ALTERA公司的 CycloneFPGA器件进行设计时,程序设计可采用 Verilog语句来实现对实时视频信号的采集,并通过改变计数器的周期及 SDRAM的行、列地址线和时序就可以对任意位置的视频图像进行平移、旋转、截取等处理,此外,由于程序设计采川了化整为零和参数化设计思想,因而结构透明、简单;对于特定容量的 SDRAM的特定工作模式而言,该方法只需根据器件重新设定参数而不要重新编写程序,因而具有较强的通用性。
暂无评论