帧储存模块是系统中最具有普适性的模块,对于不同的图像处理系统,可能选用不同的视频解码格式,不同的图像处理算法,但它们往往具有相似的帧存储模块,利用SDRAM存储编码芯片产生的视频信号。而且主流系统很多采用的是SDR SDRAM,因此本设计具有很高的普适性[8]。
而针对其他对视频采集频率,数据传输速率有较高要求的数字图像处理系统,它们需要用到双倍传输速率系列的SDRAM以保证其带宽和数据传输速率。它们与SDR SDRAM具有不同的工作时序,因此,本设计不与此类系统兼容。但是,SDR SDRAM与DDR系列SDRAM的工作原理是相近的,所以,控制器的设计思路是相近的,差别只在于某些操作的时序细节。因此,本本科生毕业设计对基于FPGA的数字图像处理系统的研究与构建具有重要意义[9,10]。
1.3 主要研究内容
SDRAM工作状态繁多,各种操作时序复杂,而且它对时序的要求十分严格。因此在整个系统中必须设计一个专门的控制器控制其读写。由于大部分视频解码及编码芯片的工作频率限制(通常为27MHz等),在数字图像处理系统中,并不要求SDRAM具有很高的数据传输频率,第一代SDR SDRAM 100MHz左右的工作频率已经可以满足要求。所以,考虑到成本等原因,SDR SDRAM是民用及普通科研图像处理系统的主流存储器。因此,本设计的主要任务是为使用Verilog HDL设计一针对SDR SDRAM控制器,使用户能根据需要对SDRAM中特定地址进行数据的读写。本设计基于FPGA芯片设计,使用Verilog HDL进行编写,采用自顶向下的设计思路,使设计出来的SDRAM控制器层次结构清晰,代码可读性高,能简单地被不同的数字图像处理系统移植使用,与SDRAM组成系统的帧储存模块[11]。
2 SDRAM时序控制
2.1 SDRAM时序分析
本设计测试系统上使用的SDRAM型号为镁光公司的MT48LC2M32B2TG(512K×32bits×4banks),是一款64Mb高速CMOS同步动态随机存储器。它具有四个BANK,每个BANK中包含2048行256列共524288个存储单元,每个存储单元储存一个最多为32位的数据。芯片包含86个引脚,用于传输三类信号,控制信号、地址信号以及数据信号。
其中,芯片的地址信号可分为行地址信号及列地址信号,它们分时复用一组地址总线(A0-A11),除此以外还有两位BANK(BA0-BA1)地址信号,负责控制BANK的选通[12]。数据信号由32位数据总线(DQ0-DQ31)双向传输,并由数据掩码DQM0-DQM3信号控制是否须有屏蔽部分数据。控制信号是控制SDRAM在不同状态下切换,进行不同操作的关键信号,它包括芯片片选信号CS#,时钟使能信号CKE,行地址选通信号RAS#,列地址选通信号CAS#,以及写允许信号WE#(#表示该信号低电平有效)。用户对该SDRAM的操作主要有以下八个,通过芯片上的RAS#,CAS#以及WE#三个引脚控制, FPGA图像处理系统关键问题研究(3):http://www.751com.cn/wuli/lunwen_19175.html