上传时间:2012年3月6日 关键词:DSP、并行系统

0 引言

  在宽带雷达信号处理中,存在诸如回波采样率高、脉冲压缩(匹配滤波)运算量大、处理流程复杂、实时高分辨目标检测困难等一系列问题。针对这些问题,采用通 用计算机平台难以应对运算量大和实时性等高要求,因此,需采用专用的数字信号处理器(DSP)来进行高速运算。尽管当前的数字信号处理器已达到较高水平, 但单片DSP芯片的处理能力还是不能满足宽带雷达的性能要求,需要引入并行处理技术,在本设计中使用4片DSP芯片组成并行处理系统。另外,为充分发挥 DSP芯片在复杂算法处理上的优势及FPGA在大数据量的底层算法上的优势,设计了一种基于FPGA控制的多DSP并行处理系统。

1 系统设计

  基于FPGA控制的多DSP并行处理系统的原理图如图1所示。


整个雷达信号处理系统以高可靠性CPCI工控机为平台,内置不同功能的信号处理板。板间的数据传输通过CPCI接口完成。根据雷达信号处理系统的任务分 配,本系统负责完成中频数字信号的处理。根据前端信号采集板输出数据的不同,数据将以串行或并行的方式输送到本系统中。其中,串行信号通过CPCI的J3 口以差分的形式直接传输给DSP2,然后在4片DSP芯片间按照预定的算法进行任务分配和并行处理,处理完毕后通过DSP4写入两片扩展连接成32输出方 式的FIFO中,此时,FPGA直接从FIFO中读取数据,完成与CPCI接口芯片PCI9656的时序转换后将数据发送到PCI9656,通过CPCI总线经J1和J2口传输到雷达系统的其他功能模块。对于并行信号而言,32位带宽的信号首先通过J3口发送到F-PGA内部寄存器中FPGA接收到数据后 将数据写入输入缓存区,并在完成一帧后给并行DSP输出中断。当并行DSP采样到中断后,从数据缓存区读取数据,完成处理后,将数据传输到缓存 区,FPGA再通过相同的处理方式经CPCI接口的J1口和J2口将数据传输到雷达系统的其他功能模块。

2.DSP芯片选型 根据系统的性能要求,通过比较各种高性能DSP处理器,并着重对构成并行处理系统的性能和便捷性进行分析,确定选用AD公司的ADSP Tiger SHARC系列处理器中的TS201S组成多DSP并行系统。因为该系列的处理器在构成并行处理系统时其本身就提供了实现互连所需的片内总线仲裁控制和特有的链路口,可以以各种拓扑结构互连DSP,满足大运算量和片间通信灵活的要求。此外,选用ADSP Tiger SHARC还可以降低外围设计的复杂度,增强系统的稳定性。  TS201S芯片(600 MHz)主要性能指标:  (1)运行速度:1.67 ns指令周期;每周期可执行4条指令;  (2)DSP内部有2个运算模块,支持的运算类型有:32 b和40 b浮点运算;8 b,16 b,32 b以及64 b定点运算;  (3)每秒可执行12×109次16 b定点运算或3.6×109次浮点运算;  (4)采用单指令多数据(SIMD)模式,每秒可提供4.8×109次的40 b乘加运算;  (5)外部总线DMA传输速率1.2 GB/s(双向);  (6)4个链路口,每个链路口最高提供1.2 GB/s的传输速率,可同时进行DMA传输;   (7)多处理器处理能力,具有支持多处理器无缝连接的片内仲裁逻辑,多处理器采用统一寻址的方式访问,可以通过簇总线(ClusterBus)或链路口(Link Ports)方便地构成多处理器系统。  (8)片上SDRAM控制器,片上DMA控制器(提供14条DMA通道)。3 DSP并行处理结构设计  ADSP-TS201S之间的数据传输通道可选择的方式有如下两种:高速链路口(LINK)方式和高速外部总线口(簇总线)。因此,由多ADSP- TS201 S组成的DSP并行处理系统从数据传输方式来看,不外乎有以下三种模型:高速链路口(LINK)耦合模型;高速外部总线口(簇总线)耦合模型;高速链路口 (LINK)与高速外部总线口(簇总线)混合耦合模型。  3.1 基于链路口的多DSP并行处理系统  在这种连接方式下,各DSP用LINK口连接在一起,进行通信控制和数据交换,系统结构简单、连线少、可扩展性强,在DSP具有多个 LINK口的情况下,可灵活组成线型、星型、环型、网络型或超立方体型等多种拓扑结构。ADSP-TS201S具有4个全双工的链路口通信端口。一个链路 口单向通信包含4位数据加上时钟与握手信号一共12条引线,双向共要24条引线。在内核时钟为600 MHz时,单向数据传输率最高可达600 MB/s,双向数据传输率可达1.2 GB/s,由于链路口通信是点对点的,所以具有很高的传输可靠性,但在传输数据时的共享性不如总线形式。  3.2 基于共享总线的多DSP并行处理系统  共享总线就是系统中所有DSP的外部总线(地址、数据和访问控制总线)都直接连接在一起,各DSP片内存储器和寄存器以及挂接在总线上的 外部存储器、外设都作为共享资源被各个DSP访问。ADSP-TS201S的外部总线为32 b,数据总线可以配置成32 b或者64 b。外部端口的运行速度最高可以到125 MHz,数据吞吐量可以高达1 GB/s。为了与不同外部设备连接,ADSP-TS201S外部端口支持快速(流水线)、慢速和SDRAM协议。且支持以DMA方式进行数据传输。另 外,ADSP-TS201S并行总线的最大特点是它具有无缝连接能力,无论是与SRAM、SDRAM、还是与处理器连接,只需要将相应管脚对应连接就能简 单方便的构成一个最多由8个DSP构成的多处理器系统,充分共享8个DSP的内部资源和外部的EPR-OM,SRAM,SDRAM等资源。  3.3 基于外部总线共享和链路口混合耦合的多DSP并行处理系统  为兼顾数据速率、资源共享、易于控制以及DSP之间通信灵活等方面,在本设计中采用混合耦合模型的并行处理系统。将4个ADSP-TS201S的总线口都 相互连接好,各DSP的高速链路口也都相连,建立DSP到DSP的点对点通道与DSP间资源共享的工作块模式。4片SDRAM中,每两片扩展连接成64 位,挂接到64位数据总线上,2片FLASH也通过总线访问。控制总线连接到FPGA,由FPGA统一控制4片DSP之间以及DSP与外部存储器之间的数 据传输。4片DSP的工作块连接方式如图2所示。


4 FPGA与外设接口设计  4.1 FPGA选型  现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)是在专用ASIC的基础上发展而来的,它克服了专用ASIC不够灵活的缺点。其内部的具体逻辑功能可以根据需要配置,对电路的修改 和维护很方便。目前,FPGA的容量已经跨过了百万门级,使得FPGA成为解决系统级设计的重要选择方案之一。现在FPGA已经成为多种数字信号处理应用 的强有力的解决方案。由于可编程方案的灵活性,DSP系统设计可以适应日益变化的标准、协议和性能需求。Vir-tex-5系列是当前市场上最新,功能最 强大的FPGA,它采用65 nm芯片制造工艺,具有先进的高性能和理想应用的FPGA结构。主要性能指标如下:  (1)强大的时钟管理能力;  (2)片上集成高达36 Kb的块RAM和FIFO存储器资源;  (3)高性能并行Select I/O技术和先进的DSP48Eslice;  (4)灵活地加载和配置方案以及在所有设备上的系统监测能力;  (5)集成100 Mb/s~3.75 Gb/s的Rocket I/OGTP收发器,150Mb/s~6.5 Gb/s的Rocket I/OGTX收发器;  (6)强大的片上微处理器PowerPC440。  综合处理板功能需求,性能分析、系统兼容以及I/O管脚需求等各因素,FPGA选择Xilinx公司的Vir-tex-5系列XC5VSX50TFF1136芯片。  4.2 FPGA设计  根据系统功能要求,FPGA的任务主要分为4大部分。  (1)控制数据在系统中的传输逻辑  在设计时,将图2控制总线中的所有信号都连接到FPGA中,由FPGA来统一调度数据在DSP之间以及DSP与外部存储器之间的传输。这样为任务并行处理 的分配和雷达信号流水线式的处理在处理算法上提供了最大程度的简便,并能充分发挥DSP处理复杂算法的运算能力。  (2)控制数据缓存区(FIFC))的数据写入与读取,通过外部中断IRQ控制DSP与FPGA之间的数据传输  由于外部4片FIFO每两片扩展接成32位输出/输入方式,因此FPGA与FIFO进行数据传输时采用单向数据传输方式。在单向数据传输时采用数据块方式 传输,通过将握手信号连接到DSP的IRQx来产生中断或者FLAGx,FPGA将从外部处理板接收到的数据写入输入缓存区,并在完成一帧后给并行DSP 输出中断,DSP从FIFO读取完一帧数据后通过握手信号向FPGA告知可以进行下一帧数据的传送。  (3)控制通过LINK口与DSP之间的通信  链路口通信有自己的通信协议,FPGA电路只需要按照链路口的通信协议进行设计。ADSP-TS201S的链路口采用的是独立的发送和接收通道,因此对应 的FPGA也采用不同的接收电路和发送电路。FPGA接收或者发送DSP链路口逻辑电路都主要由两部分组成:接收/发送模块和接收缓冲/发送缓冲。接收模 块用来与DSP链路口发送通道进行接口和数据拆包处理,发送模块用来与DSP链路口接收通道进行连接和数据打包处理;接收缓冲/发送缓冲分别是用来配合接 收模块和发送模块进行传输时作为数据缓冲区,并实现与系统中其他接口或者FPGA中的其他模块的接口的数据传输功能。  (4)控制CPCI接口模块与CPCI总线间的数据传输  CPCI接口模块由PCI9656组成,在FPGA中划定一个独立的功能模块作为实现CPCI总线协议的接口控制器。该控制器主要包含一个FIFO控制逻 辑,完成本地板卡与CPCI总线之间的数据传输。主要完成以下功能:与PCI9656配合实现CPCI总线对目标设备的读和写、缓冲CPCI总线与 FIFO之间传送的数据、控制FIFO的读写。本地读写CPCI总线只需对FIFO进行读写操作即可。  4.3 CPCI传输接口设计  为了保证本系统与后面板上其他处理系统的数据传输速率和效率,在设计中采用PCI9656作为CPCI接口芯片。PCI9656作为专门 的I/O加速器,支持CPCI格式传输,数据传输时钟主频最高为66 MHz,数据传输带宽为64 b。其峰值传输速率可达528 MB/s,通过系统框图可以看到,在设计中使用了CPCI的J1,J2,J3,J4四个接口,根据CPCI传输协议,J1和J2为64位PCI数据传输接 口。J3,J4为自定义方式接口,设计中定义J3为处理板和后面板的数据传输接口,J4为上下处理板间的数据传输接口。  4.4 外部设备接口设计  本系统通过公用总线连接的存储器资源有:4个扩展应用的SDRAM,2个FLASH,2对扩展应用的FIFO,以及DSP片内存储器资源。所有存储器资源都通过统一的地址空间映射来进行区分。ADSP-TS201S的32位地址总线提供了高达4 GB的寻址空间,可以划分为4部分:  (1)主机寻址空间。地址映射范围0X80000000~0XFFFFFFFF,用于片外主机接口的地址映射空间。  2)外部存储块空间。地址映射范围0X30000000~0X7FFFFFFF,用于处理器外围设备存储器接口地址空间映射,包括通用的存储器设备和SDRAM存储器。设计中主要对此空间进行划分,为外部存储器分配单独和惟一的地址空间。  (3)多处理器空间。地址映射范围0XOC000000~0X2FFFFFFF,主要用于多处理器构成的系统各个处理器间相互共享内部存储空间映射。  (4)片内存储空间。地址映射范围0X00000000~0X03FFFFFF,定义内部存储器空间映射。  外部存储器可以分为SDRAM寻址空间和外部通用存储空间。设计中,扩展连接的SDRAM将分配占用SDRAM寻址空间,而外部FLASH和FIFO将分配占用通用存储空间。  每两片SDRAM扩展连接为64位形式,设计用MSSD0和MSSDl分别作为每两片SDRAM的共用片选信号的控制信号,对应SDRAM寻址空间为0X4000 0000~0X44000000和0X50000000~OX54000000,可以分别获得128 MB的存储器寻址范围,满足SDRAM寻址要求。  外部两片FLASH的寻址空间划分分别通过MS0_AB与BMS_AB和MS0_CD与BMS_CD这两组信号作为片选信号,分配寻址空间为0X30000000~0X34 000000和0X34000000~0X348000000,寻址空间范围为128 MB。  外部4片FIFO,每两片扩展接成32位输出/输入方式,在进行地址映射时,实际上可以映射到一个地址寻址空间,而通过控制读写信号来进行区分,使用 MSl信号作为FIFO使能信号,获得分配的寻址空间0X38000000~0X40000000。为方便逻辑控制,MS1信号脚连接到FPGA上,通过 FPGA的逻辑译码来获得对FIFO的寻址控制。  另外,将ADSP TS201S的高八位地址线也连接到FPGA上,通过逻辑译码进一步可以获得较为细致的地址划分方案,为设计带来更多的灵活性,同时也确保了设计的可靠性。5 系统软件设计  由于系统硬件是基于DSP+FPGA的结构,相应的软件也分为两个功能模块。FPGA主要完成整个系统的数据传输逻辑控制,因此FPGA具体的处理流程嵌套在DSP的信号处理流程中。4片DSP主要完成信号的处理,大致的系统设计流程如图3所示。

  4片DSP并行工作时,总线仲裁策略指定DSPl为主处理器,由它完成系统的初始化、数据程序配置、与CPCI工控机主机通信等,并参与运算工作。当系统 接收到数据时,首先判断信号的传输方式,若是并行信号,由FPGA进行相应处理后写入FIFO中,同时通过外部中断告知DPS-l,随即DSPl发出中断 申请,总线仲裁令DSP1获得总线控制权,读取FIFO中的数据并转存至公共存储区;然后DSP1通过LINK口与其他DSP通信,进行任务分配,其他 DSP依次循环获得总线控制权,读取数据进行处理然后再存入存储区;最后,由DSP4控制将存储区里的数据写入FIF-O,同时通知FPGA读取并完成时 序转换后传输到PCI9656,由PCI9656将数据传输到CPCI总线,完成这一帧数据的处理。  若系统接收到的数据是由J3口传输来的串行信号,则先 由DSP2发出中断申请,总线仲裁令DSP2获得总线控制权,将接收到的数据转存至公共存储区;然后通过同样的方式在4片DSP间进行任务分配和处理,由 DSP4写入FIFO,最后由FPGA和PCI9656联合将数据传输到CPCI总线,完成串行信号的处理。6 结语  本文介绍了一种基于PFGA的多DSP并行处理系统的设计,重点对DSP并行结构设计进行了分析,并介绍了FPGA设计和外部设备接口设计。实际应用表 明,该多DSP并行处理系统应用于宽带雷达信号处理时,能够满足任务中的各项指标,还能完成设计外的其他功能,并且易于控制,稳定可靠。本文提供的系统设 计方案能够为处理宽带雷达信号的其他研究人员提供一定的参考。