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