1 图像采集处理系统硬件平台
在图像信号处理过程中为保证实时性,首先要求实时图像处理系统具有处理大数据的能力;其次对系统体积的大小、功能、稳定性等也有严格要求。实时图像处理算法中经常要用到对图像的求和、求差、二维梯度、图像分割等不同层次、不同种类的运算。基于上述因素,考虑到FPGA和DSP的优异性能,这里在玻璃缺陷检测系统中采用了如图1所示的硬件平台。
系统内各模块功能简要描述如下:
(1)视频采集异步FIFO模块(内嵌于FPGA中)接收从视频A/D芯片SAA7113送来的数字视频流,解决系统数据缓冲和异步时钟的问题,因为SAA7113送过来的LLC频率为27 MHz,而FPGA系统时钟频率为48 MHz。
(2)视频解码模块用来对得到的数字视频流进行解码,识别出行、场同步信号,并且根据需要选择采集图像的大小。
(3)I2C配置接口模块(通过EP2C35进行模拟配置)通过I2C总线对SAA7113进行初始化配置,选择产生的数字视频格式等。
(4)图像帧存控制模块用来读/写系统两片帧存储器,并且可以在它们之间进行读/写切换操作。
(5)图像低级处理模块从帧存中读取一帧图像数据,对其进行底层大量运算的图像预处理,如噪声消除、边缘检测等,最后将处理完的图像数据经通信模块送至后端DSP处理器做进一步操作。此外由于采用基于SDRAM工艺的FPGA芯片,所以还需要配置电路在上电时对FPGA进行配置。
系统上电时,FPGA首先从外部配置芯片中读取配置数据,通过AS主动串行方式完成自身的程序加载,进入工作模式状态。随后I2C配置接口模块完成对SAA7113的初始化,初始化结束后,FPGA等待采集图像的命令。FPGA收到采集命令后,启动采集视频数据模块、异步FIFO模块和视频解码模块进行解码,将数据轮换写到两个帧存中,供图像低级处理模块处理、经DSP对图像做进一步处理,然后由通信模块送往工控PC。
2 系统中内存管理和图像低级处理技术
2.1 SDRAM控制实现及仿真
视频转换芯片输出的视频图像数据通过8位总线VPO传输给FPGA,FPGA需要将数据保存到SDRAM中,SDRAM在读写上有严格的时序要求。SDRAM的命令由RAS_n,CAS_n,WE_n和LOAD_mode构成,分别表示行选择、列选择、读/写控制和寄存器配置控制。在该系统中,设计了SDRAM(基于FPGA)接口模块,该模块控制SDRAM的命令与时序。模块内设计了初始化机制和系统指令分析机制。初始化机制不仅要完成对SDRAM的初始化配置,还要完成对控制器的初始化配置,从而使控制器与外部SDRAM的工作模式一致。为了实现高效的SDRAM存取,提高SDRAM总线的利用率,SDRAM接口模块CLK采用133 MHz的高速时钟,当得到数据存取模块的读FIFO要求后.向SDRAM连续写入16个字;当得到PC接口模块的读SDRAM请求后读出1个字;其他时间保证SDRAM进行刷新工作,以免数据丢失。从该硬件设汁平台可以看出,系统中的SDRAM分别由PFGA和DSP控制。当DSP和FPGA完成对相应SDRAM的操作后,需要进行总线切换。总线切换后,DSP和FPGA开始对另一块SDRAM进行相应操作。