- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于Camera Link接口的 像跟踪系统的设计与实现
录入:edatop.com 点击:
2.2 基于FPGA的图像预处理单元
针对图像预处理阶段运算结构比较简单的特点,用FPGA进行硬件实现无疑是理想的选择,这样同时兼顾了速度和灵活性,大大减轻了DSP的负担。这里采用的预处理算法主要是中值滤波,中值滤波器是一种非线性滤波器,与均值滤波器和类似其他形式的滤波器相比,中值滤波器具有能够彻底滤除尖波干扰噪声同时又能够较好地保护目标图像边缘等优点。中值滤波的具体实现过程一般为:
(1)选择一个n×n的滑动窗口(通常为3×3或者5×5),使其沿图像数据的行或者列方向逐像素滑动(通常为从左至右,从上到下逐行移动)。
(2)每次滑动后,对窗口内的像素灰度值进行排序,用排序所得的中间值代替窗口中心位置像素的灰度值。
用硬件实现二维中值滤波,很重要的一点是能可靠地存储实时图像数据,并且使延时最短。在存储n-1行图像数据后便开始处理,其中n为窗口大小,在本设计中,选用3*3窗口的中值滤波器,即n=3。这样设计的好处是,FPGA可以以串行流水方式实现该模块,节省了许多时间,为实时处理创造了有利条件。
为了尽量节约资源,充分利用硬件设计中的"模块复用"原则,需设计1个移位寄存器、1个dq寄存器、1个二值比较器,然后在像素时钟的驱动下,首先调用移位寄存和dq寄存器产生窗口数据,然后对3×3模板里的数据多次调用dq寄存器和2值比较器进行冒泡排序输出中间值。中值滤波模块示意图见图4。
TI公司的TMS320C6414芯片是一款高性能定点DSP处理器,其主频可以高达720 MHz,片内具有丰富的RAM资源,同时通过EMIFA和EMIFB口可以扩展很多存储芯片。这里主要扩展的是程序FLASH芯片,用于存放固化的程序代码。
前面已经说明了FPGA如何控制SRAM读写逻辑的,DSP的主要工作是响应FPGA发出的中断信号,读取图像数据进行处理,虽然每一帧读取的实际的SRAM不同,但是通过FPGA的映射后,对于DSP来说,SRAM始终在DSP片外的一端固定地址范围内。DSP响应中断的流程图见图5。
2.4 基于FPGA的图像显示单元
系统要求输出标准的PAL制式的模拟视频,由于PAL制式视频场频为50 Hz,帧频为25 Hz,所以对于前端高分辨率高帧频的数字图像,必须降频输出,且分辨率也要降低。选用专用的图像DA芯片ADV7123,该芯片输入位宽为10 b,可以转换的数据速率可达240 MHz。因为标准的PAL制式视频一帧只能显示有效行576行,对于1 024行的数据图像只能隔行显示512行,且奇场256行,偶场256行。所以对于采集的图像来说行方向上是降低了分辨率,但在列的方向上不降低分辨率。
由前面可知,由于采集显示采用乒乓结构,但是由于显示是隔行抽点显示的,且显示的频率帧频为25 Hz,所以在采集部分时,应当隔行取数据存储,且每2帧才更新一次采集的数据。不像采集处理部分一样,每帧都要更新采集的数据。
控制ADV7123的时钟信号、复合同步信号、复合消隐信号均由FPGA产生。与电视相关的行、场同步和消隐信号正是PAL制式模拟视频信号生成的关键。
FPGA认通过对数字相机下来的80 MHz时钟倍频后,经过时钟计数和逻辑组合运算获得所需要的各种同。步时序信号。ADV7123的时钟信号根据80 MHz时钟先2倍频后蒋5分频而成,即像素时钟频率为32 MHz,周期为31.25 ns。生成的图像大小为1 400×576像素,即每场图像有288行,每行有1 400个像素点。系统采用PAL制式的隔行扫描方式,场周期时间为20 ms,行周期为64μs,所以每场包含312.5个行周期,但场消隐的高电平持续288个行周期,只要调整场消隐信号的起始位置,就很容易使视频图像的输出位于屏幕的正中间。行场同步信号和消隐信号的实现思路基本上一样:对时钟计数,计到某一个数值时,使输出的信号翻转(由低电平到高电平或者由高电平到低电平),计数器的周期和翻转的周期根据不同的参数而有所不同。由于这些时序是在FPGA中编程实现,很容易调整和修改。
至于字符叠加过程,DSP按照在图像上实际叠加字符的位置和大小将要叠加的字符点阵写入到FPGA片内双口RAM中(显示字符的地方写二进制的1,显示图像的地方写二进制的0),显示输出的每一帧,FPGA读取字符叠加双口RAM,根据其值来决定是输出采集的图像还是输出叠加字符。这样通过DSP和FPGA的配合,可以灵活地叠加任何字符,DSP可以根据系统的任何状态变化来改变字符叠加RAM中的值,因此保证系统具有良好的人机交互界面。
3 结语
以高性能DSP和FPGA为核心,对Camera Link接口的数字相机进行图像采集,采用数字图像处理技术,建立了一个实时的图像跟踪系统。该系统体积小、重量轻、可靠性高,具有良好的人机交互界面,已经成功地应用在实际项目中。
编辑:博子