文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.038
中文引用格式: 王泉,,孫海洋,,邵志陽,等. 一種基于FPGA實(shí)現(xiàn)的ARINC659總線分析儀設(shè)計與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,,2016,,42(10):146-148,152.
英文引用格式: Wang Quan,Sun Haiyang,,Shao Zhiyang,,et al. A design and implementation of ARINC659 protocol analyzer based on FPGA[J].Application of Electronic Technique,2016,,42(10):146-148,,152.
0 引言
航空電子系統(tǒng)綜合化的發(fā)展不斷提高,對系統(tǒng)的安全性,、容錯性,、實(shí)時性要求越來越高。底板總線是航空電子系統(tǒng)中各在線可更換模塊(LRM)間數(shù)據(jù)傳輸不可缺少的關(guān)鍵部分,。航空系統(tǒng)綜合化復(fù)雜度的增加使得如何高效監(jiān)控總線數(shù)據(jù)行為,、實(shí)時對數(shù)據(jù)分析、進(jìn)行故障診斷及定位成為航空電子系統(tǒng)面臨的重要問題,。提供能觸發(fā)瞬態(tài)監(jiān)控分析LRM之間通信狀態(tài)的系統(tǒng)將會大大提升航空電子系統(tǒng)維護(hù)效率,,減少系統(tǒng)故障維護(hù)時間,對提升裝備維修性和可用性將發(fā)揮重大作用[1],。
本文提出了一種基于FPGA實(shí)現(xiàn)的ARINC659總線分析儀系統(tǒng)設(shè)計方案,,可完成對ARINC659總線數(shù)據(jù)監(jiān)測、故障注入,、仿真測試等功能,。
1 方案設(shè)計
1.1 傳輸機(jī)制
ARINC659是一種串行總線,,采用4條串行總線通過半雙工通信與交叉校驗(yàn)的通信方式,它減少了硬件電路,,提高了可靠性,。ARINC659是雙總線組成的雙雙配置,總線對A,、B分別有“x”“y”兩條總線,,每條總線都有一條時鐘線和兩條數(shù)據(jù)線,每次傳送2個數(shù)據(jù)位,,完整的總線由12條線組成,。
ARINC659采用雙總線交叉檢測容錯機(jī)制,接收到數(shù)據(jù)首先進(jìn)行相應(yīng)的解碼,,根據(jù)接收到的數(shù)據(jù)有效性及解碼后的4條總線數(shù)據(jù)進(jìn)行交叉(AX=AY,、BX=BY、AX=BY,、AY=BX)比較,,比較結(jié)果根據(jù)調(diào)用可用性表或者完整性表判斷數(shù)據(jù)的有效性。
命令表主要完成總線的初始化,、預(yù)譯碼命令,,對系統(tǒng)內(nèi)各節(jié)點(diǎn)間的通信和節(jié)點(diǎn)各任務(wù)的配置。
1.2 工作原理
總線分析儀與其他LRM模塊一樣都是掛接在ARINC659總線上,,圖1為總線分析儀在系統(tǒng)中的應(yīng)用,,總線分析儀與系統(tǒng)中其他的LRM具有相同的總線命令表,如果總線分析儀被設(shè)置為分析模式,,當(dāng)系統(tǒng)上電總線開始進(jìn)行數(shù)據(jù)通信,,任何一個LRM向總線發(fā)送數(shù)據(jù)時,總線分析儀就開始全部接收總線上的數(shù)據(jù),,并將數(shù)據(jù)消息與同步消息進(jìn)行分析處理,,通過主機(jī)監(jiān)控界面實(shí)時顯示總線數(shù)據(jù)的狀態(tài),總線分析儀只接收總線上的數(shù)據(jù),,不對總線上的數(shù)據(jù)進(jìn)行發(fā)送或者更改,,ARINC659總線規(guī)定一個窗口只能有唯一一個發(fā)送器,或者后備發(fā)送器對總線進(jìn)行數(shù)據(jù)發(fā)送,,允許多個設(shè)備接收總線的數(shù)據(jù),,配置命令表配置總線分析儀只作為接收狀態(tài)??偩€分析儀通過總線收發(fā)器接收總線數(shù)據(jù)并對總線數(shù)據(jù)采用240 MHz的時鐘頻率采樣,,采集模塊對數(shù)據(jù)做前端處理后,傳送到處理器做總線協(xié)議解析與數(shù)據(jù)分析,,通過以太網(wǎng)將總線狀態(tài)傳輸給應(yīng)用層軟件,,應(yīng)用層對數(shù)據(jù)處理后通過GUI界面實(shí)時顯示總線狀態(tài)信息。當(dāng)總線分析儀作為故障注入模式時,,總線分析儀作為輸入設(shè)備對總線的數(shù)據(jù)進(jìn)行斷路故障設(shè)置或者拉低故障設(shè)置對總線注入錯誤導(dǎo)致總線錯誤[2],。
總線分析儀上電初始化完全遵循ARINC659總線上電初始化與同步規(guī)范,上電初始化完成后處于監(jiān)控總線狀態(tài),,將總線上的數(shù)據(jù)實(shí)時傳輸給主機(jī)完成總線數(shù)據(jù)的分析與顯示,。
1.3 硬件設(shè)計
ARINC659總線分析儀主要由電源電路、復(fù)位電路,、總線收發(fā)器電路,、總線繼電器電路、數(shù)據(jù)采集單元(FPGA及配置電路),、CPU數(shù)據(jù)處理單元組成,。如圖2功能框圖,數(shù)據(jù)采集單元完成總線數(shù)據(jù)的高頻數(shù)據(jù)采樣,;CPU數(shù)據(jù)處理單元負(fù)責(zé)總線數(shù)據(jù)的處理與實(shí)時傳輸總線狀態(tài)到宿主主機(jī),。CPU數(shù)據(jù)處理單元要求具有一定存儲器的CPU模塊,具備PCI接口和以太網(wǎng),。
電源電路是整個系統(tǒng)的供電模塊,,提供整個系統(tǒng)各芯片工作所需要的工作電壓。
復(fù)位電路采用手動復(fù)位,、上電復(fù)位,、軟復(fù)位3種復(fù)位方式實(shí)現(xiàn)系統(tǒng)復(fù)位機(jī)制。
總線收發(fā)器電路主要負(fù)責(zé)數(shù)據(jù)的接收,,該電路包括4路獨(dú)立的總線,,每個總線收發(fā)器只接收一路總線數(shù)據(jù),目前市場上大部分的659系統(tǒng)都采用BTL電平,,因此收發(fā)器采用TTL電平轉(zhuǎn)化BTL電平功能的總線收發(fā)器,,設(shè)計中BIUy控制AX、BX總線收發(fā)器的接收使能,,BIUx控制AY,、BY總線收發(fā)器的接收使能。
繼電器電路是完成對總線狀態(tài)更改的故障注入電路,,繼電器的狀態(tài)由FPGA控制器控制,。
數(shù)據(jù)采集單元是總線分析儀的關(guān)鍵部分,主要由一片F(xiàn)PGA以及外圍配置電路實(shí)現(xiàn),,F(xiàn)PGA作為采集模塊的核心主要完成功能如下:
(1)采樣單元:采樣單元采用高頻時鐘進(jìn)行659總線數(shù)據(jù)采樣,,由于659總線采用大電流驅(qū)動,總線數(shù)據(jù)毛刺可能比較大,,這樣采樣頻率要求比較高,,設(shè)計中采樣頻率是總線工作頻率的8倍進(jìn)行數(shù)據(jù)完整性采樣,。采樣單元實(shí)時采樣總線數(shù)據(jù),并對采樣數(shù)據(jù)打本地時標(biāo),,以約定格式輸出,。
(2)濾波電路:采樣到的數(shù)據(jù)首先進(jìn)行數(shù)據(jù)恢復(fù)與去毛刺處理。
(3)檢測單元:對濾波后的數(shù)據(jù)檢測單元首先判斷是同步信息還是數(shù)據(jù),,如果為同步信息則直接傳送監(jiān)控控制單元,,如果為數(shù)據(jù)段則將接收到的數(shù)據(jù)解碼進(jìn)行數(shù)據(jù)校驗(yàn),數(shù)據(jù)校驗(yàn)依據(jù)可用性表或者完整性表根據(jù)接收到數(shù)據(jù)的有效性及4路總線交叉比較的結(jié)果判斷,,校驗(yàn)后的數(shù)據(jù)與校驗(yàn)狀態(tài)進(jìn)行數(shù)據(jù)拼接,,拼接成32 bit(一個字)再傳送給監(jiān)控控制單元。
(4)監(jiān)控控制單元:監(jiān)控控制單元主要完成數(shù)據(jù)消息,、同步消息與CPU數(shù)據(jù)處理單元之間的實(shí)時數(shù)據(jù)通信,,它將采樣單元與檢測單元采集校驗(yàn)的數(shù)據(jù)與檢驗(yàn)狀態(tài)實(shí)時地傳輸給CPU處理模塊單元,以及控制故障注入的繼電器電路對總線注入“0”,、“1”,、斷開等故障。
(5)主機(jī)接口:根據(jù)總線數(shù)據(jù)的傳輸速率,,本設(shè)計采用33 MHz×32 bit的PCI總線接口,,PCI總線接口直接集成Xlinx PCI LogiCORE,其設(shè)計完全兼容33 MHz×32 bit總線協(xié)議規(guī)范,,CPU數(shù)據(jù)處理單元通過采集模塊的DPRAM與相關(guān)寄存器完成高速率的數(shù)據(jù)通信[3],。
CPU數(shù)據(jù)處理單元是整個分析儀的核心處理器,主要處理捕獲模式與觸發(fā)模式,,根據(jù)應(yīng)用層的約束條件進(jìn)行不同模式的數(shù)據(jù)處理后通過以太網(wǎng)將數(shù)據(jù)傳輸給應(yīng)用層軟件,。
1.4 系統(tǒng)軟件設(shè)計
ARINC659總線分析儀軟件平臺開發(fā):宿主機(jī)采用PC,系統(tǒng)通過以太網(wǎng)接口實(shí)現(xiàn)與宿主機(jī)的通信,,分析儀軟件由分析儀驅(qū)動軟件,、API軟件包、幀描述語言編輯器,、傳輸軟件以及上位機(jī)應(yīng)用軟件組成,。軟件架構(gòu)如圖3所示。
應(yīng)用軟件主要提供一個簡單的人機(jī)界面,,用戶通過直觀統(tǒng)一的GUI應(yīng)用軟件控制其工作,,提供659數(shù)據(jù)分析、659數(shù)據(jù)監(jiān)控,、659數(shù)據(jù)捕獲,、659總線故障注入等功能。
(1)數(shù)據(jù)分析功能:提供線速的659同步消息和659數(shù)據(jù)消息的接收功能;對659數(shù)據(jù)按照時標(biāo)進(jìn)行實(shí)時解析與同步顯示,。
(2)數(shù)據(jù)監(jiān)控功能:可統(tǒng)計接收到數(shù)據(jù)的狀態(tài),,數(shù)據(jù)流量監(jiān)控;監(jiān)控分析數(shù)據(jù)的錯誤狀態(tài),,錯誤統(tǒng)計,;數(shù)據(jù)鏈路中是否存在不可靠數(shù)據(jù)或者總線存在毛刺;版本號是否匹配,、幀切換中接收到的不可校正的數(shù)據(jù),、發(fā)送使能是否匹配;通過對數(shù)據(jù)消息與同步消息的分析判斷同步脈沖是否錯誤,,實(shí)現(xiàn)對系統(tǒng)總線實(shí)時狀態(tài)跟蹤分析功能,。
(3)數(shù)據(jù)捕獲功能:可提供數(shù)據(jù)在線實(shí)時捕獲與觸發(fā)捕獲,將記錄數(shù)據(jù)存儲到主機(jī)硬盤,,數(shù)據(jù)存儲由軟件實(shí)現(xiàn),。
(4)總線故障注入功能:故障注入是通過控制器控制每路總線設(shè)計的繼電器實(shí)現(xiàn)對總線“0”、“1”,、斷開等3種狀態(tài)的故障注入,,對于每一組信號,除了單獨(dú)的信號注入故障以外,,還包括相互粘連的情況,,共有3種粘連情況:每一組的CK與D0粘連,D0與D1粘連,,CK,、D0、D1粘連,。默認(rèn)的情況下,,所有的信號沒有故障注入,處于正常連通的狀態(tài),。圖4所示為軟件故障注入界面設(shè)計,。
驅(qū)動軟件是作為傳輸軟件與應(yīng)用軟件的通信接口,它包括CPU系統(tǒng)軟件驅(qū)動,、PCI接口驅(qū)動,、以太網(wǎng)驅(qū)動以及通信軟件,CPU系統(tǒng)軟件驅(qū)動提供采集模塊的控制,、中斷服務(wù),、狀態(tài)匯報、不同模式的數(shù)據(jù)處理,、應(yīng)用程序等服務(wù),,以太網(wǎng)驅(qū)動提供以太網(wǎng)接口的數(shù)據(jù)解析、API軟件等,,PCI接口驅(qū)動完成PCI接口的初始化,、總線采集模塊與CPU之間的通信等,,通信軟件實(shí)現(xiàn)總線數(shù)據(jù)的傳輸。
傳輸軟件作為分析儀的底層軟件,,主要完成總線數(shù)據(jù)的傳輸及總線命令表的編寫,。ARINC659總線完全基于659總線命令表進(jìn)行總線周期性活動,幀描述語言命令用于定義ARINC659總線數(shù)據(jù)幀中每個窗口操作,、窗口長度,、命令參數(shù)等。
2 功能驗(yàn)證
按照圖1的環(huán)境搭建方式,,對總線系統(tǒng)的各個節(jié)點(diǎn)進(jìn)行不同狀態(tài)的故障注入,,通過總線分析儀對總線進(jìn)行實(shí)時記錄、捕獲,、監(jiān)控分析[4],。總線分析儀根據(jù)主機(jī)的命令來啟動或者停止不同模式的數(shù)據(jù)采集,,系統(tǒng)采用240 MHz的采樣頻率對總線數(shù)據(jù)與同步消息進(jìn)行實(shí)時的采用,,能準(zhǔn)確捕捉與記錄初始化同步、長同步,、短同步以及總線數(shù)據(jù),,并標(biāo)識對應(yīng)的描述符,通過命令表將描述符傳輸?shù)街鳈C(jī),,主機(jī)對傳輸?shù)降臄?shù)據(jù)進(jìn)行統(tǒng)計與分析并實(shí)時顯示到GUI界面,。總線消息傳輸仿真時序如圖5所示,。
本設(shè)計采用CPU8245主機(jī)對不同的系統(tǒng)進(jìn)行大量的故障注入與監(jiān)控分析試驗(yàn)驗(yàn)證,,驗(yàn)證結(jié)果與設(shè)計功能相一致,完全取代了昂貴儀器設(shè)備,、人員耗時的分析,,高效地解決了ARINC659總線系統(tǒng)出現(xiàn)的各種總線故障問題。
3 結(jié)束語
本文立足于航空系統(tǒng)領(lǐng)域經(jīng)常出現(xiàn)的ARINC659總線系統(tǒng)故障,、監(jiān)控分析等問題,,提出一種針對解決ARINC659總線系統(tǒng)現(xiàn)場故障問題提供的一種快速定位與分析總線狀態(tài)的總線分析儀系統(tǒng),同時該分析儀具備故障診斷,、信息處理,、實(shí)時監(jiān)控、數(shù)據(jù)捕獲及故障注入等功能,,減少了系統(tǒng)的復(fù)雜度,,為航空ARINC659總線系統(tǒng)高效、實(shí)時地分析總線狀態(tài)提供一種有效的手段。
參考文獻(xiàn)
[1] A rinc specification 659 backplane data bus[C].The Airlines Electronic Engineering Committee.Seattle:Blake Island,,1993.
[2] 強(qiáng)新建,,田澤,淮治華.基于ARINC 659的FPGA原型驗(yàn)證平臺的構(gòu)建與實(shí)現(xiàn)[J].計算機(jī)工程與設(shè)計,,2010,,31(12);2726-2728.
[3] 汪迪娜,,樊曉椏,,安建鋒.ARINC659總線監(jiān)控卡的設(shè)計與實(shí)現(xiàn)[J].微電子學(xué)與計算機(jī),2010(11):168-172.
[4] 田澤,,劉寧寧,,郭亮,等.ARINC659底板數(shù)據(jù)總線及關(guān)鍵技術(shù)[J].計算機(jī)應(yīng)用,,2013,,33(S2):49-53,,56.