打印
[VHDL]

基于DSP+FPGA的通用IRFPA成像系统

[复制链接]
1289|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gygp|  楼主 | 2012-9-26 08:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于探测器本身固有的特性和恶劣外界环境成像条件,红外热图像普遍存在目标与背景对比度较差、图像边缘模糊、噪声较大等缺点。对成像质量差的红外图像进行增强并进一步进行目标识别是红外热像应用领域的客观需要。因此成像系统中必须要完成图像的非均匀校正、降噪增强等处理算法,这就要求系统具有高速和大数据量的处理能力。
针对现在常用的多种类型红外焦平面阵列,综合系统成本和性能两方面的考虑,设计出了一种基于数字信号处理器(DSP)和现场可编程门阵列器件(FPGA)的通用红外焦平面成像系统。系统通过FPGA把用户程序转换为数字电路的逻辑控制,实现了软件和硬件很好地融合圆。通过向DSP的I/O空间写不同控制字,可实现对不同的IRFPA进行数据采集,从而使系统具有较好的通用性和灵活性。
1系统的硬件结构及实现原理
一个完整的图像采集系统不但要具备图像信号的采集功能,还要求能对图像进行存储、显示和处理。同时,系统还必须满足通用性和可扩展性的要求。因此系统采用闻亭公司的DSP2621PA数字信号处理板和PC机构成了通用红外图像采集系统。DSP2621PA高速信号处理板以TI公司的TMS320C6201型DSP[3]]及在线可编程的FPGA为核心,还配置了高速大容量的同步存储器、双路A仍等器件,可以方便用户进行二次开发。系统的硬件功能框图如图1所示,DSP芯片作为数据核心处理单元,FPGA作为系统数据采集的控制部分。

系统的实现原理:由IRFPA输出的成像模拟信号首先经外围预处理电路进行滤波并调整成模数转换器(ADC)所需要的电平,然后在FPGA的控制下经高速A/D转换为数字图像信号,并将采集到的图像数据存放到双口RAM中。当AD转换数据写满双口RAM时,FPGA向DSP发出一个中断信号,DSP响应中断后,通过DMA方式传送到DSP片内存储器或外存储器(SBSRAM、SDRAM)中。如此循环,直至采满一帧图像。采完一帧图像后,DSP执行图像非均匀校正算法及图像处理算法,并将处理后数据送入显示设备进行图像显示。
2系统的逻辑控制设计
由于目前国内外所用的红外焦平面输出信号不通用,不同红外焦平面阵列芯片的数据采集控制部分的控制电路一般也不一致。为提高系统的通用性,本系统采用Xilinx公司的FPGA器件XCS20/30XL实现逻辑控制。
FPGA在系统逻辑控制中主要有如下几个功能:实现系统的启动与停止;实现数据采集,并把AD转换后的数据送到DSP的存储器中;实现与存储器的接口。

相关帖子

沙发
gygp|  楼主 | 2012-9-26 08:18 | 只看该作者
2.1系统的启动与停止电路
在系统中通过向DSP的I/O空间写控制字的指令来实现对采集系统启动与停止控制。控制电路如图3所示。当向DSP的I/O口写的控制字的DO位为‘1’时,ENA=‘1’,从而使能系统中的功能逻辑电路,并使AD转换器开始工作。类似地,D0=‘0’时,ENA=‘0’,系统中功能逻辑单元被复位,AD转换器的启动信号ADST被置‘0’,AD转换停止,系统停止工作。

2.2数据采集部分
该部分主要由像元计数电路、行计数电路、存储器地址产生及存储器接口电路组成,这些电路由计数器、逻辑门、
D触发器、多路复用器等组成。像元计数电路主要产生AD转换所需要的启动信号并对图像每一行的像元计数,当采完
图像一行像元时,电路重新开始计数,直至采完一幅图像。如图4所示。行计数电路主要作用是对图像进行行计数并产
生采集完一帧数据后的中断信号,其电路设计和点计数电路类似。
为了能实现对不同的N×M元红外焦平面图像进行采集,在像元计数、行计数电路中均采用了八位计数器和四路复用器组合的设计方法。图4中,多路复用器的控制端sl和s2分别和DSP数据总路线的的d1和d2位相连,当S0=0,sl=0时,电路计数64个elk,一行就采集“个像元。同理行计数电路计数64行,这样就能完成64x 64像元的图像采集。类似地,当S0=0,sl=l时,系统采集的是128×128图像;当s0=l,sl=0时,系统实现256×256的图像采集。这样在启动DSP时,通过向DSP的的空间写不同控制字就可以方便地采集不同类型的图像,而不需要改变CPLD中的逻辑设计,因而系统的灵活性和通用性比较高。

使用特权

评论回复
板凳
gygp|  楼主 | 2012-9-26 08:18 | 只看该作者
2.3存储器接口电路
该部分主要的功能是产生存储器的读写及片选信号,产生存储器的地址。电路设计比较简单,就不再叙述了。
3 系统的软件设计
系统的软件主要包括DSP主程序、中断服务子程序、数据显示以及FPGA逻辑控制中的VHDL语言的编程(主要是计数器)。FPGA发出的中断与DSP的外部中断INT7相连,.用于实现DSP的中断取数。当外部中断信号来到时,DSP响应中断,执行中断服务程序,完成图像的采集。
为了尽可能地提高系统的通用性,结合系统的逻辑设计,在DSP程序设计中通过选择不同的控制字,便可实现对不同图像的采集,程序设计采用C语言和汇编语言混合编程的方法,DSP主程序主要作用是:系统初始化;AD转换器的启动与停止的控制;等待中断的产生。中断服务子程序的主要作用是响应中断并实现数据搬移。DSP主程序及中断响应服务程序如下(读取一帧图像):



4 实验结果及结论
系统设计成功后:分别使用不同面阵的图像传感器进行实验,在不改变硬件设计的情况下,均获得了较为清晰的图
像。图5是采集到的256X256的红外图像。

使用特权

评论回复
地板
sgh2| | 2012-9-27 16:28 | 只看该作者
看看,谢谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

173

主题

7879

帖子

15

粉丝