馮 巖
(電子科技大學(xué) 成都 611731)
在現(xiàn)代飛機上,大量信息在飛機與系統(tǒng)、系統(tǒng)與部件之間傳遞。ARINC429總線是廣泛應(yīng)用于航空系統(tǒng)中的數(shù)字總線傳輸技術(shù)。ADS_B系統(tǒng)是未來空中交通管理發(fā)展的方向,如何將ADS_B系統(tǒng)良好的嵌入到航空系統(tǒng)中,是必須要考慮的問題。目前,國內(nèi)的文章僅有ARINC429的實現(xiàn)方法或僅論述如何 ADS_B 實現(xiàn)系統(tǒng)[1-4],鮮有文章對如何實現(xiàn)ARINC429總線在ADS_B系統(tǒng)的應(yīng)用有所研究。ADS_B系統(tǒng)是未來航空系統(tǒng)的重要組成部分,實現(xiàn)ARINC429總線在ADS_B系統(tǒng)中的應(yīng)用,可有效減少機內(nèi)布線、減輕飛機重量,以及避免由于ADS_B系統(tǒng)的應(yīng)用而造成大量的硬件替換。本設(shè)計采用ARINC429專用芯片HI-8582構(gòu)成數(shù)據(jù)收發(fā)核心單元,F(xiàn)PGA進行ARINC429收發(fā)邏輯控制,ARM實現(xiàn)對ADS_B報文的編解碼算法。該設(shè)計在幾乎沒有增加硬件資源的條件下,很好的將ARINC429總線技術(shù)嵌入到ADS_B系統(tǒng)中,具有較強的實用價值。
ARINC 429總線是美國航空無線電公司制定的民用航空數(shù)字總線傳輸標準,規(guī)定其數(shù)據(jù)格式為雙極性歸零碼,即調(diào)制信號由“高”、“低”和“零”狀態(tài)組成。ARINC 429字由32個數(shù)據(jù)位組成,分為5個基本區(qū)域,分別為 Parity、SSM、DATA、SDI、LABEL,如圖1所示。
圖1 ARINC429數(shù)據(jù)格式
ARINC429數(shù)據(jù)格式中,各比特位代表含義如下:
Parity:字的第32位,一般為奇校驗。
SSM:位30、位31為信號/狀態(tài)矩陣,表示硬件設(shè)備條件,操作模式,合法數(shù)據(jù)內(nèi)容。
DATA:位11到位29是數(shù)據(jù)位。
SDI:位10、位9為目的/源接收標示。
LABEL:位8到位1用于區(qū)別數(shù)據(jù)類型和相關(guān)參數(shù)。
1090MHzS模式擴展電文數(shù)據(jù)鏈(1090ES)是國際航空組織推薦的ADS-B的廣播數(shù)據(jù)鏈,最大下行數(shù)據(jù)長度達到112位,最大數(shù)據(jù)率達到1M比特/秒[5]。其主要的信息類型有空中位置消息、狀態(tài)消息、速度消息等。本文僅以空中位置消息為例介紹。如圖2所示.部分比特位的含義如下:
DF:下行數(shù)據(jù)鏈格式標志
CA:S模式應(yīng)答機的能力
ICAO:國際民航組織為飛機分配的編號
CPR:為0,表示“偶”編碼,為1表示“奇”編碼
PI:奇偶校驗位
圖2 ADS_B報文數(shù)據(jù)格式(1090ES)
系統(tǒng)整體方案設(shè)計如圖3所示。為了測試需要,圖中所搭載的系統(tǒng)為測試系統(tǒng)。電腦端ARINC429APP軟件為西安方元明科技發(fā)展有限公司開發(fā),主要用來發(fā)送或接收ARINC49格式的數(shù)據(jù)。ADS_B信號模擬器為電子科技大學(xué)寧波研究院開發(fā),主要用來發(fā)送ADS_B格式的數(shù)據(jù)。在具體的應(yīng)用中,ARINC429APP軟件相當于各傳感器,ADS_B信號模擬器相當于ADS_B系統(tǒng)中的發(fā)射部分。
圖3 系統(tǒng)整體框圖
在電腦端口通過ARINC429App軟件發(fā)送ARINC429格式數(shù)據(jù),通過429板卡轉(zhuǎn)換成ARINC429規(guī)定的雙極性歸零碼。HI-8582為收發(fā)一體的接口控制芯片,接收從ARINC429總線發(fā)送來的串行數(shù)據(jù),F(xiàn)PGA通過控制HI-8582芯片的和管腳使能,將兩次接收來的16位數(shù)據(jù)拼接成32位數(shù)據(jù)發(fā)送到緩沖fifo,再傳至ARM。ARM通過識別自定義協(xié)議中的標號信息編碼成ADS_B消息,回傳至FPGA,然后經(jīng)DPSK(差分移相鍵控)調(diào)制,經(jīng)過發(fā)射機和天線,可發(fā)送到基站或其他飛機。在具體測試時,可用示波器抓取ADS_B報文,核對是否轉(zhuǎn)換正確。
接收其他飛機的ADS_B消息數(shù)據(jù)后,F(xiàn)PGA通過一級fifo(緩存)發(fā)送給ARM。ARM通過解碼算法,將ADS_B消息中的有效數(shù)據(jù)提取,重新進行組合(具體參照下一章節(jié))。FPGA接收ARM的數(shù)據(jù),根據(jù)首部信息識別要編碼的ARINC429數(shù)據(jù)標號,編碼成32位ARINC429要求的數(shù)據(jù)格式。FPGA通過控制HI-8582芯片的和管腳使能,分兩次將數(shù)據(jù)傳送至HI-8582芯片。在具體測試時,可用ADS_B模擬器發(fā)送已知的ADS_B報文,通過電腦端ARINC429App軟件觀察數(shù)據(jù)是否轉(zhuǎn)換正確。
實現(xiàn)ADS_B數(shù)據(jù)和ARINC429數(shù)據(jù)格式之間的轉(zhuǎn)換,需要 ARM端進行編解碼作為中介。在ADS_B系統(tǒng)中,為了對飛機有效編碼,經(jīng)度和緯度等信息采用簡潔報告(CPR)的形式。在具體使用這些信息時,需要將ADS_B報文格式的數(shù)據(jù)通過CPR算法轉(zhuǎn)換成固定字節(jié)格式的數(shù)據(jù)。
為了敘述簡單明了,文中對其中一種ADS_B消息(空中位置消息)的發(fā)送流程加以描述。FPGA接收ADS_B報文,經(jīng)CPR解碼,回傳至FPGA。為了實現(xiàn)可靠傳輸,以及告知FPGA所傳送的信息類型,需要自定義傳輸協(xié)議。需要說明的是,以下協(xié)議為自定義,在相關(guān)開發(fā)時,可更改,如圖3所示。(注:AA,F(xiàn)9這兩類數(shù)字為自擬數(shù)值):
AA是同步頭,標明一段數(shù)據(jù)的開始,同時數(shù)字也代表了ARM與FPGA之間信息傳送的方向(此處自擬為ARM傳送信息至FPGA)。F9為功能號,作用是FPGA接收到信息后,可通過協(xié)議辨別后面的信息類型、字節(jié)位置,以及將其編碼ARINC429格式數(shù)據(jù)后label數(shù)值。在表格中,只有ICAO地址、高度、緯度、經(jīng)度這三類信息被編碼成ARINC429數(shù)據(jù)。在編碼時,同一數(shù)據(jù)類型,編號相同。ARINC429的數(shù)據(jù)格式中只有19位數(shù)據(jù)為data位,如若要編碼的數(shù)據(jù)類型不超過19位,則高位補0,超過19位,分兩個ARINC429數(shù)輸。
為了驗證設(shè)計是否正確,通過ADS_B信號模擬器發(fā)送一幀已知的ADS_B數(shù)據(jù)(1090 MHZ ES模式)如圖6所示。限于示波器抓取的信號范圍有限,僅抓取了ADS_B報文的一部分。由圖6可知,ADS_B報文采用“極性歸零碼”表示,前兩個歸零碼為ADS_B的前導(dǎo)脈沖,是ADS_B數(shù)據(jù)的報頭標志[6]。ADS_B各數(shù)據(jù)位含義表示如圖4所示。為便于說明,我們選擇沒有經(jīng)過 CPR算法變換的ICAO地址進行驗證。圖6為所發(fā)送的數(shù)據(jù),用框框住的數(shù)據(jù)為ADS_B中的ICAO地址(二進制數(shù)據(jù)為“101010100000000000000001”,轉(zhuǎn)換為 16進制為“aa0001”)。通過圖2所設(shè)計的系統(tǒng)架構(gòu),在電腦ARINC429APP軟件上看到其label為“0x01”的數(shù)據(jù)為“08000401”和“80005401”,如圖5所示。轉(zhuǎn)換為二進制為
圖4 自擬ARM與FPGA傳輸協(xié)議
其中加粗的部分即為ADS_B中的ICAO地址。所接收到的標號為0x02,0x03,0x04的信息分別為經(jīng)過CPR算法的高度、經(jīng)度、緯度值。
圖5 ARINC429APP軟件接收的數(shù)據(jù)
在國內(nèi),ADS_B系統(tǒng)的研究已初步成熟,如何實現(xiàn)ADS_B系統(tǒng)與機載系統(tǒng)之間數(shù)據(jù)通信將是下一步要解決的問題。本文從ADS_B系統(tǒng)架構(gòu)的角度出發(fā),設(shè)計ARINC429總線在ADS_B系統(tǒng)的應(yīng)用,此方法在不增加硬件的基礎(chǔ)上通過自定義協(xié)議,實現(xiàn)了ARINC429數(shù)據(jù)和ADS_B數(shù)據(jù)格式之間的相互轉(zhuǎn)換,對后續(xù)ADS_B系統(tǒng)如何整合到航空系統(tǒng)的研究具有一定的參考意義。
圖6 ADS_B的空中位置消息
[1]丁猛,郭英.ARINC429信號處理板的設(shè)計[J].微計算機信息,2008,24(5):30 -32.
[2]姬昕禹,馬捷中,翟正軍等.基于ARINC429總線接口板卡的驅(qū)動程序設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2007,28(14):3511 -3514.
[3]趙顯紅,何谷惠.基于FPGA的ARINC429機載總線接口[J].現(xiàn)代電子技術(shù),2008,10:92-95.
[4]張楨,孫沛.基于FPGA的ARINC429總線通訊板設(shè)計[J].航空計算技術(shù),2010,40(4):112-115.
[5]RTCA,DO-260B:Minimum Operational Performance Standards for 1090 MHz Extended Squitter Automatic Dependent Surveillance-Broadcast(ADS-B)and Traffic Information Services-Broadcast(TIS-B) [S].2003.
[6]李慶,基于S模式ADS-B系統(tǒng)的控制與信息處理[D].電子科技大學(xué)學(xué)位論文,2011.