基于G4平臺的嵌入式VxWorks系統在雷達信號處理中的應用
在一個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實時操作系統的結合使用,成功地實現了某雷達系統的實時數字信號處理,這種解決方案也可在聲納、通信等要求極高的數字信號處理領域中推廣使用。
評論