一种数字信号的多处理器并行处理系统 【技术领域】
本发明涉及计算机体系结构与并行处理技术,具体是指数字信号的多处理器并行处理系统,它主要用于红外探测系统红外实时数字信号的处理。
背景技术
红外探测系统通常是由红外探测器和红外信号处理平台两部分构成。而红外信号处理平台通常要完成两个主要任务:一是,将探测器发送过来的图像信号进行处理,从复杂背景中检测特定要求的目标,同时给出目标信息或者对其进行进一步处理;二是,红外信号处理平台要求能够接受上位主机监控,向上位主机传输红外图像及检测跟踪结果,从而构成一个完整的系统。
红外探测系统的设计研制过程中,一方面,随着红外探测器成像技术的发展,图像分辨率和图像质量变得越来越高,运算量也随之增加。另一方面,由于实际工程需要和信号处理技术的发展,在红外目标检测跟踪算法领域,引入了更多高性能的处理算法,使得算法的复杂度和计算量飞速增长,同时对整个处理系统的实时性要求也不断提高。因此目前的红外探测系统广泛采用了多个处理器并行处理的系统结构。利用多个处理器并行处理的方法,系统的处理能力可以接近成倍增加,一方面可以确保检测跟踪算法的精确度和系统的实时性;另一面,如果系统的处理器个数可以扩展级联的话,也为更复杂高效算法的引入提供足够的处理能力。因此,多处理器并行处理平台(以下简称“多处理器平台”)是红外探测系统研制的一个重要环节。
多处理器平台的研制需要解决三个方面的问题。一是,多个处理器之间的数据传输和同步通信的通信通路的构建;二是,多处理器并行处理平台要提供一个高速简便的上位机接口,上位主机可以监控多处理器平台,与其进行大容量数据的传输;三是,要保持多处理平台的可扩展性。
目前的多处理器平台存在以下的特点:一是,对于多处理器之间的通信通路,主要采用先进先出存储器(FIFO),传输速度慢,且占用多处理器的外部总线资源;二是,对于上位机接口,大多数还是基于低速总线,没有大容量缓存,存在传输速度慢,帧内传输不连续,占用多处理器外部资源的问题。三是,在多处理平台的扩展性方面,同样由于采用先进先出存储器(FIFO),连线复杂,扩展性差。
【发明内容】
本发明的目的,在于提出一种能高效地实现多个处理器之间、多处理器平台与上位主机之间的通信方法,并且该方法可以保持平台的扩展性。
本发明的另一目的在于提出一种用于红外系统的多处理器并行处理平台的装置。
为实现上述目的,本发明的通信方法包括以下步骤:
(1)现有的DSP与DSP之间的通信方法是通过FIFO通信,不足之处在于传输速度慢。本系统做了两方面改进:一是DSP与DSP之间的消息通信通过在FPGA内部实现共享RAM和控制逻辑实现;二是DSP与DSP之间的大容量数据交互通过链路口总线实现;
(2)现有的DSP与FPGA之间的通信方法是通过FIFO通信,不足之处在于传输速度慢,占用DSP外部总线资源。本系统的改进之处在于,DSP与FPGA之间的大容量数据交互是通过在FPGA内部实现链路口通信模块进行的;
(3)现有的多处理器平台之间没有提供用于互连的高速简洁的统一接口,并且通常是通过FIFO进行数据交互,不足之处在于速度慢、大量占用外部总线资源。本系统的改进之处在于提出一种多处理器平台之间的级联方法:一是通过在FPGA内部建立的消息通信模块地方法实现平台间的消息通信;二是通过链路口总线通信实现平台间大容量数据交互。
本发明用于红外系统的多处理器并行处理平台的装置,包括:
若干块多处理器系统板。这是因为多处理器并行处理平台允许多块信号处理系统板通过级联的方式构成更复杂的并行系统。
其中,单块多处理器系统板:系统板上包含两个DSP和一个FPGA,共三个核心处理器;系统板通过PCI桥接芯片和FPGA提供了PCI总线接口;FPGA外接两块外接SRAM,构成乒乓缓冲区;DSP的外部存储器资源SDRAM、FlashEEPROM等。
【附图说明】
图1是由一块多处理器系统板构成的多处理器并行处理平台的系统框图。
图2是多处理器系统板中的FPGA内部逻辑原理图。
图3是由多块多处理器系统板级联构成的多处理器并行处理平台的系统示意图。
【具体实施方式】
图1显示的是由一块多处理器系统板构成的多处理器并行处理平台的系统框图。从图1中可以看到整个系统的实现:FPGA通过“红外图像输入接口总线”从红外探测器接收红外图像。接收到的红外图像分两路处理。其中一路红外图像通过两个SRAM存储器,进行乒乓缓存,再通过PCI桥接器传输至上位主机进行显示等处理。另外一路图像先由FPGA进行图像预处理,再将预处理后的图像经由“链路口总线”传输至DSP,由两片DSP协作进行红外目标检测跟踪算法处理。最终,DSP将处理结果通过“链路口总线”或者“DSP外部共享总线簇”传输至FPGA,FPGA再通过PCI桥接器传输至上位主机处理。同时,上位主机通过PCI桥接器与FPGA通信,进而可以直接监控FPGA处理器;上位主机也可以通过“DSP外部共享总线簇”监控DSP运行。其中多处理器系统板中的“消息总线”和“链路口总线”用于多块系统板级联,构成更复杂强大的多处理器平台。
本发明的显著特点在于以下几点:
(1)能够通过“链路口总线”和“DSP外部共享总线”实现FPGA处理器与DSP处理器的高效数据传输与消息通信;
(2)上位主机与多处理器并行处理平台可以通过PCI桥接器进行数据交互,既实现上位主机对多处理器并行处理平台的监控,又使得多处理器并行处理平台可以与上位主机进行大容量数据交互;
(3)多处理器系统板提供了“链路口总线”和“消息总线(由FPGA实现)”两个接口,可以灵活的进行多处理器并行处理平台的扩展;
为了达到以上目的,本发明设计了多项关键技术。
一是,多处理器并行处理平台与上位主机的通信接口采用PCI总线接口。多处理器平台通过多处理器系统板上FPGA和PCI桥接芯片(PLX9054)实现了PCI总线接口。PCI总线时钟频率为33MHz,32bit数据总线。PCI总线具有高速、突发(Burst)的数据传输特征,理论上PCI总线的带宽可以达到132MByte/s。实际上主机的PCI总线仲裁器是不会让多处理器系统板独占PCI总线的,因此实测传输速率为40MByte/s,可以满足系统的传输要求。PLX9054是PLX公司生产的PCI总线接口控制器芯片。PLX9054的本地总线协议与FPGA内部的双口RAM、FIFO等存储器的控制协议不同,需要由FPGA实现二者之间的协议转换,这一实现原理在图2说明中有详细阐述。
二是,FPGA和DSP之间的高速数据传输采用“链路口总线”。本发明所采用的DSP(型号为ADSP-TS101S【3】)自带有一个称为“链路口”的传输接口,可以实现300MB/s的传输速率,且不占用DSP的外部总线资源。为了实现FPGA与DSP通过“链路口总线”通信,本发明在FPGA内设计了链路口通信模块。可以实现FPGA与DSP之间150MB/s的通信速率,这一实现原理在图2说明中有详细阐述。
三是,DSP与FPGA之间的消息通信采用在FPGA内部实现一个双口RAM和控制逻辑实现。可以实现DSP与FPGA之间400MB/s的消息通信速率,这一实现原理在图2说明中有详细阐述。
四是,多块多处理器系统板通过“链路口总线”和“消息总线”两个接口,可以灵活的进行多处理器平台的级联扩展。不同多处理器系统板上的DSP可以直接通过“链路口总线”互连,实现大容量数据传输。为了实现不同多处理器系统板的同步等消息通信,本发明在FPGA内设计了消息通信总线接口模块,可以实现不同多处理器系统板之间400MB/s的消息通信速率,这一实现原理在图2说明中有详细阐述。
图2显示本发明中多处理器系统板上FPGA内部逻辑原理图。FPGA在整个设计中起到了处理器和接口控制的作用。FPGA内部逻辑功能是整个多处理器并行处理平台中至关重要的一个部分,也是本发明的关键技术。本发明在FPGA内部主要设计了6个模块,下面依次介绍各个模块。
模块①,实现了PLX9054本地总线协议与FPGA内部②,④,⑤模块接口总线协议的转换。
模块②,实现了FPGA对外接的两块SRAM的读写控制协议,及乒乓缓冲区的切换控制。两块SRAM构成乒乓缓冲区,当PLX9054通过DMA传输的方式从一块SRAM读取数据至上位主机时,另外一块SRAM接收下一帧红外图像。
模块③,实现了红外图像处理算法中的图像预处理算法(包括图像滤波、阈值分割等)模块。在这个模块中,FPGA起着处理器运算的作用。这一类型预处理算法,具有数据量大,运算结构简单的特点,适合FPGA并行实现,可以减轻DSP的运算量。
模块④,实现了FPGA与DSP的链路口通信模块设计。其中包括双口RAM控制逻辑和链路口控制逻辑。链路口通信模块一端提供了标准的链路口总线协议,另一端提供了简单的本地总线协议。链路口通信模块的通信速率达到150MB/s。
模块⑤,实现了DSP与上位主机的通信模块设计。其中包括双口RAM控制逻辑和控制器逻辑,DSP与上位主机可以实现最高132MB/s的通信速率。
模块⑥,实现了一块多处理器系统板与另外一块多处理器系统板级联时的消息通信模块。同样,其中包括双口RAM控制逻辑和控制器逻辑,不同系统板之间的消息通信可以实现400MB/s的通信速率。根据多处理器板的级联需求,在一片FPGA内部可以通过Verilog HDL硬件描述语言的例化功能例化实现多个消息通信模块。
图3显示的是由多块多处理器系统板级联构成的多处理器并行处理平台的系统示意图。当多块多处理器系统板级联时,关键是要解决系统板之间的消息通信,和大容量的链路口通信。本发明提供的消息通信模块可以满足多块系统板之间的消息通信要求。在实际应用中,只需将多块多处理器系统板的消息总线相连即可。另外DSP提供的链路口总线用于在多个DSP之间实现高速数据传输。
本发明的一个实施例如下:
主要硬件:由两块系统板级联形成的多处理器并行处理系统。其中每块系统板配置如下:FPGA采用Xilinx公司的XC2V1000,完成图2中FPGA内部逻辑功能;DSP采用ADI公司的ADSP-TS101S。上位主机为研华公司的带PCI接口的工控机;SRAM采用Cypress公司的CY7C1041CV33,容量为4Mbit。
评估算法:红外探测系统中常用的红外目标检测跟踪算法之一:SB/MHT结构化分支多假设航迹跟踪算法。包括:图像滤波,阈值分割,潜目标提取,卡尔曼滤波,目标关联,轨迹运算,置信度评估等部分。
红外探测器输入图像为320*256大小,每个象素14bit。最终实现了每秒100帧的检测跟踪处理速度。