摘 要:ARINC429 是航空電子設備之間數據傳輸的航空工業(yè)標準。提出一種基于ARINC429 接口板的研究方案。采用高集成度的復雜可編程邏輯器件實現(xiàn)與429 總線的收發(fā)電路和與機載計算機總線之間的數據通信,可有效節(jié)省硬件資源,具有處理速度快、抗干擾能力強等優(yōu)點,提高了該429 接口板的性能。通過設計和實驗,該板卡可以正常穩(wěn)定地工作。
關鍵詞:FPGA;429 總線;VHDL;Max+PlusⅡ
中圖分類號:TP302 文獻標識碼:B
文章編號:1004-373X(2008)10-093-03
Design of ARINC429 Bus Interface Card Based on FPGA
ZHAOXianhong,HE Guhui
(Electronic Information Engineering College,Henan University of Science and Technology,Luoyang,471003,China)
Abstract:ARINC429 bus is an aero standard of data transmission between avionics equipment.A kind of new 429 interface card based on FPGA is put forward.Field Programmable Gate Array(FPGA) implements the data communication between 429 bus and avionics equipment,may save the space high efficiently.Its processing rate is higher,so it can improve the performance of this 429 interface card.This system can successfully run in practical application.
Keywords:FPGA;429 bus;VHDL;Max+PlusⅡ
ARINC429總線是美國航空無線電公司制訂的民用航空數字總線傳輸標準,我國航標SZ01數字信息傳輸系統(tǒng)也規(guī)定為ARINC429。ARINC429總線是一種單向廣播式數據總線,采用差分方式傳輸,具有很強的抗干擾能力,廣泛應用于航空電子系統(tǒng)的數據傳輸。
本設計采用FPGA 完成機載設備總線與429總線通訊的主要電路,大大節(jié)省了硬件資源?;贔PGA的ARINC429 通信接口板實現(xiàn)多發(fā)多收功能,適用于使用ARINC429 標準進行通信的機載設備的地面調試,需要擴展ARINC429通信接口的場合,也適用于使用該接口板構成地面仿真系統(tǒng)的應用場合,該總線接口的設計使得429 通信板可以應用的更加廣泛。本文著重介紹FPGA 部分的設計。
FPGA 是一種復雜的用戶可編程邏輯器件,由于采用連續(xù)連接結構,易于預測延時,從而使電路仿真更加準確。與專用集成電路相比,具有設計開發(fā)周期短、設計制造成本低、開發(fā)工具先進、測試簡單和質量穩(wěn)定等優(yōu)點;與微處理器相比,具有處理速度快的優(yōu)點。再加上使用方便的開發(fā)工具,如Max+PlusⅡ,Quartus 等,使用FPGA器件可以極大地縮短產品開發(fā)周期,給設計修改帶來很大方便。本文描述利用開發(fā)工具Max+PlusⅡ實現(xiàn)FPGA處理ARINC429 數據通信??捎行Ч?jié)省硬件資源,因此可以很好地提高該429 接口板的性能。
1 系統(tǒng)總統(tǒng)設計方案
某機載設備處理機總線與ARINC 429總線之間的接口板系統(tǒng)設計方案如圖1 所示。
圖1 接口板系統(tǒng)設計方案
信息只能從模塊的發(fā)送端輸出,經傳輸總線傳至與發(fā)送端相連的機載設備的接收端,或者從機載設備的發(fā)送端,經傳輸總線傳至模塊的接收端,即信息單向傳輸。因此429總線模塊由以下4個部分組成:與處理機總線的接口部分、429總線接收部分、429總線發(fā)送部分、自檢測部分。虛線為利用FPGA實現(xiàn)的與處理機總線的接口部分。
2 系統(tǒng)硬件設計
2.1 429總線模塊設計的描述
429總線輸入的兩條線A,B直接連到HS-3282的A1,B1端或者A2,B2端。429總線模塊通過地址線、控制線和數據線與處理機相連;通過地址總線譯碼及一些門電路產生HS-3282的所有控制信號。
HS-3282的數據線通過數據總線緩沖與處理機的數據線相連,完成數據通道。
HS-3282產生的D/R1,D/R2作為中斷信號,連到處理機的中斷輸入,完成對所接收的串行數據的讀取。處理機接到D/R1后,送出SEL信號和EN信號,完成數據的讀取工作。
HS-3282產生的TX/R信號,也接到處理機的中斷輸入端。處理機接到TX/R后,產生PL信號,分2次將需要發(fā)送的數據打入HS-3282中,然后處理機發(fā)送命令,HS-3282和HS-3182相配合,把數據自動發(fā)出去。
HS-3282輸出的數據429D0和429D0直接接到HS-3182的A和B端,HS-3282發(fā)送時鐘TXCLK送到HS-3182的同步端和時鐘端,作為HS-3182的發(fā)送時鐘。
由于429模塊上中斷源較多,而有時分配給他的中斷級又少,所以必須設置1個中斷源識別器,在處理機產生中斷后,再讀1次中斷源,便可知道是哪個中斷源產生的中斷。
429總線模塊與局部總線的接口包括數據線、地址線、讀寫控制線以及地址和控制線參加的譯碼邏輯。CPU需要通過緩沖器在口地址選通作用下讀寫數據。輸入緩沖器選用簡單小規(guī)模緩沖器,如54LS244,54LS245等。通過地址譯碼與讀寫控制產生429總線模塊的控制信號:接收器1的接收控制信號EN1[TX-],接收器2接收控制信號EN2[TX-],寫第一個字的寫信號PL1[TX-],寫第二個字的寫信號PL2[TX-],寫控制字信號CWSTR[TX-]。
429總線模塊設計的數據總線寬度為16位,CPU總線數據經429總線模塊的雙向數據緩沖/驅動器(54LS245)進行緩沖、驅動,IOR[TX-]控制數據流動方向,板選信號CS[TX-]控制數據選通端。地址線及控制線經緩沖驅動(54LS244)到可編程邏輯器件(GAL20V8),地址譯碼由地址線和控制線建立,產生板選信號CS[TX-]、復位信號RESET[TX-]和各端口所需選通信號,同時產生CPU板等待邏輯所需要的回答信號XWAIT[TX-]。
2.2 ARINC429數據發(fā)送/接收模塊的設計
HS-3282/HS-3182構成ARINC429數據收發(fā)、串并、并串轉換的主體。其中,與HS-3182相連的電容用來控制ARINC429總線數據傳送速率,75 pF電容對應ARINC429總線高速工作狀態(tài)(100 kB/s),300 pF電容對應低速工作狀態(tài)(12~14.5 kB/s)。 HS-3282主要用來完成接收、發(fā)送時所必須具備的串并、并串轉化功能,具有兩路接收、一路發(fā)送,接收、發(fā)送相互獨立,接收、發(fā)送過程中自動完成串并、并串轉換。HS-3182用來完成對兩路輸出信號的差分驅動。
3 基于FPGA接口電路的實現(xiàn)
在硬件設計的基礎上,對接口的軟件設計進行描述。ARINC429總線模塊的軟件設計主要是針對該模塊的初始化、ARINC429總線的接收、發(fā)送及自檢測電路來設計的。軟件設計采用硬件描述語言VHDL語言編程。最后軟件嵌入到ARINC429總線模塊所在電子組件中。
本文所采用的編譯環(huán)境為Max+PlusⅡ軟件設計平臺。
數據接收部分以對中斷響應的處理為核心。中斷接收過程中,因為HS-3282有2個接收器,因此這2個接收器標識D/R1,D/R2共享一個中斷,這樣就容易出現(xiàn)中斷覆蓋。在設計中,設置有中斷邏輯譯碼電路,當產生接收中斷時,通過軟件檢測方式判別是哪一個接收器引起的中斷,再進行相關的數據接收處理。中斷接收數據首先存放在緩沖區(qū)內,再由主程序讀取。其流程圖如圖2和圖3所示。
圖2 流程圖1
在進行數據發(fā)送過程中,首先檢查發(fā)送器的狀態(tài),只有當標志位TX/R為1時,發(fā)送器才能工作。再將待發(fā)送數據送至發(fā)送緩沖區(qū)內,通過對相應的發(fā)送使能信號PL1,PL2及ENTX 進行控制,實現(xiàn)ARINC429 總線數據的發(fā)送。
[BT(3+1]3.1 [ZK(]產生HS-3282讀寫信號和ENTX使能信號的部分源程序[ZK)][BT)]
library ieee;
use ieee.std_logic_1164.all;
entity J11B is
port(CS,IOW,IOR,A1,A2,A3,A4,ENT1,ENT2,TXR1,TXR2:in std_logic;WR0,WR1:out std_logic;RD0,RD1,RD2,RD3:out std_logic;
IO18,ENTX1,ENTX2:out std_logic);
end J11B;
architecture behav of J11B is
begin
process
begin
WR1<=IOW or (not CS) or A4 or A3 or A2 or (not A1);
WR0<=IOW or (not CS) or A4 or A3 or A2 or A1;[JY] --產生寫信號
if CS=′0′ then
IO18<=CS;
else
IO18<=′Z′;
end if;
RD3<=IOR or (not CS) or A4 or (not A3) or (not A2);
RD2<=IOR or (not CS) or A4 or (not A3) or A2;
RD1<=IOR or (not CS) or A4 or A3 or (not A2);
RD0<=IOR or (not CS) or A4 or A3 or A2; [JY]--產生讀信號
ENTX1<=ENT1 and (not TXR1);
ENTX2<=ENT2 and (not TXR2); [JY]--產生發(fā)送使能信號
end process;
end J11B;
圖3 流程圖2
3.2 中斷控制源程序
中斷控制源程序為:
library ieee;
use ieee.std_logic_1164.all;
entity J11B is
port(TXR1,DR11,DR12,TXR2,DR21,DR22,ZJ:in std_logic;
D0,D1,D2,D3,D4,D5,INT:out std_logic);
end J11B;
architecture behav of J11B is
begin
process
begin
if ZJ=′0′ then
D0<=not DR11;
D1<=not DR12;
D2<=not DR21;
D3<=not DR22;[JY] --產生中斷時用來判斷哪個接收器滿
D4<=TXR1;
D5<=TXR2;[JY] --用來判斷哪一個發(fā)送緩沖區(qū)空
else
D0<=′Z′;D1<=′Z′;D2<=′Z′;D3<=′Z′;D4<=′Z′;D5<=′Z′;
end if;
INT<=not(DR11 and DR12 and DR21 and DR22);[JY]--有一個接收器滿便產生中斷
end process;
end behav;
4 結 語
針對機載設備接口板的尺寸小的特點,介紹基于FPGA的429 接口板,F(xiàn)PGA可以大大節(jié)省硬件資源,同時節(jié)省板卡上的可利用空間,并徹底解決了板卡的小尺寸給設計帶來的困難。FPGA的應用簡化了系統(tǒng)結構,縮短了設計周期,提高了系統(tǒng)的可靠性。且FPGA 修改簡單,給調試工作帶來了方便。本文所述的RINC429總線接口板已經在工程實際中得到應用,經過實踐的檢驗,證明本設計合理、通信可靠,而且操作方便靈活,具有一定的實用意義。
參 考 文 獻
[1]AR INC公司.AR INC429傳輸規(guī)范[Z].2002.
[2]Device Engineering Inc.DEI 1016ARINC 429 Transceiver[Z].2000.
[3]Device Engineering Inc.BD429 ARINC 429/ RS - 422 Line Driver Integrated Circuit [Z].2000.
[4]陳芳,劉文波.基于PC104 的429 通信總線的設計與實現(xiàn)[J].電子技術,2004(11):11-14.
[5]熊華鋼.機載高速數據總線系統(tǒng)研究[D].北京:北京航空航天大學,1998.
[6]HS-3282 ARINC 429 Bus Interface Line Drive Circuit[M].HARRIS,1992.
[7]馮濤.可編程邏輯器件開發(fā)技術——Max+PlusⅡ入門與提高[M].北京:人民郵電出版社,2002.
[8]姜立東.VHDL語言程序設計及應用[M].北京:北京郵電大學出版社,2004.
[9]王春玲,吳順偉.FPGA/CPLD選型及與其他技術的融合[J].現(xiàn)代電子技術,2007,30(16):30-33,40.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。