《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA和DSP技術(shù)某型飛機(jī)總線系統(tǒng)通訊軟件的設(shè)計(jì)
基于FPGA和DSP技術(shù)某型飛機(jī)總線系統(tǒng)通訊軟件的設(shè)計(jì)
摘要: 在分析某型飛機(jī)MILSTD1553B數(shù)據(jù)總線系統(tǒng)構(gòu)成的基礎(chǔ)上,結(jié)合其通信協(xié)議與其消息傳輸格式,,建立了某型飛機(jī)總線系統(tǒng)通訊層次結(jié)構(gòu),,并運(yùn)用FPGA和DSP技術(shù)設(shè)計(jì)了此型飛機(jī)總線系統(tǒng)通訊軟件。
關(guān)鍵詞: FPGA DSP 飛機(jī)總線 通訊軟件
Abstract:
Key words :

  在分析某型飛機(jī)MILSTD1553B數(shù)據(jù)總線系統(tǒng)構(gòu)成的基礎(chǔ)上,,結(jié)合其通信協(xié)議與其消息傳輸格式,,建立了某型飛機(jī)總線系統(tǒng)通訊層次結(jié)構(gòu),并運(yùn)用FPGADSP技術(shù)設(shè)計(jì)了此型飛機(jī)總線系統(tǒng)通訊軟件,。

  目前,,隨著工藝和技術(shù)的進(jìn)步,集成電路技術(shù)的發(fā)展已經(jīng)使得在一個(gè)芯片上集成一個(gè)可編程系統(tǒng)(Programmable System On a Chip,,PSOC)成為可能,。其中,現(xiàn)場可編程門陣列(Field Programmable Gate Array,,F(xiàn)PGA)由于其設(shè)計(jì)靈活,、速度快,在數(shù)學(xué)專用集成電路的設(shè)計(jì)中得到廣泛的應(yīng)用,。數(shù)字信號(hào)處理(DSP)的理論與實(shí)現(xiàn)手段獲得了快速發(fā)展,,已成為當(dāng)代發(fā)展最快的學(xué)科之一。由于其高速的處理速度和強(qiáng)大而又靈活的接口與通信能力,,在很多領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用[1],。

  MILSTD1553B數(shù)據(jù)總線具有雙向輸出特性,實(shí)時(shí)性和可靠性高,,廣泛應(yīng)用在當(dāng)代的運(yùn)輸機(jī)和相當(dāng)數(shù)量的民航客機(jī)以及軍用飛機(jī)上,。

  1 1553B數(shù)據(jù)總線系統(tǒng)構(gòu)成

  1553B總線系統(tǒng)主要由3部分組成:總線控制器BC,;遠(yuǎn)程終端RT;數(shù)據(jù)總線D ata Bus,。

  某飛機(jī)的總線系統(tǒng)構(gòu)成如圖1所示,。

某飛機(jī)的總線系統(tǒng)構(gòu)成

  圖中CIP1為BC,CIP2為CIP1備份,,其他子系統(tǒng)都是RT,,并且此總線系統(tǒng)是雙余度的,兩套總線互為備份,。

  CIP1為通信和信息處理系統(tǒng),;CIP2為通信和信息處理系統(tǒng)備份;DTE為數(shù)據(jù)傳輸設(shè)備,;INS為慣性導(dǎo)航系統(tǒng),;FDR為飛行參數(shù)記錄系統(tǒng);ADC為大氣數(shù)據(jù)計(jì)算機(jī),;IFU為接口組件,;FCC為火控計(jì)算機(jī);SMS為外掛管理系統(tǒng),;LRS為激光測距系統(tǒng),。

  2 1553B數(shù)據(jù)總線通信協(xié)議

  1553B總線的工作頻率是1 Mb/s 。采用曼徹斯特II碼,,半雙工工作方式,。主要的硬件部分為總線控制器(BC)、遠(yuǎn)端終端(RT)和可選用的總線監(jiān)控器(MT),。一般情況下,,這3部分通過1個(gè)多路總線接口(MBI)來完成??砂袽BI嵌在計(jì)算機(jī)內(nèi),。該總線有10種消息格式。每個(gè)消息至少包含2個(gè)字,,每個(gè)字有16個(gè)消息位,,1個(gè)奇偶校驗(yàn)位和3個(gè)位長的同步頭,所有的消息字都采用曼徹斯特II碼構(gòu)成,。1553B的數(shù)據(jù)總線傳輸?shù)淖值母袷饺鐖D2所示,。

1553B的數(shù)據(jù)總線傳輸?shù)淖值母袷? border=

  1553B數(shù)據(jù)總線用的是指令/響應(yīng)型通信協(xié)議。他有3種類型的終端,,分別為:

 

  (1)總線控制器(BC)

  他是在總線上惟一被安排為執(zhí)行建立和啟動(dòng)數(shù)據(jù)傳輸任務(wù)的終端,。

  (2)遠(yuǎn)程終端(RT)

  他是用戶子系統(tǒng)到數(shù)據(jù)總線上的接口,他在BC的控制下提取數(shù)據(jù)或吸收數(shù)據(jù)。

  (3)總線監(jiān)控器(MT)

  他“監(jiān)控”總線上的信息傳輸,,以完成對總線上的 數(shù)據(jù)源進(jìn)行記錄和分析,,但他本身不參與總線的通信。

  3 1553B數(shù)據(jù)總線消息傳輸格式

  1553B總線上的信息的傳遞是以消息為單位的,。所有的消息都是由數(shù)據(jù)字,、指令字、狀態(tài)字組成,。下面是1553B協(xié)議允許的10種消息格式,,如圖3所示。

1553B協(xié)議允許的10種消息格式

  4 某型飛機(jī)總線系統(tǒng)通訊層次結(jié)構(gòu)

  參考ISO的開放式互連系統(tǒng)七層模式,,某型飛機(jī)機(jī)載系統(tǒng)分為5層:應(yīng)用層,、驅(qū)動(dòng)層、傳輸層,、數(shù)據(jù)鏈路層和物理層,,如圖4所示。

某型飛機(jī)總線系統(tǒng)通訊層次結(jié)構(gòu)

  這5層之間功能劃分明確,,接口簡單,,從而為硬軟 件的設(shè)計(jì)實(shí)現(xiàn)奠定良好的基礎(chǔ)[2]。應(yīng)用層是通信系統(tǒng)的最高層次,,他實(shí)現(xiàn)通信系統(tǒng)管理功能(如初始化,、維護(hù)、重構(gòu)等)和解釋功能(如描述數(shù)據(jù)交換的含義,、有效性、范圍,、格式等),。

  驅(qū)動(dòng)層是應(yīng)用層與低層的軟件接口。為實(shí)現(xiàn)應(yīng)用層的管理功能,,驅(qū)動(dòng)層應(yīng)能控制子系統(tǒng)內(nèi)多 路傳輸總線接口(簡稱MBI)的初始化,、啟動(dòng)、停止,、連接,、斷開、啟動(dòng)其自測試,,監(jiān)控其工作狀態(tài),,控制其和子系統(tǒng)主機(jī)的數(shù)據(jù)交換。

  傳輸層控制多路傳輸總線上的數(shù)據(jù)傳輸,,傳輸層的任務(wù)包括信息處理,、通道切換、同步管理等。

  數(shù)據(jù)鏈路層按照MILSTD1553B規(guī)定,,控制總線上各條消息的傳輸序列,。

  物理層按照MILSTD1553B規(guī)定,處理1553B總線物理介質(zhì)上的位流傳輸,。

  應(yīng)用層,、驅(qū)動(dòng)層在各個(gè)子系統(tǒng)主機(jī)上實(shí)現(xiàn),傳輸層,、數(shù)據(jù)鏈路層,、物理層在MBI上實(shí)現(xiàn)。

  5 總線系統(tǒng)通訊軟件設(shè)計(jì)

  在某型飛機(jī)航空總線系統(tǒng)的設(shè)計(jì)中,,一個(gè)很重要的工作就是總線通訊軟件的設(shè)計(jì),。航空總線通訊軟件設(shè)計(jì)包括:驅(qū)動(dòng)層和應(yīng)用層的軟件設(shè)計(jì)。其中驅(qū)動(dòng)層直接驅(qū)動(dòng)總線接口板主要完成各個(gè)寄存器的配置,,實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收,;應(yīng)用層是設(shè)計(jì)中的最高層,他管理整個(gè)系統(tǒng)的功能[3],。作為一塊接口板,,設(shè)計(jì)的重點(diǎn)在于驅(qū)動(dòng)層的軟件的設(shè)計(jì),他包括3個(gè)方面的內(nèi)容:

 ?。?)FPGA部分的軟件,。

  (2)DSP部分的軟件,。

 ?。?)上位機(jī)操作系統(tǒng)驅(qū)動(dòng)軟件。

  5.1 FPGA程序控制功能

  該部分采用VHDL語言編寫,實(shí)現(xiàn)1553B總線數(shù)據(jù)的接收,、發(fā)送,、曼徹斯特II碼、錯(cuò)誤檢出,、奇偶檢驗(yàn),、與DSP的接口和譯碼電路等功能。其中發(fā)送單元與接收單元是并行工作的,,由邏輯門電路實(shí)現(xiàn),。這里從軟件角度畫出流程圖如圖5所示。  

 

從軟件角度畫出流程圖

  5.2 DSP程序控制功能

  DSP控制部分程序?qū)崿F(xiàn)的功能如下:

  (1)對總線接口板的初始化(包括初始化DSP本身內(nèi)部電路和寄存器FPGA及上位機(jī)通訊寄存器),。

  (2)實(shí)現(xiàn)RT地址識(shí)別

  由于是多RT總線接口板,,所以收到數(shù)據(jù)后,應(yīng)該判別該RT地址是否屬于該接口板,;

  (3)與上位機(jī)消息傳輸控制功能

  消息傳輸控制程序完成總線應(yīng)傳輸?shù)臄?shù)據(jù)在總線接口 板和上位機(jī)之間的數(shù)據(jù)交換,。包括數(shù)據(jù)的讀寫過程和自檢測過程,,所要完成的操作如下:

  ①向FPGA寫入發(fā)送數(shù)據(jù)(到總線),。

 ?、趶腇PGA內(nèi)讀出數(shù)據(jù)(該數(shù)據(jù)由DSP處理)。

 ?、巯螂p口RAM寫入數(shù)據(jù)(到上位機(jī)),。

  ④自檢測過程,。自檢測過程是在收到上位機(jī)的自檢命令后,,實(shí)現(xiàn)接口板的數(shù)據(jù)發(fā)送 和接收性能測試。

  (4)中斷控制程序

  在DSP芯片TMS320F206接口的設(shè)計(jì)中,,使用3個(gè)硬件中斷,,INT1,INT2由FPGA來產(chǎn)生,,INT3 則由上位機(jī)來產(chǎn)生,。INT1表明FPGA的接收單元已收到一個(gè)數(shù)據(jù),通知F206讀數(shù),,INT2表明FPGA的接收單元已收到一個(gè)錯(cuò)誤數(shù)據(jù),,通知F206讀取錯(cuò)誤狀態(tài)信息,INT3是上位機(jī)和接口板數(shù)據(jù)傳輸 控制的一種手段,,通過INT3中斷,,上位機(jī)告訴接口板進(jìn)行數(shù)據(jù)接收還是數(shù)據(jù)發(fā)送操作,發(fā)送多少數(shù)據(jù),,采用的消息格式以及總線控制等信息,。

  DSP部分的軟件采用C++和匯編語言混合編程,關(guān)鍵路徑如中斷服務(wù)程序,,數(shù)據(jù)發(fā)送和接收程序都采用匯編語言以達(dá)到最大的執(zhí)行效率,,主程序采用C++編寫。

  DSP部分軟件的流程圖,,如圖6所示。  

DSP部分軟件的流程圖

  5.3 上位機(jī)控制程序

  主要實(shí)現(xiàn)上位機(jī)在特定的操作系統(tǒng)下對接口板的軟件驅(qū)動(dòng),、數(shù)據(jù)通訊和傳輸控制,。主要使用C++在Windows環(huán)境下進(jìn)行軟件開發(fā)。

 

  6結(jié)語

  本文介紹了一種基于FPGA和DSP對某型飛機(jī)總線系統(tǒng)通訊軟件設(shè)計(jì)與實(shí)現(xiàn)的方法,。在實(shí)際的運(yùn)用中,,較好的實(shí)現(xiàn)了總線系統(tǒng)通訊功能,對1553B總線研究具有一定的使用和參考價(jià)值,。

  參考文獻(xiàn)

 ?。?]胡振華.VHDL與FPGA設(shè)計(jì)[M].北京:中國鐵道出版社,2003

  [2]仇玉章,,孫力娟,,洪龍,等.32位微型計(jì)算機(jī)原理與接口技術(shù)[M].北京:清華大學(xué)出版社,,1999

 ?。?]宋東.航空計(jì)算機(jī)系統(tǒng)與應(yīng)用[M].西安:西北工業(yè)大學(xué)出版社,2 002

 ?。?]羅志強(qiáng).航空電子綜合化系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,,1998

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。