曙海教育集团论坛VxWorks专区VxWorks 应用开发 → 基于G4平台的嵌入式VxWorks系统在雷达信号处理中的应用


  共有7281人关注过本帖树形打印

主题:基于G4平台的嵌入式VxWorks系统在雷达信号处理中的应用

美女呀,离线,留言给我吧!
wangxinxin
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:青蜂侠 帖子:1393 积分:14038 威望:0 精华:0 注册:2010-11-12 11:08:23
基于G4平台的嵌入式VxWorks系统在雷达信号处理中的应用  发帖心情 Post By:2010-12-1 11:04:17

引 言 

        在雷达系统的数字信号处理中,其主要特点是数据流量大、运算量大和处理的实时性,单片高性能的DSP芯片也不能满足处理要求,必须采用多DSP板作为数字信号处理平台。开发复杂的多DSP板硬件平台需要投入大量的人力而且开发风险较大,购买专业公司开发的稳定、可靠的通用数字信号处理平台是数字信号处理领域发展的趋势。设计人员只需致力于信号处理算法的研究,利用高级语言编写算法软件来完成系统要求,从开发复杂的硬件平台中解脱出来,降低了整个信号处理系统的开发风险,缩短了开发周期。本文介绍一种通用的G4数字信号处理硬件平台,该平台选用基于抢占式多任务VxWorks实时操作系统作为平台的操作系统,它能管理各种独立任务的执行,每个任务能及时响应外部事件并且能及时处理。它为整个雷达信号处理能实时完成处理提供了很好的系统软件支持。 

        G4硬件平台的基本结构和特点 
        
        G4平台基本结构
        G4 DSP功能框图如图1所示。
图片点击可在新窗口打开查看
图1 G4 DSP功能框图

  如图1 所示,G4 硬件平台是一块由4 片CPU组成的数字信号处理板, CPU是摩托罗拉公司PowerPC系列MPC7410 RISC的微处理器,处理器支持对称多处理器技术( SMP) ,内核时钟500 MHz,包含多个运算处理单元,支持哈佛结构和指令流水线操作,具有SIMD特点,在一个时钟周期可执行8条指令;集成了128bit AltiVec执行单元,14 GFLOPS数据处理能力,能够快速地完成卷积、FIR 滤波器和FFT等数字信号处理算法; 内部总线是60X总线(32位地址总线和64位数据总线) ,100MHz的外围设备总线速度,包含32kbyte一级指令Cache和数据Cache, 支持最高2Mbit的外部L2 CACHE,支持多种内存寻址的内存管理模式。每一个处理器与外围I/O 接口通信通过CPC710 桥的PC I总线实现,处理器间通过64 bit、66MHz Intel 21555非透明PCI桥互联,其峰值带宽为528Mbyte / s。 

        G4平台的基本特点 

        G4平台的基本特点为:
        (1) 每一节点是独立的, 包含大容量内存SDRAM (256 Mbyte) , 16 Mbyte FLASH 用于存放系统B IT、用户应用程序和常数表等; 
        (2)每一节点包含Xilinx 7410XC95144XV PLD中断控制器,节点间可以相互发中断请求和中断回应,用于节点间通讯握手以及板内与板外间的通信握手; 
        (3)每一节点包含RS232串口,用于对节点进行软件调试;每一节点都有JTAG接口;节点2 和4提供了64 bit/66MHz PMC (PMC - IEEE P1386. 1) ,它是一种高速的、工业标准的扩展PCI接口,可以用于扩展为图形卡、板间通信卡、高速通信(ATM、ISDN等)卡、多媒体、或用户根据需要进行扩展使用,峰值传输带宽为1 056 Mbyte / s;节点3带有32 bit/33MHz PCI总线,用于板间通信,或作其他扩展使用; 
        (4)节点1 提供VME64、100BaseT Ethernet (通过CPC710 上的32 bit/33 MHz PC I总线) ; VME64与板外的进行通信,其峰值带宽为80 Mbyte /s; Ethernet主要用来调试; 可以单独或多用户同时对G4DSP板的每一个节点进行调试。 
        (5)节点间通过PC I桥互联,通过PC I地址映射,每一节点都能“看见”对方的内存,能直接对其
他节点内存进行读写;支持DMA传输,完成点对点的高速数据传输。 

        G4平台支持的软件 

        G4平台的软件支持是开放和独立的,不局限于某一种操作系统和某一种信号处理库,为最大限度地保护用户的软件投资并快速上手开发应用程序,有利于算法的开发。

(1)支持风河公司的VxWorks/VxMP实时操作系统和VSPWorks DSP RTOS虚拟单处理器实时操作系统,开发人员面向单处理器系统编写的源代码,可在任意数量的处理器上执行。VSPWorks会协调好处理器之间的一切通信机制,最多可以支持1 000个处理器;

(2)支持MPI软件公司的VSI/Pro VSIPL和Dy 4Systems公司的IXLibs- AV数字信号处理库,专门针对MPC7410进行优化的数字信号处理算法库,包括FFT、FIR滤波器和图像处理函数等,执行效率高。

(3)节点间通信可以使用VxWorks实时操作系统中的共享内存组件VxMP。VxMP的数据结构驻留在所有CPU 的共享内存区域, 最多支持20个CPU。MPI软件公司的ChaMPIon/RT是一种实时消息传递接口标准,采用时间驱动、事件驱动、优先权驱动编程模式和混合编程模式,并采用了面向对象编程技术,它使MP I/RTAPI更易于使用。也可以使用RadStone公司专门为G4平台开发的消息传递接口RMP,充分利用硬件资源来进行消息传递,是一种低消耗、高效的消息传递方式。它们主要用于不同处理器上不同任务间的通信、同步和互斥,执行效率有所不同,都运行在VxWorks系统的应用层。 

        VxWorks实时操作系统的优点 

        VxWorks是美国风河公司推出的一个具有微内核、可裁剪的高性能、强实时操作系统,它主要有以下的优点:

        (1)VxWorks具有高度可剪裁的微内核结构,需极少的RAM空间和ROM空间,内核与硬件无关,支持许多种嵌入式芯片,只需开发与硬件有关的BSP包即可,用户可以根据需要对VxWorks直接进行配置和修改; 

        (2)VxWorks能快速高效地对多任务进行调度,支持中断驱动的优先级抢占式调度和时间片轮转调度;任务间的通讯快速灵活,任务上下文切换快,切换时间确定;任务的状态可以动态地改变,可以在任意时刻改变任务的优先权、删除任务等;任务也可以禁止由内核调度;中断延迟时间短,延迟时间确定,是微秒级的; VxWorks系统任务和应用程序任务运行在SuperMode模式,系统调用开销小; 

        (3)VxWorks系统具有很好的稳定性和可靠性,某一任务运行出错,操作系统挂起当前出错的任务,在系统中的其他任务继续执行,并可以恢复出错的任务; 

        ( 4)VxWorks具有灵活方便的I/O系统,驱动程序可以在用户的任务堆栈中运行,用户可以随意地添加设备的驱动程序,既可在VxWorks启动时添加设备的驱动程序,也可在应用程序任务中随时添加和删除设备驱动程序; 

        (5)VxWorks支持强大的网络功能,提供了TCP /IP协议、UDP / IP、FTP和TFTP服务器以及远程过程调用RPC等,可以用于宿主机和目标机的调试或其他的网络通信,通过TCP / IP支持多宿主机对同一个目标机进行程序下载、调试,在G4平台上可以配置成同一宿主机对多个CPU进行程序下载、调试; 

        (6)提供一个直观的、可视化的、用户可扩充的交叉集成开发环境Tornado;采用c / c + +语言进行开发,提供了高效交叉编译器,编译效率可达90%以上;Tornado IDE通过宿主机上的目标服务器与目标机的目标代理进行通信,可以静态和动态地下载应用程序模块;支持任务级和系统级调试;任务级调试,被调试的任务暂停执行,其他任务继续执行,系统级调试每一个任务都停止执行; Tornado IDE提供了多种纯软件调试工具:WindView (软件逻辑分析仪)可以看到程序在动态运行时发生的情况,如任务的状态、占用CPU的时间等; Browser定时采样工具,把采样后的数据(如任务队列、堆栈、占用内存的大小等)进行分析。Tornado能准确定位开发的应用程序在硬件平台上运行时的错误状态,帮助开发者缩短开发周期;嵌入式VxWorks作为G4硬件平台的操作系统是较好的选择。 

        在雷达数字信号处理中的应用 

        雷达数字信号处理主要是通过高速A /D采集雷达正交基带回波信号,然后进行数字脉冲压缩处理、杂波抑制、恒虚警和目标检测,最后把目标信息数据传送给雷达终端进行显示。采用高速A /D采集雷达回波信号,和VxWorks完成大容量数据传输和实时性处理管理,合理划分任务和安排处理时序是成功实现的关键。 

        基带信号采集 
        回波信号的采集使用Interactive 电路与系统公司的ICS - 554四通道14bit A /D数据采集卡,可以用内部或外部时钟采样,最小采样率30MHz,最高采样率105MHz,内部和外部两种触发信号;标准的PMC 接口,带1M逻辑门FPGA 的64bit/66MHzQL5064 PCI总线接口芯片,支持master/ target DMA突发传输方式,未使用完的FPGA资源可根据用户的需要配置使用;两片64 K ×72 bit FIFO缓存,可以编程控制进行单通道数据采集,两通道或四通道同时采集,每两通道各占一片FIFO,每片最大采样128 K点,单通道最大各采样256 K点;采用捕获和持续两种采样模式,在捕获模式每一次触发采样点数和(在FIFO缓存大小内)总的采样点数,然后向CPU发中断请求,要求从CPU从缓存中取走已采样的数据都是可编程的;为多种操作系统提供了驱动程序,如Win2dowsNT、Windows 2000、Windows XP和VxWorks实时操作系。ICS - 554的功能框图如图2所示。
图片点击可在新窗口打开查看
图2 ICS - 554框图                           
  
        在实际应用中, ICS - 554插在节点4的PMC标准接口上,采用10 kHz主触发脉冲作为外触发信号, 30MHz采样时钟, I、Q两路采样,每一个主触发脉冲采样2 048点,每一个CP I周期内要求采88个主触发脉冲周期的数据。考虑到每一路F IFO最大只能采256K点和DMA 方式下PC I总线的实际传输率,保证每一个CPI的数据不会丢失和FIFO不会溢出,采用每42个主触发脉冲周期就请求CPU开始接收在F IFO 缓存中的数据,先接收完F IFO1 中的数据,再接收F IFO2 中的数据,以后循环进行数据传输,直到禁止A /D采样为止。 

        时序安排 
        信号处理系统接收雷达终端发来的控制命令和正交回波信号经过A /D采样后的数字信号,雷达终端在CP I信号的下降沿通过VME总线发当前CPI信号的控制命令到G4板的VME内存映射空间,节点1把这些控制命令码值拷贝到全局共享内存,控制命令码值包括模式码,探测距离码等值;然后通知节点4取出当前模式码,节点4根据模式码对ICS- 554进行配置和允许ICS - 554开始采数并存入FIFO中。ICS - 554每采完44个主触发脉冲周期的数据后,向节点4发中断请求,节点4接到请求后通过节点1的全局共享内存查询当前控制命令,接着根据模式码配置QL5064的DMA控制器。目标内存是节点1上的共享内存,启动DMA传输,把A /D采样存入FIFO 中的数据传给节点1, DMA传输完成后,节点4向节点1发出中断请求,节点1响应请求后,查询全局共享内存的控制命令,根据模式码开始进行脉冲压缩、杂波抑制、恒虚警和目标检测等信号处理。信号处理完后通过VME总线把目标信息数据传送到VME空间,通知雷达终端取走目标和状态信息;其它节点的数据也是通过节点4以DMA方式传到内存中进行处理,处理方法与节点1相似,只是节点2、3和4的目标信息数据先传到节点1,然后由节点1通过VME总线传给雷达终端,每个节点都独立处理一个CP I周期的数据。从A /D FIFO缓存中传数到各节点的顺序和信号处理顺序时序如图3所示。
图片点击可在新窗口打开查看
                        图3 时序图

  在一个CP I周期内,第一个阴影部分表示当前节点前42个主触发周期内A /D采样完成后由FIFO的DMA传数到节点内存的时间,第二个阴影部分是后42个主触发周期内A /D采样完成后由FIFO的DMA传数到节点内存的时间,但是由于采用DMA传输方式,不会占用CPU处理时间(除了中断来时很短暂地打断CPU的处理) ,相邻节点的数据传输率比相对节点的传输率高。 

        任务划分 
        划分任务的原则是能够在每个CPI周期内实时的接收雷达终端控制命令,并能接收经过A /D采样的正交I、Q两路回波信号,最后及时地把处理完成后的目标信息数据传给雷达终端。节点1负责接收本节点的A /D采样数据和进行数字信号处理,并把处理后的目标信息数据和节点2、3和4传来的目标信息数据传到VME空间,通知雷达终端及时取走数据。因此在节点1上划分为6个任务:从节点4接收A /D采样数据任务,优先级最高; 接收节点2、3和4的目标数据并能及时送给雷达终端的任务优先级较高, 3个任务的优先级相同;系统开机和模式转换时查询命令任务的优先级次高,能及时响应命令并能送给节点4,重新对ICS - 554进行新的工作模式的配置;信号处理任务的优先级最低,它能保证本节点数字信号处理完成的同时,不会影响其它任务的数据传输。 

        节点4主要完成管理ICS - 554 A /D数据采集和查询模式码。数据采集任务配置ICS - 554 AD传送采集后的数据到本节点和其它节点,并通知它们开始处理数据,该任务的优先级最高;模式切换任务在模式切换时,接收节点1发来的控制命令并根据模式码对A /D进行编程控制,该任务的优先级次高;信号处理任务保证节点4在接收到新的一帧数据来之前必须完成前一帧数据处理,每个CPI周期内,A /D每采集44个主触发周期的数据后,产生的中断要打断信号处理任务2次,造成该任务切换频繁,信号处理时间拉长,因此编写算法程序时一定要考虑节约处理时间,最后向节点1发中断请求,通过DMA方式把目标数据传给节点1,再传给雷达终端,该任务的优先级最低。 

        节点2和3接收A /D 数据采集任务的优先级最高,并在此任务中查询模式码。信号处理任务的优先级最低,处理完成后的目标数据通过DMA方式传到节点1,再传给雷达终端。该雷达信号处理涉及多种工作模式,这里只介绍了一种简单工作模式任务划分,其它模式的任务划分不在此赘述。 

        开发中应注意的主要问题 
        在开发过程中,由于采用了RMP库,它与ICS -554的驱动程序冲突,导致ICS - 554不能正常工作,并且RMP库的通用性强,占用的系统资源多,实时性也相对较差。在实际应用中作者根据具体开发的需要充分利用G4节点间中断握手和共享内存的特点,开发了适合自己的节点间通信库,提高了资源的利用率并降低了通信时间,提高了数字信号处理实时处理能力。 

        数字信号处理库最好选用IXLibs- AV,该库和VSIPL库都针对MPC7410的AltiVec技术进行优化编写的。IXL ibs- AV 库函数涉及矢量运算更底层些,处理速度比VSIPL 更快,但对程序员的要求较高; VSIPL 库通用性较高,对程序要求低,但是处理速度较慢,并且在运行过程中, VSIPL 库有时会把G4板上引导FALSH中的引导程序冲掉,导致G4板不能启动。 

        节点间的通信尽量采用“写”方式,写数速度比读数速度快;并且往相邻节点写数速度比相对节点写数快, ICS - 554的DMA引擎从F IFO传输数据到本节点速度最快;节点间通信时避免总线冲突。

  G4板上各个节点的处理程序最好是独立、不相同的,不但占有的系统资源少而且处理速度快; 4个节点处理程序既可以从节点1上的User Flash中引导,也可以从各自的User Flash中引导。G4板元器件密度大,发热量大, G4板的散热处理是平台稳定、可靠工作的前提条件。 

        结束语 

        通过G4硬件平台和抢占式多任务VxWorks实时操作系统的结合使用,成功地实现了某雷达系统的实时数字信号处理,这种解决方案也可在声纳、通信等要求极高的数字信号处理领域

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

基于G4平台的嵌入式VxWorks系统在雷达信号处理中的应用








签名