摘 要: 根据红外多目标跟踪系统的设计需求,在硬件上设计了一个以两片ADSP-TS101DSP和一片FPGA为核心处理器、带CPCI总线接口的多处理器并行处理平台;在算法上采用了SB/MHT红外多目标跟踪算法。详细介绍了多处理器间的高速数据传输和同步通信设计方法,SB/MHT算法在双DSP上的移植实现,以及PLX9054 PCI桥接芯片的通信方式设计。
0 引言
近些年来,一方面,随着红外探测器成像技术的发展,图像分辨率和图像质量变得越来越高,运算量也随之增加。另一方面,由于实际工程需要和信号处理技术的发展,在红外多目标跟踪算法领域,引入了更多高性能的处理算法,使得算法的复杂度和计算量飞速增长,同时对整个处理系统的实时性要求也不断提高。传统的由单DSP或者单PC机构成
的红外信号处理平台难以兼顾目标检测跟踪的准确性和实时性,因而对复杂的信号处理算法进行任务分解,并在硬件系统上采取多DSP并行处理已经成为一种重要的处理方法[1]。另外,在红外多目标跟踪系统也要求有实时显示红外图像和跟踪结果,并提供良好的人机交互界面的功能。
1 红外多目标跟踪系统概述
红外多目标跟踪系统功能示意图。如图1所示。红外多目标跟踪系统将从红外探测器接收到的图像分两路处理,一路传输至上位主机显示;另外一路经过多目标跟踪算法处理后,将跟踪结果送至上位主机进行波门标注等处理。同时,要求上位主机可以监控红外多目标跟踪系统。

2 ADSP-TS101 DSP简介
ADSP-TS101 DSP属于ADI公司高性能静态超标量处理器TigerSHARC系列,是一款定点/浮点DSP。最高工作频率300 MHz,TS101提供每秒2.4亿次乘累加操作和1.8亿次浮点操作的运算能力,6 Mbit大容量片内SRAM,14.4 GB/s内部存储器带宽,1.8 GB/s外部I/O带宽[2-4]。TS101的一个重要优势就是提供了对多处理器互连的硬件支持。TS101支持的互连系统有两种,分别是:共享总线的多DSP系统和链路口互连多DSP系统。
2.1 共享总线的多DSP系统
TS101内部集成有支持多处理器系统的分布式仲裁逻辑。同一套外部总线可以直接连接多达8片的TS101和一个主机,而不需要附加任何其他仲裁逻辑,每个处理器都可以申请成为外部总线的主控设备。多处理器除了可以共享外部SRAM、SDRAM、Flash、主机等资源外,DSP之间还可以直接访问其他DSP的内部SRAM和大部分存储器映射寄存器。
2.2 链路口互连的多DSP系统
TS101有四个链路口(Link Port),每个链路口都由8位双向数据线和另外三根控制线组成。在通信时,链路口的数据线在时钟的上下沿均传输数据。链路口可以运行在1/2核时钟频率,当TS101运行在300 MHz时,每个链路口的吞吐率可以达到300MB/s,四个链路口合起来可达到1.2 GB/s。TS101的链路口为处理器内部或外部的数据传输提供了一个快速、独立的通信机制,是一种点到点的通信方法。在多DSP系统中,可以在板级、板间,通过链路口构成多维处理器阵列系统。
2.3 两种互联方式的优劣比较
总线互连方式的优点是:8个DSP和一个主机之间可以共享内部资源和外部SDRAM等资源,方便各处理器间的数据共享和同步。总线互连方式的局限是:在单板上实现高速外部总线耦合时,需要实现超过100根信号线的互连,PCB布板难度大;并且当外部总线负载较重时,总线频率很难提高。链路口互连方式的优点时:传输数据时不占用外部总线资源,结构简单,传输速率高,PCB设计方便,可用于板级互连。链路口互连方式的局限是:数据共享性比较差,不如总线互连方式。
在实际的系统设计中,当DSP数目比较少时,可以采用总线互连和链路口互连的混合耦合模式,兼顾共享性和传输速率的要求。对于大规模的多阵列系统,应该考虑采用链路口互连方式。
3 PCI桥接设计
红外多目标跟踪系统需要通过CPCI总线连接到运行Windows操作系统的上位主机。主机可以通过CPCI总线实现红外图像的采集、跟踪标注,以及对整个系统的监控。可供选择的CPCI解决方案主要有4种:
方案一,采用专用定制的TS101桥接芯片。如Bittware公司的SFIN-101芯片,可以实现TS101外部总线到PCI总线的无缝互连。不足之处是SFIN-101只向OEM厂商供货。
方案二,采用软核解决方案。通过在FPGA内实现PCI总线协议软核,在FPGA内部实现软核的本地总线到TS101外部总线的转换互连。可以采用Xilinx和altera公司提供的PCI协议软核,缺点是需要付费;也可以采用开源免费的软核,如PCI-Wishbon软核,缺点是稳定性没有保证,开发周期长。
方案三,采用硬核加软核方案。即在一片FPGA芯片上既含有PCI协议硬核,又有可编程资源,可实现与TS101外部总线互连。如QuickLogic公司的QL5064等芯片。缺点是,需要熟悉新的器件、新的开发工具,开发过程复杂,周期长。
方案四,采用ASIC芯片。如PLX公司的PLX9054等成熟PCI桥接芯片。芯片的一端是PCI总线,一端是本地总线。本地总线的读写控制信号经过CPLD后再与DSP相连,可以实现DSP外部总线与PCI总线的互连。这种方案的优点是开发简单,上手快,成本低,并且PLX公司提供了驱动程序API函数库和成熟的开发工具。
最终,本文的红外多目标跟踪系统采用了第四种方案,即PCI桥接芯片采用PLX9054。不足之处在于本地总线的频率比较低,只有50 MHz,如果直接和TS101的外部总线相连,将拉低DSP的外部总线频率,同时也会占用TS101外部总线带宽。所以在本文的平台设计中,TS101与PLX9054采用高性能FPGA互连,通过在FPGA中实现双口RAM进行通信,这样既能保证TS101外部总线运行频率,也使得设计更加简单。
4 目标跟踪算法介绍及系统任务划分
本设计方案采用SB/MHT结构化分支多假设航迹跟踪算法。D. B. Reid在1978年提出多假设跟踪算法MHT[5],根据潜目标的帧间匹配来构造假设轨迹,并对轨迹进行评价。由于其计算量巨大,休斯公司提出结构化分支多假设跟踪算法SB/MHT[6],结构化轨迹,分别记录各条轨迹的状态属性,最后进行轨迹评价和删除。
根据对SB/MHT算法各个运算模块的运算量的评估,采用的一片TS101无法达到系统要求的跟踪速度,而两片TS101上可以达到系统要求的跟踪速度。因此,需要对SB/MHT算法进行模块划分,并在两片TS101上分配任务,使得两片TS101上的运算量相当,即实现负载平衡。算法的主要模块和任务划分,如图2所示。DSP_A执行图像的预处理任务,DSP_B执行轨迹跟踪任务。

5 系统设计与实现
根据红外多目标跟踪系统的运算量评估结果,及任务划分结果,最终确定的系统硬件框图如图3所示。
5.1 系统的工作方式
探测器传输过来的红外图像,经过LVDS解串器解码后,分为两路。一路经由CPCI总线,以DMA传输方式,传输至上位主机进行显示。另一路图像通过链路口传输至DSP_A进行图像预处理,DSP_A将提取的潜目标通过链路口传输至DSP_B,DSP_B进行多目标轨迹跟踪,并将最终的跟踪结果通过CPCI总线也传输至主机,在主机上进行跟踪结果标注,目标信息显示等等。主机与两片TS101的通信通过在FPGA内部建立的双口RAM进行。其中主机完成监控系统运行,配置跟踪参数等功能。

5.2 TS101互连方式设计
两片TS101既采用共享总线的方式互连,也通过链路口进行数据传输。通过共享总线方式互连,便于两片TS101之间进行消息通信,以及主机与TS101的通信。通过链路口互连,使得TS101之间的数据传输更快速,且不占用外部总线资源。
5.3 FPGA与TS101的高速数据传输FPGA需要将解串后的红外图像传输至DSP_A,要求每秒钟传输100帧图像,传输速率要求为15.625 MB/s。如果采用TS101的外部总线传输,将占用外部总线带宽。因此本文采用通过TS101的链路口进行传输。TS101的链路口不仅可用于DSP之间的数据通信,也可与具有相同传输协议的外设进行数据通信,如FPGA。
本设计采用的FPGA为Xilinx公司的XC2V1000,通过在FPGA内部实现一个链路口通信模块,与TS101进行通信。为了增加设计的可复用性,本文将链路口通信模块设计成一个独立模块,用户只要按照协议要求,操作本地读写控制协议,即可实现与TS101进行链路口通信,传输速率达150 MB/s。链路口模块结构示意图如图4所示.

5.4 PLX9054桥接设计
PLX9054是PLX公司生产的PCI总线接口控制器芯片[7-8]。PLX9054符合PCI V2.2规范,32位数据位,工作频率为33 MHz,拥有两个独立的DMA通道,最高传输速度达132 MB/s。PLX9054提供了PCI总线接口,串行EEPROM接口,本地总线接口三个接口。其中串行EEPROM用于存储PCI配置信息;本地总线用于与用户设备通信。
(1)本地工作模式选择
PLX9054的本地总线有三种工作模式:M模式,C模式和J模式。其中在C模式中,本地总线的地址总线与数据总线是独立的,便于FPGA编程实现,所以本设计选择C模式。
(2)PLX9054的数据传输模式选择PLX9054芯片在PCI总线和本地总线之间有三种数据传输模式:PCI INItiator模式――本地总线主设备通过PLX9054访问PCI总线存储空间和I/O空间;PCI Target模式――PCI总线主设备通过PLX9054访问本地总线存储空间和I/O空间;DMA方式――PLX9054作为两端总线的主设备,实现PCI总线存储空间与本地总线存储空间之间的数据传输。
本设计在传输少量数据时,如主机与TS101进行消息传递和跟踪结果传递时,采用的是PCITarget模式。此时FPGA作为PLX9054本地总线的从设备,接受PCI总线主设备主机的控制。在进行大量数据传输时,如FPGA将红外图像传输至主机时,传输速率达到15.625 MB/s。此时应该采用DMA传输模式,在这种模式下,数据传输不占用主机CPU处理资源。
(3)主机与TS101的通信设计
主机与TS101的通信是通过PLX9054和FPGA来实现。实现的原理图如图5所示。当TS101向主机发送数据时,先把数据写入双口RAM,然后通过TS101的通用引脚,向FPGA内的中断控制器发出一个中断,由中断控制器向主机发出通信请求。
当主机向TS101发送数据时,先把数据写入双口RAM,通过向控制寄存器组写通信指令字,控制寄存器组通过TS101的中断引脚,向TS101发出一个中断,请求通信。

(4)主机与FPGA的通信设计
当FPGA与主机进行少量数据交换时,FPGA作为PLX9054本地总线的从设备,通信方式与“主机与TS101的通信方式”相同。当FPGA与主机进行大量数据交换时,PLX9054工作在DMA传输模式下,同时作为PCI总线和本地总线的主控设备。下面以FPGA向主机传输红外图像为例来说明,实现原理图如图6所示。当FPGA在内部双口RAM中准备好数据后,通过中断向主机发出通信请求;主机通过写PLX9054的寄存器,配置DMA传输参数,启动DMA传输。

5.5 主机应用程序设计
主机应用程序的功能就是向用户提供图形操作界面,实现上位机对红外信号处理平台的监控,图像采集显示等功能。应用程序开发工具为Visual C++ 6.0;对PLX9054的开发采用PLX公司提供的SDK[9-10](Software Development Kit)。
6 结束语
本文根据红外多目标跟踪系统的设计要求,结合ADSP-TS101 DSP的结构特点,并利用FPGA和PCI桥接芯片,搭建了一个多处理器红外信号处理平台;多目标跟踪算法采用的是SB/MHT结构化分支多假设航迹跟踪算法。最终系统运行指标为:对于大小为320×256,像素为14 bit的红外图像,实现100 f/s的跟踪速度,即每10 ms处理一帧;同时,实现了上位主机通过CPCI总线监控系统,接收显示红外图像,标注波门。目前该系统已经应用在实际工程项目中。
参考文献:
[1] 崔春明,王天冠.用COTS多处理机实现红外成像跟踪系统[J].红外与毫米波学报, 2002,21 (4):261-265.
[2] ADSP-TS101 TigerSHARC Processor HardwareReference (Rev 1.1, May 2004)[K]. Analog DevicesInc.
[3] ADSP-TS101 TigerSHARC Processor ProgrammingReference (Revision 1.1, February 2005)[K].AnalogDevices Inc.
[4] 刘书明.TigerSHARC DSP应用系统设计[M].北京:电子工业出版社,2004.
[5] Reid D B.An algorithm for tracking multiple targets[C]// Proc. 1978 IEEE Conference on Decision andControl Including the 17th Symposium on AdaptiveProcesses, 1978,17:1202-1211.
[6] Werthmann J R. A step by step description of acomputationally efficient version of multiple hypothesistracking[J].Proc. SPIE,1992,1698:288-300.
[7] PCI 9054 Data Book (Version 2.1 January 2000)[Z].PLX Technology, Inc.
[8] PCI SDK Software Development Kit Programmer sReference Manual (Version4. 40, March 2006) [Z].PLX Technology,Inc.
[9] PCI SDK Software Development Kit User s Manual(Version4.40,March 2006)[Z].PLX Technology,Inc.
作者简介:陈元林(1982-),男,博士研究生,研究方向为红外信号与信息处理,并行多处理器系统。




