錢宏文,倪文龍,劉繼祥
(中國電子科技集團公司第五十八研究所,江蘇無錫 214035)
1553B總線是美國軍方專為飛機上設備制定的一種信息傳輸總線標準,也就是設備間傳輸?shù)膮f(xié)議。而每個國家根據(jù)本國的情況,并參考美國的標準制定出自己的總線協(xié)議。而相關的公司又根據(jù)不同的協(xié)議標準開發(fā)出相應的總線接口模塊。
飛機機載通信系統(tǒng)的電子設備之間通常使用電纜連接,但是隨著機載電子系統(tǒng)高集成化,復雜化,出現(xiàn)電纜體積龐大,測試與維護繁瑣,更新?lián)Q代費用極高。美國于20世紀70年代公布了多路傳輸系統(tǒng)標準MIL-STD-1553B(時分制命令/響應式多路數(shù)據(jù)總線),其主要功能是為航空電子系統(tǒng)內(nèi)部提供集中式的實時響應系統(tǒng)控制、命令響應時分布處理、在各種電子模塊之間靈活可靠信息交換和傳輸數(shù)據(jù)標準化的接口[1-2]。我國于上世紀80 年代也頒布了相應的國軍標,對應的標準是GJB289A-97。1553B總線具有其高可靠、穩(wěn)定的特性、容錯能力強等特點,在航天、航空艦船、陸地坦克各類武器裝備平臺上早已得到認可,它性能優(yōu)異、使用簡單,取代了傳統(tǒng)的電纜,極大地減輕了飛機重量。國際上對1553B的使用已由軍用飛機擴展到其它領域。現(xiàn)在四代戰(zhàn)機中也都在使用1553B總線作為局部總線應用[3]。
但是隨著國家對IC設計的重視度提升和國內(nèi)IC設計行業(yè)的飛速發(fā)展,國產(chǎn)1553B總線專用芯片也逐步成熟[4],JBU-84643是由中國電子科技集團公司第五十八研究所研制國產(chǎn)化芯片,該芯片集智能化、通用化和小型化為一體,芯片集成度高,以單芯片的形式提供給用戶使用。很好的解決了1553B專用芯片核心技術由少數(shù)國外公司掌握,核心芯片依賴國外,存在供貨周期難以保證,隨時面臨“禁運”威脅,以及因停產(chǎn)或采購困難帶來的生產(chǎn)和安全風險。目前,JBU-84643已經(jīng)廣泛應用于航空、航天飛機總線通信模塊。
總線式雙冗余互聯(lián)的拓撲結構是1553B 總線一個重要特點,每一個終端都是通過耦合器連接在總線線纜上的,傳輸介質(zhì)采用雙絞屏蔽線。總線上可接納32 個終端通信,終端與總線的耦合方式可采用直接耦合或者變壓器耦合,整個數(shù)據(jù)總線系統(tǒng)則由總線耦合器、總線連接器、屏蔽雙絞線、終端匹配器構成[4-6]。一般使用時采用雙冗余總線方式提高系統(tǒng)的可靠性(其中一套總線發(fā)生故障時,切換第二條總線處于熱備份狀態(tài)),1553B總線連接關系拓撲圖如圖1所示。
圖1 1553B總線連接關系拓撲圖
總線設備中,按照使用角色的不同,終端可分為BC(總線控制器)、RT(遠程終端)和MT(總線監(jiān)視器)[7]??偩€上工作的任何時刻,系統(tǒng)只允許一個BC為在線狀態(tài),它是總線數(shù)據(jù)傳輸啟動任務的唯一控制器。不僅如此,BC 還可以發(fā)出維護管理命令,從而確??偩€網(wǎng)絡實時控制與管理調(diào)度。每一個RT 遠程終端在BC 的控制命令下完成BC 控制命令的響應工作,并按照BC的要求傳輸或者接收數(shù)據(jù)或者其他操作。最后的總線監(jiān)視器MT,對于系統(tǒng)正常工作來說,不是必須介入的終端,它的主要工作只是完成總線上的數(shù)據(jù)交換監(jiān)視,選擇性地提取信息,數(shù)據(jù)的監(jiān)聽與記錄的功能,不參與任何數(shù)據(jù)傳輸。
1553B 總線采用的是命令/響應的半雙工工作方式,數(shù)據(jù)傳輸消息格式分為數(shù)據(jù)字,命令字和狀態(tài)字[7-9]。數(shù)據(jù)在總線上傳輸時,典型的數(shù)據(jù)傳輸消息格式如圖2所示,BC根據(jù)需求發(fā)送不同指令字的同步頭,不同的RT終端可辨識出指令字,指令字僅由BC發(fā)出,而狀態(tài)字總由RT返回。在總線上可完成BC到RT、RT到BC、RT到RT等控制方式。
圖2 數(shù)據(jù)傳輸消息格式
DSP相比較于一般ARM嵌入式系統(tǒng)采用了哈佛架構,能夠很好的滿足機載控制系統(tǒng)工作過程中,同時將FPGA作為DSP的協(xié)處理器,完成協(xié)議或接口轉換功能,實現(xiàn)航空的高速實時控制。機載控制系統(tǒng)主要包括DSP主控芯片、1553B總線接口電路、電源管理模塊、外接Flash、FPGA 協(xié)處理單元、時鐘分配電路、靜態(tài)存儲器內(nèi)存模塊(SRAM)。DSP 通過其自身的外部存儲器接口(EMIF)總線分別與FPGA、靜態(tài)存儲器內(nèi)存模塊、閃存模塊相連接;FPGA 與1553B 總線芯片利用并口控制互連;上位機平臺測試模塊與DSP相連;時鐘分配模塊與FPGA、DSP相連,另外GPIO控制器擴展電路(包括離散量輸入、LED燈控制、按鍵)、串行接口電路(包括RS429、RS232和RS485)具體組成框圖如圖3所示。
圖3 機載控制系統(tǒng)組成框圖
硬件電路核心部分由一個JBU64843HC和三個JHI3593 16 路離散量,以及若干RS422、RS429 數(shù)據(jù)接口發(fā)送與接收和組成,F(xiàn)PGA 與JBU64843HC-1H 連接來做控制,DSP 與RS422、RS429的收發(fā)器相連,進行測試平臺數(shù)據(jù)交換。DSP、FPGA在完成程序加載與初始化設置后,由FPGA通過并口控制器采集1553B與RS429總線的狀態(tài)信息,并定時上報給DSP 進行數(shù)據(jù)綜合,完成開機自檢和周期自檢;1553B 總線芯片在收到來上位機平臺的測試控制指令時,產(chǎn)生中斷并緩存控制指令的控制數(shù)據(jù);當FPGA有來自1553B總線的數(shù)據(jù)請求時,DSP 響應1553B 總線中斷,讀取FPG 返回的1553B總線芯片的緩存區(qū)內(nèi)的數(shù)據(jù),并解析出工作模式測試數(shù)據(jù),同時選擇工作模式參數(shù)并送至FPGA,由FPGA向外部輸出模式控制參數(shù)。
在機載控制系統(tǒng)硬件設計上1553B部分選用中電58所的JBU64843芯片。JBU64843是一款支持1553A/B Notice2協(xié)議高性能的1553B總線通訊控制器。它內(nèi)置雙通道收發(fā)器、隔離變壓器、內(nèi)嵌SRAM(協(xié)議處理芯片),包含完整的存儲器管理,處理器接口邏輯,多種工作頻率靈活可選,實現(xiàn)了與1553B 終端的全兼容[10-12]。FPGA 與64843 的簡化連接方式以及原理圖如圖4所示。
圖4 FPGA與JBU64843原理連接
1553B 總線控制器自動測試系統(tǒng)上位機是使用LABVIEW 開發(fā)的,編譯打包為能夠獨立安裝運行的程序,可移植性高,安裝使用方便。板級測試軟件是由DSP于FPGA共同完成,自動測試程序主要實現(xiàn)RT 模式下的功能測試,調(diào)用1553B 總線控制器工作模式配置、1553B 總線協(xié)議解碼,并且可以完成板級其他總線接口的測試功能。
1553B 數(shù)字總線接口:將接口板扣在測試設備上,通過工控機基于PCI外面1553設備做BC給接口板發(fā)數(shù)據(jù),接口板當RT,當接收到數(shù)據(jù)后,會傳給上位機,通過上位機直接顯示出接口板1553B接口的工作狀態(tài),同時在上位機軟件端將通訊狀態(tài)指示燈點亮為綠色(通訊正常)反之,將通訊狀態(tài)指示燈點亮為紅色(通訊故障),1553B自動測試軟件總體流程圖如圖5所示。
圖5 1553B總線自動測試平臺軟件總體流程圖
1553B 總線接口驅動主要通過操作機載控制系統(tǒng)上的JBU64843來完成。利用DSP的并行接口完成JBU64843的硬件復位函數(shù),讀、寫寄存器/RAM時序操作、軟件復位,以及相關RT 模式配置、地址配置子函數(shù),實現(xiàn)JBU64843 在RT工作模式下完成與BC的數(shù)據(jù)交互。
對64843的讀寫函數(shù)可分為對寄存器讀寫和RAM的讀寫兩類他們都是共用讀寫數(shù)據(jù)驅動部分函數(shù)來完成的,因此,寄存器與RAM讀寫操作函數(shù)可通過上層函數(shù)封裝底層讀寫數(shù)據(jù)驅動部分函數(shù)來完成。在此主要闡述讀寫數(shù)據(jù)驅動函數(shù)。
寫數(shù)據(jù)驅動函數(shù)完整的流程如圖6所示。由于本次設計采用了16 位模式,所以在寫數(shù)據(jù)時完整的16 位數(shù)據(jù)在一個時鐘周期內(nèi)就能完成指定RT 地址的寄存器/RAM 區(qū)數(shù)據(jù)寫入。
圖6 寫數(shù)據(jù)驅動操作流程
讀數(shù)據(jù)驅動操作流程與寫數(shù)據(jù)驅動操作類似,需要特別注意的是,為了在數(shù)據(jù)線上讀取的數(shù)據(jù)是真是可靠的,必須要等待READY信號,在READY信號之前,這時64843輸出的值原則上是一個不確定值,在READY信號之后的值才是真正的當前地址的數(shù)據(jù)。圖7所示為讀數(shù)據(jù)驅動的操作流程。
圖7 讀數(shù)據(jù)驅動操作流程
RT 的軟件設計流程如圖8所示,主要是先進行軟件復位,使能增強模式,初始化相關堆棧指針,配置RT 地址,初始化MEM 空間以及相關配置寄存器,經(jīng)過以上工作后,再將消息寫入消息塊,進入RT工作模式,等待BC控制信號。
圖8 RT配置的軟件設計流程圖
1553B 總線控制器自動測試平臺是基于機載控制系統(tǒng)硬件電路平臺搭建的測試平臺,并運用上位機測試分析軟件,實現(xiàn)總線控制與協(xié)議收發(fā)功能檢查。1553B總線機載控制器自動測試平臺由任意波形發(fā)生器、數(shù)字示波器、基于PCI接口的1553B總線控制器BC板卡和具有USB和PCI接口的工控計算機組成,自動測試平臺如圖9所示。其中測試PC 上位機使用USB 轉RS485 接口通過RS485 總線與機載控制系統(tǒng)進行通信,實現(xiàn)測試命令的下發(fā)和測試數(shù)據(jù)的上傳功能,并使用數(shù)字信號發(fā)生器控制產(chǎn)生任意波形發(fā)生器產(chǎn)生各種1553B總線差錯干擾信號。
圖9 1553B總線測試平臺系統(tǒng)框圖
單套測試平臺支四路1553B總線接口,可以將其全部配置為遠端RT工作模式,總線控制器的BC控制器由基于PCI接口的總線控制器板卡模塊提供,兩者共同構成一套完整的1553B 總線BC-RT 通信測試平臺,整個測試平臺由四塊相同測試模塊組成,每個模塊中1553B作為RT設備,整個完整測試系統(tǒng)通過耦合器連接,共同組成一套完整的機載控制系統(tǒng)測試平臺,從而實現(xiàn)不同終端通信總線通信系統(tǒng)。
測試環(huán)境下,利用外接直流電源作為機載控制系統(tǒng)測試板供電系統(tǒng),再通過各測試板上內(nèi)部電源處理模塊完成板子各個部分電壓供電。系統(tǒng)上電后由工控計算機通過USB轉RS485接口向機載控制系統(tǒng)發(fā)送1553B測試控制指令,同時基于PCI 接口的總線控制器完成總線數(shù)據(jù)發(fā)送,DSP 通過EMIF 接口完接收到控制指令后將這些配置信號傳輸至FPGA 完成譯碼和時序控制等邏輯,完成對JBU64843 的相關初始化配置。當上位機通過RS485發(fā)送測試指令以后,此時BC 在同步實時發(fā)送或者讀取總線上RT 指定地址的數(shù)據(jù),并通過工控計算機的RS485接口上傳到上位機對數(shù)據(jù)進行校對和處理,從而實現(xiàn)對1553B 總線控制器的測試,上位機測試反饋結果如圖10所示。
圖10 1553B總線通用化測試平臺上位機
基于1553B總線機載控制系統(tǒng)設計的通用化測試平臺,適用于機載控制系統(tǒng)的單機測試和系統(tǒng)測試。該平臺采用硬件接口標準化設計、功能模塊化設計、軟件配置項的設計思路,分為上位機控制軟件、DSP協(xié)議交互軟件、FPGA控制軟件3 個子軟件實現(xiàn)。該平臺能夠全面覆蓋基于1553B 總線的機載控制系統(tǒng)測試需求。具有可靠性高;實時性較強;系統(tǒng)開放性好;更好地實現(xiàn)面向下游的設計;降低系統(tǒng)的研制成本;能夠同時滿足于四個個控系統(tǒng)的測試,節(jié)省了人力成本和時間成本。