基于數據包的航天器數管模擬器軟件設計
上行通道是數管模擬器接收地面總控設備發送數據幀的鏈路。如果使用傳統的脈沖編碼調制上行數據,航天器需要做二次設計,這樣分系統間遙控接口不統一,軟件通用化很低,這和軟件產品化思想背道而馳。數管模擬器與地面總控設備的上行通道協議,采用數據幀的方式進行,所有數據要求遵循表1的格式。上行數據幀根據數據幀的指令碼,共分為器上時間校準數據幀(指令碼8e55),間接指令數據幀(指令碼d1d1),指令組發送數據幀(指令碼5a5a),內存下卸數據幀(指令碼b2b2)以及1553B總線數據注入數據幀(指令碼b1b1)等。本文引用地址:http://www.104case.com/article/186899.htm
數據幀的幀頭為EB90,用于完成幀同步,長度字占用了兩個字節,表示指令碼和數據域總長度,因為每條協議都要有指令碼,因此長度字最小值為0002H。指令碼用于區分數據域中數據的用途,數據域用來保存有效數據。數管模擬器系統軟件接收到地面總控設備發送的數據幀后解析指令碼,并根據不同指令碼完成特定的操作。
3.2 數管模擬器系統軟件
系統軟件每個任務執行周期為150 ms,執行周期定時器通過FPGA硬件實現,單個執行周期誤差小于5 ms,時間零點為2010年01月01日00時00分00秒00毫秒。系統軟件通過基于時間片的輪轉調度分配處理器模塊的處理資源,做到對多種任務的準實時處理。
地面總控通過RS422給數管模擬器發出遙控指令,CPU響應RS422總線中斷,置串口中斷有效標志,在主程序中,判斷中斷標志,在處理函數中執行相應的指令動作,通過不同的命令字執行相應的操作。
系統軟件流程圖如圖5所示,軟件開始執行時首先初始化系統的各種資源及寄存器,清看門狗后等待地面總控設備發送的數據幀;如果地面總控設備發送了數據幀,系統軟件首先解析數據幀的指令碼并根據指令碼內容決定本周期執行的任務。系統軟件只負責多任務的調度和固定時間片的分配,具體任務由應用過程任務軟件來完成。
3.3 遙測采集模塊軟件
遙測采集模塊軟件主要完成接收遙測板發送的傳統遙測量,共計164個字節的遙測數據。遙測采集模塊組織這些數據并將這些數據以數據包的形式發送給中央處理單元。
系統軟件每150 ms向遙測采集模塊發送要數命令,接收到系統軟件發送的要數命令后遙測采集模塊開始傳統遙測量的采集,組包后將數據通過串口發送給數據處理模塊。系統軟件進入串口中斷后,將數據包放入到下行數據幀中,并等待下行數據發送任務執行時,將下行數據幀發送出去。
4 實現與驗證
數管模擬器的CPU模塊由TI的DSP器件TMS320F2812和512 kbit的RAM組成,與FPGA一起對各種接口進行控制。
本文中的軟件設計使用C語言來實現,使用CCS3.3軟件開發環境開發,調試計算機使用Windows XP操作系統。模擬器進行了100個小時的老練試驗,期間進行了遙控指令發送、姿軌控內存數據下載、星上時間校準、模擬量遙測數據采集等功能測試。測試結果表明使用該軟件設計的數管模擬器能夠可靠、穩定地完成模擬數據管理分系統的任務。相比傳統數管模擬器,基于數據包的航天器模擬器能夠適應不同的應用程序產生的不同發生率和包長度的數據源包,簡化軟件的開發過程,提高有效數據利用率。
5 結束語
在綜合分析了模擬器的需求后,實現了數管模擬器的軟件設計,其功能和性能在系統試驗中得到了充分驗證。軟件設計體現了模塊化設計的思想,使用靜態周期輪轉的方式實現任務的調度,實現起來比較簡單,有助于軟件任務正常執行,使用分層設計的思想,實現不同信源信宿數據的統一管理,有利于軟件的標準化和組件化。
評論