1553B 協議詳解之二字的組成

  1. 1553B簡介
    本設計文檔將在SylixOS下設計一個1553B設備驅動的抽象層,從而進一步解除用戶層與驅動層的耦合。
    MIL-STD-1553B總線是美國空軍電子子系統聯網的標準總線,是一種中央集權式的串行總線, 總線組成包括一個總線控制器,負責總線調度、管理,是總線通訊的發起者和組織者;若干(最多不超過31個)遠程終端,另外還可以有一種設備即總線監視器,用於監視總線的運行。該總線採用指令應答方式實現系統通訊,採用冗餘通道和奇校驗以及相應的錯誤處理來提高系統通訊的可靠性。1553B 是總線接口規律和信號特性的標準,它在物理層上對硬件部件所產生的電信號特性作了嚴格的規定,在數據鏈路層和網絡層對錯誤監測的方法和指令響應的格式也作了嚴格的定義。由於1553B總線具有極高的可靠性,因而在航空、航天、軍事等領域的電子聯網系統中得到廣泛應用。
    1553B 總線採用異步數據傳輸方式,碼速率1Mbps(現已出現支持4Mbps的板卡),即每秒106位,數據編碼採用曼徹斯特II型碼,差分傳輸,一般下采用屏蔽雙絞線作爲傳輸介質。
  2. 1553B軟件結構
    2.1 消息組成
    1553B協議規定消息組成的最小單位爲字。每個在1553B總線上傳輸的消息都是由一個個單獨的字組成。
    2.2 字的組成
    字是一個信息系列。1553B協議規定每個字由連續的20bit組成,它包括同步頭、 16 位信息段及一個奇偶校驗位。如圖 2.1所示這些字分成3類:指令字、數據字和狀態字。下面會針對這幾類字進行一一介紹。

圖 2.1 15533B字組成
2.3 指令/命令字

圖 2.2 指令/命令字格式
如圖 2.2所示指令字應由同步頭、遠程終端地址字段、發送/接收位(T/R)、子地址/方式字段、數據字計數/方式代碼字段及奇偶校驗位(P)組成。指令字由BC端發出,對應的RT端口接收到指令字做出指令字要求的操作實現數據交互。
2.3.1 同步頭
數據字同步頭應是一個無效的曼徹斯特波形,其寬度爲三個位時,前1.5位時的波形爲負,後1.5位時的波形爲正。如果該同步頭的前後位爲邏輯 1,那麼同步頭的表觀寬度將增加到四個位時。
2.3.2 遠程終端地址段
緊跟同步頭後的5位應爲遠程終端地址段。每個遠程終端被指定爲一個專有地址,從十進制地址0到十進制地址30均可採用,但儘量不採用十進制地址0作爲遠程終端的專有地址。還指定十進制地址31(11111)爲所有遠程終端的公用地址,供系統採用廣播操作時使用。
2.3.3 發送接收位
緊接遠程終端地址後的一位應爲發送/接收位。它應表示要求遠程終端作的操作,邏輯0指定遠程終端作接收操作,邏輯1指定遠程終端作發送操作。
2.3.4 子地址/方式字段
緊接發送/接收位後的五位,用來區分遠程終端的子地址,或者用作總線系統進行方式控制時的標記(00000和11111)。該字段爲00000或11111時的,表示此指令字爲方式控制指令,若該字段不爲00000或11111則表示爲RT終端的子地址。所以BC可以通過配置次段來決定指令字的方式,能訪問對應RT0x01—0x1E子地址的數據。
2.3.5 數據字計數/方式代碼字段
緊接子地址/方式字段後的五位,用來指定遠程終端應發送或應接收的數據字的個數,或者就是配置可任選的方式代碼。在任何一個消息塊內最多可以發送或接收32個數據字,全1表示十進制記數31,而全0表示十進制記數32。故如果指令字的9-14位爲RT子地址,那麼此段就表示爲發送或者接收消息的個數,否則表示爲方式代碼。相關的方式代碼在1553B協議中已經做了規定,後續會做詳細介紹。
2.3.6 奇偶校驗位
字的最後一位應用作爲前16位的奇偶校驗。1553B採用奇校驗的方式來確保數據準確。
2.4 數據字


圖 2.3 數據字格式
如圖 2.3所示數據字由3位的同步字段、16位的數據字段以及1位的奇偶校驗位組成。數據字由BC或者RT其中一端發出用來實現兩終端之間的數據交互。
2.4.1 同步字段
數據字同步頭應是一個無效的曼徹斯特波形,其寬度爲三個位時,前1.5位時的波形爲負,後1.5位時的波形爲正。如果該同步頭的前後位爲邏輯 1,那麼同步頭的表觀寬度將增加到四個位時。
2.4.2 數據字段
緊接同步頭的後16位爲數據存儲位,用戶可通過填充這16位來實現數據的傳輸。
2.4.3 奇偶檢驗位
字的最後一位應用作爲前16位的奇偶校驗。1553B採用奇校驗的方式來確保數據準確。
2.5 狀態字

圖 2.4 狀態字格式
如圖 2.4所示狀態字由3位的同步段、5位的遠程終端地址段、1位的消息出錯位、1位的測試手段位、1位的服務請求位、3位的備用段、1位的廣播指令接收位、1位的忙位、1位的子系統標誌位、1位的動態總線控制接收位、1位的終端標誌位和1位的奇偶校驗位組成。狀態字是由RT端發送給BC端用來表示消息以及RT自身狀態的字,同時狀態字也作爲RT的應答字用來判斷1553B總線或者RT設備是否正常工作。
2.5.1 同步頭
數據字同步頭應是一個無效的曼徹斯特波形,其寬度爲三個位時,前1.5位時的波形爲負,後1.5位時的波形爲正。如果該同步頭的前後位爲邏輯 1,那麼同步頭的表觀寬度將增加到四個位時。
2.5.2 遠程終端地址字段
緊跟同步頭後的5位應爲遠程終端地址段。每個遠程終端被指定被指定爲一個專有地址,從十進制地址0到十進制地址30均可採用,但儘量不採用十進制地址0作爲遠程終端的專有地址。
2.5.3 消息出錯位
該位在狀態字的第9位,用來表示遠程終端在已收到的消息中,有一個字或多個字沒有通過規定的有效性測試。邏輯1表示消息有差錯,邏輯0表示消息無差錯。所有的終端應提供消息差錯位。
2.5.4 測試手段位
狀態字的第10位作爲測試手段位。它在所有條件下總置爲邏輯0。該位爲可選位,如果使用,指令字中的相應位置爲邏輯1,用來區分指令字和狀態字。
2.5.5 服務請求位
狀態字的第11位置是服務請求位。表示本遠程終端需要服務。要求總線控制器啓動與本遠程終端或子系統有關的預定操作。當與單一遠程終端相連的多個子系統分別請求服務時,遠程終端應將它們各自的服務請求信號邏輯“或”成狀態字中的單一服務請求。邏輯“或”完成後設計者必須準備好一個數據字,並以相應位置1來標誌具體的請求服務子系統。狀態字中的“服務請求位”,應維持到幾個請求信號都處理完爲止。該位僅用來激發隨機發生的數據傳輸操作。
2.5.6 備用狀態位
狀態字的第12、13、14位是備用的狀態位。應將它們置爲邏輯0,這些位留作今後使用。
2.5.7 廣播指令接收位
狀態位的第15位置爲邏輯1,表示本遠程終端接收到的上一有效指令字是廣播指令字。當系統中未採用廣播方式,置該位爲邏輯0。
2.5.8 忙位
狀態字的第16位時置位爲邏輯1表示遠程終端處於忙狀態,表示它不能按照總線控制器的指令要求將數據移入子系統或從子系統取數據。如果遠程終端在響應發送、指令時置忙位,那麼只發出它的狀態字。該位爲可選位,邏輯0表示空閒狀態或者非忙狀態。
2.5.9 子系統標誌位
狀態字的第17位用來向總線控制器指出子系統故障狀態,且警告總線控制器本遠程終端提供的數據可能無效。如果與一個遠程終端相連的幾個子系統都呈現故障狀態時,應將它們各自的信號邏輯“或”,形成狀態字中的子系統標誌位,並將事先準備好的一個數據字中的相應位置1,記錄它們的故障報告,用於進一步檢測、分析。該位爲可選位。邏輯1表示有標誌,邏輯0表示無標誌。
2.5.10 動態總線控制接收位
狀態字的第18位時若置爲邏輯 1,用來表示本遠程終端接受符合協議本身規定的動態總線控制的授命。邏輯 0 表示不接受。該位爲可選位。
2.5.11 終端標誌位
狀態字的第19位時留作終端標誌功能。邏輯1表示本遠程終端內部存在故障,請求總線控制器干預。邏輯0表示不存在故障。該位爲可選位。
2.5.12 奇偶校驗位
字的最後一位用於前16位的奇偶校驗。1553B採用奇校驗的方式來確保數據準確。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章