姜曉波,孟慶鵬
(1.中國船舶重工集團(tuán)公司第七二四研究所,南京211153;2.海軍駐南京地區(qū)雷達(dá)系統(tǒng)軍事代表室,南京210003)
?
基于嵌入式DSP的雷達(dá)信號的高速傳輸與應(yīng)用
姜曉波1,孟慶鵬2
(1.中國船舶重工集團(tuán)公司第七二四研究所,南京211153;2.海軍駐南京地區(qū)雷達(dá)系統(tǒng)軍事代表室,南京210003)
國內(nèi)外雷達(dá)技術(shù)的迅猛發(fā)展對雷達(dá)信號處理器的各項能力提出了更高的要求。DSP技術(shù)的采用提高了系統(tǒng)的各項指標(biāo),尤其是軟件、外圍接口技術(shù)的良好支持大大提高了雷達(dá)的性能。針對通用高速數(shù)字處理器(DSP)的雷達(dá)信號處理系統(tǒng)實現(xiàn)特點,介紹了TMS320C6455內(nèi)部結(jié)構(gòu),從硬件和軟件方面論述了基于該系統(tǒng)網(wǎng)絡(luò)接口的數(shù)據(jù)高速傳輸過程及CCS的應(yīng)用。
DSP;雷達(dá)信號處理;CCS;高速數(shù)據(jù)傳輸
近年來隨著雷達(dá)技術(shù)的迅猛發(fā)展和新體制雷達(dá)相繼問世,對雷達(dá)信號處理能力、存儲能力、可擴(kuò)展性、軟件開發(fā)及數(shù)據(jù)傳輸和互聯(lián)能力等各方面都提出了更高的要求?;谇度胧紻SP技術(shù)在增強(qiáng)雷達(dá)信號處理能力的同時可有效提高雷達(dá)信號傳輸?shù)男阅芎蛻?yīng)用能力。通過對DSP的開發(fā)和應(yīng)用設(shè)計可以支持雷達(dá)信號的對外接口技術(shù)性能和互聯(lián)效能,使雷達(dá)信號平臺系統(tǒng)結(jié)構(gòu)、拓?fù)浣Y(jié)構(gòu)得到優(yōu)化。采用DSP實現(xiàn)雷達(dá)信號傳輸?shù)闹饕攸c如下[1]:
(1)DSP普遍采用了改進(jìn)的哈佛結(jié)構(gòu),使程序空間和數(shù)據(jù)空間分開,可以同時訪問數(shù)據(jù)和程序空間,有更高的指令執(zhí)行速度;
(2) 多級流水線技術(shù),減少了指令執(zhí)行時間;
(3) 有針對濾波、相關(guān)、矩陣算法的乘法累加器,大大加快了處理數(shù)據(jù)的能力;
(4) 內(nèi)部有DMA通道、串口通信等,大大提高數(shù)據(jù)塊的傳輸速度;
(5) 配有中斷處理器和定時處理器,很方便地構(gòu)成一個小規(guī)模系統(tǒng);
(6) 有專門針對DSP編程的軟件CCS,其應(yīng)用方便,開發(fā)簡單。
CCS是一個基于Windows的DSP集成開發(fā)平臺,具有實時、多任務(wù)、可視化的軟件開發(fā)特點。
CCS(CodeComposerStudio)[2]開發(fā)工具是德州儀器公司(TI)針對DSP開發(fā)的集成軟件開發(fā)環(huán)境。CCS的功能十分強(qiáng)大。它集成了代碼的編輯、編譯、鏈接和調(diào)試等諸多功能,而且支持C和匯編的混合編程。開放式的結(jié)構(gòu)允許用戶擴(kuò)展自身的模塊。它的出現(xiàn)大大簡化了DSP的開發(fā)工作。在一個開放式的插件(plug-in)結(jié)構(gòu)下,CCS內(nèi)部集成了以下軟件工具[3]:
(1)C6000代碼產(chǎn)生工具,包括C6000的C編譯器、匯編優(yōu)化器、匯編器和連接器;
(2) 軟件模擬器(Simulator);
(3) 實時基礎(chǔ)軟件DSP/BIOSTM;
(4) 主機(jī)和目標(biāo)機(jī)之間的實時數(shù)據(jù)交換軟件RTDXTM;
(5) 實時分析(real-timeanalysis)和數(shù)據(jù)可視化(datavisualizationcapabilities)軟件。
2.1仿真平臺的設(shè)置
雙擊桌面上的SetupCCStudiov3.3以及設(shè)置CCS仿真平臺。
點擊左下角的Save&Quit按鈕退出此窗口,它還會提醒是否需要啟動CCS,選“是”進(jìn)入CCS編輯界面,如圖1所示。
圖1 設(shè)置仿真平臺窗口
2.2啟動CCS建立工程
進(jìn)入編輯界面并載入工程后如圖2所示。
圖2 載入工程后的界面
在project一欄里可以載入工程,工程里可以配置BIOS文件。BIOS是一個簡易的嵌入式操作系統(tǒng),能大大方便用戶編寫多任務(wù)應(yīng)用程序[4]。應(yīng)用程序通過調(diào)用API函數(shù)來實現(xiàn)。API函數(shù)是為硬件目標(biāo)工作的嵌入式程序,包括I/O模塊、軟件/硬件中斷模塊等等。
2.3硬件仿真和數(shù)據(jù)實時交換
TI的DSP提供在片仿真支持。它使CCS能夠控制程序的執(zhí)行,實時監(jiān)視程序運行。增強(qiáng)型JTAG連接提供了對在片仿真的支持。它是一種可與任意DSP系統(tǒng)相連的低侵?jǐn)_式的連接。仿真接口提供主機(jī)一側(cè)的JTAG連接,如TMS320C6455。為方便起見,評估板提供在板JTAG仿真接口。在主機(jī)平臺上,RTDX庫函數(shù)與CCS一道協(xié)同工作。顯示和分析工具可以通過COMAPI與RTDX通信,從而獲取目標(biāo)系統(tǒng)數(shù)據(jù),或?qū)?shù)據(jù)發(fā)送給DSP應(yīng)用例程。開發(fā)者可以使用標(biāo)準(zhǔn)的顯示軟件包,諸如NationalInstruments’LabVIEW,Quinn-Curtis’Real-TimeGraphicsTools,或MicrosoftExcel。同時,開發(fā)者也可研制他們自己的VisualBasic或VisualC++應(yīng)用程序。
3.1EMAC/MDIO 模塊硬件及功能
TMS320C6455芯片中的EMAC(EthernetMediaAccessController)模塊以及MDIO(ManagementDataInput/Output)模塊為雷達(dá)系統(tǒng)和PC提供以太網(wǎng)通信支持。雷達(dá)系統(tǒng)通過EMAC模塊的GMII標(biāo)準(zhǔn)接口與物理層芯片L-ET1011C2-CI-D互聯(lián),再通過RJ45接口連接到以太網(wǎng)。圖3所示為TMS320C6455 與以太網(wǎng)物理層芯片L-ET1011C2-CI-D,進(jìn)而與以太網(wǎng)總線的硬件連接圖。
圖3 DSP與物理層芯片L-ET1011C2-CI-D相連
TMS320C6455的EMAC/MDIO模塊提供數(shù)據(jù)鏈路層的尋址、數(shù)據(jù)幀的構(gòu)建、數(shù)據(jù)差錯檢查等功能。而物理層芯片L-ET1011C2-CI-D則負(fù)責(zé)執(zhí)行以太網(wǎng)802.3協(xié)議物理層的通信功能,包括以太網(wǎng)總線沖突狀態(tài)的監(jiān)控,對EMAC模塊收發(fā)數(shù)的據(jù)串行化、格式化操作等。物理層芯片與EMAC模塊通過GMII標(biāo)準(zhǔn)接口連接。如圖3中所示,TMS320C6455的網(wǎng)絡(luò)接口模塊由3部分組成:EMAC模塊、MDIO模塊及EMAC控制器模塊,其中EMAC模塊負(fù)責(zé)接口系統(tǒng)處理器。圖4為該模塊的詳細(xì)功能圖。MDIO模塊通過802.3協(xié)議定義的串行管理接口,用兩根共享的總線來連接物理層設(shè)備PHY。MDIO通過查詢物理層設(shè)備的狀態(tài)寄存器來對其進(jìn)行控制。EMAC控制模塊則負(fù)責(zé)EMAC以及MDIO模塊與系統(tǒng)內(nèi)核之間的數(shù)據(jù)傳輸,以及時鐘、中斷的控制管理。該模塊中包含了8K字節(jié)(2K×32bit)的內(nèi)部存儲器RAM用作緩存描述符(BufferDescriptor)。
EMAC驅(qū)動模塊的核心問題是如何對緩沖描述符進(jìn)行管理。緩沖描述符是DSP芯片內(nèi)一片連續(xù)的存儲器單元(8K字節(jié)),是一連串的隊列,有指向前一個和后一個的指針和指向數(shù)據(jù)的指針,用來記錄接收到或即將發(fā)送的以太網(wǎng)數(shù)據(jù)包的信息。其實質(zhì)就是描述內(nèi)存地址的一段內(nèi)存,由DMA控制負(fù)責(zé)把從物理層芯片PHY傳進(jìn)來的數(shù)據(jù)搬運至DSP芯片內(nèi)部。這樣可以高效地傳輸數(shù)據(jù),并且充分利用CPU,如圖5所示。
圖4 EMAC模塊功能圖
圖5 緩沖描述符
3.2軟件的總體設(shè)計
在軟件的設(shè)計中采用了CCS中自帶的可裁剪嵌入式系統(tǒng)DSPBIOS。DSPBIOS提供線程管理、調(diào)度軟件中斷、周期函數(shù)、外部硬件中斷的管理[5-6]。本文用到的模塊主要有4個部分,即PRD(周期函數(shù))模塊、HWI(硬件中斷)、TSK(任務(wù))模塊、SEM(旗語管理),其中PRD用于實現(xiàn)周期性函數(shù),HWI用于當(dāng)有外部中斷信號時執(zhí)行中斷服務(wù)子函數(shù),TSK管理多任務(wù),SEM通過計數(shù)完成任務(wù)線程的同步和相互作用。具體功能框圖如圖6所示。
圖6 程序總體設(shè)計原理圖
首先,程序設(shè)計從主函數(shù)main開始。main函數(shù)主要就是初始化EMAC:配置EMAC和MDIO功能寄存器值等。當(dāng)main函數(shù)結(jié)束后,系統(tǒng)會初始化TASK任務(wù)。TASK可以設(shè)置多個任務(wù)并設(shè)置優(yōu)先權(quán),設(shè)置其中一個任務(wù)函數(shù)NET_TASK主要用于接收數(shù)據(jù)的處理。由于接收數(shù)據(jù)的不定時性,所以設(shè)置成while(1)形式的死循環(huán),并在下面加接收旗語,當(dāng)沒有旗語信號時當(dāng)前任務(wù)會掛起。接收中斷信號來到時會調(diào)用接受中斷服務(wù)子程序發(fā)送旗語時,該任務(wù)會轉(zhuǎn)換為就緒狀態(tài),然后等待處理數(shù)據(jù)。處理數(shù)據(jù)時,根據(jù)包頭確定協(xié)議類型,程序里只需區(qū)分ARP和UDP協(xié)議。在數(shù)據(jù)傳輸時要確定對方IP,所以在對方發(fā)送ARP協(xié)議時回復(fù)己方IP地址。而數(shù)據(jù)傳輸使用UDP協(xié)議,使用UDP協(xié)議的主要原因在于較TCP協(xié)議傳輸速度快,使用資源少,通信效率高,但是丟包率較高。但是,每秒要傳輸50幀以上的高像素圖片,且丟包的影響不大,所以采用UDP協(xié)議。硬件中斷管理中可設(shè)置MACINT_isr中斷服務(wù)函數(shù)。此函數(shù)在DSP收到11號中斷信號時調(diào)用,作用是查看MACINVECTOR寄存器值,確定中斷類型。當(dāng)判定為錯誤中斷時,設(shè)置返回錯誤標(biāo)志;判定為接受中斷時,調(diào)用接受中斷函數(shù),并發(fā)送旗語給NET_TASK使其轉(zhuǎn)換為就緒狀態(tài),當(dāng)接受完成時就會轉(zhuǎn)到NET_TASK處理數(shù)據(jù);判定為發(fā)送中斷時,則調(diào)用發(fā)送函數(shù)把描述符地址賦值給TXnHDP,啟動DMA發(fā)送數(shù)據(jù)。另外,在PRD模塊中設(shè)置周期函數(shù)TimerTick函數(shù)。此函數(shù)主要用來檢測EMAC和MDIO狀態(tài)變化,比如鏈接狀態(tài)的改變,以及當(dāng)接受大量數(shù)據(jù)時添加描述符避免信息丟失和緩沖數(shù)據(jù)。
首先把程序通過仿真器下載到DSP中,通過網(wǎng)線連接DSP和PC。先通過ping命令測試DSP與PC是否連通。如果通訊通暢,則在PC端發(fā)送在復(fù)雜環(huán)境下的雷達(dá)信號到DSP內(nèi)存中,圖7(a)所示為wireshark軟件抓取PC與DSP通信的數(shù)據(jù)包,協(xié)議為UDP,DSP地址為202.0.0.100,PC地址為202.0.0.10??砂l(fā)送高達(dá)90MHz以上的雷達(dá)信號到DSP中去處理。圖7(b)表示通訊正常。圖8為篩選出來的雷達(dá)信號。
本文通過對DSP芯片的網(wǎng)絡(luò)電路配置與程序設(shè)計實現(xiàn)了DSP的雷達(dá)信號系統(tǒng)與外設(shè)PC機(jī)之間的信號高速傳輸,實驗結(jié)果與理論基本一致。同時,DSP的高速數(shù)字處理性能還可以應(yīng)用到雷達(dá)、通信或其他密集數(shù)字處理運算環(huán)境中,借助于其外圍的高速網(wǎng)絡(luò)傳輸性能,其在大容量數(shù)據(jù)流吞吐與高速處理運算兩方面上相得益彰,從而使其為各種高速嵌入式運算實時應(yīng)用提供了很好的開發(fā)平臺。
(a) (b)
圖8 處理過的雷達(dá)信號結(jié)果
[1]MarkARichards.雷達(dá)信號處理[M].邢孟道,王彤,李真芳譯.北京:電子工業(yè)出版社,2012.
[2]彭啟琮,管慶.DSP集成開發(fā)環(huán)境CCS及DSP/BIOS的原理與應(yīng)用[M].北京:電子工業(yè)出版社,2004.
[3]TexusInstruments.TIDSP/BIOS用戶手冊與驅(qū)動開發(fā)[M].北京:清華大學(xué)版社,2007:190-228.
[4]TexusInstruments.TMS320DM643xDMPDDR2MemoryControllerUser’sGuide(SPRU986B)[M].TI,2007:7-54.
[5]王穎,陳朝陽,陳敏.基于DSP的以太網(wǎng)通信系統(tǒng)設(shè)計[J].計算機(jī)與數(shù)字工程,2004,32(6):51-54.
[6]謝希仁.計算機(jī)網(wǎng)絡(luò)[M].4 版.北京:電子工業(yè)出版社,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 -),男,工程師,研究方向:雷達(dá)總體技術(shù);孟慶鵬(1983-),男,工程師,研究方向:雷達(dá)總體技術(shù)。
TN911.7
A
1009-0401(2016)03-0049-05