1基于VxWorks的红外成像跟踪系统SOC设计彭鼎祥汤心溢王世勇(中国科学院上海技术物理研究所,上海200083)摘要为了提高系统性能,提出了一个基于SOC构架的红外成像跟踪系统设计方案。在VirtexIIPro平台FPGA上,通过PowerPCCPU、IBMCoreConnect总线和VxWorks操作系统,形成SOC平台;在SOC平台上集成ISRT功能插件,构架数据处理链路,完成目标跟踪。IRST所有操作都在一块芯片上完成:空间滤波和动态自适应阈值在硬件平台上实现;MHT跟踪分析在VxWorks软件平台上实现。这个基于SOC的IRST系统实时跟踪性能良好,接口标准,与外围设备接口简单,容易实现跟踪信息的外围显示和远程传输。关键词PowerPC;CoreConnect;红外成像跟踪系统;多假设跟踪;VxWorks操作系统InfraRedSearchandTrackingsystemdesignbasedonSystemOnaChipPENGDing-xiangTANGXin-yiWANGShi-yong(ShanghaiInstituteofTechnicalPhysics,ChineseAcademyofSciences,Shanghai200083,China)Abstract:Inthispaper,anewIITSdesignbasedonSOCisproposed.OntheVirtexIIProplatformFPGAwhichembeddedonePowerPCCPUhardcoreandIBMCoreConnectbusarchitecture,aSOChardwareandsoftwareenvironmentcanbedesignedbybuildingVxWorksOS.BasedonthisSOCenvironment,aIITSsystemcanbeintegrated,justlikeahardwarecardofthisSOC.InthisIITSsystem,MultipleHypothesisTracking(MHT)isusedastrackanalyseanditisconvenienttodisplayortransfersthetrackdatathroughtheperipheralequipmentonthisSOC.Keywords:PowerPC;CoreConnect;InfraredImagingTrackingSystem;MultipleHypothesisTracking(MHT);VxWorksOS1引言一套完整的红外成像跟踪系统一般由如下几个部分组成:红外成像信号获取,信号预处理,目标分割,目标探测识别和目标跟踪。如图1[1]。图1红外成像跟踪系统Fig.1IITSsystem在以往的系统设计中,实时信号处理的各个功能模块常常在多个分立的硬件平台上实现:信号预处理通过硬件实现,例如FPGA;目标分割和目标探测识别通过DSP算法实现;目标跟踪在主机(PC机)中完成。在本设计中,打破这种系统分立的格局,构筑一个基于SOC的红外成像跟踪系统,SOC的分工为:1利用片内丰富的可编程逻辑资源实现信号预处理,目标分割和目标检测。2利用内嵌的PowerPC(CPU)运行内嵌操作系统VxWorks,凭借VxWorks优秀的进程管理机制实现目标提取、Kalman滤波和MHT跟踪算法;3构筑IBM的CoreConnect片内总线构架,实现硬件和软件的协调运作。22系统设计总体与指导思想2.1设计总体本设计用到VirtexIIPro平台FPGA家族中的V2P7-ff672,它内嵌一个PowerPC405CPU硬核,支持IBMCoreConnect总线构架。本设计方案需要完成以下几个任务:(1)通过CoreConnect和PowerPC405构架SOC硬件环境,与外部资源(DDR-SDRAM)和接口(红外数据接口、串口、网口、LCD等)形成硬件链路;(2)配置VxWorks内嵌操作系统构架软件环境,形成一个具有针对性的拥有底层硬件到上层应用软件的完整独立系统;(3)利用FPGA片内逻辑资源实现信号预处理、目标分割、目标检测等硬件处理模块,并将处理结果通过CoreConnect总线送往嵌入式PowerPC进行后继处理。(4)在VxWorks实时操作系统上开发PowerPC应用程序,完成目标的识别和跟踪,输出跟踪结果。PowerPC405CPUVirtexIIProCoreConnectSOC外设资源与接口LCD监视器以太网串口SystemACEDDRSDRAM工程应用的硬件实现红外成像跟踪系统硬件应用VxWorks操作系统红外成像跟踪系统软件应用程序VxWorks任务机制、中断机制和BSP红外图像数据图2基于SOC的红外成像跟踪系统总体框架Fig.2ThearchitectureofIITSsystembasedonSOC系统的总体构架如图2,PowerPC405和CoreConnect形成SOC硬件框架核心;VxWorks实现对外设资源与接口的调用和配置,形成SOC软件框架核心。红外成像跟踪系统集成在SOC环境中,就像是嫁接在SOC环境上的功能插件,图示中的跟踪系统硬件应用部分完成信号预处理和目标分割等;而图示中跟踪系统软件应用程序部分,相当于SOC环境提供给该功能插件的驱动和上层应用,它们完成目标跟踪,并提交给系统用于跟踪显示。2.2基于SOC的跟踪系统模块分布跟踪系统应用包括信号预处理、目标分割、目标检测与识别、目标跟踪和跟踪输出这五个模块。根据各个模块的特点,我们要合理选择它们的实现方式。它们的实现方式可以分三类:(1)硬件实现方式信号预处理和目标分割这两个模块运算逻辑简单(加减移位)、速度要求高,适合用硬件实现。(2)软件实现方式目标跟踪必须在软件环境下实现,原因有二:一是计算繁复,本设计中目标跟踪3采用SB/MHT结构化多假设跟踪算法,对每一个目标都要进行Kalman滤波;二是需要大量数据暂存空间,SB/MHT结构化每一条轨迹,都需要对应的存储空间,用来存储该轨迹的属性和方法,并对轨迹进行分析和处理。(3)软硬件结合方式目标探测识别这个模块被拆分成两个部分,分别在软件平台和硬件平台上实现。目标探测识别分为目标探测和目标提取两个部分,目标探测逻辑简单,而目标提取运算复杂;跟踪输出模块将原始图像和目标跟踪信息结合在一起输出,原始图像是硬件平台上图像均衡的产物,而目标跟踪信息是软件平台上MHT算法的结果。3系统平台的硬件构架和软件构架基于SOC的红外成像跟踪系统完成目标筛选、检测、识别和锁定,向系统提交目标跟踪信息。3.1硬件平台构架PowerPCCPUVirtexIIProCoreConnectBUSSOC目标检测自适应阈值图像增强红外成像跟踪系统硬件应用(图像预处理硬件模块)目标跟踪输出LCD监视器以太网串口SystemACE图3硬件平台构架Fig.3Thearchitectureofhardwareplatform硬件平台框架如图3。主要由三个部分组成:SOC硬件体系框架、红外成像跟踪系统硬件应用部分(图像预处理硬件模块)和外围设备。SOC硬件体系框架提供硬件链路;图像预处理硬件模块进行信号预处理、目标分割和目标探测;外围设备提供目标显示和调试终端。3.1.1SOC硬件体系构架SOC硬件体系框架包含CoreConnect片内总线框架和内嵌PowerPC405核。它们提供给跟踪系统图像预处理硬件模块高速的数据通路。(1)CoreConnectCoreConnect主要由三个总线组成:处理器当地总线(PLB:ProcessorLocalBus)、片上外设总线(OPB:On-ChipPeripheralBus)和设备控制寄存器总线(DCR:DeviceControlRegisterBus)。PLB总线用于连接高速设备,例如:DDR,CPU等;OPB总线用于连接低速外设,例如:串口,网口,红外接口等等;DCR总线用于控制硬件设备的状态,设备通过寄存器接口与该总线相连。PLB和OPB通过总线桥连接,CPU通过DCR总线来控制各个设备状态。(2)PowerPC405CPUPowerPC405CPU以两路主设备(master)方式连接到PLB总线上,分别是命令接口和数据接口,同时利用片内BRAM配备命令缓存单元(ICU:InstructionCacheUnit)和数据缓存单元(DCU:DataCacheUnit),这样数据和命令分开操作,提高了命令执行和数据读写的速度。PowerPC405工作主频为300M,效率为400MIPs。43.1.2图像处理模块信号预处理、目标分割和目标探测,这三个模块利用V2P7片内硬件资源(Slice和Ram)实现流水线操作,以主设备方式与PLB总线相连,主动发起数据总线读写,并产生对CPU的中断请求。(1)信号预处理主要实现多种空间滤波结合,抑制背景杂波,提高信噪比(2)目标分割采用自适应阈值方法,将图像数据划分为若干子图像(18×18),动态计算阈值,阈值算法的参数可以通过自定义的寄存器由操作系统灵活确定,阈值后形成二值化码流,用于目标检测分析,同时也可选择的输出给总线,用于显示二值图像。子图像阈值为:)()1(XXTH(1)式中X表示滤波后象素灰度值,X表示子图像中象素灰度平均值,)(X表示子图像中象素灰度方差。式中、和为加权系数,根据实际处理的图像计算并调整出最优值。(3)目标检测是目标探测识别的一部分,是目标提取的前提,它通过目标检测算法,以行扫描方式标记出可能的目标数据,并形成目标向量,提供给总线,在帧结束时产生中断请求,触发CPU对数据的后级操作。3.1.3外围终端设备外围中断设备主要包含TFTLCD显示设备、以太网口和串口等等。TFTLCD采用NEC公司的NL6448BC20-08,它以主设备方式连接于PLB总线上,通过对内存(显存)的不断扫描来实现动态显示,分辨率是480×600,RGB的灰度级是64级(6bit)。以太网口以主设备连接于OPB总线上,VxWorks驱动提供100M带宽。通过以太网口和VxWorks的WDB调试器,可以实现系统的灵活调试;也可以实现目标跟踪结果的远程传输。串口以从设备连接于OPB总线上,主要通过串口来实现系统调试。综上所述,硬件平台完成三个任务:一是构筑起一个SOC硬件环境,形成一个贯通的数据链路;二是对红外图像数据做预处理操作,形成潜目标信息,提供给软件平台作后继处理;三是结合软件,外围设备实现显示和传输。3.2软件平台构架硬件平台CPU硬件处理模块硬件中断软件算法流程目标提取轨迹跟踪管理门限关联Kalman滤波预测中断服务程序ISR任机度调务制板级支持包BSP软硬件通信协议网口驱动串口驱动BUS文件系统软硬件通信协议图4软件平台构架Fig.4Thearchitectureofsoftwareplatform软件平台结构如图4,整个软件算法流程是建立在VxWorks的系统任务调度机制和中断管理机制基础之上,同时VxWorks提供对硬件管理的统一接口:板级支持包BSP。5前级模块(目标探测)提交中断请求给CPU,发起对算法任务的调度。在系统任务调度机制下,利用CPU的时间片,类似并行的运作。软件算法分为目标提取和目标跟踪。本设计中,目标跟踪采用SB/MHT结构化多假设跟踪算法,主要由门限关联、Kalman滤波预测和轨迹跟踪管理组成。通过软硬件通信协议,软件平台得到在硬件平台上形成的潜目标数据,经过目标提取和目标跟踪,最后将跟踪结果返回给硬件平台用于跟踪显示,或者通过网口驱动或串口驱动调用BSP接口,实现远程传输控制。3.2.1软件算法流程软件算法流程包括目标提取和目标跟踪。其中目标跟踪采用SB/MHT跟踪算法,包括Kalman滤波预测、门限关联和MHT跟踪与轨迹管理。(1)目标提取目标提取是目标探测识别的一部分,是目标探测的后级流程。在算法逻辑上,目标探测和目标提取是