基于FPGA和DSP技術(shù)的某型飛機總線系統(tǒng)通訊軟件設(shè)計方案
該部分采用VHDL語言編寫,實現(xiàn)1553B總線數(shù)據(jù)的接收、發(fā)送、曼徹斯特II碼、錯誤檢出、奇偶檢驗、與DSP的接口和譯碼電路等功能。其中發(fā)送單元與接收單元是并行工作的,由邏輯門電路實現(xiàn)。這里從軟件角度畫出流程圖如圖5所示。
5.2 DSP程序控制功能
DSP控制部分程序?qū)崿F(xiàn)的功能如下:
(1)對總線接口板的初始化(包括初始化DSP本身內(nèi)部電路和寄存器FPGA及上位機通訊寄存器)。
(2)實現(xiàn)RT地址識別
由于是多RT總線接口板,所以收到數(shù)據(jù)后,應(yīng)該判別該RT地址是否屬于該接口板;
(3)與上位機消息傳輸控制功能
消息傳輸控制程序完成總線應(yīng)傳輸?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ā)送 和接收性能測試。
(4)中斷控制程序
在DSP芯片TMS320F206接口的設(shè)計中,使用3個硬件中斷,INT1,INT2由FPGA來產(chǎn)生,INT3 則由上位機來產(chǎn)生。INT1表明FPGA的接收單元已收到一個數(shù)據(jù),通知F206讀數(shù),INT2表明FPGA的接收單元已收到一個錯誤數(shù)據(jù),通知F206讀取錯誤狀態(tài)信息,INT3是上位機和接口板數(shù)據(jù)傳輸控制的一種手段,通過INT3中斷,上位機告訴接口板進行數(shù)據(jù)接收還是數(shù)據(jù)發(fā)送操作,發(fā)送多少數(shù)據(jù),采用的消息格式以及總線控制等信息。
DSP部分的軟件采用C++和匯編語言混合編程,關(guān)鍵路徑如中斷服務(wù)程序,數(shù)據(jù)發(fā)送和接收程序都采用匯編語言以達到最大的執(zhí)行效率,主程序采用C++編寫。
DSP部分軟件的流程圖,如圖6所示。
5.3 上位機控制程序
主要實現(xiàn)上位機在特定的操作系統(tǒng)下對接口板的軟件驅(qū)動、數(shù)據(jù)通訊和傳輸控制。主要使用C++在Windows環(huán)境下進行軟件開發(fā)。
6 結(jié)語
本文介紹了一種基于FPGA和DSP對某型飛機總線系統(tǒng)通訊軟件設(shè)計與實現(xiàn)的方法。在實際的運用中,較好的實現(xiàn)了總線系統(tǒng)通訊功能,對1553B總線研究具有一定的使用和參考價值。本文引用地址:http://www.ex-cimer.com/article/241695.htm
評論