基于SDRAM的视频处理器设计与实现 | |
作者:刘杰,周建华,黄子强 时间:2007-04-11 来源: | |
摘要:在认真研究了SDRAM内部的独立存储体(Bank)作用的基础上,提出了一种基于SDRAM的视频处理器的设计方案;该方案是通过Bank乒乓操作和场乒乓操作来实现的;利用该设计方案能够实现视频图像的旋转、截取、平移等实时视频操作和处理。 关键词:场乒乓操作;Bank乒乓操作;状态机;SDRAM;视频处理器 引言 在信息处理中,特别是实时视频图像处理中,通常都要对实时视频图像进行处理,而这首先必须设计大容量的存储器。同步动态随机存储器SDRAM虽然有价格低廉、容量大等优点,但因SDRAM的控制结构复杂,常用的方法是设计SDRAM通用控制器,这使得很多人不得不放弃使用SDRAM而使用价格昂贵的SRAM。为此,笔者在研究有关文献的基础上,根据具体情况提出一种独特的方法,实现了对SDRAM的控制,并通过利用FPGA控制数据存取的顺序来实现对数字视频图像的旋转、截取、平移等实时处理。SDRAM的控制原理,如图1所示。 SDRAM基本操作原理 本文以三星公司的SDRAM器件K4S561632C为例来说明SDRAM的工作原理。 SDRAM的结构特点 SDRAM的行地址线和列地址线是分时复用的,即地址线要分两次送出,先送行地址线,再送列地址线。这样可进一步减少地址线的数量、提高器件的性能,但寻址过程会由此变得复杂。新型的SDRAM的容量一般比较大,如果还采用简单的阵列结构,就会使存储器的字线和位线的长度、内部寄生电容及寄生电阻都变得很大,从而使整个存储器的存取速度严重下降。实际上,现在SDRAM一般都以Bank(存储体或存储块)为组织,来将SDRAM分为很多独立的小块;然而由Bank地址线BA控制Bank之间的选择;SDRAM的行、列地址线贯穿所有的Bank;每个Bank的数据位宽同整个存储器的相同。这样,Bank内的字线和位线的长度就可被限制在合适的范围内,从而加快存储器单元的存取速度。另外,BA也可以使被选中的Bank处于正常工作模式,而使没有被选中的Bank工作在低功耗模式下,这样还可以降低SDRAM的功耗。 为了减少MOS管的数量、降低功耗、提高集成度和存储容量,SDRAM都是利用其内部电容存储信息。由于电容的放电作用,必须每隔一段时间给电容充电才能使存储在电容里的数据信息不丢失,这就是刷新过程。这种机制使SDRAM的控制过程变得更加复杂,从而给应用带来难度。 三星公司的SDRAM(K4S561632C)的外部同步时钟速率可在一定的频率范围内连续变化,最高频率可达到133MHz;每块SDRAM内含四个独立的Bank;它的基本存储单元都是按照阵列排列的,它的数据位宽和整个存储器的位宽相同,同时支持多种读写模式;所有的输入信号均以时钟的上升沿为基准,这使得地址、控制和数据输入到缓冲器的时间可保持一致且建立和保持的时间很小;该器件使用完全流水线型内部结构;另外,它还具有突发长度可编程、延迟可编程等优点。这些优点使得K4S561632C能广泛地应用于宽频带、高性能存储器应用系统。 SDRAM的基本信号 对SDRAM的基本命令 模式寄存器的规定 初始化操作 完成以上步骤后,SDRAM即可进入正常工作状态,以等待外部命令对其进行读、写、预充电和刷新等操作。 SDRAM的基本读写操作 根据实际情况,本设计只选取了与本方法相关的基本操作命令,并没有设计通用的控制器。图3是本方案的SDRAM内部状态转移图。 Bank乒乓操作 由于Bank内的行与行之间具有关联性,因此,当其中一个Bank的读或写操作结束后,必须执行一次预充电命令以关闭正在操作的行,预充电命令执行后,会有一个tRP的延时,延时完成后才能向同一Bank行(或其它行)发出新的激活命令。由于Bank之间是相互独立的,因此,在一个Bank进行正常的读或写操作时,可以对另外几个Bank进行预充电或空操作;当一个Bank在进行预充电期间也可以直接调用另一个已经进行预充电的Bank,而并不需要等待。具体的Bank控制过程要参考特定的器件数据手册。三星公司的K4S561632内的Bank控制状态如表2所列。 常用的三种寻址方式 在以上三种寻址方式中,PFH是最理想的寻址方式,PM则是最糟糕的寻址方式。实际应用中要尽量采用PFH寻址方式而应避免采用PM寻址方式。 减少延迟的方法 交错式控制是另一种更有效的减少延迟的方法,即在一个Bank工作时,对另一个Bank进行预充电或者寻址(此时要寻址的Bank是关闭的),预充电与数据的传输交错执行。当访问下一个Bank时,tRP已过,这样就可以直接进入行有效状态。如果配合得比较理想,那么就可以实现无间隔的Bank交错读或写。因此,Bank之间的切换可使存取效率成倍提高,并能够大大提高多组SDRAM协同工作时的性能。 Bank乒乓操作写入 Bank乒乓操作读出 场乒乓操作 为了SDRAM能正确进行读和写两个操作,本方案选用两场乒乓操作来实现数据存取。实际上,就是在不同的时间对两场轮换进行读或写,一场读而另一场写,其原理如图6所示。当开关K1在1位置,K2在4位置时,A写B读;反之,当开关K1在3位置,K2在2位置时,A读B写。如此循环往复。 若以场同步信号的二分频计数器F/2为读写控制信号,假设SDRAMA在F/2时为1写、2读,则SDRAMB在F/2时为2写、1读,两场即为一个场乒乓操作周期,读写信号均在场同步信号为高电平时有效。由于存在消隐期,所以,将会有一段时间读写都无效(读写信号都是低电平,此时SDRAM进入预充电状态)。其总体时序如图7所示。 结束语 SDRAM的控制过程虽然很复杂,但如果根据实际情况进行取舍以满足实际系统要求,那么,SDRAM的控制过程还是比较简单的。在实验中,使用ALTERA公司的Cyclone FPGA器件进行设计时,程序设计可采用Verilog语句来实现对实时视频信号的采集;并通过改变计数器的周期及SDRAM的行、列地址线的时序就可以对任意位置的视频图像进行平移、旋转、截取等处理。此外,由于程序设计采用了化整为零和参数化设计思想,因而结构透明、简单;对于特定容量的SDRAM的特定工作模式而言,该方法只需根据器件重新设定参数而不要重新编写程序,因而具有较强的通用性。 |
标签: 场乒乓操作 状态机 SDRAM 视频处理器 |
文章评论(0条评论)
登录后参与讨论