摘 要:提出了一種利用FPGA技術解決ARINC429通信的實現方案,該方案不僅使國內的ARINC429通信設備擺脫了對國外ASIC電路的依賴,還降低了設備成本,并且克服了國外ASIC電路的不足,實現了任意長度數據幀的群收和群發功能,具有較好的應用前景。利用該方案研制的ARINC429數據通信卡,已成功應用于空空導彈測控設備中。
關鍵詞:FPGA;ARINC429;VHDL語言;ASIC電路
中圖分類號:TN919文獻標識碼:B文章編號:1004373X(2008)1901003
Realization of ARINC429 Communications Based on FPGA Technology
LUO Yanqiang,CHEN Lei
(China Airborne Missile Academy,Luoyang,471009,China)
Abstract:A scheme for solving ARINC429 communications based on FPGA technology is proposed in this paper.This scheme not only gets rid of depending on overseas ASIC circuit,but also overcomes shortages of overseas ASIC circuit and achievesthe function of group-transmiting and group-receiving for any length data frame with cheap cost.Based on this scheme,ARINC429 communications card is developed which has been applied to the airborne missile test and control equipment successfully.
Keywords:FPGA;ARINC429;VHDL language;ASIC circuit
ARINC429規范是由美國航空電子工程學會(Airlines Electronic Engineering Committee)提出,主要用于航空電子系統之間數字信息交換的一種工業標準。目前ARINC429通信設備普遍采用美國Harris公司的ARINC429協議電路,該ASIC電路價格昂貴,同時數據接收只能單字緩存,數據發送最多支持連續8個字群發,因而在數據幀群收和群發的應用中增加了控制軟件實時性的要求。隨著微電子技術的快速發展,FPGA的規模正在成倍增長,而價格卻在大幅度下降,利用大規模、價廉的FPGA替代ASIC正在成為一種設計趨勢。在國防領域,這種替代設計在提高了產品性價比的同時,還避免了西方國家在敏感領域對國內的器材禁運。本文所討論的內容就是基于FPGA技術實現ARINC429數據通信,該方案克服了專用協議電路的不足,實現了任意長度數據幀的群收和群發功能。
1 實現方案
ARINC429通信包括數據接收和發送兩個完全獨立的過程,分別由各自模塊完成相應的功能。
1.1 接收功能實現方案
ARINC429總線數據是一種雙極性歸零碼型,分A、B兩路信號差分輸入。利用光耦將差分信號分離為兩路TTL信號DataA和DataB,如圖1所示。進一步分析DataA和DataB兩路信號不難發現:它們不僅包含“0”、“1”碼元信息,還包含位時鐘信息及數據字和數據幀結束信息。接收模塊就是從這兩路信號中提取必要的信息,從而分離出每一個數據字和數據幀,并轉化為易于計算機讀取的并行數據。本設計利用FPGA內部的RAM作為接收緩沖區,完成數據的單字接收或多字群收,緩沖區的深度決定最大群收數據幀大小。

接收電路組成如圖2所示。外部時鐘是數倍于輸入數據速率的高倍時鐘,用于捕捉DataA和DataB信號最穩定有效的中間時刻,作為觸發器置數、清零的同步時鐘輸入。觸發器的輸出即為所接收的429數據串形電平碼,經串并轉換后形成并行數據。字檢測電路判別接收到的429數據是否完整,若完整,則依次寫入接收緩沖區內,同時輸出字接收結束標志信息,否則,丟棄該不完整數據。幀檢測電路監測輸入數據空閑位是否超出指定值,若超出,即判斷為群收數據幀接收結束,并輸出該信息。外部設備可以利用這兩個標志實時從緩沖區讀取數據。

字/幀檢測電路的設計借鑒了計算機看門狗原理:利用分離出的輸入數據位時鐘作為計數器的清零脈沖,當有數據輸入時,該計數器被位時鐘信號定時清零;沒有輸入數據時也沒有位時鐘,計數值不被清零,并累加到設定的門限值,由此檢測出字/幀結束狀態。下面列出字/幀檢測模塊的VHDL語言實現程序:
…
constant N1,N2:integer;--定義字間隔和幀間隔的門限值
begin
process(clk,clr,rbclk)
variable count:integer range 0 to N2;
begin
if (clr=′1′) then count:=0;WordEnd<=′0′;BlockEnd<=′0′;
--初始化字結束標志信號WordEnd和幀結束標志信號BlockEnd
elsif(clk=′1′ and clk′event) then
-- 有接收數據位時鐘rbclk時,計數值清零,否則計數值累加
if rbclk=′0′ then
count:=count+1;
else count:=0;
end if;
if count=N1 then WordEnd <=′1′;-- 計數值到達字間隔門限值時輸出字結束標志
elsif count=N2 then count:=N2;BlockEnd <=′1′;
-- 計數值到達幀間隔門限值時輸出數據幀結束標志
else WordEnd <=′0′;BlockEnd <=′0′;
end if;
end if;
end process;
…
從以上程序可以看出,在接收緩沖區容量范圍內,電路對數據幀的大小完全自適應,由于引入外部高倍時鐘,允許輸入數據速率存在一定范圍的偏差。
1.2 發送功能實現方案
利用FPGA內部的另一段RAM作為發送緩沖區,429數據可以單字發送或數據幀群發,群發數據幀的大小取決于發送緩沖區的深度。外部設備將待發送的數據寫入發送緩沖區,然后向FPGA寫控制字啟動或停止發送。在發送過程中,電路同時輸出字輸出結束和幀輸出結束標志信息,外部設備利用此信息可以實時更新發送內容。奇偶校驗電路自動判別輸出位的奇偶狀態,并將最后形成的奇偶校驗位填入每個字的最后一位。字/幀間隔形成電路在輸出數據字與字之間形成4位低電平間隔,數據幀之間保持零電平狀態。差分信號分離電路將發送數據按照設定速率形成兩路TTL電平差分信號,最后經外部電平變換電路形成符合ARINC429規范的數據格式輸出。發送電路組成框圖如圖3所示。

以上各模塊功能清晰,這里不再逐一詳述。下面討論差分信號分離電路的設計方案:圖4電路將并串轉換后的串行信號data和位時鐘bclk及字/幀間隔信號clk[CD#*2]1作為輸入,產生兩路差分信號。由于輸入信號在各自路徑存在不同延時,輸出端信號429A和429B會產生競爭冒險現象,因此不能直接作為輸出信號。本設計利用電路中的高倍時鐘消除競爭冒險的影響,如圖5所示,clk20為20倍位時鐘頻率的高倍時鐘,該電路可以消除寬度在兩個高倍時鐘周期以內的尖脈沖信號。圖6為增加消除競爭冒險邏輯后輸出信號的時序仿真波形。

2 ARINC429數據通信卡設計
本方案FPGA選用Altera公司的FLEX10K20器件。利用FLEX10K20內部嵌有6×2 048 b容量的RAM,平均分配作為ARINC429數據的接收和發送緩沖區,這樣群收和群發的數據幀長度最大可達192字(32 b/字)。筆者以本方案設計的FPGA電路為核心,研制成功基于PC總線的ARINC429通信卡。該卡的接收和發送位速率、字長、數據幀大小、奇/偶校驗和發送周期等參數可由軟件設定。由于FPGA承擔了數據通信中的實時控制任務,因而對控制軟件的實時性沒有要求,也不需要增加任何板上微處理器控制。電路中所有接口邏輯和控制邏輯全部集成在一片FPGA內,FPGA外圍只需要光耦、電平變換電路等少量器件,實現了SoC(System on a Chip)片上系統。目前該電路正在應用于空空導彈測控設備中。
3 結 語
本文提出的基于FPGA技術實現ARINC429通信的一種解決方案,克服了國外ASIC電路的不足,實現了任意長度數據幀的群收和群發功能,提高了產品性價比。該方案在航空或民用ARINC429通信設備中具有較好的應用前景。
參考文獻
[1]ARINC Specification 429-9.MARK33 Digital Information Transfer System[S].2000.
[2]M4K429RTx User′s Manual[R].Excalibur System Inc.2006
[3]Altera Corporation.FLEX10K Embedded Programmable Logic Device Family Data Sheet[R].2001.
[4]胡振華.VHDL與FPGA設計[M].北京:中國鐵道出版社,2003.
[5]于英民,于佳.計算機接口技術[M].北京:電子工業出版社,2004.
[6]王育堅.Visual C++面向對象編程教程[M].北京:清華大學出版社,2003.
[7]顧世哲,武君勝.ARINC429測試系統設計與總線數據描述方法研究[J].航空計算技術,2006,36(3):22-24.
作者簡介 羅艷強 男,1970年出生,河南信陽人,高級工程師。研究方向為航空通信系統設計。
陳 雷 男,1963年出生,安徽濉溪人,研究員。研究方向為計算機系統設計與應用。