摘要:衛星定位組件作為一門較新項目,同時作為對可靠性要求至高的高科技武器產品中的重要組件,在保證產品的可靠性方面,需要構建高覆蓋面的組件測試方法,通過充分測試暴露產品問題才能更好地提高產品的性能,保證可靠性。衛星定位組件測試軟件利用串口技術能夠實時接收解調組件的輸出數據,直觀顯示所有定位數據信息,為組件開發者判斷組件的工作狀態提供依據,同時軟件要有數據存儲和二次計算的能力,處理能力能夠覆蓋組件所有測試參數。
關鍵詞:衛星定位; 串口; 數據處理; 軟件設計
中圖分類號:TN91134文獻標識碼:A文章編號:1004373X(2012)04006203
Design and implementation of testing software for satellite position component
ZHANG Baoxiang, FENG Yujie
(China Airborne Missile Academy, Luoyang 471009, China)
Abstract: Satellite position component as a new project is important for hightech weapons which have high reliability. Therefore, it is very necessary to find a testing way with a wide coverage area to ensure the reliability to products. Only by fully exposing the latent problems of the products can the performance be improved. The software for satellite position components can receive the realtime output data of demodulation assembly through serial ports and intuitively display all the location data information. Meanwhile, the mentioned software should has capability of data storage and secondary calculations, and its processing capacity shoule involve all the testing parameters of the components.
Keywords: satellite position; serial port; data processing; software design
收稿日期:201110110引言
本文介紹設計的軟件用于某衛星定位組件的輸出數據地面檢測,利用串口技術能夠實時接收組件發送的串行數據流數據,擁有數據包解調、顯示、存儲,對結束數據具有二次計算分析能力,能覆蓋衛星定位分組件工作狀態測試所需的所有測試參數內容。按接口技術要求命名該軟件為衛星定位組件實時422數據處理軟件,其軟件采用圖形化用戶界面,具有以下特點:
(1) 功能區域劃分清楚。界面分為信息輸入區、功能操作區、數據顯示區、狀態提示區等分區,一目了然;
(2) 操作簡單。功能操作區采用“一鍵實現功能”設計,易于上手;
(3) 信息顯示直觀。在數據顯示區域針對不同參數的不同特點選用適當的顯示方式,如:衛星信噪比信息采用數值顯示與柱狀變化條相結合的顯示方式,CEP采用曲線顯示;
(4) 附加功能便利用戶。實時422數據處理軟件初始化時直接讀取配置文件中記錄的歷史GPS基準值、數據文件存儲路徑等信息,避免每次運行時用戶都要重復設置。
1軟件設計與實現
為了滿足各項功能需求,將軟件劃分為若干功能模塊,其軟件模塊結構如圖1所示。
圖1軟件模塊結構圖各模塊間關系及數據處理流程如圖2所示。衛星定位組件實時422數據處理軟件分為外部接口和內部接口兩部分。
1.1外部接口
實時422數據處理軟件的外部接口分為數據采集模塊和儲存輸出模塊兩部分。
圖2軟件處理流程圖1.1.1422數據采集模塊
硬件連接方式:將計算機串口與衛星定位組件接口連接。
軟件采集模塊:配置串口,遵從422通信協議,通過串口通信控件實現串口接收數據的功能。軟件使用事件驅動法設計程序,在捕獲到所需事件后,判斷事件屬性若為“收到指定字節數據”,接收緩沖區數據進行后續處理;判斷事件屬性若發生錯誤,清空緩沖區。
1.1.2422存儲輸出模塊
422存儲輸出模塊以數據解調模塊輸出的解調數據為輸入,有2種輸出文件,一種是二進制文件,后綴為.dat;另一種是文本文件,后綴為.txt。用戶在采集狀態下使用“存儲”功能時,軟件自動以當前時間為依據生成文件名(用戶可自定義前綴),同時建立二進制文件與文本文件。二進制文件將接收到的十六進制衛星定位數據包不經任何處理整幀寫入文件,用于保留衛星定位組件發送數據的原始狀態。文本文件則把解調好的數據包參數值按如圖3所示的格式進行排列,以行為單位寫入文本文件,用于事后的數據處理。
圖3422文本文件存儲格式圖3中:“>GPS”一行按順序存儲GPS數據包中的所有參數數據,XXXX代表解調出的參數數值;“>Sta”一行存儲衛星狀態數據包中的參數數據,No代表衛星號,XX代表對應衛星的信噪比。
1.2內部接口
實時422數據處理軟件的內部接口主要是衛星定位數據包解調模塊和二次計算分析模塊。其中數據包解調模塊以數據采集接口的接收緩沖區數據為輸入/輸出的解調數據傳給數據刷新顯示模塊及存儲輸出模塊,進行界面刷新顯示和文本文件寫入存儲。
1.2.1數據包解調模塊
數據包解調模塊要自動辨別接收到數據中包含的衛星定位數據包,某衛星定位組件輸出的4種幀格式數據包為:GPS數據包、衛星狀態數據包、GLN數據包、BDGLN數據包。數據包結構如下所示:
數據包
起始標志數據包
類型數據CRC校驗碼數據包
結束標志
四種數據包中“數據”一項所含數據結構各不相同。且“數據包類型”一項填充不同值作為4種幀格式的判斷標志,因此下文統稱其為幀標志。幀標志定義如表1所示。
表1幀標志類型定義數據項數據項名稱BYTE類型備注0pack_type0BYTE數據包類型
根據處理要求及衛星定位數據包特點,解調模塊處理流程如圖4所示。
圖4422數據解調模塊處理流程在接收緩沖區的數據中逐字節判斷出幀頭位置,記錄當前指針位置,再取出幀標志判斷出待處理數據包類型,按此數據包包長取出幀頭位置后對應長度數據,傳入此包的解調函數進行處理,處理完成后更新指針位置,若當前指針位置小于緩沖區,循環做上述操作。針對4種不同數據結構的數據包,軟件設計4個解調函數分別實現對應數據包的解調。
1.2.2二次計算分析模塊
二次計算分析模塊主要功能是根據輸入數據文件中的GPS信息計算所有包含參數的均值、方差、以及CEP。圓概率誤差CEP(Circular Error Probable) 是在以真實位置為圓心的圓內,偏離圓心概率為50%的二維點位離散分布度量。模塊的輸入為422數據文本文件,輸出為計算出的CEP以及δH,δLat,δlon,δX,δY,δZ值,并將其寫入報告文件。軟件分兩種方法計算CEP,一種是由軟件先讀取數據做預處理,計算出X,Y,Z均值作為GPS基準值,然后逐行讀取數據與基準值做運算最終算出CEP值,另一種是由用戶輸入GPS基準值計算CEP值。計算CEP的數據處理流程如圖5所示。
圖5計算CEP處理流程2實施效果
軟件從衛星定位組件原理樣機階段即開始使用,應用于組件原理樣機、工程樣機兩個階段產品的內場交付測試、跑車試驗數據分析、抗干擾試驗數據分析中,在組件研發時的問題暴露、組件交付試驗、數據分析報告的編寫等方面發揮了它應有的作用。實時422數據處理軟件界面效果圖如圖6所示。
3結語
本文在衛星定位組件測試需求的基礎上,完成了軟件的設計和程序的編寫、調試,實現了基于422接口的測試軟件。軟件使用FIFO數據結構實現實時100 s內定位數據CEP計算,提高軟件效率達50%,滿足實時性要求。FIFO優化設計,在占用內存資源相同的情況下,提高了算法的運算效率,大大降低了運算時延。對衛星定位組件輸出數據的采集、存儲、計算分析等功能都可在本軟件內一鍵實現,操作簡單快捷、參數顯示直觀。
圖6實時422數據處理軟件界面效果圖參考文獻
[1]李現勇.Visual C++串口通信技術與工程實踐[M].北京:人民郵電出版社,2002.
[2]FORD William, TOPP William. Data structure with C++[M].劉衛東,譯.北京:清華大學出版社,1998.
[3]譚浩強.C語言程序設計[M].北京:清華大學出版社,2001.
[4]管建和,夏軍寶.Windows程序設計[M].北京:人民郵電出版社,2002.
[5]官章全,韓云君,李罡.Visual C++ 6.0 高級編程范例[M].北京:電子工業出版社,2000.
[6]吳曉進,吳燕,程琳娜.衛星定位導航技術及應用跟蹤研究[M].北京:信息產業部電子行業情報工作管理辦公室,2007.
[7]李征航,黃勁松.GPS測量與數據處理[M].武漢:武漢大學出版社,2005.
[8]李聰玲.液氧/煤油發動機試驗控制系統軟件架構與設計\\[J\\].火箭推進,2009,35(2):4653.
[9]于海磊,陳鋒,鄭勤生,等.低溫推進劑液位監測系統設計\\[J\\].火箭推進,2010,36(3):5457.
[10]左玲.北斗無源定位系統及其卡爾曼濾波分析\\[J\\].電子科技, 2010(12):4951.