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