文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.07.039
中文引用格式: 楊峰,廖寅龍,王鑫,等. GJB289A總線應用層協議分析及研究[J].電子技術應用,2016,42(7):154-158,170.
英文引用格式: Yang Feng,Liao Yinlong,Wang Xin,et al. Analysis and research of the GJB289A bus application layer protocol[J].Application of Electronic Technique,2016,42(7):154-158,170.
0 引言
依據GJB289A數據總線在國內外使用的情況,其標準GJB289A數據總線協議體系從總線行為、測試方法及應用方案等多個方面對總線進行了規約,整個協議體系包括9個協議文件,其中應用協議為GJBZ 209-2002,主要規定了數據總線的系統設計、終端設計及介質設計等系統設計詳細內容[1]。
GJB289A數據總線應用于航空、航天、彈載、空間站等眾多領域[2-3],在總線應用過程中,為了解決總線數據更新查詢問題,多數系統采用了改進型靜態總線控制協議(ISBC)進行系統設計,該協議為總線控制提供了一種可靠、實時、安全的控制策略[4-5]。總線控制機制的設計優化對提高總線通信的實時性、穩定性和可靠性有重大意義[6-7]。
GJBZ209中對GJB289A總線協議進行了解釋說明及補充,提供了數據字格式及消息格式準則,并對總線系統中介質設計、終端設計和系統設計進行說明,介紹了多路傳輸系統實例。下面就從系統拓撲架構設計、總線終端設計方法、總線控制設計和系統性能分析等方面對總線應用層協議進行研究,同時對ISBC協議的詳細內容進行講解。
1 系統拓撲架構設計
總線系統拓撲設計取決于總線系統規模、系統數據通信帶寬和系統安全性需求。若系統規模超過了單總線所能容納的節點數目時,則需要通過級聯總線拓撲的模式對系統容量進行擴展。若系統數據通信帶寬要求超過了總線帶寬,則需要采用并聯的拓撲結構,增加總線帶寬。若系統安全性需求較高,則需要采用增加冗余備份鏈路的方式提高系統可靠性。拓撲設計很大程度上決定了系統的效率、響應時間、可擴展性和系統容量,若系統容量、帶寬較小且無特殊需求,一般采用總線式拓撲結構設計,結構簡單明了,設備連接與維護方便,其拓撲結構如圖1所示。
2 終端設計方法
系統中所有終端設計均需要在總線通信標準和接口控制文件的雙重規范下進行。總線標準規定了總線接口的電氣特性、編碼標準和消息處理方式,系統接口控制文件規定了消息的內容、消息的屬性和終端對總線數據的處理和響應。這兩者的共同作用保證了系統設計的一致性,如圖2所示。
在系統設計之前充分考慮了系統中所有使用的數據通信和系統控制內容,并制定出系統接口控制文件。系統接口控制文件對總線終端的通信子地址、消息長度、消息頻率、廣播消息和方式命令消息的處理進行規定,所有的終端設計必須嚴格遵循系統接口控制文件進行設計和開發。系統接口控制文件約定了整個系統的通信內容需求,所以系統接口控制文件設計完成后需要在總線仿真系統中進行仿真模擬,做大量充分的實驗,并對實驗數據進行分析、討論,對不符合系統要求的部分進行修改,然后重新進行實驗,多次迭代后方能保證系統接口控制文件中所有項正確無誤。
系統中所有終端的硬件、軟件和邏輯設計均應具有可重用性,在不改變原有設計的情況下,通過軟件對寄存器進行編程,即可實現不同的總線角色或不同的終端。所有的終端實現了功能可編程、遠程終端地址可編程、遠程終端子地址控制可編程和方式命令控制可編程。
系統通信過程中涉及到數據消息、系統控制、系統調度、同步、終端狀態查詢和數據更新狀態查詢等,在系統設計時,充分考慮了總線控制消息在整個總線通信過程中所占的比例。總線系統通信效率是指通信過程中,總線上的數據所占用帶寬與總線使用帶寬之間的比值。數據更新狀態查詢頻率決定了消息發送的延遲,但是數據更新狀態查詢頻率過高會在很大程度上增加總線負載,降低總線通信效率。
系統采用標準的總線式拓撲,降低系統設計的復雜性有助于降低系統設計難度,提高系統的易用性、可維護性。在總線式拓撲能夠滿足應用需求的情況下,不采用并聯拓撲或級聯拓撲,采用并聯拓撲或級聯拓撲是為了滿足系統對帶寬和總線容量更高的要求。系統采用靜態總線控制機制進行總線控制器設計,動態總線控制器使總線控制變得更加復雜,且在總線控制器切換過程中,必然導致總線通信中斷,影響總線通信穩定性,所以不采用動態總線控制機制。
系統魯棒性是衡量系統性能的一個重要指標,決定系統魯棒性因素有很多,在GJB289A數據總線系統中,總線物理傳輸路徑是雙冗余的,這是總線系統標準規定的提高魯棒性的方法,在實際系統應用過程中,有些關鍵節點會實現節點備份(比如BC節點),如圖3所示。為提高總線系統魯棒性,系統中所有節點要做好邊界處理,防止系統意外崩潰。除此之外,所有終端應具備完善、可靠的異常處理機制,當異常發生時,應能迅速處理異常并恢復通信。
3 總線控制設計
機載總線在設計和運行時應該考慮以下幾點:
(1)單一鏈路上的檢錯和糾錯能力;
(2)鏈路的冗余鏈接;
(3)總線系統的故障終端識別、隔離和系統重構能力;
(4)物理層滿足高帶寬,傳輸線纜的低延遲特性;
(5)數據鏈路層協議能夠保證消息傳輸延遲的確定性;
(6)數據包大小應在首先滿足控制命令和狀態等短信息的前提下,滿足冗長消息的傳輸。
由于機載總線在設計上具備開放性、互可操作性、對環境的適應性、通信的實時性、可靠性以及確定性等特點,使得在航空電子系統的設計、安裝、投運和檢修維護上更加方便。機載總線具有以下特點:
(1)節省硬件數量與投資;
(2)節省安裝和維護費用;
(3)用戶具有系統的集成的主動權;
(4)提高了系統的主動性和可靠性。
GJB289A數據總線在高層協議上針對系統的大小和復雜程度也存在很大不同,但各種高層協議的規定和總線控制方法都有以下原則:
(1)數據流均勻原則。作為總線一切活動的控制者,BC必須綜合考慮所有的數據傳輸,對于不同頻率產生的數據,按照流量進行合理的控制安排,尤其是對于一些多級總線結構需要經過數層系統下傳輸數據的總線系統,應該以較均勻的數據流避免給數傳系統增加負擔,造成總線過載。
(2)終端兼顧原則。總線上的終端大多數工作在實時工作狀態中,尤其對于終端對時間要求比較嚴格的設備,通信的暢通和及時是至關重要的,因而必須按照各終端的最小要求頻率制訂高層通信協議,總線控制則要按照各個終端的通信頻率安排好通信周期。
(3)可靠性原則。GJB289A的可靠性措施保證了整個系統安全有效的進行工作。但在總線控制中,能否用好協議提供的可靠性措施,是提高總線系統可靠性的關鍵。
(4)統一處理原則。總線控制必須考慮到可實現性和實現處理的統一性,在實際中,過多的特殊要求將給總線的控制帶來麻煩,如各終端的數據包大小都有各自的要求,如果滿足所有終端的要求,必將使高層協議極為復雜。規定統一、合適的數據包大小,讓所有終端都按此進行通信,將對總線處理和后續的其他工作帶來方便,這也是在設計高層協議中必須考慮的。
(5)避免沖突原則。總線控制必須考慮到各終端的響應及處理,因而在安排通信時,應避免對同一個終端地址安排連續的總線消息(針對同一子地址的連續數據傳輸消息除外)。總線控制要給予同一個終端地址足夠的消息響應處理時間,采用合理安全的數據傳輸和讀寫操作握手機制。
各種高層協議的規定和總線控制方法都是為了提高GJB289A數據總線的利用率,提供穩定的、安全的、可靠性的多路數據傳輸總線,總線控制器能夠展開合理的差錯控制措施和特有的方式命令調度保證各個遠程終端在總線控制器的作用下完成數據的傳輸,并保證數據傳輸的完整性。
根據以上的總線控制原則,總線控制可以有多種靈活的方法。總線控制的設計十分靈活,只要可行、可靠,都是適用的。下面根據應用背景介紹一種總線控制方法。
有些總線系統的結構較為單一,終端數量較少,傳輸的數據種類不多,總線上消息活動不是很頻繁,總線控制便可以在單活動區下進行。根據各終端的數據通信頻率,定義一個大的輪詢周期。對某個終端的消息安排可以直接在一個周期內,不必考慮其他終端。同時可以在該周期結束后直接進行處理,并按協議繼續對該終端安排消息活動,依次對各個終端進行如上處理后,便完成一次輪詢。輪詢的時間周期需要靠軟件控制好。
如果有終端要求的頻率較高,可以在大的輪詢周期內多安排幾次,如圖4所示,整個輪詢周期為1 s,其中終端2為較高數據率終端,因而可以在總的周期內安排2次服務。
這種方式的優點是控制流程簡單,避免了軟件的可靠性問題。該種方式針對整個系統數據流量不大的情況,總線消息的安排不需要提前寫入消息塊中,可以動態的方式進行安排,如果功能較多,可以采用主、次周期的方式。示意圖如圖5所示。
4 ISBC協議
4.1 ISBC協議概述
在航空電子綜合系統中,數據消息傳輸的最重要的參數之一是該消息的允許延遲時間。延遲時間定義為數據從消息源產生的瞬間到接收端可獲取數據所經歷的時間總量。確定一個消息的傳輸速率,取決于它的延遲時間,而不是它的產生(或更新)速率。
總線控制器(BC)是總線上的重要組成。總線上所有消息的傳輸都由BC來激勵和控制,是總線進行通信的開關。為了處理非周期消息,在總線上必須對BC原有的靜態總線控制協議進行改進,改進后的協議稱為ISBC(刷新數據傳輸機制),其特點為:
(1)僅當消息被更新后才進行傳輸,其工作機理為更新檢測傳輸(UPD&T);
(2)消息傳輸周期是變化的。一個周期消息完成后立即開始新的周期,即大周期和小周期是可變的;
(3)總線控制器根據各消息塊的延遲時間要求按照事先定義的速率向各個RT發送方式指令并讀取矢量字。BC將根據矢量字的置位情況來判斷是否有新的消息產生,如果矢量字的某一位置1說明有新的消息產生,則BC按照總線表在要傳輸此消息時便組織此消息的傳輸;否則便不組織此消息的傳輸。在消息塊被傳輸之后,遠程終端復位矢量字中的相應位,當有新數據塊產生時,遠程終端置位矢量字中的相應位。
采用可變化傳輸周期的模式既能保證具有最長的最大延遲時間的消息的實施傳輸,也能保證具有最短最大延遲時間的消息的實時傳輸。另一方面,這一協議適用于既有同步傳輸又有異步傳輸的通信系統。這一協議的應用降低了通信系統的負載和平均延遲時間,大大改善了子系統的性能。
具有遵守ISBC協議能力的RT,其每一個子地址在用于該RT的專用矢量字中皆有一個相對應的位,用于表示該子地址的消息數據的更新狀態,矢量字的最低比特位(bit 15)與子地址#1相對應,最高比特位(bit 0)與子地址#16相對應。
實際上,RT的輸出子地址的個數最多可達30,只有子地址1-16可使用ISBC協議。輸出過程如下:
(1)子系統將消息塊放入共享存儲器,如果該消息塊的子地址在子地址#1--#16的范圍內,則與該子地址對應的矢量字位將被置位為1;
(2)BC使用“發送矢量字”方式指令查詢終端RT;
(3)RT向BC傳送其矢量字;
(4)BC在根據總線表控制執行總線數據消息傳遞的過程中,檢查與總線表指令相關的RT矢量字的對應位,如果該位已被置為1,BC則將組織該RT發送更新消息,同時該位被復位。
如果傳輸數據是由BC產生的,BC只需檢查該數據塊是否刷新,如果數據被刷新,該消息即被組織發送。
4.2 ISBC傳輸模式
ISBC(刷新數據傳輸機制)是改進的靜態總線控制器協議,僅傳輸刷新消息。該機制用于以下幾種傳輸模式:
(1)RT產生的數據:RT—BC,RT—RT;
(2)BC產生的數據:BC—RT。
若RT遵守ISBC協議,其每一個子地址在用于該RT的專用矢量字中皆有一個相對應的位,用于表示該子地址的消息數據的更新狀態,矢量字的最低比特位(bit 0)與子地址#1相對應,最高比特位(bit 15)與子地址#16相對應。
RT的輸出子地址的個數最多可達30,只有子地址1-16可使用ISBC協議。輸出過程如下:
(1)子系統將消息塊放入MBI雙口共享存儲器,如果該消息塊的子地址在子地址#1--#16的范圍內,則與該子地址對應的矢量字位將被置位為1;
(2)BC使用“發送矢量字”方式指令查詢終端RT;
(3)RT向BC傳送其矢量字;
(4)BC在根據總線表控制執行總線數據消息傳遞的過程中,檢查與總線表指令相關的RT矢量字的對應位,如果該位已被置為1,BC則將組織該RT發送更新消息,同時該位被復位。
如果傳輸數據是由BC產生的,BC只需檢查該數據塊是否刷新,如果數據被刷新,相關命令即被使能,該消息即被組織發送。
4.3 ISBC協議通信延時分析
總線延遲與總線系統調度有關,由于本系統中采用了ISBC協議來進行調度,所以總線中的延時與消息類型有關。數據在總線上傳輸的延時主要包含:應用層與驅動層間數據延時、驅動層與傳輸層間數據延時,傳輸層與物理層間數據延時。數據在一個完整的單向傳輸過程中歷經兩次延時過程,延時過程示意圖如圖6所示。
由調度策略引起的延時包含獲取矢量字延時、命令發送延時。
BC→RT的消息延時主要由發送子系統主機與BC終端間數據交互延時、命令調度延時、發送終端發送消息延時、數據傳輸延時、接收終端接收消息延時、接收子系統主機與RT終端數據交互延時組成。
RT→BC的消息延時主要由BC命令調度延時、終端發送消息延時、消息傳輸延時、BC接收消息延時、子系統主機與BC終端數據交互延時組成。
RT→RT消息延時由命令調度延時、子系統與發送RT終端數據交互延時,發送消息延時、傳輸延時、接收消息延時、子系統與接收RT終端數據交互延時組成,矢量字延時包含于命令調度延時之中。
綜合系統的特性,決定采用標準總線拓撲結構進行系統設計。這種總線具有適合于對總線可靠性要求不高的系統,本系統用于進行系統傳輸驗證和新的總線系統系統開發,對總線系統可靠性沒有特別的要求。標準總線的傳輸控制較為簡單,系統傳輸故障率較低,適合本系統使用。
5 系統性能分析
系統負載和效率測試分析的基本思想為:總線負載為總線時間中已使用總線時間所占用的比率,因為總線中的通信速率為2 Mb/s,所以每一位數據所占用的時間為500 ns,已使用總線時間等效于單位時間(1 s)內總線上指令字、狀態字和數據字所傳輸位數總和。總線負載即:((單位時間(1 s)內總線上數據位數/2000000)×100)%。示意圖如圖7所示。
數據總線負載和總線效率是衡量一個總線系統性能的重要標準。總線負載反映了總線中數據吞吐量,總線效率反映了總線中理想數據吞吐量與實際數據吞吐量之間的比例關系。總線系統通信過程中涉及到數據消息、系統控制、系統調度、同步、終端狀態查詢和數據更新狀態查詢等,在系統設計時,需要充分考慮總線控制消息在整個總線通信過程中所占的比例。數據更新狀態查詢頻率決定了消息發送的延遲,但是數據更新狀態查詢頻率過高會很大程度上增加總線負載,降低總線通信效率,所以在總線設計時,需要平衡總線延遲與總線負載間的關系,使系統達到最佳通信狀態。
6 總結
本文對GJB289A總線應用層協議進行了分析,主要研究了其系統拓撲架構設計、終端設計方法、總線控制技術、系統性能分析和應用及ISBC協議。ISBC協議適用于基于查詢總線調度策略的GJB289A數據總線系統,簡化了數據傳輸控制機制,降低了總線消息延遲,增強了總線的使用率。該協議目前已被使用在多個領域GJB289A數據總線系統中。通過對ISBC協議的應用進行研究,可更加深入地對總線系統控制機制進行理解,可優化系統設計,為GJB289A數據總線系統的廣泛應用奠定了堅實的理論基礎。
參考文獻
[1] GJBZ209-2002.數字式時分制指令/響應型多路傳輸數據總線應用手冊[S].2002.
[2] MIL-STD-1553B-1989.飛機內部時分制指令/響應式多路傳輸數據總線[S].1989.
[3] 陳永奇,馬迎建,石多.1553B總線應用[J].電子測量技術,2006(5).
[4] GJB 289A-97.數字式時分制指令/響應型多路傳輸數據總線[S].北京:中國航空工業總公司615所和301所,1997.
[5] 郭澤仁.1553B總線系統優化及可靠性設計[J].山東理工大學學報(自然科學版),2008,22(1):67-70.
[6] 田澤,韓煒,趙強,等.1553B總線接口SoC設計與實現[J].航空計算技術,2008(9):15-21.
[7] 支超有.機載數據總線技術及其應用[M].北京:國防工業出版社,2009.