《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種基于FPGA實現(xiàn)的ARINC659總線分析儀設計與實現(xiàn)
一種基于FPGA實現(xiàn)的ARINC659總線分析儀設計與實現(xiàn)
2016年電子技術(shù)應用第10期
王 泉1,2,孫海洋3,邵志陽3,馬 超1,2
1.中航工業(yè)西安航空計算技術(shù)研究所,陜西 西安710068; 2.集成電路與微系統(tǒng)設計航空科技重點實驗室,陜西 西安710068;3.西安翔騰微電子科技有限公司,陜西 西安710068
摘要: 隨著航空系統(tǒng)綜合化復雜度的增加,如何高效監(jiān)控總線數(shù)據(jù)行為、實時對數(shù)據(jù)分析、進行故障診斷及定位是航空電子系統(tǒng)面臨的重要問題。提出一種基于FPGA開發(fā)的ARINC659總線分析儀設計方案,主要實現(xiàn)了ARINC659總線數(shù)據(jù)的監(jiān)控、采樣、存儲及故障注入測試,可以通過通信接口將總線數(shù)據(jù)觸發(fā)實時分析并評估總線行為,為ARINC659總線數(shù)據(jù)實時分析提供了完善、可靠的測試手段。
關(guān)鍵詞: ARINC659 監(jiān)控 分析 捕獲
中圖分類號: TN913
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.038
中文引用格式: 王泉,孫海洋,邵志陽,等. 一種基于FPGA實現(xiàn)的ARINC659總線分析儀設計與實現(xiàn)[J].電子技術(shù)應用,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)的安全性、容錯性、實時性要求越來越高。底板總線是航空電子系統(tǒng)中各在線可更換模塊(LRM)間數(shù)據(jù)傳輸不可缺少的關(guān)鍵部分。航空系統(tǒng)綜合化復雜度的增加使得如何高效監(jiān)控總線數(shù)據(jù)行為、實時對數(shù)據(jù)分析、進行故障診斷及定位成為航空電子系統(tǒng)面臨的重要問題。提供能觸發(fā)瞬態(tài)監(jiān)控分析LRM之間通信狀態(tài)的系統(tǒng)將會大大提升航空電子系統(tǒng)維護效率,減少系統(tǒng)故障維護時間,對提升裝備維修性和可用性將發(fā)揮重大作用[1]

    本文提出了一種基于FPGA實現(xiàn)的ARINC659總線分析儀系統(tǒng)設計方案,可完成對ARINC659總線數(shù)據(jù)監(jiān)測、故障注入、仿真測試等功能。

1 方案設計

1.1 傳輸機制

    ARINC659是一種串行總線,采用4條串行總線通過半雙工通信與交叉校驗的通信方式,它減少了硬件電路,提高了可靠性。ARINC659是雙總線組成的雙雙配置,總線對A、B分別有“x”“y”兩條總線,每條總線都有一條時鐘線和兩條數(shù)據(jù)線,每次傳送2個數(shù)據(jù)位,完整的總線由12條線組成。

    ARINC659采用雙總線交叉檢測容錯機制,接收到數(shù)據(jù)首先進行相應的解碼,根據(jù)接收到的數(shù)據(jù)有效性及解碼后的4條總線數(shù)據(jù)進行交叉(AX=AY、BX=BY、AX=BY、AY=BX)比較,比較結(jié)果根據(jù)調(diào)用可用性表或者完整性表判斷數(shù)據(jù)的有效性。

    命令表主要完成總線的初始化、預譯碼命令,對系統(tǒng)內(nèi)各節(jié)點間的通信和節(jié)點各任務的配置。

1.2 工作原理

    總線分析儀與其他LRM模塊一樣都是掛接在ARINC659總線上,圖1為總線分析儀在系統(tǒng)中的應用,總線分析儀與系統(tǒng)中其他的LRM具有相同的總線命令表,如果總線分析儀被設置為分析模式,當系統(tǒng)上電總線開始進行數(shù)據(jù)通信,任何一個LRM向總線發(fā)送數(shù)據(jù)時,總線分析儀就開始全部接收總線上的數(shù)據(jù),并將數(shù)據(jù)消息與同步消息進行分析處理,通過主機監(jiān)控界面實時顯示總線數(shù)據(jù)的狀態(tài),總線分析儀只接收總線上的數(shù)據(jù),不對總線上的數(shù)據(jù)進行發(fā)送或者更改,ARINC659總線規(guī)定一個窗口只能有唯一一個發(fā)送器,或者后備發(fā)送器對總線進行數(shù)據(jù)發(fā)送,允許多個設備接收總線的數(shù)據(jù),配置命令表配置總線分析儀只作為接收狀態(tài)??偩€分析儀通過總線收發(fā)器接收總線數(shù)據(jù)并對總線數(shù)據(jù)采用240 MHz的時鐘頻率采樣,采集模塊對數(shù)據(jù)做前端處理后,傳送到處理器做總線協(xié)議解析與數(shù)據(jù)分析,通過以太網(wǎng)將總線狀態(tài)傳輸給應用層軟件,應用層對數(shù)據(jù)處理后通過GUI界面實時顯示總線狀態(tài)信息。當總線分析儀作為故障注入模式時,總線分析儀作為輸入設備對總線的數(shù)據(jù)進行斷路故障設置或者拉低故障設置對總線注入錯誤導致總線錯誤[2]

xaxt2-t1.gif

    總線分析儀上電初始化完全遵循ARINC659總線上電初始化與同步規(guī)范,上電初始化完成后處于監(jiān)控總線狀態(tài),將總線上的數(shù)據(jù)實時傳輸給主機完成總線數(shù)據(jù)的分析與顯示。 

1.3 硬件設計

    ARINC659總線分析儀主要由電源電路、復位電路、總線收發(fā)器電路、總線繼電器電路、數(shù)據(jù)采集單元(FPGA及配置電路)、CPU數(shù)據(jù)處理單元組成。如圖2功能框圖,數(shù)據(jù)采集單元完成總線數(shù)據(jù)的高頻數(shù)據(jù)采樣;CPU數(shù)據(jù)處理單元負責總線數(shù)據(jù)的處理與實時傳輸總線狀態(tài)到宿主主機。CPU數(shù)據(jù)處理單元要求具有一定存儲器的CPU模塊,具備PCI接口和以太網(wǎng)。

xaxt2-t2.gif

    電源電路是整個系統(tǒng)的供電模塊,提供整個系統(tǒng)各芯片工作所需要的工作電壓。

    復位電路采用手動復位、上電復位、軟復位3種復位方式實現(xiàn)系統(tǒng)復位機制。

    總線收發(fā)器電路主要負責數(shù)據(jù)的接收,該電路包括4路獨立的總線,每個總線收發(fā)器只接收一路總線數(shù)據(jù),目前市場上大部分的659系統(tǒng)都采用BTL電平,因此收發(fā)器采用TTL電平轉(zhuǎn)化BTL電平功能的總線收發(fā)器,設計中BIUy控制AX、BX總線收發(fā)器的接收使能,BIUx控制AY、BY總線收發(fā)器的接收使能。

    繼電器電路是完成對總線狀態(tài)更改的故障注入電路,繼電器的狀態(tài)由FPGA控制器控制。

    數(shù)據(jù)采集單元是總線分析儀的關(guān)鍵部分,主要由一片F(xiàn)PGA以及外圍配置電路實現(xiàn),F(xiàn)PGA作為采集模塊的核心主要完成功能如下:

    (1)采樣單元:采樣單元采用高頻時鐘進行659總線數(shù)據(jù)采樣,由于659總線采用大電流驅(qū)動,總線數(shù)據(jù)毛刺可能比較大,這樣采樣頻率要求比較高,設計中采樣頻率是總線工作頻率的8倍進行數(shù)據(jù)完整性采樣。采樣單元實時采樣總線數(shù)據(jù),并對采樣數(shù)據(jù)打本地時標,以約定格式輸出。

    (2)濾波電路:采樣到的數(shù)據(jù)首先進行數(shù)據(jù)恢復與去毛刺處理。

    (3)檢測單元:對濾波后的數(shù)據(jù)檢測單元首先判斷是同步信息還是數(shù)據(jù),如果為同步信息則直接傳送監(jiān)控控制單元,如果為數(shù)據(jù)段則將接收到的數(shù)據(jù)解碼進行數(shù)據(jù)校驗,數(shù)據(jù)校驗依據(jù)可用性表或者完整性表根據(jù)接收到數(shù)據(jù)的有效性及4路總線交叉比較的結(jié)果判斷,校驗后的數(shù)據(jù)與校驗狀態(tài)進行數(shù)據(jù)拼接,拼接成32 bit(一個字)再傳送給監(jiān)控控制單元。

    (4)監(jiān)控控制單元:監(jiān)控控制單元主要完成數(shù)據(jù)消息、同步消息與CPU數(shù)據(jù)處理單元之間的實時數(shù)據(jù)通信,它將采樣單元與檢測單元采集校驗的數(shù)據(jù)與檢驗狀態(tài)實時地傳輸給CPU處理模塊單元,以及控制故障注入的繼電器電路對總線注入“0”、“1”、斷開等故障。

    (5)主機接口:根據(jù)總線數(shù)據(jù)的傳輸速率,本設計采用33 MHz×32 bit的PCI總線接口,PCI總線接口直接集成Xlinx PCI LogiCORE,其設計完全兼容33 MHz×32 bit總線協(xié)議規(guī)范,CPU數(shù)據(jù)處理單元通過采集模塊的DPRAM與相關(guān)寄存器完成高速率的數(shù)據(jù)通信[3]。

    CPU數(shù)據(jù)處理單元是整個分析儀的核心處理器,主要處理捕獲模式與觸發(fā)模式,根據(jù)應用層的約束條件進行不同模式的數(shù)據(jù)處理后通過以太網(wǎng)將數(shù)據(jù)傳輸給應用層軟件。

1.4 系統(tǒng)軟件設計

    ARINC659總線分析儀軟件平臺開發(fā):宿主機采用PC,系統(tǒng)通過以太網(wǎng)接口實現(xiàn)與宿主機的通信,分析儀軟件由分析儀驅(qū)動軟件、API軟件包、幀描述語言編輯器、傳輸軟件以及上位機應用軟件組成。軟件架構(gòu)如圖3所示。

xaxt2-t3.gif

    應用軟件主要提供一個簡單的人機界面,用戶通過直觀統(tǒng)一的GUI應用軟件控制其工作,提供659數(shù)據(jù)分析、659數(shù)據(jù)監(jiān)控、659數(shù)據(jù)捕獲、659總線故障注入等功能。

    (1)數(shù)據(jù)分析功能:提供線速的659同步消息和659數(shù)據(jù)消息的接收功能;對659數(shù)據(jù)按照時標進行實時解析與同步顯示。

    (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ù)消息與同步消息的分析判斷同步脈沖是否錯誤,實現(xiàn)對系統(tǒng)總線實時狀態(tài)跟蹤分析功能。

    (3)數(shù)據(jù)捕獲功能:可提供數(shù)據(jù)在線實時捕獲與觸發(fā)捕獲,將記錄數(shù)據(jù)存儲到主機硬盤,數(shù)據(jù)存儲由軟件實現(xiàn)。

    (4)總線故障注入功能:故障注入是通過控制器控制每路總線設計的繼電器實現(xiàn)對總線“0”、“1”、斷開等3種狀態(tài)的故障注入,對于每一組信號,除了單獨的信號注入故障以外,還包括相互粘連的情況,共有3種粘連情況:每一組的CK與D0粘連,D0與D1粘連,CK、D0、D1粘連。默認的情況下,所有的信號沒有故障注入,處于正常連通的狀態(tài)。圖4所示為軟件故障注入界面設計。

xaxt2-t4.gif

    驅(qū)動軟件是作為傳輸軟件與應用軟件的通信接口,它包括CPU系統(tǒng)軟件驅(qū)動、PCI接口驅(qū)動、以太網(wǎng)驅(qū)動以及通信軟件,CPU系統(tǒng)軟件驅(qū)動提供采集模塊的控制、中斷服務、狀態(tài)匯報、不同模式的數(shù)據(jù)處理、應用程序等服務,以太網(wǎng)驅(qū)動提供以太網(wǎng)接口的數(shù)據(jù)解析、API軟件等,PCI接口驅(qū)動完成PCI接口的初始化、總線采集模塊與CPU之間的通信等,通信軟件實現(xiàn)總線數(shù)據(jù)的傳輸。

    傳輸軟件作為分析儀的底層軟件,主要完成總線數(shù)據(jù)的傳輸及總線命令表的編寫。ARINC659總線完全基于659總線命令表進行總線周期性活動,幀描述語言命令用于定義ARINC659總線數(shù)據(jù)幀中每個窗口操作、窗口長度、命令參數(shù)等。

2 功能驗證

    按照圖1的環(huán)境搭建方式,對總線系統(tǒng)的各個節(jié)點進行不同狀態(tài)的故障注入,通過總線分析儀對總線進行實時記錄、捕獲、監(jiān)控分析[4]。總線分析儀根據(jù)主機的命令來啟動或者停止不同模式的數(shù)據(jù)采集,系統(tǒng)采用240 MHz的采樣頻率對總線數(shù)據(jù)與同步消息進行實時的采用,能準確捕捉與記錄初始化同步、長同步、短同步以及總線數(shù)據(jù),并標識對應的描述符,通過命令表將描述符傳輸?shù)街鳈C,主機對傳輸?shù)降臄?shù)據(jù)進行統(tǒng)計與分析并實時顯示到GUI界面。總線消息傳輸仿真時序如圖5所示。

xaxt2-t5.gif

    本設計采用CPU8245主機對不同的系統(tǒng)進行大量的故障注入與監(jiān)控分析試驗驗證,驗證結(jié)果與設計功能相一致,完全取代了昂貴儀器設備、人員耗時的分析,高效地解決了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),同時該分析儀具備故障診斷、信息處理、實時監(jiān)控、數(shù)據(jù)捕獲及故障注入等功能,減少了系統(tǒng)的復雜度,為航空ARINC659總線系統(tǒng)高效、實時地分析總線狀態(tài)提供一種有效的手段。

參考文獻

[1] A rinc specification 659 backplane data bus[C].The Airlines Electronic Engineering Committee.Seattle:Blake Island,1993.

[2] 強新建,田澤,淮治華.基于ARINC 659的FPGA原型驗證平臺的構(gòu)建與實現(xiàn)[J].計算機工程與設計,2010,31(12);2726-2728.

[3] 汪迪娜,樊曉椏,安建鋒.ARINC659總線監(jiān)控卡的設計與實現(xiàn)[J].微電子學與計算機,2010(11):168-172.

[4] 田澤,劉寧寧,郭亮,等.ARINC659底板數(shù)據(jù)總線及關(guān)鍵技術(shù)[J].計算機應用,2013,33(S2):49-53,56.

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