系统FPGA主要时钟频率有SDRAM工作频率133MHz,由EP1C6自带的PLL倍频产生;AD模块输出的像素时钟,由AD芯片内部PLL产生,IIC模块中的时钟,由CPU产生。其中AD芯片输出的时钟根据不同的输入图像格式有比较大的变动范围,从25-108MHz,而SDRAM的读写时钟固定为133MHz。因此在这两个不同频率的时钟之间必须加FIFO来同步,FIFO使用QuartusII软件中提供的免费IP核,通过使用FPGA内部高速RAM来实现。
AD模块负责与AD芯片的接口逻辑。前面已经分析了图像采集中同步的重要性,如果图像中的某一行数据不完整,那么将影响到整个图像。AD模块通过AD芯片输出的行场同步信号来实现图像数据的同步,以AD芯片输出点频作为FIFO模块的写时钟,行场同步信号的组合逻辑组成FIFO的写使能。另外,由于模拟的VGA接口存在有行、场同步时间和行、场消隐时间,为了保证图像采集的精度和完整,AD芯片要求把点频设置为比实际有效点频大20%-30%,因为在AD转换后的图像中行幅和场幅往往比实际图像大,造成图像有比较大的黑边。如图4所示。为了获得准确的图像数据,AD模块设置了计数器可以过滤图像起始的黑边。其计数值可以通过IIC接口进行设置。
SDRAM有多种不同长度的突发模式。在本设计中由于AD输出的频率最高接近110MHz,突发存储的长度比较长,为了能保证数据能够及时存储,工作频率为133MHz的SDRAM必须工作在整页突发的模式,以达到最高的数据吞吐率。
为了提高通用性,本设计中把SDRAM接口转换成ASRAM接口提供给主CPU,避免了SDRAM工作频率和CPU外部时钟不同时造成的SDRAM控制权切换的麻烦,提高对各种CPU的兼容性。ASRAM接口逻辑实现对CPU地址到SDRAM地址的映射及操作时序的转换。主控制模块产生相应的SDRAM控制指令,控制SDRAM读写。SDRAM的操作对于CPU来说是透明的。
该采集系统也可对4路8bit的AD通道进行采集,因为FPGA内部的AD逻辑模块提供了32bit的接口,VGA采集方式只用了其中24bit。采用4路8bit模式时只需把前端AD部分做一些调整。
实际应用
在中国船级社对船载航行数据记录仪的性能要求中,要求船载航行数据记录仪应能连接到欲记录其图像的雷达显示器的视频缓存输出,通过专用的雷达缓存输出接口,数据记录仪需记录一系列单个和整屏的视频帧。该要求设计的显示器的分辨率应在640×350到1280×1024之间,刷新率在60-85Hz之间。采用本设计可以完整实现该要求。
图5所示为完整的雷达图像记录系统框图。

总体上系统由本地端系统和远程系统两大部分组成。本地端负责对雷达图像的采集压缩和存储备份。远程系统保存雷达图像的副本。本地系统由采集、处理、存储传输3大部分组成。采集部分就是前文所述的以FPGA为核心的雷达图像采集系统。处理部分采用TI公司C6000系列DSP作为系统的CPU。存储传输部分主芯片则采用了Samsung公司的SOC芯片S3C2410。存储体则采用了多片大容量的NAND Flash。
远程系统与本地系统中的存储和传输部分一样。它只负责对雷达图像的存储。
本地系统和远程系统通过485或者以太网相互通信。同时,本地系统和远程系统都提供了USB接口。在计算机上可以通过USB接口读取设备中存储的图像,并对设备参数进行设置。
本文介绍的高速图像采集系统完整实现了预期的功能,能够对最高分辨率为1280×1024刷新率为60Hz的雷达图像进行采集,并通过ASRAM接口把图像数据提供给CPU进行后续处理。
该采集系统适用于嵌入式系统中,成功应用于船载雷达数据记录仪中,实现对雷达图像的采集,通过了实际测验。主要性能如下:采集图像分辨率从640×350到1280×1024可调,刷新率从60-85Hz可调,在15s采集一次的情况下可以保存24小时的雷达图像,并可以通过USB接口在计算机上重现雷达图像。
此外,本采集系统实现了对高速突发长度长的数据的采集,并提供了相对通用的控制和存取接口,使得该系统的应用不仅仅局限于雷达图像的采集。通过修改前端的AD模块,该系统还能同时对4路位宽为8bit,采样率最高位120MHz的AD通道进行数据采集,使它适用于其他需要高速采集的场合中。具有较强的通用性。 |