在现代防空火控系统中,搜索、发现并跟踪目标是整个系统的工作基础,当前最主要的探测侦察手段仍是雷达,但其本身是一个电磁波发射源,在获取目标信息的同时,也暴露了自己,容易受到反辐射导弹的攻击,并且,其无法跟踪低空目标,存在波瓣触地、多路径效应、地物干扰等影响,从而严重影响了其功能的正常发挥。
电视跟踪系统利用高精度摄像头获取目标场景信息,转化为视频信号送到监视器,通过控制台引导(也可由雷达引导)伺服平台使目标进入捕获窗内,并对目标进行实时的捕获和检测,获得目标相对于光轴的俯仰和方位误差信号,控制伺服平台的运动,从而实现对目标的跟踪。电视跟踪系统具有分辨率高、图像可见、抗干扰性能好、成本低等优点,在军事上受到普遍重视, 在防空火控系统中已成为雷达的有力补充。
DSP 在视频、图像处理领域已经得到了广泛的应用, 特别是嵌入式系统中的应用更是普遍。DM642 (DigitalMedia)是TI公司2003年推出的面向视频/图像处理的高性能定点DSP芯片,相对之前的C64x, 其主频达到500 ~600MHz, 最高可达720MHz,指令执行速度高达4 000~4 800 M IPS,指令集与C64X全面兼容。特别地,它拥有3个可独立配置的视频端口,可独立配置为视频采集或显示端口,均支持多种采集/显示方案和视频标准,支持RAW视频集,可以实现与一般视频编/解码器的无缝连接,并且视频信号可以采用EDMA方式快捷地在存储器与视频端口之间传输。
系统原理与设计
各国早期的或现役的武器系统中的电视跟踪系统多数功能都由硬件电路实现,结构复杂,对环境条件要求高,并且严重阻碍了复杂搜索、跟踪算法的实现,搜索、跟踪能力低下,尤其是不适应全空域、多架次多层次的现代空袭战。随着数字技术和图形图像处理技术的发展,电视跟踪系统也朝着数字化的方向发展,如图1。
本数字式电视跟踪系统采用先进的DSP数字处理器,应用模块化设计思想,不仅整体设计上实现了模块化而且系统硬件、软件的设计方面都采用模块化思想。整个系统在硬件上分6个功能模块:图像采集模块、目标跟踪和识别模块、通信控制模块、伺服控制模块、字符和信息叠加模块和电源模块;软件从功能上可分为图像采集模块、图像处理模块、识别跟踪模块、显示控制模块以及主控模块等。 [page]
电视跟踪系统主要处理工作由核心处理板完成,处理芯片采用TMS320DM642 DSP,其显著特征是集成视频输入输出端口,分别连接着外围的视频编/解码芯片,解码芯片通过CCD采集电视信号,对其模数转换后进行跟踪算法处理,得到目标质心对视场中心的偏移量,送往伺服控制模块,驱动云台转动,实现自动跟踪。通信控制模块接受火控计算机输出的火控系统参量信号,经DSP控制完成与视频信号的叠加。具体叠加信号包括目标高度量、距离量和速度量,以及视场中心十字线,本系统设计中利用一片位于DSP和视频编码芯片之间的FPGA完成此叠加功能,由于此部分电路更侧重FPGA的功能实现,所以具体设计本文不再详述。
DM642视频端口硬件设计
本系统结合DM642特点,利用两个视频端口分别连接视频解码芯片和视频编码芯片( Philp公司的SAA7115和SAA7105H) ,直接搭建成视频采集、显示通道,对于编/解码芯片的编程通过I2C总线进行设定,具体技术可查询相关网站,本文侧重说明本系统的设计思路。
图2视频采集与显示主要硬件电路
图2是本系统的视频采集与显示的主要硬件电路,由于DM642本身为视频/图像处理设计,其内部高度集成了视频采集单元和显示单元,支持主流编解码芯片,有效地简化了外围电路,这里需要说明的有:
1)本系统视频数据输入采用彩色PAL制式,输出为黑白PAL制式,中间采用YUV422编码,数据位为8位。
2)DM642的视频端口0 (Video Port0)及其配套的控制信号首先经过信号保持及收发转换电路,之后连接解码芯片SAA7115 对应引脚。本系统适用于所有主要的标准合成视频,通过I2C总线控制其内部寄存器进行功能选择,具体操作函数封装于软件驱动部分。
3)DM642的视频端口2 (Video Port2)被用作视频显示,这个编码器可以进行RGB、HD、NTSC、PAL编码,通过编程也可对S端子视频编码。其编程也通过I2C总线进行。
4) 类似解码电路,DM642视频端口2可以直接连接编码芯片, 但本系统编码显示电路通过一片FPGA (XiL inx XC2S300E ) 连接DSP 与编码器( Philp公司的SAA7105) , 一方面对待显的视频信号叠加字符、波门等信息,另一方面用来对各种控制信号进行逻辑处理, 充分利用FPGA空间, 避免了额外的逻辑控制电路。
5)DM642视频端口控制信号与编码解码芯片控制信号主要有行同步、场同步和时钟信号,特别是注意保证视频信号的33Ω匹配电阻。
DM642视频操作的软件设计
考虑到通用性和兼容性,在本系统中DM642的视频端口部分的驱动程序分为两个部分:针对视频端口的通用驱动部分和针对视频处理外设的专用驱动部分。前者对于固定型号的DSP是固定的,由TI公司提供,用户不需要改动;后者则取决于与用户设计的视频外设,一般只与外设硬件相关,其相关参数、函数由用户封装。两者通过DSP内部的扩展设备控制器(EDC)连接为一体,共同负责视频信号的采集、传输、处理。 [page]
对于TI的DSP开发环境CCS而言,上述两部分驱动可被进一步封装成为FV ID ( frame video)驱动模型,它作为一种针对视频端口操作的通用I/O模型,主要包含下列两大类函数模型:
1) 通用驱动部分,主要完成DSP芯片对其视频端口的配置读写等操作。主要分为整体端口配置、单个采集/显示通道配置、视频端口中断配置几类,其参数类型存储于Vport. h、VportCap. h、VportDis.h、Vport. h中的对应结构体中,用户开发程序中可参考文献[ 1 ]选取恰当的参数。
2)专用驱动部分,主要任务是视频编码/解码芯片的初始化操作和工作模式选择,例如,本系统采用PHILP公司的 SAA7105、SAA7115 作为视频编码/解码器,就需要对其编码/解码格式、缓存方式等方面进行设置,一般将其配置参数定义结构体,以供工程中调用,由于扩展设备控制器将通用驱动部分封装为一系列AP I接口,可供用户编写专用驱动部分时调用,主要AP I信息存储于EDC. h中,详细资料可查阅TI网站,笔者则是侧重说明DM642EVM中视频信号采集和显示的方法。为了完成视频流建立、管理,主要工作如图3所示。
图3 视频信号流的建立和管理
1)在系统配置文件(B IOS配置文件cdb)中定义视频端口的共有属性,根据需要分别建立编码通道、解码通道,指定各个通道工作参数,具体参数类型见Vport Cap. h和Vport Dis. h。
2)由于EVM已经将视频外设驱动(专用驱动部分)封装到FV ID库,用户只需要参照saa7105. h,saa71105. h中的结构体,为各个视频外设建立参数对象(类似VC + +中的类的对象) ,使之以选定的模式工作。
3)在CCS工程执行函数中,设置视频采集和显示的触发方式。一般视频采集使用中断方式,采集通道的缓存区饱和后发出中断请求,视频显示触发一般采用默认方式。
4)在响应函数里,首先将其缓存指针切换到备用缓存,然后对当前数据区进行处理,特别的,对于
PAL 制式视频,采集程序自动对奇偶场象素重新排序,一维缓存数据序列直接对应视频左上至右下逐行排列的象素值,单个象素值是一个结构体对象,包含其所有颜色特征,便于图像处理函数读取。之后将处理结果写入显示通道的缓存区,写入完毕,切换显示通道的缓存区到备用缓存,启动显示任务后,显示编码电路自动读取其缓存区,按照设定的模式编码输出。
结束语
TMS320DM642 是面向视频/图像处理的高性能定点DSP芯片,其硬件设计及软件构建都符合视频/图像领域的专业化需求,其本身及其后续型号在这一领域具有很广泛的的应用前景。笔者结合某电视跟踪系统的设计,着重研究了其视频端口相关软硬件的原理及实现方法,为开发其它视频/图像处理系统提供软件开发和硬件电路设计的参考,特别是制式电视信号流的建立、管理方法,经过设计、调试,顺利实现了标准制式电视( PAL, NTSC)的采集、缓存、处理及显示,实验结果证明该方法切实可行,系统运行稳定。
本系统设计存在的问题主要是开发环境的C语言编译器优化效率十分低下,虽然汇编语言编写困难,可读性及可维护性较差,但为了保证复杂处理算法的执行速度,下一步需要对部分核心程序采用汇编语言编写。
参考文献:
[ 1 ] Texas Insruments. TMS320DM642 video / imaging fixed - point digital signal p rocessor [ Z ]. Texas Insruments Incorporated, 2003.
上一篇:构建嵌入式Linux系统
下一篇:嵌入式多媒体应用中的片上存储器分配
推荐阅读最新更新时间:2024-03-16 12:57