刘 亮
(中国电子科技集团公司,陕西 西安 710068)
【摘 要】介绍了软件化雷达对于信号处理系统的要求以及一种高性能的PowerpC多核处理器MPC8641D,比较了该处理器与传统DSP在处理性能以及接口方面的差异,并介绍了针对该嵌入式处理器的软件开发流程。给出了一种常用的信号处理算法在以PowerPC多核处理器MPC8641D为核心的信号处理模块上的软件设计。最后对于多核处理器在未来软件化雷达中的应用和发展作出了展望。
教育期刊网 http://www.jyqkw.com
关键词 PowerPC;信号处理;软件化雷达
0 引言
随着电子信息技术的不断发展,现代雷达信号处理技术也在不断发展。目前在雷达信号处理中通常采用的是高性能的数字信号处理器(DSP),尤其是AD公司的TigerSharc系列处理器的高性能浮点信号处理器是工程中应用最广泛性能最高的信号处理平台之一。随着信号处理技术的进一步发展,未来雷达采用的通用信号处理机应该具有实时性、可扩展性、可编程性和可重构性,也就是实现雷达功能的软件化。
但目前基于DSP的雷达信号处理算法设计要求开发人员不仅需要了解雷达信号处理算法的原理及其流程,而且需要频繁操作DSP底层硬件资源进行算法的硬件实现,这是极其繁琐的;基于DSP的雷达信号处理算法设计的代码移植性较差,增加了系统开发过程中的重复性工作,这导致了DSP开发在可移植性上的低效。
中央处理单元(CPU)是目前发展最快的处理器,使用最普及,可利用的软件、硬件资源丰富,软件开发难度较低。PowerPC的G4系列处理器通过加入AltiVec技术,浮点运算能力进一步提高,已经具有4G FLOPS的处理能力,大大超过了普通DSP芯片的处理能力。本文主要介绍了一种可用于软件化雷达的基于PowerPC处理器的信号处理模块的开发设计实例。
1 软件化雷达
1.1 软件化雷达的概念
“软件雷达”是指由宽带智能天线和射频前端,配上通用的高速DSP/CPU系统构成一种标准接口的探测与跟踪的通用硬件平台,由软件来完成具体功能。软件雷达的基本思路是以通用的、标准的、模块化的硬件平台为依托,通过软件编程实现雷达的各种功能。软件雷达中硬件平台的特点是具有通用性、可扩展性,可重构性。
1.2 软件化雷达中对于信号处理系统的要求
在雷达的研制过程之中,信号处理系统的研制一直是重点。不同雷达的信号处理区别往往只是在处理任务和处理规模有所变化。处理任务的变化包括信号处理以及流程的变化,处理规模的变化则包含运算量和通信带宽的变化。目前,传统的研制思想都是针对预定的雷达性能指标来进行设计信号处理系统,而处理任务和处理规模一旦发生变化,就得重新设计整个处理系统。这对于研制成本以及研发周期都是一种浪费。理想的软件化雷达的信号处理系统是一种具有标准的对外输入、输出接口的通用信号处理系统,可以适应不同应用的雷达。首先,可以通过灵活的软件编程适应运算任务的变化。其次,可以通过硬件的简单扩展,来适应处理规模的变化。那么即使雷达的体制不同,功能不同,但是雷达的信号处理系统可以实现标准化、统一化。可以减少系统的研制经费,缩短开发周期。
2 信号处理模块硬件介绍
2.1 处理器介绍
本文所介绍信号处理模块集成了四片飞思卡尔公司MPC8641D双核处理器,该双核处理器是专为高性能、高互联性和高集成度的应用而开发设计的,MPC8641D处理器属于G4代产品,每片MPC8641D处理器包含两个e600内核,其最高主频可达1.5GHz,该处理器可提供32KB的L1级数据和指令Cache,以及1MB的L2级Cache。
2.2 接口介绍
MPC8640D有两个64位的DDR2控制器接口,最高工作频率533MHz。PC8640D处理器使用e600核和高速内部互连总线(MPX)来平衡处理器的性能与IO系统的吞吐率。MPC8640D配置了两种灵活的高性能IO接口。一种是×1、×2、×4、×8 PCI Express接口,采用PCI-E总线实现板级高性能设备的串行点对点互连。另一种是1×、4×RapidIO接口,由于RapidIO总线具有软件开销小,配置简单,硬件纠错等特点,且支持存储器映射和包传输机制,非常适合作为底板接口。PC8640DD还配置了4个以太网控制器,支持10Mb/s,100Mb/s和1000Mb/s速率通信。每个以太网控制器可以转换为FIFO模式实现高效ASIC互连。此外PC8640DD还配置有UART接口、中断控制器、DMA控制器、GPIO 等资源。
2.3 MPC8640D处理器与TS201处理器的对比
从运算能力来看,AD公司的TS201具有较好的浮点运算能力,但是TS201与Freescale公司的嵌入式PowerPC处理器MPC8640相比,由于主频的限制使得其运算性能不能继续提高,而PowerPC处理器由于采用更先进的工艺,主频能达到更高的水平,在很多需要进行大规模运算的情况下,应用PowerPC处理器优势更明显。从软件灵活性角度来看,在DSP平台下进行开发,不仅要深刻理解任务算法,还需要对DSP的指令系统和硬件资源有很好的把握。在DSP 平台下进行软件设计往往需要使用汇编语言等低级语言编写才能实现算法的高效性。但这样设计的代码可读性、移植性和可重用性都比较差,程序设计也不灵活,且开发周期较长。在PowerPC平台下进行开发,由于PowerPC处理器具有通用处理器的特点,操作系统移植容易,应用层与底层设计独立性更强,开发者可以把更多的精力投入到算法实现上,而不用深入去研究复杂的处理器体系结构。从扩展性上来讲,DSP处理器和PowerPC处理器都可以采用总线方式进行扩展,DSP处理器一般有专用的数据传输接口。例如ADI公司的DSP可通过链路口进行处理器片间互联。但是多DSP处理板并行工作时,就需要借助其它方式。相比之下,PowerPC处理器采用通用的互联接口进行扩展。例如MPC8641D处理器采用了新一代高速串行接口,无论是片间还是板间都可以实现高速互联,扩展能力更强。
3 软件开发
3.1 操作系统介绍
雷达信号处理要求操作系统具有实时性、抢占式任务调度、嵌入式工作和支持多种硬件环境的能力。而VxWorks操作系统具有这些能力,VxWorks嵌入式操作系统是在1983年由美国WindRiver公司设计开发的一种实时嵌入式操作系统,而且VxWorks也拥有良好的可扩展能力、良好的可靠性实时性以及拥有高性能的内核和友好的用户开发环境等等,正因为如此所以VxWorks嵌入式操作系统在实时操作系统领域内一直占有很重要的角色。
3.2 软件开发流程介绍
软件设计人员利用宿主机上的集成开发环境进行软件设计,目前,WorkBench是WindRiver公司提供的最新的集成开发环境,主要针对VxWorks 6.0以上版本。该开发环境基于开源工程“Eclipse”,用户界面友好,可运行在Window 98/NT/XP下。VxWorks操作系统的开发环境WorkBench和运行在目标机的操作系统VxWorks本身。WorkBench完成应用程序的编辑、编译、调试以及系统配置等。VxWorks操作系统则是应用程序的最终执行环境,同时VxWorks操作系统支持动态下载和调试。宿主机上的WorkBench和目标机通过以太网和串口连接。VxWorks操作系统及其开发环境的构成如图所示。
4 工程应用开发
本文以一种常用的雷达信号处理方法在一个以PowerPC处理器MPC8640为核心的信号处理模块中的实现为例介绍在VxWorks下信号处理算法多任务的实现。其中常用的雷达信号处理包含信号预处理,脉冲压缩,滤波(积累、MTI、MTD)和恒虚警检测。将以上信号处理算法分配至信号处理模块上的四片PowerPC处理器中,并在各个处理器中对上述信号处理算法进行拆分,即进行多任务程序设计,划分出需要迅速响应、及时处理的高优先级任务和大量占用CPU的计算密集型低优先级任务。
雷达回波经过A/D,数字下变频之后的数据以雷达重复周期PRT传输至信号处理模块,首先到第一片MPC8641D处理器。在第一片MPC8641D处理器中我们开辟两个大缓冲区,开辟两个缓冲区可实现数据的乒乓操作,生成一个接收数据的任务,负责接收从前端FPGA以重复周期PRT传输的下变频数据,就接收单个周期数据而言,其占用CPU资源的时间是短暂的。所以,我们将设置此数据接收任务为较高的优先级。再生成一个数据处理的任务,获取到信号SEM_Begin后进行数据处理,数据处理为对信号进行预处理,包含旁瓣相消,通道均衡等操作。因为数据处理是大计算量的任务,需要大量占用CPU资源,所以此任务设置为低优先级任务。这样,当数据处理任务正在运行时,此时若有数据传入,将发生任务切换,数据接收任务运行,并把所接收的数据在缓冲区中继续进行积累。同样的,数据处理任务完成之后也给出一信号量SEM_End,数据发送任务获取信号量SEM_End后将处理结果发送至下一MPC8641D处理器。因MPC8641D间是通过RapidlO进行数据传输,其数据传输率大,所以其占用CPU资源时间较短,所以数据传输任务的优先级设置的比数据处理任务优先级高,但比数据接收任务优先级低。第一片PowerPC处理器中分配的3个任务为接收前端数据的任务、数据处理的任务以及数据发送任务如图2所示。
其余三片MPC8641D处理器上的任务分配与第一片类似,仅仅是数据处理任务的内容不同,第二片处理器上的数据处理任务为对信号预处理后的信号进行脉冲压缩如图3所示。第三片处理器上的数据处理任务为对脉冲压缩后的信号进行滤波,包含积累,动目标显示(MTI)和动目标检测(MTD)如图4所示。第四片处理器上的数据处理任务为对滤波后数据进行恒虚警处理如图5所示。
5 结束语
本文介绍了一种PowerPC芯片在通用信号处理系统中的优势,它的处理性能、接口的标准以及总线标准都符合未来软件化雷达对于硬件的要求,并给出了一种普通的在PowerPC平台上进行信号处理的软件开发设计实例。
在雷达通用信号处理系统的设计中,基于多核CPU是目前的发展趋势,而针对多核CPU的多任务分割将是软件开发设计中的重点。基于多核CPU的通用信号处理平台正处于发展的起步阶段,相信未来在软件化雷达的进一步发展中将有广阔的应用前景。
教育期刊网 http://www.jyqkw.com
参考文献
[1]吴顺君,梅晓春.雷达信号处理和数据处理技术[M].北京:电子工业出版社,2008.
[2]李骏,许镓,彭应宁,王秀坛.PowerPC处理器优势及其应用研究[J].微计算机信息,2005,29:57-59.
[3]汤艳飞,文敏华.基于MPC8640D处理系统的技术研究[J].航空计算技术,2002,42(1):120-122.
[4]史鸿声.基于PowerPC的雷达通用处理机设计[J].雷达科学与技术,2011,9(2):140-143.
[5]李昊哲.基于 PowerPC 的雷达信号参数估计及性能比较[D].南京:南京航空航天大学,2012.
[6]罗泽勇.一种基于 PowerPC 的嵌入式信号处理平台设计[D].西安:西安电子科技大学,2011.
[7]莫映亮.基于PowerPC的实时SAR成像算法实现[D].西安:西安电子科技大学,2012.
[8]陈海荣.基于双核PowerPC处理器的高性能计算模块设计[J].计算机测量与控制,2011,19(11):2824-2827.
[责任编辑:汤静]