减少延迟的方法
自动预充电技术是一种有效的减少延迟的方法,它通过自动在每次行操作之后进行预充电操作来减少对同一Bank内的不同行寻址时发生冲突的可能性,但是,如果要在正在读或写的行完成操作后马上打开同一Bank的另一行时,仍然存在tRP的延迟。 交错式控制是另一种更有效的减少延迟的方法,即在一个Bank工作时,对另一个Bank进行预充电或者寻址(此时要寻址的Bank是关闭的),预充电与数据的传输交错执行,当访问下一个Bank时,tRP已过,这样就可以直接进入行有效状态,如果配合得比较理想,那么就可以实现无间隔的Bank交错读或写,因此,Bank之间的切换可使 存储 效率成倍提高,并能够大大地提高多组 SDRAM 协同工作时的性能。
Bank乒乓操作写入
一个由行、场同步信号控制的计数器在预定的时刻会产生一个控制信号,先发出激活相应Bank的激活命令(ACTIVE),并锁存相应的Bank地址(由BA0、BA1给出)和行地址(由A0-A12给出)。一个周期后再给出列地址和写入命令;在CL个周期后,便可将所需写入的数据依次送到数据总线上,当计数器的计数周期到达时,系统会产生一个控制信号,并向SDRAM发送预充电(PRECHARGE)命令(如果使用了可编程长度,则在这前要使用突发终止命令),以关闭已经激活的页。在下一个 视频 行同步信号来临时,系统将重复以上操作,并如此循环下去,具体操作如图4所示,图中左边的一、二、三……为所对应的视频行同步信号,右边1至511……则代表对应的存储器中的列地址(即是屏幕上对应的像素的位置)。
由行、场同步信号控制的一个计数器可在预定的时刻产生一个控制信号,它首先发出相应的Bank激活命令(ACTIVE),并锁存相应的Bank地址(由BA0、BA1给出)和行地址(由A0-A12)给出,然后在一个周期后给出列地址和读命令,当计数器的计数周期到达时,系统会产生一个控制信号,并向 SDRAM 发出预充电(PRECHARGE)命令,以关闭已经激活的页(如果使用了可编程长度,则在这之前要使用突发终止命令)。之后,再在下一个 视频 行同步信号来临时重复以上操作,如此循环(具体操作如图5),图中左边的一、二、三……为所对应的视频行同步信号,右边1至511……代表对应的 存储 器中的列地址(即是屏幕上对应的像素的位置。
场乒乓操作
为了SDRAM能正确进行读和写两个操作,本方案选用两场乒乓操作[6]来实现数据存取,实际上,就是在不同的时间对两场轮换进行读或写,一场读而另一场写,其原理如图6所示。当开关K1在1位置,K2在4位置是时,A写B读;反之,当开关K1在3位置,K2在2位位置时,A读B写。如此循环往复。
若以场同步信号的二分频计数器F/2为读写控制信号,假设SDRAM A在F/2时为1写、2读,则SDRAM B在F/2时为2写、1读,两场即为一个场乒乓操作周期,读写信号均在场同步信号为高电平时有效,由于存在消隐期,消音所以,将会有一段时间读写都无效(读写信号都是低电平,此时SDRAM进入预充电状态),其总体时序如图7所示。
结束语
SDRAM的控制过程虽然很复杂,但如果根据实际情况进行取舍以满足实际系统要求,那么,SDRAM的控制过程还是比较简单的,在实验中,使用ALTERA公司的Cyclone FPGA器件进行设计时,程序设计可采用Verilog语句来实现对实时视频信号的采集,并通过改变计数器的周期及SDRAM的行、列地址线和时序就可以对任意位置的视频图像进行平移、旋转、截取等处理,此外,由于程序设计采用了化整为零和参数化设计思想,因而结构透明、简单;对于特定容量的SDRAM的特定工作模式而言,该方法只需根据器件重新设定参数而不要重新编写程序,因而具有较强的通用性。
本文关键字:处理器 DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术