姜晓波,孟庆鹏
(1.中国船舶重工集团公司第七二四研究所,南京211153;2.海军驻南京地区雷达系统军事代表室,南京210003)
基于嵌入式DSP的雷达信号的高速传输与应用
姜晓波1,孟庆鹏2
(1.中国船舶重工集团公司第七二四研究所,南京211153;2.海军驻南京地区雷达系统军事代表室,南京210003)
国内外雷达技术的迅猛发展对雷达信号处理器的各项能力提出了更高的要求。DSP技术的采用提高了系统的各项指标,尤其是软件、外围接口技术的良好支持大大提高了雷达的性能。针对通用高速数字处理器(DSP)的雷达信号处理系统实现特点,介绍了TMS320C6455内部结构,从硬件和软件方面论述了基于该系统网络接口的数据高速传输过程及CCS的应用。
DSP;雷达信号处理;CCS;高速数据传输
近年来随着雷达技术的迅猛发展和新体制雷达相继问世,对雷达信号处理能力、存储能力、可扩展性、软件开发及数据传输和互联能力等各方面都提出了更高的要求。基于嵌入式DSP技术在增强雷达信号处理能力的同时可有效提高雷达信号传输的性能和应用能力。通过对DSP的开发和应用设计可以支持雷达信号的对外接口技术性能和互联效能,使雷达信号平台系统结构、拓扑结构得到优化。采用DSP实现雷达信号传输的主要特点如下[1]:
(1)DSP普遍采用了改进的哈佛结构,使程序空间和数据空间分开,可以同时访问数据和程序空间,有更高的指令执行速度;
(2) 多级流水线技术,减少了指令执行时间;
(3) 有针对滤波、相关、矩阵算法的乘法累加器,大大加快了处理数据的能力;
(4) 内部有DMA通道、串口通信等,大大提高数据块的传输速度;
(5) 配有中断处理器和定时处理器,很方便地构成一个小规模系统;
(6) 有专门针对DSP编程的软件CCS,其应用方便,开发简单。
CCS是一个基于Windows的DSP集成开发平台,具有实时、多任务、可视化的软件开发特点。
CCS(CodeComposerStudio)[2]开发工具是德州仪器公司(TI)针对DSP开发的集成软件开发环境。CCS的功能十分强大。它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持C和汇编的混合编程。开放式的结构允许用户扩展自身的模块。它的出现大大简化了DSP的开发工作。在一个开放式的插件(plug-in)结构下,CCS内部集成了以下软件工具[3]:
(1)C6000代码产生工具,包括C6000的C编译器、汇编优化器、汇编器和连接器;
(2) 软件模拟器(Simulator);
(3) 实时基础软件DSP/BIOSTM;
(4) 主机和目标机之间的实时数据交换软件RTDXTM;
(5) 实时分析(real-timeanalysis)和数据可视化(datavisualizationcapabilities)软件。
2.1仿真平台的设置
双击桌面上的SetupCCStudiov3.3以及设置CCS仿真平台。
点击左下角的Save&Quit按钮退出此窗口,它还会提醒是否需要启动CCS,选“是”进入CCS编辑界面,如图1所示。
图1 设置仿真平台窗口
2.2启动CCS建立工程
进入编辑界面并载入工程后如图2所示。
图2 载入工程后的界面
在project一栏里可以载入工程,工程里可以配置BIOS文件。BIOS是一个简易的嵌入式操作系统,能大大方便用户编写多任务应用程序[4]。应用程序通过调用API函数来实现。API函数是为硬件目标工作的嵌入式程序,包括I/O模块、软件/硬件中断模块等等。
2.3硬件仿真和数据实时交换
TI的DSP提供在片仿真支持。它使CCS能够控制程序的执行,实时监视程序运行。增强型JTAG连接提供了对在片仿真的支持。它是一种可与任意DSP系统相连的低侵扰式的连接。仿真接口提供主机一侧的JTAG连接,如TMS320C6455。为方便起见,评估板提供在板JTAG仿真接口。在主机平台上,RTDX库函数与CCS一道协同工作。显示和分析工具可以通过COMAPI与RTDX通信,从而获取目标系统数据,或将数据发送给DSP应用例程。开发者可以使用标准的显示软件包,诸如NationalInstruments’LabVIEW,Quinn-Curtis’Real-TimeGraphicsTools,或MicrosoftExcel。同时,开发者也可研制他们自己的VisualBasic或VisualC++应用程序。
3.1EMAC/MDIO 模块硬件及功能
TMS320C6455芯片中的EMAC(EthernetMediaAccessController)模块以及MDIO(ManagementDataInput/Output)模块为雷达系统和PC提供以太网通信支持。雷达系统通过EMAC模块的GMII标准接口与物理层芯片L-ET1011C2-CI-D互联,再通过RJ45接口连接到以太网。图3所示为TMS320C6455 与以太网物理层芯片L-ET1011C2-CI-D,进而与以太网总线的硬件连接图。
图3 DSP与物理层芯片L-ET1011C2-CI-D相连
TMS320C6455的EMAC/MDIO模块提供数据链路层的寻址、数据帧的构建、数据差错检查等功能。而物理层芯片L-ET1011C2-CI-D则负责执行以太网802.3协议物理层的通信功能,包括以太网总线冲突状态的监控,对EMAC模块收发数的据串行化、格式化操作等。物理层芯片与EMAC模块通过GMII标准接口连接。如图3中所示,TMS320C6455的网络接口模块由3部分组成:EMAC模块、MDIO模块及EMAC控制器模块,其中EMAC模块负责接口系统处理器。图4为该模块的详细功能图。MDIO模块通过802.3协议定义的串行管理接口,用两根共享的总线来连接物理层设备PHY。MDIO通过查询物理层设备的状态寄存器来对其进行控制。EMAC控制模块则负责EMAC以及MDIO模块与系统内核之间的数据传输,以及时钟、中断的控制管理。该模块中包含了8K字节(2K×32bit)的内部存储器RAM用作缓存描述符(BufferDescriptor)。
EMAC驱动模块的核心问题是如何对缓冲描述符进行管理。缓冲描述符是DSP芯片内一片连续的存储器单元(8K字节),是一连串的队列,有指向前一个和后一个的指针和指向数据的指针,用来记录接收到或即将发送的以太网数据包的信息。其实质就是描述内存地址的一段内存,由DMA控制负责把从物理层芯片PHY传进来的数据搬运至DSP芯片内部。这样可以高效地传输数据,并且充分利用CPU,如图5所示。
图4 EMAC模块功能图
图5 缓冲描述符
3.2软件的总体设计
在软件的设计中采用了CCS中自带的可裁剪嵌入式系统DSPBIOS。DSPBIOS提供线程管理、调度软件中断、周期函数、外部硬件中断的管理[5-6]。本文用到的模块主要有4个部分,即PRD(周期函数)模块、HWI(硬件中断)、TSK(任务)模块、SEM(旗语管理),其中PRD用于实现周期性函数,HWI用于当有外部中断信号时执行中断服务子函数,TSK管理多任务,SEM通过计数完成任务线程的同步和相互作用。具体功能框图如图6所示。
图6 程序总体设计原理图
首先,程序设计从主函数main开始。main函数主要就是初始化EMAC:配置EMAC和MDIO功能寄存器值等。当main函数结束后,系统会初始化TASK任务。TASK可以设置多个任务并设置优先权,设置其中一个任务函数NET_TASK主要用于接收数据的处理。由于接收数据的不定时性,所以设置成while(1)形式的死循环,并在下面加接收旗语,当没有旗语信号时当前任务会挂起。接收中断信号来到时会调用接受中断服务子程序发送旗语时,该任务会转换为就绪状态,然后等待处理数据。处理数据时,根据包头确定协议类型,程序里只需区分ARP和UDP协议。在数据传输时要确定对方IP,所以在对方发送ARP协议时回复己方IP地址。而数据传输使用UDP协议,使用UDP协议的主要原因在于较TCP协议传输速度快,使用资源少,通信效率高,但是丢包率较高。但是,每秒要传输50帧以上的高像素图片,且丢包的影响不大,所以采用UDP协议。硬件中断管理中可设置MACINT_isr中断服务函数。此函数在DSP收到11号中断信号时调用,作用是查看MACINVECTOR寄存器值,确定中断类型。当判定为错误中断时,设置返回错误标志;判定为接受中断时,调用接受中断函数,并发送旗语给NET_TASK使其转换为就绪状态,当接受完成时就会转到NET_TASK处理数据;判定为发送中断时,则调用发送函数把描述符地址赋值给TXnHDP,启动DMA发送数据。另外,在PRD模块中设置周期函数TimerTick函数。此函数主要用来检测EMAC和MDIO状态变化,比如链接状态的改变,以及当接受大量数据时添加描述符避免信息丢失和缓冲数据。
首先把程序通过仿真器下载到DSP中,通过网线连接DSP和PC。先通过ping命令测试DSP与PC是否连通。如果通讯通畅,则在PC端发送在复杂环境下的雷达信号到DSP内存中,图7(a)所示为wireshark软件抓取PC与DSP通信的数据包,协议为UDP,DSP地址为202.0.0.100,PC地址为202.0.0.10。可发送高达90MHz以上的雷达信号到DSP中去处理。图7(b)表示通讯正常。图8为筛选出来的雷达信号。
本文通过对DSP芯片的网络电路配置与程序设计实现了DSP的雷达信号系统与外设PC机之间的信号高速传输,实验结果与理论基本一致。同时,DSP的高速数字处理性能还可以应用到雷达、通信或其他密集数字处理运算环境中,借助于其外围的高速网络传输性能,其在大容量数据流吞吐与高速处理运算两方面上相得益彰,从而使其为各种高速嵌入式运算实时应用提供了很好的开发平台。
(a) (b)
图8 处理过的雷达信号结果
[1]MarkARichards.雷达信号处理[M].邢孟道,王彤,李真芳译.北京:电子工业出版社,2012.
[2]彭启琮,管庆.DSP集成开发环境CCS及DSP/BIOS的原理与应用[M].北京:电子工业出版社,2004.
[3]TexusInstruments.TIDSP/BIOS用户手册与驱动开发[M].北京:清华大学版社,2007:190-228.
[4]TexusInstruments.TMS320DM643xDMPDDR2MemoryControllerUser’sGuide(SPRU986B)[M].TI,2007:7-54.
[5]王颖,陈朝阳,陈敏.基于DSP的以太网通信系统设计[J].计算机与数字工程,2004,32(6):51-54.
[6]谢希仁.计算机网络[M].4 版.北京:电子工业出版社,2003:93-113.
High-speedradarsignaltransmissionandapplicationbasedonembeddedDSP
JIANGXiao-bo1,MENGQing-peng2
(1.No.724ResearchInstituteofCSIC,Nanjing211153; 2.MilitaryRepresentativesOfficeofRadarSystemofthePLANavyinNanjing,Nanjing210003)
Withtherapiddevelopmentofradartechnologiesathomeandabroad,itisrequiredthattheradarsignalprocessorshouldhavehighercapabilities.TheDSPtechnologyisadoptedtoimprovevariousindexesofthesystem,especiallythesoftwareandperipheralinterfacetechnology,whichgreatlyimproveradarperformance.Aradarsignalprocessingsystemispresentedbasedonthegeneralhigh-speeddigitalsignalprocessor(DSP).OnthebasisoftheintroductiontotheTMS320C6455internalstructure,theapplicationoftheCCSandthehigh-speeddatatransmissionprocessarediscussedindetailintermsofhardwareandsoftwarebasedonthenetworkinterfaceofthesystem.
DSP;radarsignalprocessing;CCS;high-speeddatatransmission
2015-12-27;
2016-01-15
姜晓波(1980 -),男,工程师,研究方向:雷达总体技术;孟庆鹏(1983-),男,工程师,研究方向:雷达总体技术。
TN911.7
A
1009-0401(2016)03-0049-05