武瑞歡 曾曉東
摘要:MIL-STD-1553B是一種具有高可靠傳輸特性的總線協(xié)議,在航空航天等領(lǐng)域占據(jù)著十分重要的地位。為解決新裝備對于1553B總線通信接口模塊體積小和低功耗的需求,本文基于1553B總線協(xié)議及其特點,研究了HOLT公司某型號的1553B協(xié)議芯片,提出一種以該HOLT芯片為協(xié)議芯片的1553B總線通信接口設(shè)計方案。通過仿真測試,結(jié)果顯示該設(shè)計滿足數(shù)據(jù)傳輸可靠實時的要求。
關(guān)鍵詞:1553B總線;HOLT協(xié)議芯片;BC;RT
中圖分類號:TP393 文獻標識碼:A
文章編號:1009-3044(2019)09-0223-02
MIL-STD-1553B是由美國提出應(yīng)用在機載設(shè)備間信息傳輸?shù)目偩€標準,它規(guī)定了數(shù)據(jù)間的傳輸協(xié)議,因其高可靠性、實時性和安全性等優(yōu)點而廣泛應(yīng)用于航空電子通信網(wǎng)絡(luò)。1553B接口模塊(MBI)是連接在飛機總線上多個子系統(tǒng)通信的接口,負責多個設(shè)備間消息的正確傳輸。隨著實際需求的增加,機載系統(tǒng)對通信接口模塊體積、功耗和成本等提出了更多的要求,HOLT公司的某1553B協(xié)議芯片因符合發(fā)展趨勢而逐漸成為1553B總線協(xié)議芯片的主要選擇。本文就此基礎(chǔ)上介紹一種新型的1553B接口模塊的設(shè)計方法。
1 1553B總線介紹
1553B總線系統(tǒng)內(nèi)的功能節(jié)點分為三種類型:總線控制器(BC),遠程終端(RT)和總線監(jiān)控器(MT)。BC負責總線上所有命令的管理和調(diào)度, RT被動接收BC的指令并完成相應(yīng)的操作,這種指令響應(yīng)型的通信模式避免了對總線資源的爭奪。MT負責監(jiān)控總線系統(tǒng),可實現(xiàn)全部或者根據(jù)配置選擇性的記錄數(shù)據(jù)并存儲,方便出現(xiàn)問題進行排故。1553B總線的架構(gòu)見圖1。
1553B總線采用A,B個傳輸通道,若當前通道出現(xiàn)故障則可切換到備份通道保證數(shù)據(jù)的正常傳輸。還結(jié)合采用BC和BBC互為備份,總線看門狗WDT和總線自測試保證高可靠性。協(xié)議制定了命令的響應(yīng)時間,消息的間隔時間和每次傳輸消息的長度,實現(xiàn)了通信效率的提升。1553B傳輸媒介為屏蔽雙絞線,為隔離單點故障協(xié)議推薦使用變壓器耦合方式,這種情況下理論上短截線長度不超過6m,總共的電纜長度不大于100m[1]。
2 設(shè)計原理
2.1 HOLT某型芯片介紹
該芯片是由HOLT公司根據(jù)1553B標準研制生產(chǎn)的一款通信協(xié)議芯片。芯片采用BC/ RT /MT硬件一體化設(shè)計,由軟件編程工作模式。其上集成了雙曼徹斯特編碼解碼器、收發(fā)器、帶誤碼檢測校正功能的64k大小的片內(nèi)靜態(tài)RAM來滿足應(yīng)用的需求。單個IC的尺寸為15×15mm,封裝相對主流的協(xié)議芯片更小,成本也更加滿足生產(chǎn)需求。
該芯片作為BC擁有多幀消息調(diào)度、消息重傳調(diào)度、存儲消息數(shù)據(jù)、異步信息插入和狀態(tài)錯誤報告等功能。所有的1553B錯誤檢查可以自動執(zhí)行,包括RT響應(yīng)時間,曼徹斯特編碼,同步頭,位計數(shù)值,字計數(shù)值等[2]。
該協(xié)議芯片可被配置為兩種RT,每個RT都擁有獨立描述符表,非法命令表、主機終端配置和狀態(tài)寄存器,并分配獨立的RAM,兩個RT可被獨立的復(fù)位和初始化。
芯片作為終端時的狀態(tài)通過可編程的中斷呈報給主機進行處理。主機的中斷來自設(shè)備硬件或者是使能的終端設(shè)備,并使用硬件中斷寄存器、中斷記錄緩存和中斷計數(shù)記錄地址寄存器來管理中斷。該型號協(xié)議芯片的功能結(jié)構(gòu)圖見圖1。
2.2硬件設(shè)計
本設(shè)計采用HOLT協(xié)議芯片 + DSP 來搭建整個硬件系統(tǒng)。DSP作為核心處理器實現(xiàn)傳輸層的功能。協(xié)議芯片用作1553B協(xié)議處理器,實現(xiàn)物理層的連接和數(shù)據(jù)鏈路層的功能??删幊踢壿嬈骷﨔PGA作為高速的組合邏輯和時序邏輯控制器,實現(xiàn)DSP和協(xié)議芯片之間主要的控制邏輯[3]。整個硬件設(shè)計見圖2。硬件組成包括通信處理器接口電路,實時時鐘電路,復(fù)位電路和總線接口電路。
通信處理器接口電路:DSP對協(xié)議處理器的片選和讀寫控制信號[4]通過FPGA的譯碼后輸出到協(xié)議芯片。協(xié)議芯片使用16位的數(shù)據(jù)線和16位的地址線,地址位的最低位在8位處理器用來標志第一個和第二個字節(jié)。
復(fù)位電路:硬件復(fù)位時,命令處理器、總線編解碼器和內(nèi)部邏輯被清除,所有時標被復(fù)位,復(fù)位最短延遲時間為200ns。通過設(shè)置主狀態(tài)寄存器和復(fù)位寄存器相應(yīng)的標志位可以對MT、RT1和RT2實現(xiàn)軟件復(fù)位,BC模式下只有硬件復(fù)位。
通信總線接口電路:由隔離變壓器和雙通道的數(shù)據(jù)收發(fā)器組成。HOLT 芯片的片上邏輯和收發(fā)器需要的電壓為3.3V,隔離變壓器保護與總線連接的終端的安全。收發(fā)器為MIL-STD-1553 隔離變壓器和設(shè)備提供了接口,完成電平信號和曼徹斯特2型碼的轉(zhuǎn)換。
實時時鐘電路:為協(xié)議芯片提供工作時鐘為50MHz,DSP時鐘為20MHz,還有看門狗和定時服務(wù)。其中BC、MT、RT1、RT2都有獨立的時間標計數(shù)器,BC和RT的計數(shù)器可以共享一個時鐘,MT的時鐘由單獨的外部晶振提供。
2.3軟件設(shè)計
1553B總線通信軟件是實現(xiàn)接口模塊與子系統(tǒng)主機應(yīng)用軟件間的接口控制與數(shù)據(jù)傳遞的專用軟件,提供各類消息數(shù)據(jù)的讀、寫支持;對計時器的控制及處理;對各種中斷原因分析及處理。軟件包括驅(qū)動層軟件和傳輸層的軟件。驅(qū)動軟件駐留在主機中,為應(yīng)用層提供API接口,使應(yīng)用層實現(xiàn)對1553B通信模塊的管理和控制。傳輸層軟件固化在主處理器的FlASH中,調(diào)試時將傳輸軟件的目標碼加載到內(nèi)部RAM中運行。子系統(tǒng)主機和1553B接口模塊之間的交互使用“指令響應(yīng)型”的方式,主機在DPRAM的命令字單元中寫入命令字,命令字通過傳輸層的解析后下發(fā)給協(xié)議芯片組織信息的傳輸,MBI模塊在命令成功執(zhí)行后會將該命令字寫入雙口的響應(yīng)字單元。驅(qū)動層的功能分解圖見圖3。
驅(qū)動層的功能有:系統(tǒng)控制管理,如MBI模塊的初始化、模塊狀態(tài)的設(shè)置(GO、STOP和BIT)、以及工作模式(BC、RT、MT)的配置;總線時鐘管理,利用讀寫RTC實現(xiàn)BC與子系統(tǒng)的時鐘同步,BC通過使用授時命令實現(xiàn)整個網(wǎng)絡(luò)中設(shè)備的時間同步;中斷的解析和處理,如底層進行終端上下網(wǎng)查詢操作后上報中斷碼和中斷字,上層通過解析完成設(shè)備的上下網(wǎng)管理[4];數(shù)據(jù)的收發(fā),在MBI的緩沖區(qū)讀取和寫入數(shù)據(jù),檢查接收緩沖區(qū)是否有數(shù)據(jù)更新。
傳輸層主循環(huán)一直檢查相應(yīng)的命令字單元,通過解析命令字完成相關(guān)的操作。傳輸層需要完成的功能有:解析主機命令并執(zhí)行,如主機下達MBI工作模式的命令后,底層通過配置主配置寄存器來設(shè)置工作模式(BC、RT、MT);中斷的上報,如對新收到的消息進行解析后為緊急消息,則設(shè)置中斷標志并上報給主機;對收發(fā)消息的處理,協(xié)議芯片不能自動設(shè)置消息的標志位,所以傳輸層需要對收發(fā)的數(shù)據(jù)進行處理。傳輸層的處理流程見圖4。
2.3.1 BC設(shè)計
1553B中BC負責整個系統(tǒng)中設(shè)備間信息的傳輸,組織消息的調(diào)度,并通過總線表和通信表維護整個通信網(wǎng)絡(luò)。該協(xié)議芯片全面兼容支持MIL-STD-1553B的消息格式,其作總線控制器時通過使用命令塊來支持1553B功能的實現(xiàn),命令塊按照消息的邏輯號排列。命令塊包括了BC控制字、命令字、狀態(tài)字、數(shù)據(jù)地址指針等字。其中控制字由主機初始化和維護,包括消息格式、消息重試使能、總線屬性等。協(xié)議芯片作為BC通過解析命令字塊中消息的類型調(diào)用特定的處理完成傳輸工作,并自動將消息響應(yīng)后傳回的狀態(tài)字寫入RAM,其中包括當前通道、錯誤檢測、錯誤類型等[5]。主機通過訪問命令塊表中相應(yīng)地址空間可以得到消息的狀態(tài)字并執(zhí)行下一步操作。
2.3.2 RT設(shè)計
在主機完成對RT相關(guān)寄存器的配置后,RT可以在自主的回復(fù)消息而很少需要主機的干預(yù)。RT的描述符按照子地址的順序排列,與通信表相對應(yīng)。協(xié)議芯片在RAM中定義了每種消息類型的存儲區(qū)間,設(shè)備在接收到消息時根據(jù)描述符指針的位置識別命令類型后完成BC要求的操作。RT每次處理完一個命令,設(shè)備會自動更新該命令對應(yīng)的描述符表控制字,其中控制字中設(shè)置了命令指示的數(shù)據(jù)的存儲方式、地址和中斷信息。
BC負責總線中所有消息的調(diào)度和控制,RT不具備主動發(fā)起消息的能力,只能被動的接收來自BC的指令并完成指定的操作。在收到接收命令后,RT將會自動對描述符中接收子地址指向的1~32個數(shù)據(jù)字進行存儲,并返回BC一個狀態(tài)字。當RT有消息需要上報時,過程相對接收更為復(fù)雜: 首先RT需要將要上報的數(shù)據(jù)寫到緩沖區(qū)中,設(shè)置對應(yīng)的矢量字;BC在每個周期會定時發(fā)出發(fā)送矢量字命令,周期性的詢問RT是否有數(shù)據(jù)需要發(fā)送;RT回復(fù)狀態(tài)字和一個數(shù)據(jù)字,BC通過解析該數(shù)據(jù)字,查詢總線表中相關(guān)的指令后組織消息的發(fā)送;RT端在發(fā)送數(shù)據(jù)后清除相應(yīng)的矢量字。
3 結(jié)論
本文在1553B總線接口應(yīng)用新需求上,提出了使用HOLT公司的某型號芯片作為協(xié)議芯片,DSP作為核心處理器的1553B接口模塊設(shè)計方法,以此實現(xiàn)新裝備對于1553B通信模塊的要求。在實際應(yīng)用中該系統(tǒng)運行穩(wěn)定可靠,達到設(shè)計效果。
參考文獻:
[1] 數(shù)字式時分制指令/響應(yīng)型多路傳輸數(shù)據(jù)總線, 國防科學(xué)技術(shù)工業(yè)委員會,1997,11;
[2] HOLT數(shù)據(jù)手冊HOLT INTEGRATED CIRCUITS,2014.12.
[3] 劉陶,張翀,譚志宏.高性能DSP在1553B 總線中的設(shè)計與實現(xiàn)[J].航空計算技術(shù),2017,47(2).
[4] 曾曉東,牟明,張成.基于61864協(xié)議芯片的1553B總線控制器通信接口設(shè)計[J].設(shè)計應(yīng)用,2014(11):112.
[5] 范祥輝,楊寒,史巖,等.一種1553B 總線多功能接口模塊設(shè)計與實現(xiàn)[J].信息通信,2017(2):170.
【通聯(lián)編輯:唐一東】