摘 要: 通過分析1553B總線通信協議和結構, 研究了1553B總線通信的實現方法,并詳細介紹了1553B總線通信在某型測試系統中的硬件和軟件設計方法。該方法實現了1553B總線通信的控制和在線監控,對其他設備和測試系統1553B總線設計具有一定的參考值。
關鍵詞: 1553B總線; 總線控制器; 總線監視器; 測試系統
中圖分類號: TN925?34 文獻標識碼: A 文章編號: 1004?373X(2013)07?0044?03
0 引 言
MIL?STD?1553B總線是美軍為其航空應用定義的串行多路數據總線標準,其數據傳輸率為1 MHz/s,具有實時性好、抗干擾能力強、冗余備份、易于擴展等優點,是一種確定的、可靠的、命令/響應式數據通信標準。我國于20世紀90年代引進和應用該標準,目前該標準已廣泛應用在國內機載各設備間及武器外掛管理上。
某型機載設備與載機火控系統之間采用1553B總線實現數據通信和時序控制。本文在研究1553B總線協議的基礎上,討論某型機載設備總體性能測試中利用1553B多功能板卡模擬載機1553B總線通信,實現機載設備總體測試控制并對測試系統與機載設備間總線交換信息實時記錄。
1 1553B總線
1.1 1553B總線概述
MIL?STD?1553B總線是一種時分指令/響應多路傳輸數據總線,該標準是20世紀70年代由美國軍方和政府公布的一種串行多路數據總線標準。該總線標準規定了飛機內部數字式的命令/響應時分制多路數據總線的技術要求,同時規定了多路總線的操作方式和總線上的信息流的格式一級電氣規范[1]。
1553B總線系統主要包括終端模塊、耦合器、電纜、電纜連接器、終端匹配器等,它們通過兩根冗余電纜連接,最多可掛接32個終端。在總線通信過程中一條總線(A總線)工作,另一條總線(B總線)處于熱備份狀態;總線耦合有直接耦合與變壓器耦合兩種方式。典型的1553B總線系統應用如圖1所示。
1553B總線通信系統
總線系統聯接的終端按其作用分為總線控制器(BC)、遠程終端(RT)和總線監控器(BM或MT)。BC是在總線上惟一的建立和啟動數據傳輸任務的控制終端;RT是數據總線上用戶子系統終端,在BC的控制下提取或接收總線數據;總線監控器(BM或MT)監控總線上的信息傳輸,并能對總線上數據進行記錄和分析,本身不參與總線通信。每個終端被分配了惟一的總線形式,各終端之間信息傳輸方式有:BC到RT、RT到BC、RT到 RT、廣播方式和系統控制方式。
1.2 1553B總線通信
1553B總線通信以周期為單位批量進行,消息是周期內數據傳輸的最小單位。總線標準定義了3種字類型:命令字、數據字和狀態字。每類字的字長為20位:包括3位同步頭、16位信息段及1個奇偶校驗位,信息字的詳細格式
1553B字格式
命令字的16位有效消息段依次為5位 RT 地址,1位RT端收發標志位,5位RT子地址/方式代碼,5位數據字計數/方式代碼,數據字的16位有效消息為傳輸的有效數據信息,狀態字的16為有效消息包括5位本RT端地址、8位指示了通信狀態和本RT端及子系統狀態的信息位,3位備用位。命令字由BC端發出,狀態字由被尋址的RT發出以響應BC端的消息。二者同步頭相同,1個半比特位為高電平,1個半比特位為低電平,數據字的同步頭和命令字、狀態字相反,先低電平后高電平。
1553B消息是指由1個命令字、1個狀態字、若干個數據字(字數從0~32不等)及狀態字間隔在內的傳輸序列。每個消息至少有2個字:1個命令字和1個狀態字,最多包含34個字。如果需要完成一定的功能,就要將多個消息組織起來,形成一個新的結構叫做幀。
1553B總線上消息傳輸的過程是:由總線控制器向某一終端發布一個接收/發送指令,終端在給定的響應時間內發回一個狀態字并執行消息的接收/發送。BC通過驗收RT回答的狀態字來檢驗傳輸是否成功并作后續的操作。
2 1553B總線通信設計
2.1 硬件設計
某型機載設備與載機火控系統之間通過1553B總線進行總線通信和時序控制。載機火控系統作為總線BC端,機載設備作為總線RT端。為進行設備的性能測試,機載設備總體測試設備(ATE)設計1553B總線控制器(BC),模擬飛機火控系統與機載設備進行總線通信和設備控制;同時測試系統與產品的1553B總線交換信息直接影響產品的工作時序和狀態轉換,系統需要在線記錄和保存總線上所有信息(BM模式),以便于監視產品工作狀態和故障情況的分析。
根據系統需要,本方案中選用成都恩菲特公司符合1553B標準的EP?H6273雙通道多功能卡。該板卡有兩個1553B通道,在同一時間每個通道可分別設置為BC、RT或BM功能。本系統中該板卡的一個通道設置為BC端,每年載機對設備和產品間的總線通信進行控制;另一個通道設置為BM端,通過電纜耦合,實時對設備與產品間的所有總線通信信息進行監測記錄。
1553B終端可以以兩種方式連接到總線:直接耦合和變壓器耦合。直接耦合是用短截線直接連接總線主電纜和終端的方式,其使用方便,但是通信距離比較短,一般在對距離要求不高的場合使用。變壓器耦合是終端通過耦合變壓器連接到主電纜上的方式,本方式具有良好的抗干擾能力,能夠在長距離總線通信上使用。本方案中測試系統與產品間有6 m以上的距離,因此采用變壓器耦合連接方式。
2.2 信息設計
某型機載設備總體測試中總線控制端(BC)與產品間(RT)的信息通信主要有:同步時間、產品狀態矢量字查詢、緩變信息等不同周期的周期信息和控制指令等非周期信息。為保證1553B總線上周期信息能夠實時完整的傳輸,在傳輸消息之前,應按照每條消息的序號建立消息幀,設定消息主幀的周期。消息主幀的周期等于所有消息中周期最小的消息的周期,其余周期消息的次幀周期設置為消息主幀周期的整數倍。在本方案中,產品的狀態矢量字直接反映總線通信狀況和產品的工作狀態,所以將查詢產品狀態矢量字設為信息的主幀周期,緩變信息和同步時間次幀周期為主幀周期的整數倍。非周期性信息則根據控制要求實時插入到周期信息隊列中。
2.3 軟件設計
EP?H6273板卡BC模式支持消息幀編程和消息間隔編程,非周期信息可動態插入到信息隊列中; BM模式支持100%消息監測和紀錄,并且每個消息有32位時間標簽,方便進行精確消息間隔和響應時間分析。某型機載設備測試系統中1553B通信的初始化和軟件設計
1553B通信軟件流程
AutoConnectFirst()函數:此函數自動連接找到的第一個板卡,并返回句柄供其他函數使用。
BM_Init()函數:初始化BM操作,在所有的BM操作之前必須調用此函數。
BM_TimetagWrite()函數:指定通道從指定的時間戳開始計數。
BM_StartStop()函數:開始和結束BM操作,參數為0 時停止BM操作,參數為1時開始BM操作。
對于BC操作,在進行BC其他設置之前,首先要通過BC_Init()函數將板卡設置為BC功能板卡。
BC_Init()函數:進行BC操作初始化,在進行BC操作之前必須調用此函數。此函數含有多個參數,分別用來指示BusA或者BusB為可用總線、MinorFrame頻率設置、不響應時間設置、最遲響應時間和重試條件設置。
BC_messageWrite()函數:將消息發送到緩沖器,也用來定義主幀的開始和結尾消息。
BC_StartStop()函數:開始和結束BC操作,參數為0 時停止BC操作,參數為1時開始BC操作。
BC_AperiodRun()函數:在BC模式的消息隊列中插入一次性發送信息,可以提高或降低信息的優先級。
1553B總線通信軟件與測試系統軟件一起進行初始化,軟件完成初始化后即開始進行總線監控;根據某型機載設備的工作流程,在產品加電后進行矢量字查詢、系統時間和緩變周期信息通信,并根據軟件界面控制指令在周期信息通信中插入一次性指令信息,在測試結束后停止總線通信。
3 結 論
本文對1553B總線通信系統的軟硬件設計方法進行了介紹。該方法在某型機載設備測試系統中得到成功應用,實現了總線通信的控制和在線監測,系統工作穩定。本設計方法對其他設備和測試系統1553B總線設計具有一定的借鑒和參考價值。
參考文獻
[1] Condor Engineering Inc. MIL?STD?1553 protocol tutorial [S]. [S.l.]: Condor Engineering Inc., 2004 130?321.
[2] 于雅麗,陳錦莉.1553B通信研究及其在導彈測試系統中的應用[J].計算機測量與控制,2009(2):360?362.
[3] 趙昶宇,顏昌翔,于平.1553B總線上消息的實時調度[J].光學精密工程,2010(3):363?370.
[4] 趙明陽,朱巖,張建東,等.基于PCI局部總線的1553B總線接口卡設計[J].現代電子技術,2012,35(10):47?49.
[5] 陳建明,丑力,王洪艷.基于Markov過程的1553B總線系統可靠性分析[J].現代電子技術,2011,34(2):68?70.
[6] 武鵬,畢君懿.1553B總線中曼徹斯特編解碼器的設計[J].現代電子技術,2011,34(4):61?64.