基于G4平臺(tái)的嵌入式VxWorks系統(tǒng)在雷達(dá)信號(hào)處理中的應(yīng)用
在一個(gè)CP I周期內(nèi),第一個(gè)陰影部分表示當(dāng)前節(jié)點(diǎn)前42個(gè)主觸發(fā)周期內(nèi)A /D采樣完成后由FIFO的DMA傳數(shù)到節(jié)點(diǎn)內(nèi)存的時(shí)間,第二個(gè)陰影部分是后42個(gè)主觸發(fā)周期內(nèi)A /D采樣完成后由FIFO的DMA傳數(shù)到節(jié)點(diǎn)內(nèi)存的時(shí)間,但是由于采用DMA傳輸方式,不會(huì)占用CPU處理時(shí)間(除了中斷來時(shí)很短暫地打斷CPU的處理) ,相鄰節(jié)點(diǎn)的數(shù)據(jù)傳輸率比相對(duì)節(jié)點(diǎn)的傳輸率高。
任務(wù)劃分
劃分任務(wù)的原則是能夠在每個(gè)CPI周期內(nèi)實(shí)時(shí)的接收雷達(dá)終端控制命令,并能接收經(jīng)過A /D采樣的正交I、Q兩路回波信號(hào),最后及時(shí)地把處理完成后的目標(biāo)信息數(shù)據(jù)傳給雷達(dá)終端。節(jié)點(diǎn)1負(fù)責(zé)接收本節(jié)點(diǎn)的A /D采樣數(shù)據(jù)和進(jìn)行數(shù)字信號(hào)處理,并把處理后的目標(biāo)信息數(shù)據(jù)和節(jié)點(diǎn)2、3和4傳來的目標(biāo)信息數(shù)據(jù)傳到VME空間,通知雷達(dá)終端及時(shí)取走數(shù)據(jù)。因此在節(jié)點(diǎn)1 上劃分為6個(gè)任務(wù):從節(jié)點(diǎn)4接收A /D采樣數(shù)據(jù)任務(wù),優(yōu)先級(jí)最高; 接收節(jié)點(diǎn)2、3和4的目標(biāo)數(shù)據(jù)并能及時(shí)送給雷達(dá)終端的任務(wù)優(yōu)先級(jí)較高, 3個(gè)任務(wù)的優(yōu)先級(jí)相同;系統(tǒng)開機(jī)和模式轉(zhuǎn)換時(shí)查詢命令任務(wù)的優(yōu)先級(jí)次高,能及時(shí)響應(yīng)命令并能送給節(jié)點(diǎn)4,重新對(duì)ICS - 554進(jìn)行新的工作模式的配置;信號(hào)處理任務(wù)的優(yōu)先級(jí)最低,它能保證本節(jié)點(diǎn)數(shù)字信號(hào)處理完成的同時(shí),不會(huì)影響其它任務(wù)的數(shù)據(jù)傳輸。
節(jié)點(diǎn)4主要完成管理ICS - 554 A /D數(shù)據(jù)采集和查詢模式碼。數(shù)據(jù)采集任務(wù)配置ICS - 554 AD傳送采集后的數(shù)據(jù)到本節(jié)點(diǎn)和其它節(jié)點(diǎn),并通知它們開始處理數(shù)據(jù),該任務(wù)的優(yōu)先級(jí)最高;模式切換任務(wù)在模式切換時(shí),接收節(jié)點(diǎn)1發(fā)來的控制命令并根據(jù)模式碼對(duì)A /D進(jìn)行編程控制,該任務(wù)的優(yōu)先級(jí)次高;信號(hào)處理任務(wù)保證節(jié)點(diǎn)4在接收到新的一幀數(shù)據(jù)來之前必須完成前一幀數(shù)據(jù)處理,每個(gè)CPI周期內(nèi),A /D每采集44個(gè)主觸發(fā)周期的數(shù)據(jù)后,產(chǎn)生的中斷要打斷信號(hào)處理任務(wù)2次,造成該任務(wù)切換頻繁,信號(hào)處理時(shí)間拉長,因此編寫算法程序時(shí)一定要考慮節(jié)約處理時(shí)間,最后向節(jié)點(diǎn)1發(fā)中斷請(qǐng)求,通過DMA方式把目標(biāo)數(shù)據(jù)傳給節(jié)點(diǎn)1,再傳給雷達(dá)終端,該任務(wù)的優(yōu)先級(jí)最低。
節(jié)點(diǎn)2和 3接收A /D 數(shù)據(jù)采集任務(wù)的優(yōu)先級(jí)最高,并在此任務(wù)中查詢模式碼。信號(hào)處理任務(wù)的優(yōu)先級(jí)最低,處理完成后的目標(biāo)數(shù)據(jù)通過DMA方式傳到節(jié)點(diǎn)1,再傳給雷達(dá)終端。該雷達(dá)信號(hào)處理涉及多種工作模式,這里只介紹了一種簡(jiǎn)單工作模式任務(wù)劃分,其它模式的任務(wù)劃分不在此贅述。
開發(fā)中應(yīng)注意的主要問題
在開發(fā)過程中,由于采用了RMP庫,它與ICS -554的驅(qū)動(dòng)程序沖突,導(dǎo)致ICS - 554不能正常工作,并且RMP庫的通用性強(qiáng),占用的系統(tǒng)資源多,實(shí)時(shí)性也相對(duì)較差。在實(shí)際應(yīng)用中作者根據(jù)具體開發(fā)的需要充分利用G4節(jié)點(diǎn)間中斷握手和共享內(nèi)存的特點(diǎn),開發(fā)了適合自己的節(jié)點(diǎn)間通信庫,提高了資源的利用率并降低了通信時(shí)間,提高了數(shù)字信號(hào)處理實(shí)時(shí)處理能力。
數(shù)字信號(hào)處理庫最好選用IXLibs- AV,該庫和VSIPL庫都針對(duì)MPC7410的AltiVec技術(shù)進(jìn)行優(yōu)化編寫的。IXL ibs- AV 庫函數(shù)涉及矢量運(yùn)算更底層些,處理速度比VSIPL 更快,但對(duì)程序員的要求較高; VSIPL 庫通用性較高,對(duì)程序要求低,但是處理速度較慢,并且在運(yùn)行過程中, VSIPL 庫有時(shí)會(huì)把G4板上引導(dǎo)FALSH中的引導(dǎo)程序沖掉,導(dǎo)致G4板不能啟動(dòng)。
節(jié)點(diǎn)間的通信盡量采用“寫”方式,寫數(shù)速度比讀數(shù)速度快;并且往相鄰節(jié)點(diǎn)寫數(shù)速度比相對(duì)節(jié)點(diǎn)寫數(shù)快, ICS - 554的DMA引擎從F IFO傳輸數(shù)據(jù)到本節(jié)點(diǎn)速度最快;節(jié)點(diǎn)間通信時(shí)避免總線沖突。
G4板上各個(gè)節(jié)點(diǎn)的處理程序最好是獨(dú)立、不相同的,不但占有的系統(tǒng)資源少而且處理速度快; 4個(gè)節(jié)點(diǎn)處理程序既可以從節(jié)點(diǎn)1上的User Flash中引導(dǎo),也可以從各自的User Flash中引導(dǎo)。G4板元器件密度大,發(fā)熱量大, G4板的散熱處理是平臺(tái)穩(wěn)定、可靠工作的前提條件。
結(jié)束語
通過G4硬件平臺(tái)和搶占式多任務(wù)VxWorks實(shí)時(shí)操作系統(tǒng)的結(jié)合使用,成功地實(shí)現(xiàn)了某雷達(dá)系統(tǒng)的實(shí)時(shí)數(shù)字信號(hào)處理,這種解決方案也可在聲納、通信等要求極高的數(shù)字信號(hào)處理領(lǐng)域中推廣使用。
評(píng)論