文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.06.002
中文引用格式: 楊峰,陳偉,王宣明,等. 1394總線關鍵協議分析與研究[J].電子技術應用,2016,42(6):7-9,16.
英文引用格式: Yang Feng,Chen Wei,Wang Xuanming,et al. Analysis and research of 1394 bus key protocol[J].Application of Electronic Technique,2016,42(6):7-9,16.
0 引言
IEEE 1394b協議具有傳輸帶寬高、速度快和傳輸距離長等技術特點,廣泛用于傳輸多媒體數據[1]。但IEEE 1394b協議是基于商用、工業級1394總線設備制定的,未對介質特性、包格式、消息有效性及系統完整性等進行約束,不能滿足機載領域中對總線高實時性和高可靠性的要求。本文基于IEEE 1394b協議在機載領域中延時高、可靠性低的不足,描述了1394總線協議的新特性,并詳細分析了總線拓撲結構、總線包格式和總線可靠性等關鍵協議。
1 概述
SAE(國際機動車工程師學會)為了滿足機載領域中對總線確定性和可靠性要求,建立并發布一套專用1394總線協議體系,即1394總線協議體系。1394總線協議體系主要由六部分組成,其中1394總線接口特性(AS5643)是核心協議,規定了總線包格式、拓撲結構、節點操作、消息完整性管理和系統完整性管理等要求;銅介質接口特性(AS5643/1)規定了銅介質發送/接收傳輸特性指標要求;其他協議是基于1394總線接口特性、銅介質接口特性規定了總線接口特性測試方法、介質特性測試方法、應用指南和常見問題解決方法,具體描述如表1所示。
2 關鍵協議分析
本節將從總線拓撲結構、總線包格式及總線可靠性關鍵協議入手,分析和研究1394總線的關鍵協議。
2.1 總線拓撲結構
1394總線協議根據IEEE-1394b協議本身提供的拓撲結構并結合機載應用特點推薦了3種總線構型,分別為樹狀拓撲、環形拓撲和三余度環形拓撲。
樹狀拓撲結構如圖1中CC-A的Bus3所示,拓撲結構簡單,但其可靠性不高,單節點故障將會影響其他節點通信功能。環形拓撲結構如圖1中CC-A的Bus1所示,節點間連成環形,1394總線協議提供的環檢測和環斷開功能將自動檢測總線拓撲的環路,若檢測到環路,則自動禁止某兩個端口間的連接,斷開環路形成樹狀拓撲。如果任意一個節點故障,那么總線將故障節點自動重構為新樹結構的末端,使其不影響其他節點間的通信,為系統提供第一級容錯能力。
1394總線三余度總線拓撲如圖1所示,由3臺飛管計算機組成余度結構,每臺飛管計算機有3個CC節點,每個節點作為CC連接其他遠程節點組成一條總線。每個CC節點負責總線同步、總線控制管理,三余度飛管計算機通過交叉互聯鏈路(CCDL)連接,實現三余度飛管計算機的數據交互功能,提供另一級容錯[2]。
2.2 總線包格式
1394總線協議規定采用STOF包實現總線同步,并使用異步流包完成總線的通信功能。STOF包由CC節點按照系統周期進行周期性的廣播發送,該消息通道號默認為31通道,每個遠程節點都能收到STOF包,并完成總線的同步功能;其中STOF包負載中還包括總線狀態字、系統模式字、系統時間、飛機時間等信息,用于控制總線狀態及傳遞指令信息。
總線使用異步流包進行數據傳輸,每個節點均按預先分配的總線帶寬進行數據發送。異步流包由1394頭、ASM頭、Payload數據(包含心跳、健康狀態字)、包尾和數據CRC組成,如圖2所示[3],其中1394頭和數據CRC為IEEE-1394協議中規定的內容,定義異步流包采用通道號尋址,并具備包頭CRC和數據CRC校驗功能。其余部分為Mil-1394總線協議為保證數據通信可靠性和確定性增加的內容。
2.3 總線可靠性
1394總線可靠性主要從消息完整性管理、系統完整性管理及電氣特性指標要求三方面體現。為了實現消息完整性的管理,1394協議主要在包格式定義和傳輸過程中對消息完整性進行檢測和校驗。系統完整性管理主要體現在遠程節點對控制計算機(CC)的有效性判斷,CC是1394總線最重要的節點,實現總線同步及總線管理等功能。電氣特性指標主要規定了發送端和接收端物理特性參數范圍,保證線纜上模擬信號傳輸的可靠性。
2.3.1 消息完整性管理
1394總線消息完整性管理主要從異步流包格式和傳輸過程中消息有效性判斷兩個方面實現:
(1)在包格式定義方面,如圖2所示,異步流包中定義縱向奇偶校驗(VPC)、健康狀態字、心跳和狀態字等實現消息完整性管理。具體描述如下所示:
①縱向奇偶校驗是將包負載的每個數據字進行按位異或,再把異或得到的值按位取反。在物理層和軟件層進行消息傳輸時,縱向奇偶校驗對數據的完整性增加了一種保障;
②健康狀態字是異步流包負載區的第一個字,它主要以包錯誤、子系統錯誤、節點錯誤和節點端口狀態來指示節點故障;
③心跳是描述接收新數據到來的一個狀態,隨著新一幀數據的到來,心跳會加1,心跳由系統應用軟件更新;
④狀態字是STOF包負載的第一個字,表明總線上CC節點的故障狀態。
(2)在傳輸過程中,規定STOF接收偏移的精度應為STOF幀速率的1.0%或100 μs,二者中選擇較大的值,若超出精度范圍則認為數據無效,記錄錯誤計數,連續錯誤達到指定計數后,向系統上報故障,可以通過查看錯誤消息狀態寄存器獲取故障狀態[4]。
2.3.2 系統完整性管理
1394總線系統完整性管理是指RN節點監控CC節點發送的STOF包,從而判斷CC節點的失效狀態,并檢驗1394總線操作的正確性以及CC節點軟件運行的正確性。為使總線操作過程中遠程節點能成功接收CC節點的數據,CC節點應滿足如下3個條件:
(1)STOF包周期是有效的;
(2)STOF包是有效的;
(3)CC發送異步流消息是有效的。
1394總線系統完整性管理主要從以上3個條件出發,對CC節點的有效性進行管理,具體流程如圖3所示。
2.3.3 電氣特性指標
1394總線協議對總線設備終端和傳輸信號的物理特性進行了定義。發送端主要從發送信號幅值、上升/下降時間、抖動等參數對發送信號進行了約束;接收端從接收靈敏度、輸入阻抗、變壓器插入損耗對接收端物理特性進行約束,同時規定了到達接收端的信號幅值,保證信號能被準確接收。具體電氣特性指標見表2、表3[5]。
3 結論
通過對1394總線關鍵協議深入地分析和研究,并依據本協議設計實現了機載產品。經過大量測試及系統聯試、試飛試驗等驗證,結果表明,1394總線協議能夠滿足新一代安全關鍵/任務關鍵系統對通信網絡的確定性、可靠性和實時性的要求,并且已成功應用于多個航空重點型號項目。對于新一代航空系統總線系列產品的設計、實現具有一定的指導價值,為1394總線推廣到航天、兵器、船舶等其他軍工領域提供了技術支撐。
參考文獻
[1] 1394b:IEEE standard for a high performance serial busamendment 2[S].The Institute of Electrical and Electronics Engineers,Inc,2002.
[2] SAE-AS5643:IEEE-1394b interface requirements for and aerospace vehicle applications[S].SAE Aerospace,REV.A,2006.
[3] 王亞明,史潔琴.關于IEEE1394總線異步數據包配置的分析[J].計算機與現代化,2007(9):68-71.
[4] 趙彬,田澤,楊峰,等.基于AS5643協議的接口模塊設計與實現[J].計算機技術與發展,2013,23(8):100-102.
[5] 張大樸,王曉,張大力,等.IEEE1394協議及接口設計[M].西安:西安電子科技大學出版社,2004.