基于FPGA的ARINC429通信協(xié)議設計實現(xiàn)
摘要:介紹了在FPGA上利用SoPC技術設計實現(xiàn)某機載數(shù)據(jù)傳榆設備與機載專用計算機進行通信的ARINC429通信協(xié)議,實現(xiàn)了對ARINC429數(shù)據(jù)的一發(fā)一收。該系統(tǒng)模塊充分利用了FPGA硬件可編程性、高度集成性、實時性的特點。測試表明,該系統(tǒng)具有速度快、可靠性高等優(yōu)點。
關鍵詞:FPGA;SoPC;ARINC429;FIFO;NiosⅡ處理器
某機載數(shù)據(jù)傳輸設備(以下簡稱:機載數(shù)傳設備)主要用來完成空-空、空-地數(shù)據(jù)信息的傳輸,與HF或U/VHF頻段電臺配合使用,將專用計算機發(fā)來的待傳信息,經(jīng)過差錯控制編碼后,經(jīng)電臺調(diào)制、發(fā)射;對電臺接收機送來的數(shù)據(jù),進行校正、糾錯和譯碼,還原成原始信息,傳輸給專用計算機(CUB)處理。要想實現(xiàn)對機載數(shù)傳設備的自動檢測,最重要的是要模擬實現(xiàn)機載數(shù)傳設備與機載專用計算機的通信協(xié)議。本系統(tǒng)就是為了滿足某部隊大修廠的急需,設計實現(xiàn)了某機載數(shù)傳設備與機載專用計算機之間的ARINC429通信協(xié)議。
1 系統(tǒng)硬件原理
本系統(tǒng)利用Altera公司的FPGA芯片(EP2C8QPF208),設計了該機載數(shù)傳設備在機載環(huán)境中同機載計算機之間的ARINC429通信協(xié)議模塊,實現(xiàn)一發(fā)一收。在FPGA上利用SoPC技術,PC機通過與基于NiosⅡ的UART通信,由ARINC429通信協(xié)議模塊實現(xiàn)RS 232通信協(xié)議與ARINC429通信協(xié)議的相互轉(zhuǎn)換,從而模擬機載計算機提供測試激勵,完成與設備的信息交換。
2 ARINC429通信協(xié)議介紹
ARINC429是一種在航空電子綜合系統(tǒng)中廣泛使用的數(shù)字式傳輸總線規(guī)范,該通信協(xié)議是雙極性歸零碼的一種,在一個ARINC429字中包含32位,ARINC429數(shù)據(jù)傳輸是以電脈沖形式發(fā)送的。一個電脈沖就是1位。一個數(shù)據(jù)字傳輸1個參數(shù),如速度、溫度等。兩個數(shù)據(jù)字之間有4位間隔,這個間隔也作為字同步用,跟在這一間隔后面發(fā)送的第1位,表示另一個新的數(shù)據(jù)字的開始。每個數(shù)據(jù)字的32位數(shù)據(jù)是以雙極歸零碼的形式發(fā)送出去的。數(shù)據(jù)的發(fā)送是先發(fā)送高位再發(fā)送低位。
3 基于FPGA的ARINC429發(fā)送模塊的實現(xiàn)
在FPGA上利用SoPC技術實現(xiàn)與PC機的串口RS 232通信,然后在FPGA上實現(xiàn)將PC機通過RS 232傳過來的激勵信息先緩存,再轉(zhuǎn)換成ARINC 429的協(xié)議信息并以一定時鐘速率發(fā)給設備。
ARINC429發(fā)送模塊在QuartusⅡ8.0開發(fā)環(huán)境中設計實現(xiàn)如圖1所示。
ARINC429發(fā)送模塊設計實現(xiàn)原理為:在FPGA中由NiosⅡ處理器通過UART串口接收PC機發(fā)過來的原始ARINC429信息字。在接收過程中,將這些字先緩存在FIFO發(fā)送緩存器dcfifo0中。等完全接收控制、數(shù)據(jù)信息后,再經(jīng)由bc模塊將緩存中待發(fā)送的控制、數(shù)據(jù)信息,通過設計的狀態(tài)機按ARINC429信號時序串行發(fā)送。并在與非門電路的配合下模擬發(fā)送ARINC 429信號對應的兩路差分TTL信號a,b。最后通過在FPGA外部設計的模擬電路(如圖2)將兩路差分TTL信號a,b轉(zhuǎn)換成ARINC429信號。
評論