基于FPGA/DSP技術(shù)的1553B飛機總線(xiàn)系統通訊軟件的設計
目前,隨著(zhù)工藝和技術(shù)的進(jìn)步,集成電路技術(shù)的發(fā)展已經(jīng)使得在一個(gè)芯片上集成一個(gè)可編程系統(Programmable System ON a Chip,PSOC)成為可能。其中,現場(chǎng)可編程門(mén)陣列(Field Programmable Gate Array,FPGA)由于其設計靈活、速度快,在數學(xué)專(zhuān)用集成電路的設計中得到廣泛的應用。數字信號處理(DSP)的理論與實(shí)現手段獲得了快速發(fā)展,已成為當代發(fā)展最快的學(xué)科之一。由于其高速的處理速度和強大而又靈活的接口與通信能力,在很多領(lǐng)域已經(jīng)得到了廣泛的應用[1]。
MILSTD1553B數據總線(xiàn)具有雙向輸出特性,實(shí)時(shí)性和可靠性高,廣泛應用在當代的運輸機和相當數量的民航客機以及軍用飛機上。
1 1553B數據總線(xiàn)系統構成
1553B總線(xiàn)系統主要由3部分組成:總線(xiàn)控制器BC;遠程終端RT;數據總線(xiàn)D ata Bus。
某飛機的總線(xiàn)系統構成如圖1所示。
圖中CIP1為BC,CIP2為CIP1備份,其他子系統都是RT,并且此總線(xiàn)系統是雙余度的,兩套總線(xiàn)互為備份。
CIP1為通信和信息處理系統;CIP2為通信和信息處理系統備份;DTE為數據傳輸設備;INS為慣性導航系統;FDR為飛行參數記錄系統;ADC為大氣數據計算機;IFU為接口組件;FCC為火控計算機;SMS為外掛管理系統;LRS為激光測距系統。
2 1553B數據總線(xiàn)通信協(xié)議
1553B總線(xiàn)的工作頻率是1 Mb/s 。采用曼徹斯特II碼,半雙工工作方式。主要的硬件部分為總線(xiàn)控制器(BC)、遠端終端(RT)和可選用的總線(xiàn)監控器(MT)。一般情況下,這3部分通過(guò)1個(gè)多路總線(xiàn)接口(MBI)來(lái)完成??砂袽BI嵌在計算機內。該總線(xiàn)有10種消息格式。每個(gè)消息至少包含2個(gè)字,每個(gè)字有16個(gè)消息位,1個(gè)奇偶校驗位和3個(gè)位長(cháng)的同步頭,所有的消息字都采用曼徹斯特II碼構成。1553B的數據總線(xiàn)傳輸的字的格式如圖2所示。
1553B數據總線(xiàn)用的是指令/響應型通信協(xié)議。他有3種類(lèi)型的終端,分別為:
(1)總線(xiàn)控制器(BC)
他是在總線(xiàn)上惟一被安排為執行建立和啟動(dòng)數據傳輸任務(wù)的終端。
(2)遠程終端(RT)
他是用戶(hù)子系統到數據總線(xiàn)上的接口,他在BC的控制下提取數據或吸收數據。
(3)總線(xiàn)監控器(MT)
他“監控”總線(xiàn)上的信息傳輸,以完成對總線(xiàn)上的 數據源進(jìn)行記錄和分析,但他本身不參與總線(xiàn)的通信。
3 1553B數據總線(xiàn)消息傳輸格式
1553B總線(xiàn)上的信息的傳遞是以消息為單位的。所有的消息都是由數據字、指令字、狀態(tài)字組成。下面是1553B協(xié)議允許的10種消息格式,如圖3所示。
4 某型飛機總線(xiàn)系統通訊層次結構
參考ISO的開(kāi)放式互連系統七層模式,某型飛機機載系統分為5層:應用層、驅動(dòng)層、傳輸層、數據鏈路層和物理層,如圖4所示。
這5層之間功能劃分明確,接口簡(jiǎn)單,從而為硬軟件的設計實(shí)現奠定良好的基礎[2]。應用層是通信系統的最高層次,他實(shí)現通信系統管理功能(如初始化、維護、重構等)和解釋功能(如描述數據交換的含義、有效性、范圍、格式等)。
驅動(dòng)層是應用層與低層的軟件接口。為實(shí)現應用層的管理功能,驅動(dòng)層應能控制子系統內多路傳輸總線(xiàn)接口(簡(jiǎn)稱(chēng)MBI)的初始化、啟動(dòng)、停止、連接、斷開(kāi)、啟動(dòng)其自測試,監控其工作狀態(tài),控制其和子系統主機的數據交換。
傳輸層控制多路傳輸總線(xiàn)上的數據傳輸,傳輸層的任務(wù)包括信息處理、通道切換、同步管理等。
數據鏈路層按照MILSTD1553B規定,控制總線(xiàn)上各條消息的傳輸序列。
物理層按照MILSTD1553B規定,處理1553B總線(xiàn)物理介質(zhì)上的位流傳輸。
應用層、驅動(dòng)層在各個(gè)子系統主機上實(shí)現,傳輸層、數據鏈路層、物理層在MBI上實(shí)現。
5 總線(xiàn)系統通訊軟件設計
在某型飛機航空總線(xiàn)系統的設計中,一個(gè)很重要的工作就是總線(xiàn)通訊軟件的設計。航空總線(xiàn)通訊軟件設計包括:驅動(dòng)層和應用層的軟件設計。其中驅動(dòng)層直接驅動(dòng)總線(xiàn)接口板主要完成各個(gè)寄存器的配置,實(shí)現數據的發(fā)送和接收;應用層是設計中的最高層,他管理整個(gè)系統的功能[3]。作為一塊接口板,設計的重點(diǎn)在于驅動(dòng)層的軟件的設計,他包括3個(gè)方面的內容:
(1)FPGA部分的軟件。
(2)DSP部分的軟件。
(3)上位機操作系統驅動(dòng)軟件。
5.1 FPGA程序控制功能
該部分采用VHDL語(yǔ)言編寫(xiě),實(shí)現1553B總線(xiàn)數據的接收、發(fā)送、曼徹斯特II碼、錯誤檢出、奇偶檢驗、與DSP的接口和譯碼電路等功能。其中發(fā)送單元與接收單元是并行工作的,由邏輯門(mén)電路實(shí)現。這里從軟件角度畫(huà)出流程圖如圖5所示。
5.2 DSP程序控制功能
DSP控制部分程序實(shí)現的功能如下:
(1)對總線(xiàn)接口板的初始化(包括初始化DSP本身內部電路和寄存器FPGA及上位機通訊寄存器)。
(2)實(shí)現RT地址識別
由于是多RT總線(xiàn)接口板,所以收到數據后,應該判別該RT地址是否屬于該接口板;
(3)與上位機消息傳輸控制功能
消息傳輸控制程序完成總線(xiàn)應傳輸的數據在總線(xiàn)接口 板和上位機之間的數據交換。包括數據的讀寫(xiě)過(guò)程和自檢測過(guò)程,所要完成的操作如下:
①向FPGA寫(xiě)入發(fā)送數據(到總線(xiàn))。
②從FPGA內讀出數據(該數據由DSP處理)。
③向雙口RAM寫(xiě)入數據(到上位機)。

fpga相關(guān)文章:fpga是什么
通信相關(guān)文章:通信原理
評論