随着红外探测技术迅猛的发展,当今红外实时图像处理系统所要处理的数据量越来越大,速度要求也越来越快,利用目前主流的单DSP+ FPGA硬件架构进行较为复杂的图像处理算法运算时,有时就显得有些捉襟见肘了。使用多信号处理板虽可满足复杂处理的要求,但系统成本和设计复杂度会大大增加,对于对空间质量有严格要求的系统也是不可行的,多处理器系统应用的需求越来越迫切。
本文提出了一种新型的基于FPGA和四端口存储器的三DSP图像处理系统。它不同于以往的主从处理器结构,而是3个处理器分别连接四端口存储器的3个端口,处于同等地位,对图像数据并行处理,FPGA占用存储器另一端口进行数据流的控制管理和其他功能实现。这种连接方式增强了系统的重组性和扩展行,软件开发也更加灵活方便。1 系统硬件结构
1.1 图像处理系统的组成
图像处理系统主要包括DSP及其周边电路,FPGA电路,四端口存储器电路、显示电路、HotLink接口电路等。图1所示为图像处理系统的原理框图。
1.2 FPGA电路设计
FPGA芯片使用Xilinx公司Virtex-4系列的SX35芯片。virtex4系列的FPGA利用90 nm三栅极氧化层技术制造而成,具有百万门级以上的逻辑资源,大容量片内Block RAM,用于高速数字信号处理的新型XtremeDSP,灵活的数据接口,软硬件嵌入式处理器核等诸多资源。与前一代器件相比,在其性能和密度加倍的同时功耗却减半,非常适合用于大规模SoPC系统。配置芯片使用XCF32P芯片。在FPGA外围连接了D/A视频芯片,HoTLINK传输芯片,SDRAM存储器等器件,用以完成显示、存储等功能。
1.2.1 与HotLink电路接口
HotLink是点对点物理层器件(PHY)的世界领先供应商Cypress导体公司产品,高集成度HotLink收发器是市面上销售的同类产品中灵活性最强的芯片之一,它提供了很宽的工作范围(0.2~1.5Gb/s)、可旁路8 B/10 B编码和备用输出。每款HotLink独立通道器件都在一个单片解决方案中集成了发送、接收、先入先出(FIFO)和编码器/解码器(ENDEC)功能,为用户提供了稳定性和通用性最好的高速图像数据传输解决方案。在此选用CY7B923作为发送芯片,将采集到的图像数据通过HotLink接口发送到图像记录设备进行记录。
1.2.2 扩展存储器接口
FPGA外接SDRAM做为外扩存储器。SDRAM芯片选用HY57V561620,该芯片为16位的SDRAM,工作频率为100 MHz。SDRAM工作状态转换图如下:
1.2.3 与视频显示电路接口
显示电路中选用的数/模转换芯片为ADI公司的ADV7122芯片,该芯片为三通道10 b的视频数/模转换芯片。
1.3 四端口存储器电路设计
四端口存储器使用IDT公司的IDT70V5388芯片。该芯片为64K×18 b的同步四端口存储器,4个端口可同时对存储器的任何地址进行操作,每个端口的最大输出速率为200 MHz,因此4个端口总的数据带宽为14 Gb/s。
存储器每个端口都设置有邮箱中断功能,这一功能能够很好地实现与各个端口相连器件的相互通信。选择邮箱中断功能后,每个端口给分配一个邮箱,当某一端口向其他端口的邮箱写入数据时,该端口将会产生邮箱中断。PORT1向PORT2的邮箱地址(0xFFFE)进行写操作,PORT2将产生邮箱中断,PORT2对该邮箱地址进行读操作之后清除邮箱中断。
1.4 DSP电路设计
DSP芯片选用Ti公司的TMS32C6414 EGLZA6E3,其主频为600 MHz。TMS320C6414是TI公司高性能的定点DSP。该芯片采用超长指令字结构(VLIW),每个时钟周期可以执行8个32位指令。
2 系统工作流程及软件设计
系统上电后,DSP1从与其连接的FLASH芯片中读出非均匀性校正算法所需的系数,传送给FPGA,FPGA对图像进行校正,校正结果写入四端口RAM,图像拉伸显示模块和数字图像记录模块。3个DSP可以从四端口RAM中读取图像信息,并行进行图像处理工作。
2.1 非均匀性较正算法设计
非均匀性是指凝视成像探测器在外界同一均匀光学场输入时各单元输出的不一致性。焦平面阵列探测器的非均匀性高达10%~30%,因此焦平面探测器在使用时必须进行非均匀性校正。非均匀性校正算法中,两点校正算法是最常用的算法,该算法的计算量非常小,校正一个点只需1次加运算和1次乘运算,有利用系统实时实现。
两点校正公式为:V’=GV+O。其中,V为探测器单元的实际输出值,V’为校正后的值,G为校正增益,O为校正偏移量值。G和O利用测量两个不同温度点的探测器响应计算得出,预先存入FLASH芯片中。系统正常工作时,DSP将系数从FLASH芯片中读出非均匀性校正算法所需的系数,用乒乓方式写入四端口RAM中。每写完1块数据区后利用四端口RAM的中断信号通知FPGA将系数读走,FPGA将得到的系数依次存入SDRAM中。系数传送完毕后,FPGA开始接收探测器数字图像信息,同时将校正系数读出,对原始红外图像进行乘加运算。工作流程见图3。
2.2 图像拉伸算法设计
图像拉伸采用自适应直方图增强算法,表示为如下的映射关系:
式中:yk为增强后图像的灰度值;Xmax和Xmin为原图像中像素最大值和最小值;Xk为原图像的灰度值;a为亮度补偿系数,取值为0~1之间,当取0时,即是通常的拉伸算法。
考虑到红外图像中可能存在盲元和噪声,Xmax和Xmin不宜取原图像中最大最小值。采用分位数法来取图像中的最大值和最小值可以把盲元和噪声的影响降到最低,分位数根据盲元和噪声情况具体确定,一般可取5 %。
图4给出了直方图增强算法的FPGA系统框图,A/D转换后的14 b数据流进入直方图统计模块计算每一像素点的直方图,根据设定好的分位数计算图像中像素的最大值和最小值。在每一帧有效数据结束后,根据直方图统计得到的最大值和最小值,计算灰度映射的除法,这样每帧只需计算1次除法,而不用对每一像素进行除法计算。之后对得到的因子对每一像素进行乘法及移位计算即可得到直方图增强算法处理后的图像数据。增强后的图像数据通过DAC控制模块送入电视显示。
3 结语
针对红外试试图像处理系统构建的FPGA+多DSP的硬件平台,利用FPGA进行调度和时序控制,有效的使3个处理器并行工作,大大提高了系统处理能力。研究并实现了从红外探测器数据采集到图像校正、图像处理,以及图像显示的整个流程。系统已应用于工程实践中,对于空间质量要求苛刻的高性能处理系统有一定的借鉴意义。 |