舒傳華, 唐海波, 曹 贛
(中國太原衛星發射中心試驗技術部 太原 030027)
近年來陸續在導彈武器等飛行器系統中引入1553B總線技術[1~4],大大減少了飛行器上設備及電纜數量,減輕了飛行器重量,同時高可靠雙冗余1553B總線系統的應用,也大幅增加了信號可靠性,簡化了測試流程。采用1553B總線后,飛行器上模擬信號轉變為數字信號傳輸,實現了飛行器上信號數字化,滿足了信息化要求,同時有利于各設備進行通用化設計,便于拓展功能。
1553B總線在我國的標準是GJB289A-97《數字式時分制指令/響應型多路傳輸數據總線》[5],總線上傳輸的消息由總線系統中的總線監控器記錄下來。對于導彈武器等飛行試驗,獲得導彈在飛行過程中彈體各系統尤其是控制系統的狀態參數和飛行彈道等數據是試驗目的之一,為此總線監控器通過接口與無線遙測連接??偩€監控器以消息為基本單位對1553B總線上傳輸的數據進行接收記錄,并對消息數據進行打包,然后每固定周期XXms傳輸一組(每組數據包括多個消息),再經統一編幀后進行無線遙測傳輸,在地面接收端對這些先打包再編幀的總線數據作解析處理,得到彈體狀態參數和飛行彈道等數據。
1553B總線技術的引入,對飛行器上遙測測量體制[6]是一個較大的改變,同時也帶來了遙測數據處理[7,8]的巨大改變。與傳統測量方式下的遙測數據相比,1553B總線數據在遙測幀中數據量大、采樣率高(每秒達七萬個采樣點以上),在不同飛行器應用中往往總線數據架構設計復雜、格式不完全規范統一,因此1553B總線數據處理需要兩大步:第一步解析其中包含的各類消息;第二步按消息內格式由原碼計算消息中的各參數。1553B總線在消息解析處理上要求高、技術難度大,包含某些重要參數(如指令參數)的消息點數有時極為有限,有的只在一個遙測幀中傳輸消息數據,有的甚至在一個遙測幀中只傳送一次消息數據,因此必須盡量解析出該參數所在的這唯一一條消息,這對遙測數據處理提出了很大的挑戰。
由于1553B總線數據處理結果就是對解析出的消息原碼的直接計算,因此消息解析是1553B總線數據處理的核心。本文通過分析1553B總線數據架構特點及該特點對1553B總線消息解析方法的具體要求和影響,提出并實現了基于1553B總線數據架構特點的消息解析方法。該方法已多次應用于飛行試驗任務數據處理中,效果良好,對其它新型飛行器1553B總線數據處理具有借鑒意義。最后,通過多次解析處理實踐發現,架構格式設計影響著解析消息結果的準確性和完整性,因此建議架構設計應更規范統一。
如前所述,在地面接收端需要處理先打包再編幀的總線數據,因此總線數據架構的主要特點體現在消息包格式和對每組數據編幀時插入的填充特征碼及可能需要的其它組特征信息。消息包內容主要包括這條消息和打包所用的附加信息,消息包格式詳細介紹了消息包中各字節的含義和對應的數據內容,它還反映了具體消息內容的剪裁情況和消息中字的高低位排序等情況。
下面介紹四種常見的1553B總線數據架構格式,并對它們的特點進行分析。其中經常提到的“消息”和“字”的含義可參見GJB289A-97標準,現簡要說明如下:
字:字是一個信息序列,它包括同步頭、16位信息段及一個奇偶校驗位。有三種類型的字:指令字、狀態字和數據字。一般情況下,記錄下的總線數據中指令字、狀態字和數據字只包含字中的16位信息段內容,即字長為2字節。1553B總線字格式如圖1所示。
消息:消息是包括一個指令字、一個狀態字(或出現在遠程終端到遠程終端傳輸時的兩個指令字、兩個狀態字)、若干個數據字(字數從0到32不等)及狀態響應間隔的傳輸序列。即一條消息的標準長度N為(非遠程終端到遠程終端傳輸時):指令字長(2字節)+狀態字長(2字節)+m個數據字長(2m字節);對于遠程終端到遠程終端傳輸,消息的標準長度N為:指令字長(4字節)+狀態字長(4字節)+m個數據字長(2m字節)。

圖1 1553B總線字格式Fig.1 The word format of 1553B bus
1.1.1 1553B總線數據架構格式一
1553B總線數據架構格式一的消息包格式見表1,其中MT指總線監控器,N為根據命令字由GJB289A-97標準計算的標準消息長度,它是命令字、數據字和狀態字所占字節的總長。
編幀時插入的填充特征碼為十六進制碼0xZZ,未插入其它組特征信息。
架構特點:
①存在包頭特征字:十六進制碼0xXXYY,長度為2字節;
②存在數據長度信息:長度為1字節;
③存在總線監控器MT時間字和塊狀態字,長度各2字節,共占4字節;
④數據字/位指定:字的高字節在前,低字節在后,符合GJB289A-97標準;
⑤消息中包括命令字、狀態字和數據字,架構設計上沒有刪掉狀態字或剪裁數據字中的部分內容,也沒有增加其它附加狀態字,符合GJB289A-97標準。
1.1.2 1553B總線數據架構格式二
1553B總線數據架構格式二的消息包格式見表2。

表1 架構格式一1553B消息包格式Table 1 The 1553B message package format of frame format one

表2 架構格式二1553B消息包格式Table 2 The 1553B message package format of frame format two
編幀時插入的填充特征碼為十六進制碼0xZZ,未插入其它組特征信息。
架構特點:
①存在包頭特征字:十六進制碼0xXXYY,長度為2字節;
②存在數據長度信息:長度為1字節;
③存在總線監控器MT時間字和塊狀態字,長度各為2字節,共占4字節;
④數據字/位指定:字的低字節在前,高字節在后,不符合GJB289A-97標準,處理時需要進行高低字節交換;
⑤消息中包括命令字、狀態字和數據字,架構設計上沒有刪掉狀態字或剪裁數據字中的部分內容,也沒有增加其它附加狀態字,符合GJB289A-97標準。
1.1.3 1553B總線數據架構格式三
1553B總線數據架構格式三的消息包格式有兩種,分別見表3和表4。

表3 架構格式三1553B消息包格式1Table 3 The 1553B message package format one of frame format three

表4 架構格式三1553B消息包格式2Table 4 The 1553B message package format two of frame format three
編幀時插入的填充特征碼為十六進制碼0xZZ,未插入其它組特征信息。
架構特點:
①不存在包頭特征字;
②不存在數據長度信息;
③不存在總線監控器MT時間字和塊狀態字;
④數據字/位指定:字的高字節在前,低字節在后,符合GJB289A-97標準;
⑤消息中都包括命令字和數據字,但架構設計上在消息尾附加了錯誤狀態字,并裁掉了部分消息內容中的狀態字,在消息解析時必須注意這些差別,這些均不符合GJB289A-97標準;
⑥存在兩種1553B消息包格式,這是裁掉了部分消息內容中的狀態字所造成的不統一。
1.1.4 1553B總線數據架構格式四
1553B總線數據架構格式四的消息包格式也有兩種,分別見表5和表6。

表5 架構格式四1553B消息包格式1Table 5 The 1553B message package format one of frame format four

表6 架構格式四1553B消息包格式2Table 6 The 1553B message package format two of frame format four
編幀時插入的填充特征碼為十六進制碼0xZZ,插入的其它組特征信息:將1553B總線數據在一個遙測幀中所占的有效長信息插入總線數據在該幀分路波道的第一波道中。
架構特點:
①不存在包頭特征字;
②不存在數據長度信息;
③不存在總線監控器MT時間字和塊狀態字;
④數據字/位指定:字的高字節在前,低字節在后,符合GJB289A-97標準;
⑤消息中都包括命令字和數據字,但架構設計上裁掉了所有消息內容中的狀態字,并裁減了部分消息數據字中的內容,在消息解析時必須注意這些差別,這些均不符合GJB289A-97標準。
⑥存在兩種1553B消息包格式,這是裁掉了部分消息內容中p字節數據字所造成的不統一。
本節從消息包格式、編幀時插入的填充特征碼、插入的其它組特征信息等方面具體梳理分析以上四種常見架構格式的相同與不同之處,對其特點進行歸納總結,并進一步分析格式特點對總線消息解析處理的影響。
①從上述四種架構格式看,在不考慮消息內容具體裁剪情況時,消息包格式最大的不同之處在于它是否存在包頭特征字。事實上,包頭特征字是消息解析思路的關鍵要素,它用在對消息包頭的識別上。對于不存在包頭特征字的總線數據消息解析,為了確定消息頭,就需要先確定消息頭的標志碼,通常使用數據處理文件中列出的各消息的命令字,此時各個需要解析的消息的命令字都成為了包頭特征字。
②1553B總線數據在編幀傳輸時都插入了填充特征碼,事實上,上述幾種格式的特征碼并不完全一致,具體的特征碼內容需通過數據分析得出。結尾處是否存在預期的填充特征碼是判斷消息包是否合理完整的一種依據(還存在別的依據,如結尾處是否為某消息包頭特征字等),這是消息解析時必須考慮的因素。只有對1.1.4節編幀時插入了有效長信息的架構格式進行總線數據消息解析例外,因為處理過程中在提取有效數據時已經濾掉了填充特征碼,所以判斷消息是否合理完整時不再考慮這類標志碼。
③某些架構在1553B總線數據編幀傳輸時插入了其它組特征信息,如1.1.4節編幀時插入了有效長信息,在消息解析時必須先從每幀分路數據中提取出有效數據,然后才能進行下一步的消息解析處理。
④數據字/位指定給出了總線數據中字的高低字節的前后順序,上述四種架構格式中高低字節前后順序就不完全相同,數據處理時必須弄清楚數據字/位指定情況,按照GJB289A-97標準要求,字構成時高字節在前、低字節在后,如果總線數據中字的高低字節的前后順序相反,如架構格式二,解析處理時就需要先將高低字節交換,否則將解析不出符合要求的消息。
⑤消息包格式和內容是架構格式特點的關鍵,在同一種架構格式下消息包的具體格式也可能存在多種情況(如1.1.3節和1.1.4節),處理時必須考慮這些細節。
⑥從上述四種架構格式看,只有格式一、二的消息內容符合GJB289A-97標準,架構設計上沒有裁減或增加其它任何信息,格式三和四都存在裁減或增加情況,這給數據處理帶來了很大的復雜度,解析時必須考慮具體情況,因為裁減或增加其它任何信息都會改變消息的長度,同時還要考慮這些改變只針對部分已裁減或已增加的具體消息對象。各種消息包的具體長度在消息解析時相當于步長因子,是必須考慮的重要因素。
在介紹消息解析方法之前,先說明總線數據中常見的消息類型,這里不考慮總線中廣播操作產生的消息。
①總線控制消息,當子地址為0或31時,總線進行方式控制,此時總線消息數據中只有命令字和狀態字,某些控制方式還帶一個數據字,此時的總線數據用作總線方式控制情況分析,不進行第二步消息參數處理。
②常規消息,即遠程終端和控制器之間或兩個遠程終端之間傳輸的消息,數據處理文件中列出的消息屬于常規消息,這些消息解析后需進一步處理為各個參數。
③其他消息,它符合總線消息協議,但是不屬于數據處理文件中規定的消息,這些消息數據可用于總線工作情況等后續分析。
④額外數據,是指因失鎖等原因造成的不符合總線協議的消息數據以及遠程終端處于忙碌狀態時的總線數據,這些消息數據可用于總線工作情況等后續分析。
根據第1節關于1553B總線數據架構格式特點及對數據消息解析處理影響的分析,結合多次在試驗任務中對總線數據進行消息解析的實踐經驗總結,提出了1553B總線數據消息解析消息包頭特征字識別+步長計算+合理完整消息包結尾標志碼判別的三步走方法,具體步驟如下:
①在1553B總線數據中逐兩個字節順序搜索消息包頭特征字。
對不存在包頭特征字的總線數據作消息解析時,將包頭特征字設為各個需要解析消息的命令字,即任一個需要解析消息的命令字都是包頭特征字;下文中不再對這兩種消息包頭特征字進行區分。
②搜索到消息包頭特征字后,依據消息包格式的具體形式計算該消息包數據的總長度(不包括包頭特征字),簡稱為步長。
針對架構格式一和二,利用消息包格式中數據長度信息計算步長,步長均為N+4+1。對于不存在數據長度信息的消息包格式,在搜索到包頭特征字后,步長計算與以包頭特征字為頭的消息具體類型密切相關,即依據2.1節對消息類型的介紹,先判斷消息類型是常規消息還是額外數據中的置忙消息,再根據消息類型具體計算步長。例如,架構格式三中存在狀態字消息的步長為N(常規消息)或6(置忙消息),不存在狀態字消息的步長為N-2(常規消息)或4(置忙消息);架構格式四中沒有裁減數據字內容消息的步長為N-4(常規消息)或4(置忙消息),裁減了數據字中p字節內容消息的步長為N-p-4(常規消息)或4(置忙消息)。
③獲取位于消息包頭特征字后再跨步長后的兩字節數據,判別這兩字節數據是否是合理完整消息包結尾標志碼,若是,則表明該消息包頭特征字搜索正確,其后步長數據中包含了某條消息,依據消息包格式獲取該消息內容,然后在結尾標志碼開始處進行下一個消息包頭特征字搜索識別,返回步驟①;若不是,直接返回步驟①。重復步驟①~③,直至數據結束。
其中對于填充特征碼為0xZZ的總線數據消息解析,合理完整消息包結尾標志碼包括0xZZ+0xZZ、消息包頭特征字、0xZZ+消息包頭特征字高字節0xXX,而不存在填充特征碼的合理完整消息包結尾標志碼只包括消息包頭特征字。
由上述三步法可知,消息解析的關鍵在于消息包頭特征字、步長和合理完整消息包結尾標志碼三要素的判別。對于任何新型架構格式的1553B總線數據消息解析,只要從分析架構格式特點上著手,分析和弄清這三要素,即可按三步法合理準確完成消息解析。
在已合理正確分析判別出消息包頭特征字、步長和合理完整消息包結尾標志碼三要素的前提下,基于1553B總線數據架構特點的消息解析方法實現流程如圖2所示。

圖2 消息解析方法實現流程Fig.2 The flow chart of the message parsing method
該方法已多次應用于飛行試驗任務遙測數據處理中,已合理、準確完成了六種具體架構格式下的1553B總線數據消息解析,應用效果良好,達到了準確解析消息的目的。
但是,在多次消息解析處理中發現,對類似于架構格式三或格式四的總線數據作消息解析時,本文方法存在以下幾個方面的不足:
①對于架構格式三或格式四,由于缺少針對各種消息統一的消息包頭特征字,所以只能解析出常規消息,即數據處理文件中列出的消息,但當這些消息的命令字存在誤碼時,消息就無法解析;而對于架構格式一或格式二,這類消息會解析在“其他消息”或“額外數據”中,當對這些數據進行分析時,就能判斷出這條消息應該屬于命令字出現誤碼的某條常規消息,在某些特殊情況下,如在某特征時刻進行關鍵狀態分析時,這條消息很可能非常重要。
②可能帶來個別條消息解析錯誤。事實上,這并不是方法的問題,而是缺少包頭特征字或狀態字給消息解析帶來的軟件上無法判別而導致的,只有通過人工參與分析數據才可能獲取正確的消息。如存在某條消息A的命令字(只有命令字)后跟上某條消息B的一段數據,在消息A的長度大于消息B,且消息A后數據為合理完整消息包結尾標志碼時,利用軟件會判斷這段數據為消息A,事實上,這段數據也可能為關于命令字A的置忙消息(無狀態字)和一條消息B,究竟是一條消息A還是關于命令字A的置忙消息(無狀態字)和一條消息B,在沒有架構格式一或格式二中的消息包頭特征字或在狀態字省略的情況下,必須通過人工參與分析才能判別出來。
③由于缺少針對各種消息統一的消息包頭特征字或各消息中的狀態字,所以無法解析出總線控制消息、其他消息和額外數據,雖然這些消息在有些數據處理要求文件中并沒有明確指出需要解析,但解析出總線數據中所有可能的消息,對分析系統總線的工作情況,尤其是消息載荷情況,具體掌握和分析總線工作過程都是十分重要的,是不可或缺的數據支撐。
④架構格式的不統一導致解析出來的消息原碼在格式上也存在一定的差異,這對數據的利用分析造成一定的困擾,尤其對那些不熟悉架構格式特點的人員,但若要求利用分析數據的人員都熟悉掌握每一種具體的架構格式,也不太實際。
總之,類似架構格式三或格式四的這種缺少對各種消息統一的消息包頭特征字和缺少狀態字的架構格式,是非常不利于消息解析的,很可能會造成個別條消息解析錯誤或個別重要消息丟失(在誤碼情況下),還無法解析出總線控制消息、其他消息和額外數據,造成事后無法分析系統的工作過程和狀態。另外,消息內容的隨意刪減或架構格式中數據字高低字節前后順序不符合GJB289A-97標準這些細節都給消息解析處理增加了復雜度,所以建議系統總線數據架構格式應更加規范、標準和統一。
本文梳理了當前常見的幾種1553B總線數據的架構特點,分析了架構格式對總線消息解析處理的影響,結合多次在試驗任務中對總線數據進行消息解析的實踐經驗總結,提出并實現了基于總線數據架構特點的三步走消息解析方法,著重分析了消息解析的關鍵三要素:消息包頭特征字、步長和合理完整消息包結尾標志碼。該方法已多次應用于飛行試驗任務數據處理中,效果良好,對其它新型飛行器系統的1553B總線數據處理具有借鑒意義。通過多次消息解析處理實踐發現,架構格式設計影響著解析消息結果的準確性和完整性,因此建議架構設計應更規范統一。
[1]熊華鋼.1553B總線通信技術的應用與發展[J].電子技術應用,1997,(8):27~28.Xiong Huagang.Application and Development of1553B Bus Communication Technology[J].Application of Electronic Technique,1997,(8):27 ~28.
[2]劉士全,雋 揚,蔡潔明,等.1553B總線應用發展研究[J].電子與封裝,2013,13(12):12~15.Liu Shiquan,Juan Yang,Cai Jieming, et al.Research on the Application Development of 1553B Bus[J].Electronics&Packaging,2013,13(12):12 ~15.
[3]張傳武,黃勤珍.Mil-Std-1553總線協議分析 [J].西南民族大學學報(自然科學版),2007,33(2):381~383.Zhang Chuanwu,Huang Qinzhen.Protocol Analysis of the Mil-Std-1553 Bus[J].Journal of Southwest University for Nationalities(Natural Science Edition),2007,33(2):381 ~383.
[4]安捷倫科技.MIL-STD-1553B總線簡介及測試方法[J].國外電子測量技術,2011,30(2):1~3.Agilent Technologies.Introduction and TestMethod of the MIL-STD-1553B Bus[J].Foreign Electronic Measurement Technology,2011,30(2):1 ~3.
[5]中華人民共和國電子工業部.GJB289A-1997數字式時分制指令、響應型多路傳輸數據總線[S].北京:中國航空工業總公司,1996.
[6]邵發聲.運載火箭遙測系統[M].北京:國防工業出版社,2004.
[7]楊延軍.靶場數據處理技術[M].北京:國防工業出版社,2008.
[8]陳以恩.遙測數據處理[M].北京:國防工業出版社,2002.