《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 一種基于FPGA實(shí)現(xiàn)的ARINC659總線分析儀設(shè)計與實(shí)現(xiàn)
一種基于FPGA實(shí)現(xiàn)的ARINC659總線分析儀設(shè)計與實(shí)現(xiàn)
2016年電子技術(shù)應(yīng)用第10期
王 泉1,2,孫海洋3,邵志陽3,馬 超1,2
1.中航工業(yè)西安航空計算技術(shù)研究所,陜西 西安710068; 2.集成電路與微系統(tǒng)設(shè)計航空科技重點(diǎn)實(shí)驗(yàn)室,陜西 西安710068;3.西安翔騰微電子科技有限公司,陜西 西安710068
摘要: 隨著航空系統(tǒng)綜合化復(fù)雜度的增加,如何高效監(jiān)控總線數(shù)據(jù)行為、實(shí)時對數(shù)據(jù)分析、進(jìn)行故障診斷及定位是航空電子系統(tǒng)面臨的重要問題。提出一種基于FPGA開發(fā)的ARINC659總線分析儀設(shè)計方案,主要實(shí)現(xiàn)了ARINC659總線數(shù)據(jù)的監(jiān)控、采樣、存儲及故障注入測試,可以通過通信接口將總線數(shù)據(jù)觸發(fā)實(shí)時分析并評估總線行為,為ARINC659總線數(shù)據(jù)實(shí)時分析提供了完善、可靠的測試手段。
關(guān)鍵詞: ARINC659 監(jiān)控 分析 捕獲
中圖分類號: TN913
文獻(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.
A design and implementation of ARINC659 protocol analyzer based on FPGA
Wang Quan1,2,Sun Haiyang3,Shao Zhiyang3,Ma Chao1,2
1.AVIC Computing Technique Research Institute,Xi′an 710068,China; 2.Aviation Key Laboratory of Science and Technology on Integrated Circuit and Micro-System Design,Xi′an 710068,China; 3.Xi′an Xiangteng Microelectronics Technology CO.,LTD,Xi′an 710068,China
Abstract: With the increase of the complexity of the aviation system, it is an important problem that how to effectively monitor the bus data behavior, real-time data analysis, fault diagnosis and location. This paper presents a design of ARINC659 bus analyzer based on FPGA development, which mainly implements ARINC659 bus data monitoring, sampling, storing and fault injection test, can trigger data analysis and access behavior through the communication interface bus,which provides a perfect and reliable testing method for the real-time data analysis of the ARINC659 bus.
Key words : ARINC659;monitor;analyse;capture

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]。

xaxt2-t1.gif

    總線分析儀上電初始化完全遵循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)。

xaxt2-t2.gif

    電源電路是整個系統(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所示。

xaxt2-t3.gif

    應(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è)計。

xaxt2-t4.gif

    驅(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所示。

xaxt2-t5.gif

    本設(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.

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