基于FPGA的ARINC429總線(xiàn)接口卡設計
引言
本文引用地址:http://dyxdggzs.com/article/86480.htmARINC429總線(xiàn)廣泛應用于商務(wù)運輸航空領(lǐng)域,如空中客車(chē)A310/A320、A330/A340飛機,波音公司727、737、747、757和767飛機,麥道公司MD-11飛機等。它采用異步雙極性歸零碼進(jìn)行數據的編碼,并通過(guò)雙絞線(xiàn)傳輸,具有很強的抗干擾性能。目前市場(chǎng)上的ARINC429總線(xiàn)接口設計一般都采用專(zhuān)用接口芯片,如Device Engineering公司的DEI-1016,INTERSIL公司的HS-3282等,這些專(zhuān)用芯片價(jià)格昂貴,且路數有限,使用非常不靈活。本設計將ALTERA公司的FPGA芯片應用于A(yíng)RINC429標準數據傳輸,并完成了與計算機USB接口的通信,有效縮小了系統體積并降低了成本,同時(shí)也增加了系統配置的靈活度。
ARINC429數據總線(xiàn)協(xié)議規定一個(gè)數據字由32位組成,以脈沖形式發(fā)送,采用雙極性歸零碼,碼速率為12.5kb/s或100kb/s。電氣特性為:高電平(+10V)為邏輯1;低電平(-10V)為邏輯0;0電平(0V)發(fā)送自身時(shí)鐘脈沖,字與字之間以一定間隔(不少于4位)分開(kāi),以此間隔作為字同步。一個(gè)32位的數據字由五部分組成:標志位(LABEL),用于標識傳輸數據的信息類(lèi)型;源/目的標識碼(S/D),用于判斷在一個(gè)多系統中的源系統;數據區(DATA);符號/狀態(tài)位(SSM),用于標識數據字的特征或數據發(fā)生器的狀態(tài);奇偶校驗位(PARITY),ARINC429數字信息傳輸使用奇校驗。
FPGA內部邏輯設計
根據ARINC429總線(xiàn)協(xié)議,要完成數據的收發(fā)以及對USB總線(xiàn)接口的邏輯控制, FPGA 芯片應完成的邏輯功能框圖如圖1所示,其中虛線(xiàn)框中是FPGA實(shí)現的部分。
發(fā)送器
發(fā)送器結構如圖2所示,由緩沖存儲器、信號發(fā)生器和發(fā)送控制邏輯三部分構成,用于將來(lái)自總線(xiàn)接口通信模塊的32位429格式數據轉換成調制前的兩路串行數據,即圖2中TTL0和TTL1。其中使用緩存是為了提高數據傳輸速度,用戶(hù)向緩存寫(xiě)進(jìn)想要發(fā)送的多個(gè)32位數據字后,就可以通過(guò)entx信號控制數據從緩存連續不斷地讀出,并經(jīng)過(guò)信號發(fā)生器轉換成串行數據后送給總線(xiàn)驅動(dòng)電路。在這里,緩存是直接調用ALTERA提供的LPM_FIFO+宏功能模塊來(lái)實(shí)現的。
信號發(fā)生器由位計數器、字間隔計數器、碼元調制、移位寄存器以及相應的控制邏輯組成,結構如圖3所示。其中,位數計數器用來(lái)控制429數字字的位數,字間隔計數器用于產(chǎn)生字間隔。在本設計中,采用狀態(tài)機來(lái)實(shí)現信號發(fā)生器的功能,共分3個(gè)狀態(tài):
a)IDLE:初始狀態(tài),當復位或是發(fā)送完一個(gè)32位數后進(jìn)入該狀態(tài),在該狀態(tài)完成字間隔的產(chǎn)生,并用移位寄存器的load信號來(lái)鎖存待轉換數據,并在至少四位字間隔后進(jìn)入TRANS狀態(tài),否則等到直到有新數據載入。
b)TRANS:進(jìn)行數據的并串轉換,同時(shí)進(jìn)行奇偶校驗,即每產(chǎn)生一位串行數據就進(jìn)行一次異或運算,并由位數計數器控制計到31時(shí)就進(jìn)入PARITY狀態(tài)。
c)PARITY:輸出奇偶校驗位并回到IDLE狀態(tài)。
碼元調制是在信號busy的有效區間內,將串行輸出數據serial_data與時(shí)鐘做邏輯運算得到的TTL0和TTL1(如圖4)送至外部調制電路,并轉換為429總線(xiàn)規范要求的雙極性歸零信號。其verilog語(yǔ)言描述如下:
評論