摘 要: 隨著航空系統(tǒng)綜合化復(fù)雜度的增加,如何高效監(jiān)控總線(xiàn)數(shù)據(jù)行為、實(shí)時(shí)對(duì)數(shù)據(jù)分析、進(jìn)行故障診斷及定位是航空電子系統(tǒng)面臨的重要問(wèn)題。提出一種基于FPGA開(kāi)發(fā)的ARINC659總線(xiàn)分析儀設(shè)計(jì)方案,主要實(shí)現(xiàn)了ARINC659總線(xiàn)數(shù)據(jù)的監(jiān)控、采樣、存儲(chǔ)及故障注入測(cè)試,可以通過(guò)通信接口將總線(xiàn)數(shù)據(jù)觸發(fā)實(shí)時(shí)分析并評(píng)估總線(xiàn)行為,為ARINC659總線(xiàn)數(shù)據(jù)實(shí)時(shí)分析提供了完善、可靠的測(cè)試手段。
?
0 引言
航空電子系統(tǒng)綜合化的發(fā)展不斷提高,對(duì)系統(tǒng)的安全性、容錯(cuò)性、實(shí)時(shí)性要求越來(lái)越高。底板總線(xiàn)是航空電子系統(tǒng)中各在線(xiàn)可更換模塊(LRM)間數(shù)據(jù)傳輸不可缺少的關(guān)鍵部分。航空系統(tǒng)綜合化復(fù)雜度的增加使得如何高效監(jiān)控總線(xià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總線(xiàn)分析儀系統(tǒng)設(shè)計(jì)方案,可完成對(duì)ARINC659總線(xiàn)數(shù)據(jù)監(jiān)測(cè)、故障注入、仿真測(cè)試等功能。
1 方案設(shè)計(jì)
1.1 傳輸機(jī)制
ARINC659是一種串行總線(xiàn),采用4條串行總線(xiàn)通過(guò)半雙工通信與交叉校驗(yàn)的通信方式,它減少了硬件電路,提高了可靠性。ARINC659是雙總線(xiàn)組成的雙雙配置,總線(xiàn)對(duì)A、B分別有“x”“y”兩條總線(xiàn),每條總線(xiàn)都有一條時(shí)鐘線(xiàn)和兩條數(shù)據(jù)線(xiàn),每次傳送2個(gè)數(shù)據(jù)位,完整的總線(xiàn)由12條線(xiàn)組成。
ARINC659采用雙總線(xiàn)交叉檢測(cè)容錯(cuò)機(jī)制,接收到數(shù)據(jù)首先進(jìn)行相應(yīng)的解碼,根據(jù)接收到的數(shù)據(jù)有效性及解碼后的4條總線(xiàn)數(shù)據(jù)進(jìn)行交叉(AX=AY、BX=BY、AX=BY、AY=BX)比較,比較結(jié)果根據(jù)調(diào)用可用性表或者完整性表判斷數(shù)據(jù)的有效性。
命令表主要完成總線(xiàn)的初始化、預(yù)譯碼命令,對(duì)系統(tǒng)內(nèi)各節(jié)點(diǎn)間的通信和節(jié)點(diǎn)各任務(wù)的配置。
1.2 工作原理
總線(xiàn)分析儀與其他LRM模塊一樣都是掛接在ARINC659總線(xiàn)上,圖1為總線(xiàn)分析儀在系統(tǒng)中的應(yīng)用,總線(xiàn)分析儀與系統(tǒng)中其他的LRM具有相同的總線(xiàn)命令表,如果總線(xiàn)分析儀被設(shè)置為分析模式,當(dāng)系統(tǒng)上電總線(xiàn)開(kāi)始進(jìn)行數(shù)據(jù)通信,任何一個(gè)LRM向總線(xiàn)發(fā)送數(shù)據(jù)時(shí),總線(xiàn)分析儀就開(kāi)始全部接收總線(xiàn)上的數(shù)據(jù),并將數(shù)據(jù)消息與同步消息進(jìn)行分析處理,通過(guò)主機(jī)監(jiān)控界面實(shí)時(shí)顯示總線(xiàn)數(shù)據(jù)的狀態(tài),總線(xiàn)分析儀只接收總線(xiàn)上的數(shù)據(jù),不對(duì)總線(xiàn)上的數(shù)據(jù)進(jìn)行發(fā)送或者更改,ARINC659總線(xiàn)規(guī)定一個(gè)窗口只能有唯一一個(gè)發(fā)送器,或者后備發(fā)送器對(duì)總線(xiàn)進(jìn)行數(shù)據(jù)發(fā)送,允許多個(gè)設(shè)備接收總線(xiàn)的數(shù)據(jù),配置命令表配置總線(xiàn)分析儀只作為接收狀態(tài)。總線(xiàn)分析儀通過(guò)總線(xiàn)收發(fā)器接收總線(xiàn)數(shù)據(jù)并對(duì)總線(xiàn)數(shù)據(jù)采用240 MHz的時(shí)鐘頻率采樣,采集模塊對(duì)數(shù)據(jù)做前端處理后,傳送到處理器做總線(xiàn)協(xié)議解析與數(shù)據(jù)分析,通過(guò)以太網(wǎng)將總線(xiàn)狀態(tài)傳輸給應(yīng)用層軟件,應(yīng)用層對(duì)數(shù)據(jù)處理后通過(guò)GUI界面實(shí)時(shí)顯示總線(xiàn)狀態(tài)信息。當(dāng)總線(xiàn)分析儀作為故障注入模式時(shí),總線(xiàn)分析儀作為輸入設(shè)備對(duì)總線(xiàn)的數(shù)據(jù)進(jìn)行斷路故障設(shè)置或者拉低故障設(shè)置對(duì)總線(xiàn)注入錯(cuò)誤導(dǎo)致總線(xiàn)錯(cuò)誤[2]。
總線(xiàn)分析儀上電初始化完全遵循ARINC659總線(xiàn)上電初始化與同步規(guī)范,上電初始化完成后處于監(jiān)控總線(xiàn)狀態(tài),將總線(xiàn)上的數(shù)據(jù)實(shí)時(shí)傳輸給主機(jī)完成總線(xiàn)數(shù)據(jù)的分析與顯示。
1.3 硬件設(shè)計(jì)
ARINC659總線(xiàn)分析儀主要由電源電路、復(fù)位電路、總線(xiàn)收發(fā)器電路、總線(xiàn)繼電器電路、數(shù)據(jù)采集單元(FPGA及配置電路)、CPU數(shù)據(jù)處理單元組成。如圖2功能框圖,數(shù)據(jù)采集單元完成總線(xiàn)數(shù)據(jù)的高頻數(shù)據(jù)采樣;CPU數(shù)據(jù)處理單元負(fù)責(zé)總線(xiàn)數(shù)據(jù)的處理與實(shí)時(shí)傳輸總線(xiàn)狀態(tài)到宿主主機(jī)。CPU數(shù)據(jù)處理單元要求具有一定存儲(chǔ)器的CPU模塊,具備PCI接口和以太網(wǎng)。
電源電路是整個(gè)系統(tǒng)的供電模塊,提供整個(gè)系統(tǒng)各芯片工作所需要的工作電壓。
復(fù)位電路采用手動(dòng)復(fù)位、上電復(fù)位、軟復(fù)位3種復(fù)位方式實(shí)現(xiàn)系統(tǒng)復(fù)位機(jī)制。
總線(xiàn)收發(fā)器電路主要負(fù)責(zé)數(shù)據(jù)的接收,該電路包括4路獨(dú)立的總線(xiàn),每個(gè)總線(xiàn)收發(fā)器只接收一路總線(xiàn)數(shù)據(jù),目前市場(chǎng)上大部分的659系統(tǒng)都采用BTL電平,因此收發(fā)器采用TTL電平轉(zhuǎn)化BTL電平功能的總線(xiàn)收發(fā)器,設(shè)計(jì)中BIUy控制AX、BX總線(xiàn)收發(fā)器的接收使能,BIUx控制AY、BY總線(xiàn)收發(fā)器的接收使能。
繼電器電路是完成對(duì)總線(xiàn)狀態(tài)更改的故障注入電路,繼電器的狀態(tài)由FPGA控制器控制。
數(shù)據(jù)采集單元是總線(xiàn)分析儀的關(guān)鍵部分,主要由一片F(xiàn)PGA以及外圍配置電路實(shí)現(xiàn),F(xiàn)PGA作為采集模塊的核心主要完成功能如下:
(1)采樣單元:采樣單元采用高頻時(shí)鐘進(jìn)行659總線(xiàn)數(shù)據(jù)采樣,由于659總線(xiàn)采用大電流驅(qū)動(dòng),總線(xiàn)數(shù)據(jù)毛刺可能比較大,這樣采樣頻率要求比較高,設(shè)計(jì)中采樣頻率是總線(xiàn)工作頻率的8倍進(jìn)行數(shù)據(jù)完整性采樣。采樣單元實(shí)時(shí)采樣總線(xiàn)數(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路總線(xiàn)交叉比較的結(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ì)總線(xiàn)注入“0”、“1”、斷開(kāi)等故障。
(5)主機(jī)接口:根據(jù)總線(xiàn)數(shù)據(jù)的傳輸速率,本設(shè)計(jì)采用33 MHz×32 bit的PCI總線(xiàn)接口,PCI總線(xiàn)接口直接集成Xlinx PCI LogiCORE,其設(shè)計(jì)完全兼容33 MHz×32 bit總線(xiàn)協(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總線(xiàn)分析儀軟件平臺(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所示。
應(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總線(xiàn)故障注入等功能。
(1)數(shù)據(jù)分析功能:提供線(xiàn)速的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ù)或者總線(xiàn)存在毛刺;版本號(hào)是否匹配、幀切換中接收到的不可校正的數(shù)據(jù)、發(fā)送使能是否匹配;通過(guò)對(duì)數(shù)據(jù)消息與同步消息的分析判斷同步脈沖是否錯(cuò)誤,實(shí)現(xiàn)對(duì)系統(tǒng)總線(xiàn)實(shí)時(shí)狀態(tài)跟蹤分析功能。
(3)數(shù)據(jù)捕獲功能:可提供數(shù)據(jù)在線(xiàn)實(shí)時(shí)捕獲與觸發(fā)捕獲,將記錄數(shù)據(jù)存儲(chǔ)到主機(jī)硬盤(pán),數(shù)據(jù)存儲(chǔ)由軟件實(shí)現(xiàn)。
(4)總線(xiàn)故障注入功能:故障注入是通過(guò)控制器控制每路總線(xiàn)設(shè)計(jì)的繼電器實(shí)現(xiàn)對(duì)總線(xiàn)“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ì)。
驅(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接口的初始化、總線(xiàn)采集模塊與CPU之間的通信等,通信軟件實(shí)現(xiàn)總線(xiàn)數(shù)據(jù)的傳輸。
傳輸軟件作為分析儀的底層軟件,主要完成總線(xiàn)數(shù)據(jù)的傳輸及總線(xiàn)命令表的編寫(xiě)。ARINC659總線(xiàn)完全基于659總線(xiàn)命令表進(jìn)行總線(xiàn)周期性活動(dòng),幀描述語(yǔ)言命令用于定義ARINC659總線(xiàn)數(shù)據(jù)幀中每個(gè)窗口操作、窗口長(zhǎng)度、命令參數(shù)等。
2 功能驗(yàn)證
按照?qǐng)D1的環(huán)境搭建方式,對(duì)總線(xiàn)系統(tǒng)的各個(gè)節(jié)點(diǎn)進(jìn)行不同狀態(tài)的故障注入,通過(guò)總線(xiàn)分析儀對(duì)總線(xiàn)進(jìn)行實(shí)時(shí)記錄、捕獲、監(jiān)控分析[4]。總線(xiàn)分析儀根據(jù)主機(jī)的命令來(lái)啟動(dòng)或者停止不同模式的數(shù)據(jù)采集,系統(tǒng)采用240 MHz的采樣頻率對(duì)總線(xiàn)數(shù)據(jù)與同步消息進(jìn)行實(shí)時(shí)的采用,能準(zhǔn)確捕捉與記錄初始化同步、長(zhǎng)同步、短同步以及總線(xiàn)數(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界面。總線(xiàn)消息傳輸仿真時(shí)序如圖5所示。
本設(shè)計(jì)采用CPU8245主機(jī)對(duì)不同的系統(tǒng)進(jìn)行大量的故障注入與監(jiān)控分析試驗(yàn)驗(yàn)證,驗(yàn)證結(jié)果與設(shè)計(jì)功能相一致,完全取代了昂貴儀器設(shè)備、人員耗時(shí)的分析,高效地解決了ARINC659總線(xiàn)系統(tǒng)出現(xiàn)的各種總線(xiàn)故障問(wèn)題。
3 結(jié)束語(yǔ)
本文立足于航空系統(tǒng)領(lǐng)域經(jīng)常出現(xiàn)的ARINC659總線(xiàn)系統(tǒng)故障、監(jiān)控分析等問(wèn)題,提出一種針對(duì)解決ARINC659總線(xiàn)系統(tǒng)現(xiàn)場(chǎng)故障問(wèn)題提供的一種快速定位與分析總線(xiàn)狀態(tài)的總線(xiàn)分析儀系統(tǒng),同時(shí)該分析儀具備故障診斷、信息處理、實(shí)時(shí)監(jiān)控、數(shù)據(jù)捕獲及故障注入等功能,減少了系統(tǒng)的復(fù)雜度,為航空ARINC659總線(xiàn)系統(tǒng)高效、實(shí)時(shí)地分析總線(xiàn)狀態(tài)提供一種有效的手段。
評(píng)論
查看更多