文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.07.040
中文引用格式: 淮治華,王鑫,樓曉強,等. GJB289A數據總線系統(tǒng)設計研究[J].電子技術應用,2016,42(7):159-163.
英文引用格式: Huai Zhihua,Wang Xin,Lou Xiaoqiang,et al. Research and design of the GJB289A data bus system[J].Application of Electronic Technique,2016,42(7):159-163.
0 引言
本系統(tǒng)設計包括系統(tǒng)頂層設計、系統(tǒng)設計實施和系統(tǒng)驗證測試三個階段[1]。總線系統(tǒng)設計優(yōu)化工作主要針對系統(tǒng)的綜合化程度、可重用性、易用性、通信效率和系統(tǒng)魯棒性[2]。綜合比較分析,采用SoC設計技術能同時滿足系統(tǒng)以上要求,采用SoC芯片的系統(tǒng)級解決方案使系統(tǒng)繼承了高度集成芯片帶來的諸多優(yōu)點(如圖1所示),最大程度提高了GJB289A數據總線系統(tǒng)的可靠性、集成度并顯著降低總線系統(tǒng)的重量及功耗[4-5]。總線通信處理SoC芯片為總線系統(tǒng)終端的研發(fā)及應用提供了一種全新的解決方案。該方案提供了一種基于專用芯片的MBI模塊化應用方案,能夠實現總線終端產品高度集成、高可靠性以及低功耗的設計目標[3]。
1 系統(tǒng)設計
GJB289A數據總線系統(tǒng)功能包括:實現2 Mb/s速率的GJB289A數據總線通信,總線配置工具支持總線通信控制表的設計和優(yōu)化,總線控制器實現事件、周期消息處理,所有終端實現雙冗余通道備份,備份總線控制器實現主備控制器切換等功能,支持總線中繼,為遠程終端遠距離信號傳輸提供支持。支持總線通信數據監(jiān)控、分析。本系統(tǒng)中所有節(jié)點均采用可替換單元進行設計,除MT節(jié)點外,所有終端的物理層、傳輸層和驅動層均通用,可互相替換。
1.1 架構設計
系統(tǒng)架構設計決定了系統(tǒng)的基礎架構,很大程度上決定了系統(tǒng)的效率、響應時間、可擴展性和系統(tǒng)容量。本系統(tǒng)節(jié)點數量較少,總線通信所需帶寬低于總線帶寬,采用總線式拓撲結構設計,結構簡單明了,設備連接與維護方便,可以滿足系統(tǒng)需求。系統(tǒng)架構設計如圖2所示。
1.2 系統(tǒng)關鍵設計
系統(tǒng)關鍵設計包括終端設計和系統(tǒng)調度控制設計。
本系統(tǒng)中所有終端的硬件、軟件和邏輯設計均采用總線通信處理SoC芯片進行設計,在芯片中,所有需要重用的部分均進行可編程處理,保證所有使用總線通信處理SoC芯片進行設計的標準MBI模塊能夠滿足系統(tǒng)中所有終端的功能需求。終端使用的軟件按照通用可編程原則進行設計,可滿足所有終端類型及所有總線系統(tǒng)的應用要求。
本系統(tǒng)通信過程中涉及到數據消息、系統(tǒng)控制、系統(tǒng)調度、同步、終端狀態(tài)查詢和數據更新狀態(tài)查詢等,在系統(tǒng)設計時,充分考慮了總線控制消息在整個總線通信過程中所占的比例。系統(tǒng)采用50 Hz的查詢頻率,滿足了最小周期消息20 ms延遲的要求,同時因查詢帶來的負載增加只有5%,充分平衡總線延遲與總線負載間的關系,使系統(tǒng)達到最佳通信狀態(tài)。數據更新狀態(tài)查詢消息頻率與總線負載的關系如圖3所示。
2 終端設計
2.1 BC設計
2.1.1 一般設計要求
BC通過發(fā)送指令字啟動總線上的通信,總線數據通信包括三種基本通信消息。
對于RT到BC的消息,BC首先向總線發(fā)送攜帶有目標RT地址、目標RT子地址、數據字個數和收發(fā)控制等信息的命令字,總線中所有RT均可接收到該命令,但僅當RT地址和命令字中包含的RT地址字段匹配時,RT才會響應該命令,并向總線發(fā)送數據。BC接收響應指令字的所有數據字,并把它們傳送給子系統(tǒng)。消息通信過程如圖4所示。
對于BC到RT消息,BC首先向總線發(fā)送攜帶有目標RT地址、目標RT子地址、數據字個數和收發(fā)控制等信息的命令字,隨后發(fā)送從子系統(tǒng)傳遞的規(guī)定個數的數據字,總線中所有RT均可接收到該命令,但僅當RT地址和命令字中包含的RT地址字段匹配時,RT才會響應該命令,并接收命令字后的數據字。消息通信過程如圖5所示。
對于RT到RT消息,BC首先向總線發(fā)送攜帶有目標RT1地址、目標RT1子地址、數據字個數和收發(fā)控制等信息的接收命令字,然后向總線發(fā)送攜帶有目標RT2地址、目標RT2子地址、數據字個數和收發(fā)控制等信息的發(fā)送命令字,RT1接收到命令后等候總線數據,RT2收到命令后響應狀態(tài)字并發(fā)送數據字,RT1接收完數據字后響應狀態(tài)字。BC在RT-RT通信過程中,可對總線通信實施監(jiān)控。消息通信過程如圖6所示。
2.1.2 備份BC設計
總線系統(tǒng)中以RT的身份掛接在總線系統(tǒng)中,在規(guī)定的情況下,可成為總線上的BC終端,稱作備份總線控制器。默認控制數據總線的控制器稱為主控制器,所有其他可承擔數據總線控制的終端稱為備份BC。
在圖2所示系統(tǒng)中,BC定期向BBC以帶數據字的同步方式命令發(fā)送WDT加載值,BBC接收到WDT加載數據后加載本地WDT計時器中。當WDT中斷發(fā)生時,表示BC無法和BBC通信,BBC即啟動切換,自動換為BC功能執(zhí)行總線控制。
2.1.3 總線終端控制機制
在總線系統(tǒng)中,終端控制一般包括:終端狀態(tài)查詢、終端狀態(tài)管理、終端狀態(tài)控制。
終端狀態(tài)查詢是BC獲取整個網絡狀態(tài)的有效手段,一般使用單播命令后RT響應的狀態(tài)字進行判斷,BC可獲取整個總線系統(tǒng)中共多少個終端,有多少終端正常在線,是否需要繼續(xù)查詢等信息。終端狀態(tài)管理用于將終端分門別類,一種RT可以正常通信,一種RT需要繼續(xù)查詢,并向子系統(tǒng)提供終端狀態(tài)信息供子系統(tǒng)使用。終端狀態(tài)控制用于消息傳輸出錯過程,當消息傳輸出錯后,BC將對出錯消息進行重試,當超過重試次數后,BC控制通信失敗終端下線,禁止相關通信命令,并啟動對該終端的狀態(tài)查詢。
2.2 RT設計
2.2.1 終端地址設計
在總線系統(tǒng)中,每個RT必須有一個且只有一個指定的終端地址,能夠實現廣播的RT也應識別終端地址字段為11111的指令。在總線上最多可以有31個RT,但是在GJB289A中并沒有規(guī)定如何把終端地址賦給RT。在方案設計中可通過兩種方式來實現。第一種方式是使用硬件方式實現,即可用的集成電路器件通常有5個離散輸入設定它們的終端地址,在實際使用時,這些引腳按照希望得到的終端地址被拉高或拉低;第二種方式是通過軟件方式實現,在設計中另一些RT沒有引腳,但是含有內部寄存器,在軟件控制下(通常在上電時)可以通過設置寄存器來將需要的終端地址賦給RT。
2.2.2 協(xié)議控制單元設計
在設計時RT必須能夠檢測到總線上對它的指令,并且按要求響應。當檢測到指令時,RT在4~12 μs后必須對該指令響應。這個時間是從BC傳送消息的最后一個字的奇偶位中間過零點算起,到響應的第一個字同步頭波形的中間過零點結束。RT不能接收任何無效的指令,若指令字以有效的同步頭波形開始,并有16個數據位,且有指示奇校驗的奇偶位,各位都是有效的曼徹斯特碼,同時若指令字中的終端地址與RT的終端地址(若RT實現廣播選項,則廣播終端地址為11111)相匹配,則該命令為對應RT的有效指令。若指令有效且在RT規(guī)定的指令集中,則該指令合法。RT不要求實現非法指令的檢測,但所有有效且合法的指令且必須按GJB289A要求的方式被響應。大多數RT在總線上檢測的消息并不是發(fā)給自己的消息,而是發(fā)給另一個RT的消息。檢測了字的前五位仍為有效的字,必須被完整讀入。若命令有效,則RT必須做出正確的反應。響應(若被要求)必須在要求的4~12 μs內啟動。為了能響應快些,當接收到字的同時,譯碼器逐位開始進行命令有效性測試。
2.2.3 主機接口設計
通過RT傳送的數據必須被發(fā)送到子系統(tǒng)或從子系統(tǒng)中取出,這些數據必須保持完整。RT功能只是按GJB289A要求的格式組織信息(即把數據在GJB289A格式和子系統(tǒng)可讀的格式之間互相轉換)。
RT在總線上傳送的數據是由在總線上接收到的命令控制的,而不是由子系統(tǒng)控制的。依據RT的智能化程度,需要設計一種機制讓RT通知子系統(tǒng)接收到有效指令或消息,該機制一般采用中斷實現。本系統(tǒng)設計為中斷方式向主機通知新消息。
2.2.4 非法指令處理
系統(tǒng)中允許有非法指令,GJB289A總線協(xié)議不要求RT檢測非法指令,僅要求RT使用消息錯狀態(tài)字響應非法指令。非法指令是規(guī)定RT不用的指令,但它是有效指令。非法指令在子系統(tǒng)級定義,而不是在RT級定義,所以不應由RT硬件確定哪些是非法指令。如果實現非法指令的檢測,RT的非法指令集由子系統(tǒng)來指定,且在系統(tǒng)規(guī)范中將非法指令定義清楚。在本系統(tǒng)中使用子系統(tǒng)可訪問的寄存器對RT非法子地址進行控制,RT接收到非法命令后僅響應消息錯的狀態(tài)字。
2.3 1553B總線配置工具
總線配置工具應用于系統(tǒng)設計與應用過程,用于按照ICD中消息的特性生成用于總線中BC節(jié)點進行通信控制的總線配置表,其中包含1553B總線運行過程中所需的節(jié)點數、命令塊、命令序列等各種信息。該工具支持拓撲/ICD圖形化配置,可簡化命令序列表構建過程,并對命令序列進行優(yōu)化,實現廣播消息配置,自動生成配置文件,并支持.h/XML等多種類型配置文件??偩€配置工具解決了配置表自動編排、總線系統(tǒng)配置/仿真技術難題。該工具已成功應用于某無人機航電系統(tǒng)設計,在應用過程中,編排了多個版次的總線表,并成功應用。
3 總線系統(tǒng)性能評估
數據總線負載和總線效率是衡量一個總線系統(tǒng)性能的重要標準??偩€負載反映了總線中數據吞吐量,總線效率反映了總線中理想數據吞吐量與實際數據吞吐量之間的比例關系,在總線命令等待響應期間是無法進行總線通信的,所以嚴格來講,總線響應時間也應計入總線負載計算中。數據總線負載的通用計算方式如式(1)所示,總線效率的通用計算方式如式(2)所示。
在系統(tǒng)中,往往將總線數據進行采集,然后將總線數據進行分類,統(tǒng)計數據字、狀態(tài)字、命令字的個數和響應時間累計值,最終得到總線負載。如:某系統(tǒng)總線監(jiān)控數據中,有命令字289 600個,狀態(tài)字289 600個,數據字5 792 000個,總線響應時間共1 737 600 μs,總線監(jiān)控時長600 s,總線負載即為(((289600+289600+5792000)×20+1737600)/(600000000)×100%=21.527%)。
總線系統(tǒng)設計過程中必須保證一定的總線負載余量,一般要求總線負載不超過80%。若總線負載較高,超過余量要求,則需要考慮增加總線,以降低單條總線負載,滿足負載余度要求。
若總線激活時間為1 s,則總線激活時間內最大可能信息傳輸量為1×106 bit,傳輸信息量為數據字、狀態(tài)字和指令字之和,1553B數據總線中所有類型的消息字長都為20,所以傳輸信息量為數據字、狀態(tài)字和指令字個數之和乘以20,總線負載即可按照式(3)進行計算??偩€上有效的數據是指總線上傳輸的數據字中數據位部分,因為每個數據字長為20,其中有效數據字長16 bit,所以總線效率計算方式如式(4)所示。
總線效率是總線通信效率的重要指標。假設某總線每秒僅發(fā)送一次BC-RT數據,若總線中數據字長為1,則總線效率為26.7%,若總線中數據字長為32,則總線效率為75.3%。假設某總線每秒發(fā)送一次RT-RT數據,若總線中數據字長為1,則總線效率為16%;若總線中數據字長為32,則總線效率為71.1%。由此可見,單條命令字中攜帶的數據字越長,總線效率越高,RT-BC/BC-RT消息傳輸時的總線效率高于RT-RT消息。在滿足總線設計要求的前提下,盡量減少短小數據包的消息數,盡量減少RT-RT消息通信數。某機載總線系統(tǒng)中,消息數量如表1所示。
如上所述,該總線效率為:
(((122+45+70)*50+(196+286+150)*25)+(384+396+210)*12.5+(40+10+32)*6.25)*16)/(((5+3+4*2)*2*50+(7+11+6*2)*2*25+(24+22+7*2)*2*12.5+(2+1+4*2)*2*6.25+((122+45+70)*50+(196+286+150)*25)+(384+396+210)*12.5+(40+10+32)*6.25))*20)*100%=73.04%。
4 系統(tǒng)驗證
系統(tǒng)驗證遵循由終端到系統(tǒng)、由功能到性能、由基礎到全面的原則,要求所有系統(tǒng)功能均能被驗證。
4.1 系統(tǒng)終端功能驗證
在系統(tǒng)終端功能驗證階段,設計了驗證用例對系統(tǒng)各終端功能進行驗證,驗證用例如表2所示。
經驗證,所有終端均可完成獨立的RT、BC、BBC功能設置;所有終端的通用功能(方式命令執(zhí)行/發(fā)送)均正常;所有終端數據處理功能(數據接收、數據發(fā)送)正常;所有終端主機接口功能(主機→終端的命令下發(fā)、終端→主機的數據上報和中斷上報)正常;所有終端均可對數據進行正確解析。
經驗證,所有終端均可完成獨立的RT、BC、BBC功能設置;所有終端的通用功能(方式命令執(zhí)行/發(fā)送)均正常;所有終端數據處理功能(數據接收、數據發(fā)送)正常;所有終端主機接口功能(主機→終端的命令下發(fā)、終端→主機的數據上報和中斷上報)正常;所有終端均可對數據進行正確解析。
4.2 系統(tǒng)功能及性能驗證
當終端功能測試完成后需要進行系統(tǒng)功能測試,這個過程需要系統(tǒng)中的所有終端共同參與。系統(tǒng)進行系統(tǒng)功能測試時采用的驗證項如表3所示。
經測試,所有終端單獨存在的情況下,可正常完成數據的接收、發(fā)送和解析,所有數據均正確反映在應用層界面上,所有終端的數據均符合設計要求;系統(tǒng)所有終端均工作的情況下,所有終端可正常完成數據的接收、發(fā)送和解析,所有數據均正確反映在應用層界面上,所有終端的數據均符合設計要求,系統(tǒng)中的數據方向、數據格式、數據長度與總線ICD一致。
系統(tǒng)負載是通過Alta卡觀察和軟件分析得到的,總線負載測試結果為70%,與理論值一致。系統(tǒng)效率分析是通過自編軟件按照總線系統(tǒng)效率分析公式對Alta卡捕獲的總線數據文件進行分析進行,最終總線系統(tǒng)效率測試分析結果為60%。
4.3 系統(tǒng)的兼容性
本系統(tǒng)中的所有終端均采用同一設計方案進行設計,所以系統(tǒng)集成時排除不兼容終端對系統(tǒng)的影響。若系統(tǒng)中存在不同的終端設計,則必須考慮不兼容終端對系統(tǒng)的影響,比如:系統(tǒng)中存在響應時間為12 μs的RT,則在總線系統(tǒng)調度時,必須考慮該RT的命令延時對總線通信調度的影響。系統(tǒng)設計中,在條件允許的情況下盡量使用同一種總線標準,可減少大量的系統(tǒng)集成問題。
5 總結
GJB289A數據總線系統(tǒng)具備完整的總線系統(tǒng)結構,其備份BC和雙冗余總線的設置有效地增加了總線系統(tǒng)的可靠性,完全滿足航空機載數據總線的實時性、可靠性要求。本文介紹了GJB289A數據總線的系統(tǒng)拓撲結構,詳細分析及研究了GJB289A數據總線系統(tǒng)設計的關鍵技術,并通過系統(tǒng)驗證,為其在航空、航天、兵器等防務領域的廣泛應用提供了技術支撐。
參考文獻
[1] 陳永奇,馬迎建,石多.1553B總線應用[J].電子測量技術,2006(5).
[2] 支超有.機載數據總線技術及其應用[M].北京:國防工業(yè)出版社,2009:40-42.
[3] DDC.MIL-STD-1553 designer′s guide[M].6thed.ILC Data Device Corporation,1998.
[4] Advanced Communication Engine(ACE).MIL-STD-1553A/B notice 2 RT and BC/RT/MT[P].New York:Data Device Corporation,1999.
[5] 中航工業(yè)總公司.GJB 289A-97.數字式時分制指令/響應型多路傳輸數據總線[S].北京:中國航空工業(yè)總公司615所和301所,1997.