基于BU-61580的MIL-STD-1553B遠程終端設計
摘要: 給出了基于BU-61580的MIL-STD-1553B遠程終端設計思路和方法。
關鍵詞: BU-61580;MIL-STD-1553B;RT;MSC1210Y5
MIL-STD-1553B總線
MIL-STD-1553B總線(以下簡稱1553B總線)是美國定義的一種軍用串行總線標準,國內對應為GJB 289A-97,全稱《數字式時分制指令/響應型多路傳輸數據總線》,它規定了數字式時分制指令/響應型多路傳輸數據總線及其接口電子設備的技術要求,同時規定了多路傳輸數據總線的工作原理和總線上的信息流及要采用的電氣和功能格式。
1553B總線網絡由終端、子系統和總線傳輸介質組成,結構如圖1所示。終端是使數據總線與子系統相連接的電子組件。子系統為從多路數據總線上接收數據傳輸服務的裝置或功能單元。總線控制器(BC)是總線系統組織信息傳輸的終端。總線監控器(BM)是總線系統中指定作接收且記錄總線上傳輸的信息并有選擇地提取信息以備后用的終端。遠程終端(RT)是總線系統中不作為總線控制器或總線監控器的所有終端。
圖1 典型雙余度1553B總線的拓撲結構
1553B總線的傳輸速度是1Mb/s,采用曼切斯特Ⅱ型編碼,半雙工工作方式。1553B總線有10種消息格式,每個消息至少包含兩個字,每個字包含有16個信息位、一個奇偶校驗位和3個位長的同步頭,適用于變壓器耦合的曼切斯特II型編碼的通過雙絞線可靠傳輸的長度可以超過30米。
1553B通信系統可分為應用層、驅動層、傳輸層、數據鏈路層和物理層。應用層和驅動層在子系統實現,傳輸層、數據鏈路層和物理層均在1553B總線通信接口(MBI)實現。對于RT來說,根據和BC之間的通訊表決定RT在總線中的地址,按照接口控制文件(ICD)設計對應的應用層軟件完成和MBI卡的通訊接口。
BU-61580
目前在機載設備RT的設計中,廣泛使用了MBI卡,國內外MBI卡普遍使用了美國DDC公司的1553B總線協議芯片BU-61580,該協議芯片包含微處理器和1553B總線之間完備的接口,集BC、RT、BM三種工作模式為一身,封裝為70引腳的DIP,傳輸時使用1.41:1的變壓器。BU-61580內部集成了雙收發器邏輯、編解碼器、協議邏輯、內存管理和中斷控制邏輯,還提供了一個4K字(16bit)的內部共享靜態RAM和與處理器總線之間的緩沖接口,BU-61580的軟件接口包括17個內部操作寄存器、8個測試寄存器以及64K字的共享存貯器地址空間。
目前機載MBI卡一般使用BU-61580完成傳輸層、數據鏈路層和物理層的接口,MBI卡中控制邏輯及數據傳輸利用一片MCU實現,MBI卡和機載設備之間的接口一般為串口,MBI卡的生產廠家利用特定的機載設備的通訊表和接口控制文件(ICD)為機載設備定制MBI卡,同時提供串口驅動程序和編寫串口通訊協議,機載設備利用串口驅動程序和串口通訊協議完成數據的交換。
處理器MSC1210Y5與BU-61580的硬件接口
MSC1210Y5是德州儀器公司的基于8051內核的高性能系統級單片機,具有兩個串口,支持在系統編程,內部有32K的FLASH。本設計利用BU-61580支持8位處理器的特點,利用MSC1210Y5的總線接口和16位的BU-61580完成數據的交換,數據接收和發送由INT外中斷完成,內部數據交換通過串口1與系統內部單片機完成。為了便于在飛機上對軟件升級,MSC1210Y5的串口0通過RS-232電平驅動后,用于程序的下載。電路框圖示于圖2。
圖2 處理器MSC1210Y5與BU-61580的接口
圖2中,MSC1210Y5與BU-61580為8位總線接口,61580的“16/8_BIT”、“BUFFED”、“POLAR”接為低;使用了0等待控制,“ZW”接為低;使用了BU-61580內部的RAM,“TRIGG”接為低;不使用外部時鐘標簽,“TAGCLK”接為低。
遠程終端的地址“RTAD0_RTAD4”可構成25個遠程終端地址,使用中連同奇偶校驗設置位“RTADP”用撥碼開關連接,便于更改RT的設計。
注意圖2中單片機的“P0”端口和“P2”端口與BU-61580的接口關系,由于處理器是8位,而且處理器的數據端口與地址端口是復用的,所以連接關系較為復雜。
譯碼采用兩個與門完成。其中一個與門將“P2.6”和“P2.7”的信號通過與邏輯后與“SELECT”相接,“WR”和“RD"通過與邏輯后與“STRBD”相接用于選擇BU-61580。“P2.5”端口與“MEM/REG”相接用于選擇BU-61580內部寄存器或存儲器。單片機的地址鎖存信號“ALE”與“ADDR_LAT”相連,提供數據鎖存信號。選取12MHz晶振同時為單片機和BU-61580提供時鐘信號。
從圖2中可以看出雙絞線、變壓器、BU-61580構成了1553B通信系統的傳輸層、數據鏈路層和物理層,單片機MSC1210Y5和BU-61580的接口及其單片機軟件構成了應用層、驅動層;作為一個RT,當接收BC命令后,通過串口1將命令發送給系統內的單片機,按控制系統的要求工作,同時將測量數據通過串口1傳送出來,放到總線上已備BC使用。這樣就完成了RT和BC之間的通訊。
用BU-61580設計遠程終端的流程
BU-61580的復位及初始化
使用1553B協議芯片BU-61580最主要的工作是初始化,初始化包括初始化寄存器,初始化存儲器等。電路上電后,單片機首先將復位引腳P1.5置低,復位BU-61580,延時后再置高,完成軟件復位的過程。
對于RT編程,首先初始化相應的寄存器,然后設置非法指令區、初始化相應子地址的查詢表及子地址控制字,此時應該設置“忙”位,設置配置寄存器使設備處于RT模式。當通過串口1接收的數據表明系統開機自檢結束后,將“忙”位清零,此后該設備就處于在線,只要BC發送一條消息命令與該設備相關,那么該設備就會做出反映。
BU-61580的數據發送過程
BU-61580發送數據時,將對應的子地址的數據字送到初始化設定的查詢表地址中,同時將該子地址對應的矢量字置為“1”,表明RT的數據已有更新。因為子地址控制字位設置了發送和接收產生中斷,所以在中斷處理程序中,當命令字與發送子地址相同時,表明BU-61580已將需要發送的數據發送到1553B網絡中,此時,在中斷服務程序中將該發送子地址的矢量字清“0”。BC周期性的查詢矢量字,只有對應子地址的矢量字為“1”,BC才從RT中將數據取走。矢量字更新機制是1553B最有特色的地方。
BU-61580的數據接收過程
當總線上傳輸從BC到RT的命令時,若系統設置為合法指令,則產生接收中斷,接收中斷中判斷命令字是否符合ICD接口控制文件,若符合則在中斷程序中設置接收標志位為“1”。主程序中判斷此接收標志為“1”后,將此標志清“0”,同時將BC發送的數據從緩沖區中取出,按ICD接口控制文件的要求處理。
機內串行通訊的實現
單片機MSC1210Y5和BU-61580完成了1553B數據的通訊接口任務,而1553B通訊的最終暢通還需系統的配合。本RT設計中,串口1擔當了此任務。串口1的發送程序將系統的當前工作狀態發送出去,串口1的接收程序負責將BC的控制命令接收進來。這種異步收/發過程,完成了內外數據的交換。
結語
按照本文介紹的方法已成功實現BU-61580的MIL-STD-1553B遠程終端設計,設計的機載設備已在DSI(動態激勵器)上與BC完成綜合,并試飛成功,批量裝備現役飛機,效果良好。
參考文獻:
1. 數字式時分制指令/響應型多路傳輸數據總線 GJB 289A-97,中華人民共和國國家軍用標準.
2. ACE/Mini-ACE Series BC/RT/MT Advanced Communication Engine Interated 1553 Terminal User's Guide. 1999,Data Device Corporation.
3. MIL-STD-1553 DESIGNER'S GUIDE SIXTH EDITION,1998,Data Device Corporation.
4. Precision Analog-to-Digital Converter (ADC) with 8051 Microcontroller and Flash Memory 2002-2004, Texas Instruments.
評論