《以DSP和FPGA为基础的的通用红外焦平面成像系统设计详解.docx》由会员分享,可在线阅读,更多相关《以DSP和FPGA为基础的的通用红外焦平面成像系统设计详解.docx(7页珍藏版)》请在第一文库网上搜索。
1、以DSP和FPGA为基础的的通用红外焦平面成像系统设计详解由于探测港本身固有的特性和恶劣外界环境成像条件,红外热图像普遍存在目标与背景对比度较差、图像边缘模糊、噪声较大等缺点。对成像质量差的红外图像进行增强并进一步进行目标识别是红外热像应用领域的客观需要。因此成像系统中必须要完成图像的非均匀校正、降噪增强等处理算法,这就要求系统具有高速和大数据量的处理能力。针对现在常用的多种类型红外焦平面阵列,综合系统成本和性能两方面的考虑,设计出了一种基于数字信号处理器(DSP)和现场可编程门阵列器件(FPGA)的通用红外焦平面成像系统。系统通过FPGA把用户程序转换为数定电路的逻辑控制,实现了软件和便性很
2、好地融合圆。通过向DSP的I/O空间写不同控制字,可实现对不同的IREPA进行数据采集,从而使系统具有较好的通用性和灵活性。1系统的硬件结构及实现原理一个完整的图像采集系统不但要具备图像值号的采集功能,还要求能对图像进行存储、显示和处理。同时,系统还必须满足通用性和可扩展性的要求。因此系统采用闻亭公司的DSP2621PA数字信号处理板和PC机构成了通用红外图像采集系统。DSP2621PA高速信号处理板以I1公司的TMS320C6201型DSP及在线可编程的FPGA为核心,还配置了高速大容量的同步存储器、双路A仍等器件,可以方便用户进行二次开发。系统的硬件功能框图如图1所示,DSP芯片作为数据核
3、心处理单元,FPGA作为系统数据采集的控制部分。IRFPADDRAMDSPTMS320C6201DSP2621BOARD图1系统硬件原理框匕,系统的实现原理:由IRFPA输出的成像模拟信号首先经外围预处理电路进行滤波并调整成模数转换器(ADC)所需要的电平,然后在FPGA的控制下经高速A/D转换为数字图像信号,并将采集到的图像数据存放到双口蚂中。当A1转换数据写满双口RAM时,FPGA向DSP发出一个中断信号,DSP响应中断后,通过皿方式传送到DSP片内存储器或外存储器(SBSRAM、SDRAM)中。如此循环,直至采满一帧图像。采完一帧图像后,DSP执行图像非均匀校正算法及图像处理算法,并将处
4、理后数据送入显示设备进行图像显示。2系统的逻辑控制设计由于目前国内外所用的红外焦平面输出信号不通用,不同红外焦平面阵列芯片的数据采集控制部分的控制曳路一般也不一致。为提高系统的通用性,本系统采用Xi1inx公司的FPGA器件XCS20/30X1实现逻辑控制。FPGA在系统逻辑控制中主要有如下几个功能:实现系统的启动与停止;实现数据采集,并把AD转换后的数据送到DSP的存储器中;实现与存储器的接旦。系统的逻辑控制电路如图2所示。图2系统逻辑控制电路4i”2.1系统的启动与停止电路在系统中通过向DSP的I/O空间写控制字的指令来实现对采集系统启动与停止控制。控制电路如图3所示。当向DSP的I/O口
5、写的控制字的Do位为时,ENA=4,从而使能系统中的功能逻辑电路,并使AD转换盗开始工作。类似地,DO=0时,ENA=0,系统中功能逻辑单元被复位,AD转换器的启动信号ADST被置0,AD转换停止,系统停止工作。图3AD转换器启动电力”/2.2数据采集部分该部分主要由像元计数电路、行计数电路、存储器地址产生及存储器接口电路组成,这些电路由计数器、逻辑门、D触发器、多路复用器等组成。像元计数电路主要产生AD转换所需要的启动信号并对图像每一行的像元计数,当采完图像一行像元时,电路重新开始计数,直至采完一幅图像。如图4所示。行计数电路主要作用是对图像进行行计数并产生采集完一帧数据后的中断信号,其电路
6、设计和点计数电路类似。为了能实现对不同的NXM元红外焦平面图像进行采集,在像元计数、行计数电路中均采用了八位计数器和四路复用器组合的设计方法。图4中,多路复用器的控制端si和s2分别和DSP数据总路线的的d1和d2位相连,当SO=O,S1=O时,电路计数64个e1k,一行就采集“个像元。同理行计数电路计数64行,这样就能完成64x64像元的图像采集。类似地,当S0=0,ski时,系统采集的是128X128图像;当s=1,SI=0时,系统实现256X256的图像采集。这样在启动DSP时,通过向DSP的的空间写不同控制字就可以方便地采集不同类型的图像,而不需要改变CP1D中的逻辑设计,因而系统的灵
7、活性和通用性比较高。图4像元计数电路2.3存储器接口电路该部分主要的功能是产生存储器的读写及片选信号,产生存储器的地址。电路设计比较简单,就不再叙述了。3系统的软件设计系统的软件主要包括DSP主程序、中断服务子程序、数据显示以及FPGA逻辑控制中的VHD1语言的编程(主要是计数器)。FPGA发出的中断与DSP的外部中断INT7相连,.用于实现DSP的中断取数。当外部中断信号来到时,DSP响应中断,执行中断服务程序,完成图像的采集。为了尽可能地提高系统的通用性,结合系统的逻辑设计,在DSP程序设计中通过选择不同的控制字,便可实现对不同图像的采集,程序设计采用C语言和汇缄语言混合编程的方法,DSP
8、主程序主要作用是:系统初始化;AD转换器的启动与停止的控制;等待中断的产生。中断服务子程序的主要作用是响应中断并实现数据搬移。DSP主程序及中断响应服务程序如下(读取一帧图像):voidmai0IERI=OxOO83;/使能int7Tnt/沅?占JMI1n11,-2zurnPUtS(“P1easese1ectthetypeofimagern,t);Puts(441.64*64;212812*,3-256*256n)SCanf(%d”,&D;Switch(i)(case 1,(unsignedvo1ati1eint)ADADDR=0x0001;/DO=I启动AD;D10,D2=0采64*64元图
9、像case 2(unsignedvo1ati1eint*)ADADDR=0x0003/DO=I启动AD;D1=I,D2=0采128*128图像case 3*(unsignedvo1ati1eint)ADADDR=0x0005;/DO=I启动AD;D1=0,D2=10采256*256图像)whi1e(1)ADADDR=0x0;系统停止工作)interruptvoidStartJntO/中断服务子程序;图像数据丛双口RAM中搬移至SBSRAM.*,哈自加14实验结果及结论系统设计成功后:分别使用不同面阵的图像传感餐进行实验,在不改变硬件设计的情况下,均获得了较为清晰的图像。图5是采集到的256X256的红外图像。通过实验表明,该系统设计灵活,通用性较强,实验结果较为满意。