張琨 韓斌 王煒 楊陽 魏靖彪
(1.西安現(xiàn)代控制技術(shù)研究所 陜西省西安市 710065 2.陸軍航空兵研究所 北京市 101121)
導(dǎo)彈貫標(biāo)是指導(dǎo)彈電氣接口貫徹執(zhí)行《GJB 1188A-99 飛機(jī)/懸掛物電氣連接系統(tǒng)接口要求》(簡稱GJB 1188A)》,該標(biāo)準(zhǔn)為目前各類載機(jī)與懸掛物必須遵循的標(biāo)準(zhǔn)[1]。機(jī)載導(dǎo)彈作為任務(wù)懸掛物,其對外接口為GJB1188A 任務(wù)懸掛物接口,該接口數(shù)據(jù)總線為1553B 總線。基于1553B 總線的遠(yuǎn)程終端軟件設(shè)計(jì)方法已有相關(guān)研究,相關(guān)設(shè)計(jì)基于Holt 公司1553B 協(xié)議芯片[2-3]、中電58 所協(xié)議芯片[4]等開發(fā)了應(yīng)用軟件,但均無法滿足GJB 1188A 標(biāo)準(zhǔn)對軟件的規(guī)定。
本文提出了一種1553B 總線遠(yuǎn)程終端的方式代碼配置方法,軟件設(shè)計(jì)之初就考慮并兼容GJB1188A 標(biāo)準(zhǔn)相關(guān)要求,能夠?qū)崿F(xiàn)導(dǎo)彈飛行控制器軟件功能,滿足貫標(biāo)導(dǎo)彈武器系統(tǒng)電氣要求。
貫標(biāo)導(dǎo)彈電氣系統(tǒng)數(shù)據(jù)總線為1553B 總線,1553B 總線是一種數(shù)字式指令/響應(yīng)型多路傳輸數(shù)據(jù)總線,通過在總線上傳輸曼徹斯特II 型雙向電平碼表征不同的消息[5]??偩€終端可以分為三種:總線控制器BC(Bus Controller)、遠(yuǎn)程終端RT(Remote Terminal)和總線監(jiān)控器BM(Bus Monitor)。
載機(jī)與導(dǎo)彈通信系統(tǒng)各終端拓?fù)潢P(guān)系圖如圖1所示,載機(jī)火控作為總線控制器,導(dǎo)彈飛行控制器作為一個(gè)遠(yuǎn)程終端,彈載記錄裝置作為總線監(jiān)視器。通信消息涉及載機(jī)火控與導(dǎo)彈飛行控制器。采用雙余度總線以提高總線數(shù)據(jù)可靠性。
貫標(biāo)導(dǎo)彈不僅要求導(dǎo)彈對外硬件接口遵循GJB1188A,其彈上部件飛行控制器軟件也需遵循該標(biāo)準(zhǔn)的相關(guān)規(guī)定。在1553B 數(shù)據(jù)總線的基礎(chǔ)上,GJB1188A 標(biāo)準(zhǔn)對數(shù)字通信規(guī)則、消息要求、標(biāo)準(zhǔn)數(shù)據(jù)實(shí)體做出額外的使用規(guī)定,本文旨在設(shè)計(jì)滿足貫標(biāo)要求的導(dǎo)彈飛行控制器軟件,而與非貫標(biāo)軟件最顯著的區(qū)別為方式代碼的處理。接下來本文將詳細(xì)介紹貫標(biāo)導(dǎo)彈飛行控制器軟件設(shè)計(jì)中方式代碼的初始化與使用方法。
方式代碼是指當(dāng)系統(tǒng)進(jìn)入方式控制時(shí),由總線控制器發(fā)出的指令字中,子地址/方式字段是00000 或11111,則緊鄰的“數(shù)據(jù)字計(jì)數(shù)/方式代碼”字段內(nèi)容就是五位方式代碼。方式代碼是總線控制器對總線系統(tǒng)中的信息流及有關(guān)硬件進(jìn)行管理的手段,而不用于發(fā)送或接收數(shù)據(jù)。1553B 總線目前已經(jīng)定義了15 種方式代碼。方式指令是指含有方式代碼的命令字。方式指令在線纜上的信息傳輸形式如圖2所示。
圖1:機(jī)載導(dǎo)彈總線拓?fù)涫疽鈭D
圖2:方式指令在總線的信息傳輸形式
而GJB1188A 要求任務(wù)懸掛物導(dǎo)彈必須執(zhí)行強(qiáng)制方式代碼,7種強(qiáng)制方式代碼如表1所示。以強(qiáng)制方式代碼的配置為例,飛行控制器需要配置方式代碼的中斷使能與方式代碼數(shù)據(jù)。
導(dǎo)彈飛行控制器采用中斷方式處理方式代碼。通過配置方式代碼選擇性中斷表來決定某一方式代碼是否觸發(fā)飛行控制器中斷。遠(yuǎn)程終端RAM 地址0x0108~0x010F 是方式代碼選擇性中斷表地址,其各地址配置的功能描述如表2。根據(jù)方式代碼的收/發(fā)位、是否廣播特性,方式代碼選擇性中斷表可以被分為4 塊。以地址0x0108、0x0109 為例,該地址配置單獨(dú)接收方式代碼是否觸發(fā)中斷,涉及強(qiáng)制方式代碼10001,即17,地址0x0108最低位配置方式代碼0,最高位配置方式代碼15,置“1”時(shí)使能該中斷。類似的,通過表1 中方式代碼的接收/發(fā)送標(biāo)志與是否允許廣播標(biāo)志,配置其余方式代碼選擇性中斷表。
依據(jù)表2,參考程序示例如下:
表1:強(qiáng)制方式代碼
表2:方式代碼選擇性中斷表配置說明
表3:強(qiáng)制方式方式代碼數(shù)據(jù)表
方式代碼數(shù)據(jù)表用來查找方式代碼數(shù)據(jù)字存放的地址,通過讀取該地址獲取方式代碼的數(shù)據(jù)字,或向該地址寫入數(shù)據(jù)填充方式代碼的數(shù)據(jù)字。方式代碼數(shù)據(jù)表為每個(gè)方式代碼分配了固定的RAM地址,用來存放方式代碼接收或發(fā)送的一個(gè)數(shù)據(jù)字,方式代碼數(shù)據(jù)表RAM 地址為0x0110~0x013F,其中地址0x0110~0x011F 存放非廣播接收的方式代碼數(shù)據(jù),0x0120~0x021F 存放非廣播發(fā)送的方式代碼數(shù)據(jù),0x0130~0x013F 存放廣播的方式代碼數(shù)據(jù)。7 種強(qiáng)制方式指令中,帶數(shù)據(jù)字的方式指令為10000(16)、10001(17)、10010(18),依據(jù)收/發(fā)位與是否廣播進(jìn)行查表,結(jié)果如表3所示。
飛行控制器需要發(fā)送矢量字時(shí),載機(jī)火控發(fā)送一個(gè)方式指令,飛行控制器回復(fù)一個(gè)狀態(tài)字一個(gè)數(shù)據(jù)字,該數(shù)據(jù)字即矢量字。需要注意的是,由于1553B 觸發(fā)中斷方式為消息結(jié)束后觸發(fā),因此,飛行控制器需在方式代碼中斷來臨之前將矢量字寫入對應(yīng)地址,即矢量字準(zhǔn)備好后,即刻寫入地址0x0120。
GJB1188A 接口導(dǎo)彈屬于標(biāo)準(zhǔn)的機(jī)載導(dǎo)彈,本文提出了一種適用于貫標(biāo)導(dǎo)彈的飛行控制器遠(yuǎn)程終端方式代碼配置方法,本文所述方法具有貫標(biāo)軟件普適性。結(jié)果表明,本方法能夠滿足貫標(biāo)導(dǎo)彈的軟件要求,其可靠性高、可移植性強(qiáng),具有推廣價(jià)值,能夠?yàn)閷?dǎo)彈其他部件貫標(biāo)軟件設(shè)計(jì)提供借鑒。