某機載數據傳輸設備(以下簡稱:機載數傳設備)主要用來完成空-空、空-地數據信息的傳輸,與HF或U/VHF頻段電臺配合使用,將專用計算機發來的待傳信息,經過差錯控制編碼后,經電臺調制、發射;對電臺接收機送來的數據,進行校正、糾錯和譯碼,還原成原始信息,傳輸給專用計算機(CUB)處理。要想實現對機載數傳設備的自動檢測,最重要的是要模擬實現機載數傳設備與機載專用計算機的通信協議。本系統就是為了滿足某部隊大修廠的急需,設計實現了某機載數傳設備與機載專用計算機之間的ARINC429通信協議。
1 系統硬件原理
本系統利用Altera公司的FPGA芯片(EP2C8QPF208),設計了該機載數傳設備在機載環境中同機載計算機之間的ARINC429通信協議模塊,實現一發一收。在FPGA上利用SoPC技術,PC機通過與基于NiosⅡ的UART通信,由ARINC429通信協議模塊實現RS 232通信協議與ARINC429通信協議的相互轉換,從而模擬機載計算機提供測試激勵,完成與設備的信息交換。
2 ARINC429通信協議介紹
ARINC429是一種在航空電子綜合系統中廣泛使用的數字式傳輸總線規范,該通信協議是雙極性歸零碼的一種,在一個ARINC429字中包含32位,ARINC429數據傳輸是以電脈沖形式發送的。一個電脈沖就是1位。一個數據字傳輸1個參數,如速度、溫度等。兩個數據字之間有4位間隔,這個間隔也作為字同步用,跟在這一間隔后面發送的第1位,表示另一個新的數據字的開始。每個數據字的32位數據是以雙極歸零碼的形式發送出去的。數據的發送是先發送高位再發送低位。
3 基于FPGA的ARINC429發送模塊的實現
在FPGA上利用SoPC技術實現與PC機的串口RS 232通信,然后在FPGA上實現將PC機通過RS 232傳過來的激勵信息先緩存,再轉換成ARINC 429的協議信息并以一定時鐘速率發給設備。
ARINC429發送模塊在QuartusⅡ8.0開發環境中設計實現如圖1所示。
ARINC429發送模塊設計實現原理為:在FPGA中由NiosⅡ處理器通過UART串口接收PC機發過來的原始ARINC429信息字。在接收過程中,將這些字先緩存在FIFO發送緩存器dcfifo0中。等完全接收控制、數據信息后,再經由bc模塊將緩存中待發送的控制、數據信息,通過設計的狀態機按ARINC429信號時序串行發送。并在與非門電路的配合下模擬發送ARINC 429信號對應的兩路差分TTL信號a,b。最后通過在FPGA外部設計的模擬電路(如圖2)將兩路差分TTL信號a,b轉換成ARINC429信號。
在QuartusⅡ8.O中編譯并仿真發送模塊,仿真結果如圖3所示。
在示波器最終測得ARINC429發送模塊產生的信號波形,如圖4所示。
4 基于FPGA的ARINC429接收模塊的實現
該模塊實現了將數傳設備發過來的ARINC429信息先通過光耦電路分解成兩路差分信號,即將ARINC429電平轉換成兩路差分FTL電平信號a,b,然后在FPGA上緩存接收,等接收完畢后,再經由串口RS 232發給PC機進行數據處理以進行設備檢測。
ARINC429接收模塊在QuartusⅡ8.O開發環境中設計實現,如圖5所示。
各個模塊的具體設計如下:
(1)RS觸發器SRFF可直接在SoPC Builder中調用,32位移位寄存器由32個D觸發器級聯產生。
(2)接收FIFO緩存器dcfifo1的定制過程與發送緩存器的定制過程相同,并且根據FPGA資源利用情況也設置dcfifo1為2 KB。
(3)ARINC模塊為字間隔、幀結束檢測模塊。該模塊在QuartusⅡ8.0開發環境中利用VHDL語言進行設計,程序核心代碼如下:
在QuartusⅡ8.O中編譯并仿真發送模塊,仿真結果如圖6所示。
5 結語
該設計充分利用了FPGA硬件可編程性,實現了ARINC429通信協議軟件算法硬件化,大大提升了ARINC429數據發送與接收的實時性和可靠性,從而實現了該數傳設備自動檢測系統檢測速度快、集成度高、可靠性強的特點。