《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于FPGA的ARINC429總線接口卡設計
基于FPGA的ARINC429總線接口卡設計
摘要: ARINC429總線廣泛應用于商務運輸航空領域,如空中客車A310/A320,、A330/A340飛機,,波音公司727、737,、747,、757和767飛機,麥道公司MD-11飛機等,。它采用異步雙極性歸零碼進行數(shù)據(jù)的編碼,并通過雙絞線傳輸,,具有很強的抗干擾性能,。
關鍵詞: 接口IC FPGA ARINC429 接口
Abstract:
Key words :

引言

  ARINC429總線廣泛應用于商務運輸航空領域,如空中客車A310/A320,、A330/A340飛機,,波音公司727,、737、747,、757和767飛機,,麥道公司MD-11飛機等。它采用異步雙極性歸零碼進行數(shù)據(jù)的編碼,,并通過雙絞線傳輸,,具有很強的抗干擾性能。目前市場上的ARINC429總線接口設計一般都采用專用接口芯片,,如Device Engineering公司的DEI-1016,,INTERSIL公司的HS-3282等,這些專用芯片價格昂貴,,且路數(shù)有限,,使用非常不靈活。本設計將ALTERA公司的FPGA芯片應用于ARINC429標準數(shù)據(jù)傳輸,,并完成了與計算機USB接口的通信,,有效縮小了系統(tǒng)體積并降低了成本,同時也增加了系統(tǒng)配置的靈活度,。

  ARINC429總線數(shù)據(jù)

  ARINC429數(shù)據(jù)總線協(xié)議規(guī)定一個數(shù)據(jù)字由32位組成,,以脈沖形式發(fā)送,采用雙極性歸零碼,,碼速率為12.5kb/s或100kb/s,。電氣特性為:高電平(+10V)為邏輯1;低電平(-10V)為邏輯0,;0電平(0V)發(fā)送自身時鐘脈沖,,字與字之間以一定間隔(不少于4位)分開,以此間隔作為字同步,。一個32位的數(shù)據(jù)字由五部分組成:標志位(LABEL),,用于標識傳輸數(shù)據(jù)的信息類型;源/目的標識碼(S/D),,用于判斷在一個多系統(tǒng)中的源系統(tǒng),;數(shù)據(jù)區(qū)(DATA);符號/狀態(tài)位(SSM),,用于標識數(shù)據(jù)字的特征或數(shù)據(jù)發(fā)生器的狀態(tài),;奇偶校驗位(PARITY),ARINC429數(shù)字信息傳輸使用奇校驗,。

  FPGA內部邏輯設計

  根據(jù)ARINC429總線協(xié)議,,要完成數(shù)據(jù)的收發(fā)以及對USB總線接口的邏輯控制, FPGA 芯片應完成的邏輯功能框圖如圖1所示,,其中虛線框中是FPGA實現(xiàn)的部分,。
 

  發(fā)送器

  發(fā)送器結構如圖2所示,,由緩沖存儲器、信號發(fā)生器和發(fā)送控制邏輯三部分構成,,用于將來自總線接口通信模塊的32位429格式數(shù)據(jù)轉換成調制前的兩路串行數(shù)據(jù),,即圖2中TTL0和TTL1。其中使用緩存是為了提高數(shù)據(jù)傳輸速度,,用戶向緩存寫進想要發(fā)送的多個32位數(shù)據(jù)字后,,就可以通過entx信號控制數(shù)據(jù)從緩存連續(xù)不斷地讀出,并經(jīng)過信號發(fā)生器轉換成串行數(shù)據(jù)后送給總線驅動電路,。在這里,,緩存是直接調用ALTERA提供的LPM_FIFO+宏功能模塊來實現(xiàn)的。
 

  信號發(fā)生器由位計數(shù)器,、字間隔計數(shù)器,、碼元調制、移位寄存器以及相應的控制邏輯組成,,結構如圖3所示,。其中,位數(shù)計數(shù)器用來控制429數(shù)字字的位數(shù),,字間隔計數(shù)器用于產生字間隔,。在本設計中,采用狀態(tài)機來實現(xiàn)信號發(fā)生器的功能,,共分3個狀態(tài):
 

  a)IDLE:初始狀態(tài),,當復位或是發(fā)送完一個32位數(shù)后進入該狀態(tài),在該狀態(tài)完成字間隔的產生,,并用移位寄存器的load信號來鎖存待轉換數(shù)據(jù),,并在至少四位字間隔后進入TRANS狀態(tài),否則等到直到有新數(shù)據(jù)載入,。

  b)TRANS:進行數(shù)據(jù)的并串轉換,,同時進行奇偶校驗,即每產生一位串行數(shù)據(jù)就進行一次異或運算,,并由位數(shù)計數(shù)器控制計到31時就進入PARITY狀態(tài),。

  c)PARITY:輸出奇偶校驗位并回到IDLE狀態(tài)。

  碼元調制是在信號busy的有效區(qū)間內,,將串行輸出數(shù)據(jù)serial_data與時鐘做邏輯運算得到的TTL0和TTL1(如圖4)送至外部調制電路,,并轉換為429總線規(guī)范要求的雙極性歸零信號。其verilog語言描述如下:

always @(busy,,clk_tx,,serial_data)

begin

if (busy)

begin

TTL1<=serial_data&clk_tx;

TTL0<=~serial_data&clk_tx;

end

else begin

TTL1<=0;

TTL0<=0;

end

end

endmodule

  發(fā)送控制邏輯用于協(xié)調緩存和信號發(fā)生器之間的數(shù)據(jù)傳遞。在緩存非空,、busy無效(信號發(fā)生器狀態(tài)機處于TRANS狀態(tài)下busy有效)的條件下,,一旦允許轉換信號entx有效,便開啟緩存的讀使能rden,,并產生轉換數(shù)據(jù)的裝載信號load,,以完成緩存數(shù)據(jù)的自動轉換和發(fā)送。

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