基于FPGA和DSP技術某型飛機總線系統(tǒng)通訊軟件的設計
這5層之間功能劃分明確,接口簡單,從而為硬軟 件的設計實現(xiàn)奠定良好的基礎[2]。應用層是通信系統(tǒng)的最高層次,他實現(xiàn)通信系統(tǒng)管理功能(如初始化、維護、重構等)和解釋功能(如描述數(shù)據(jù)交換的含義、有效性、范圍、格式等)。
驅動層是應用層與低層的軟件接口。為實現(xiàn)應用層的管理功能,驅動層應能控制子系統(tǒng)內(nèi)多 路傳輸總線接口(簡稱MBI)的初始化、啟動、停止、連接、斷開、啟動其自測試,監(jiān)控其工作狀態(tài),控制其和子系統(tǒng)主機的數(shù)據(jù)交換。
傳輸層控制多路傳輸總線上的數(shù)據(jù)傳輸,傳輸層的任務包括信息處理、通道切換、同步管理等。
數(shù)據(jù)鏈路層按照MILSTD1553B規(guī)定,控制總線上各條消息的傳輸序列。
物理層按照MILSTD1553B規(guī)定,處理1553B總線物理介質(zhì)上的位流傳輸。
應用層、驅動層在各個子系統(tǒng)主機上實現(xiàn),傳輸層、數(shù)據(jù)鏈路層、物理層在MBI上實現(xiàn)。
5 總線系統(tǒng)通訊軟件設計
在某型飛機航空總線系統(tǒng)的設計中,一個很重要的工作就是總線通訊軟件的設計。航空總線通訊軟件設計包括:驅動層和應用層的軟件設計。其中驅動層直接驅動總線接口板主要完成各個寄存器的配置,實現(xiàn)數(shù)據(jù)的發(fā)送和接收;應用層是設計中的最高層,他管理整個系統(tǒng)的功能[3]。作為一塊接口板,設計的重點在于驅動層的軟件的設計,他包括3個方面的內(nèi)容:
(1)FPGA部分的軟件。
(2)DSP部分的軟件。
(3)上位機操作系統(tǒng)驅動軟件。
5.1 FPGA程序控制功能
該部分采用VHDL語言編寫,實現(xiàn)1553B總線數(shù)據(jù)的接收、發(fā)送、曼徹斯特II碼、錯誤檢出、奇偶檢驗、與DSP的接口和譯碼電路等功能。其中發(fā)送單元與接收單元是并行工作的,由邏輯門電路實現(xiàn)。這里從軟件角度畫出流程圖如圖5所示。
5.2 DSP程序控制功能
DSP控制部分程序實現(xiàn)的功能如下:
(1)對總線接口板的初始化(包括初始化DSP本身內(nèi)部電路和寄存器FPGA及上位機通訊寄存器)。
(2)實現(xiàn)RT地址識別
由于是多RT總線接口板,所以收到數(shù)據(jù)后,應該判別該RT地址是否屬于該接口板;
(3)與上位機消息傳輸控制功能
消息傳輸控制程序完成總線應傳輸?shù)臄?shù)據(jù)在總線接口 板和上位機之間的數(shù)據(jù)交換。包括數(shù)據(jù)的讀寫過程和自檢測過程,所要完成的操作如下:
①向FPGA寫入發(fā)送數(shù)據(jù)(到總線)。
②從FPGA內(nèi)讀出數(shù)據(jù)(該數(shù)據(jù)由DSP處理)。
③向雙口RAM寫入數(shù)據(jù)(到上位機)。
④自檢測過程。自檢測過程是在收到上位機的自檢命令后,實現(xiàn)接口板的數(shù)據(jù)發(fā)送 和接收性能測試。
評論