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

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

1 方案設(shè)計(jì)

1.1 傳輸機(jī)制

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

    ARINC659采用雙總線交叉檢測(cè)容錯(cuò)機(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ù)譯碼命令,對(duì)系統(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)上電總線開(kāi)始進(jìn)行數(shù)據(jù)通信,任何一個(gè)LRM向總線發(fā)送數(shù)據(jù)時(shí),總線分析儀就開(kāi)始全部接收總線上的數(shù)據(jù),并將數(shù)據(jù)消息與同步消息進(jìn)行分析處理,通過(guò)主機(jī)監(jiān)控界面實(shí)時(shí)顯示總線數(shù)據(jù)的狀態(tài),總線分析儀只接收總線上的數(shù)據(jù),不對(duì)總線上的數(shù)據(jù)進(jìn)行發(fā)送或者更改,ARINC659總線規(guī)定一個(gè)窗口只能有唯一一個(gè)發(fā)送器,或者后備發(fā)送器對(duì)總線進(jìn)行數(shù)據(jù)發(fā)送,允許多個(gè)設(shè)備接收總線的數(shù)據(jù),配置命令表配置總線分析儀只作為接收狀態(tài)??偩€分析儀通過(guò)總線收發(fā)器接收總線數(shù)據(jù)并對(duì)總線數(shù)據(jù)采用240 MHz的時(shí)鐘頻率采樣,采集模塊對(duì)數(shù)據(jù)做前端處理后,傳送到處理器做總線協(xié)議解析與數(shù)據(jù)分析,通過(guò)以太網(wǎng)將總線狀態(tài)傳輸給應(yīng)用層軟件,應(yīng)用層對(duì)數(shù)據(jù)處理后通過(guò)GUI界面實(shí)時(shí)顯示總線狀態(tài)信息。當(dāng)總線分析儀作為故障注入模式時(shí),總線分析儀作為輸入設(shè)備對(duì)總線的數(shù)據(jù)進(jìn)行斷路故障設(shè)置或者拉低故障設(shè)置對(duì)總線注入錯(cuò)誤導(dǎo)致總線錯(cuò)誤[2]。

xaxt2-t1.gif

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

1.3 硬件設(shè)計(jì)

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

xaxt2-t2.gif

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

    復(fù)位電路采用手動(dòng)復(fù)位、上電復(fù)位、軟復(fù)位3種復(fù)位方式實(shí)現(xiàn)系統(tǒng)復(fù)位機(jī)制。

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

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

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

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

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

    (3)檢測(cè)單元:對(duì)濾波后的數(shù)據(jù)檢測(cè)單元首先判斷是同步信息還是數(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(一個(gè)字)再傳送給監(jiān)控控制單元。

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

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

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

1.4 系統(tǒng)軟件設(shè)計(jì)

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

xaxt2-t3.gif

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

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

    (2)數(shù)據(jù)監(jiān)控功能:可統(tǒng)計(jì)接收到數(shù)據(jù)的狀態(tài),數(shù)據(jù)流量監(jiān)控;監(jiān)控分析數(shù)據(jù)的錯(cuò)誤狀態(tài),錯(cuò)誤統(tǒng)計(jì);數(shù)據(jù)鏈路中是否存在不可靠數(shù)據(jù)或者總線存在毛刺;版本號(hào)是否匹配、幀切換中接收到的不可校正的數(shù)據(jù)、發(fā)送使能是否匹配;通過(guò)對(duì)數(shù)據(jù)消息與同步消息的分析判斷同步脈沖是否錯(cuò)誤,實(shí)現(xiàn)對(duì)系統(tǒng)總線實(shí)時(shí)狀態(tài)跟蹤分析功能。

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

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

xaxt2-t4.gif

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

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

2 功能驗(yàn)證

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

xaxt2-t5.gif

    本設(shè)計(jì)采用CPU8245主機(jī)對(duì)不同的系統(tǒng)進(jìn)行大量的故障注入與監(jiān)控分析試驗(yàn)驗(yàn)證,驗(yàn)證結(jié)果與設(shè)計(jì)功能相一致,完全取代了昂貴儀器設(shè)備、人員耗時(shí)的分析,高效地解決了ARINC659總線系統(tǒng)出現(xiàn)的各種總線故障問(wèn)題。

3 結(jié)束語(yǔ)

    本文立足于航空系統(tǒng)領(lǐng)域經(jīng)常出現(xiàn)的ARINC659總線系統(tǒng)故障、監(jiān)控分析等問(wèn)題,提出一種針對(duì)解決ARINC659總線系統(tǒng)現(xiàn)場(chǎng)故障問(wèn)題提供的一種快速定位與分析總線狀態(tài)的總線分析儀系統(tǒng),同時(shí)該分析儀具備故障診斷、信息處理、實(shí)時(shí)監(jiān)控、數(shù)據(jù)捕獲及故障注入等功能,減少了系統(tǒng)的復(fù)雜度,為航空ARINC659總線系統(tǒng)高效、實(shí)時(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)證平臺(tái)的構(gòu)建與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(12);2726-2728.

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

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

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