周婷婷
【摘要】 根據ARINC429航空總線工業標準,按照ARINC429總線的電氣特性要求,采用FPGA+DSP的架構實現多種ARINC429協議處理。FPGA結合外圍芯片實現ARINC429總線底層數據收發功能,DSP實現ARINC429總線AIM、BOP3協議解析功能。該實現具有設計簡單靈活,應用場景廣,具備一定抗干擾能力等特點。該設計已應用于采用ARINC429總線的航空通信設備。
【關鍵詞】 ARINC429 FPGA DSP AIM BOP3
Design and Implementation of Multiple protocol processing for ARINC429 Bus in the aviation communication equipment
ZHOU Ting-ting(Southwest China Institute of Electronic Technology,Chengdu 610036,China)
Abstract: According to the ARINC429 aviation bus industry standards, in accordance with the requirements for the ARINC429 bus electrical characteristics, FPGA+DSP architecture was adopted to realize a variety of protocol processing. FPGA combined with peripheral chips to realize the function of underlying data transceiver for ARINC429 bus, DSP to realize the function of AIM and BOP3 protocol parsing for ARINC429 bus. This implementation is simple in design, flexible application scenario is wide, have a certain anti-interference ability, etc. This design has been applied in the aviation ARINC429 bus communication equipment.
Key words: ARINC429;FPGA;DSP;AIM;BOP3;
一、引言
ARINC429是一種通用航空電子總線標準,它是由美國航空電子工程委員會(Airlines Engineering Committee)1977年提出,并于同年頒布實施 ,廣泛應用在軍用和民用航空電子領域。ARINC429總線采用雙極性歸零碼調制,數據字(32bit)以脈沖形式發送,發送脈沖有三個電平,即高電平(+10V)、0電平(0V)、低電平(-10V)。字與字之間間隔(至少4bit)分開。有兩種可選速度:高傳輸率100kbps(±1%)和低傳輸率12.5Kbps(12.5kpbs到14.5kbps)。根據ARINC429總線的電氣特性,需要外圍電路實現總線與FPGA之間的電平轉換。本設計選用HOLT公司的芯片HI-8586、HI-8588-10完成電平轉換。
二、方案設計
為了實現多通道數據收發,多種傳輸協議通信,本設計采用分層式設計結構,設計簡單靈活,具備良好的可移植性、重用性和擴展性,應用場景廣,具備一定抗干擾能力。物 理底層采用FPGA實現ARINC429總線數據收發功能,應用層采用DSP實現ARINC429總線傳輸控制字AIM和數據傳輸協議BOP3等的解析應用,共同完成ARINC429總線控制和數傳通信要求。ARINC429總線通信方案設計如圖 1所示。
三、FPGA設計
3.1 FPGA輸入輸出時序
FPG A接收和發送的ARINC429信號,要經過芯片HI-8588-10和HI-8586進行電平轉換,轉換前后的信號格式如圖 2所示:
3.2 FPGA接收模塊設計
FPGA收到轉換后的信號,采用10倍高鐘采樣數據,考慮到TTL電平是半 周期寬度,即如果ARINC429總線速率是100 KBPS,則脈沖寬度是5μsec,再除去上升沿、下降沿的誤差,則累計連續采集4周期以上為信號數據,其它為噪聲,由此可以去除接收信號上的干擾毛刺。
因此,專門設計一個采集數據計數器,采集到‘1,開始計數;采集到‘0,計數器清零。可以通過對計數器大小的判斷來確定是否為 接收信號。另外設計一個數據位數計數器對接收位數進行計數,當接收完一個429字后,生成FIFO的使能信號,將數據存入FIFO中。如果收到bit位數據后連續40周期未收到新數據,且bit位總數不滿32,丟棄該數據。接著生成DSP中斷信號或查詢標志 ,通知DSP讀取數據。接收數據流程如圖 3所示。
3.3 FPGA發送模塊設計
發送時,FPGA采用異步FIFO對DSP發送數據進行緩存,發送時鐘 按照ARINC429總線速率要求分頻產生。
FPGA接收到DSP啟動發送命令,檢測FIFO空標志,如果FIFO非空,則讀取一個429字發送,發送完成后再讀下一個429字發送,直到FIFO發空為止。發送過程中,兩個429字之間,要空閑4周期以上,40周期以下。發送數據流程如圖 4所示。
四、DSP設計
4.1 AIM數據
AIM數據是ARINC429數據形式的一種,包含初始字、控制字(任選)、中間字(任選)和結束字等,AIM數 據傳輸的特點是標號始終不變。本設計使用AIM數據進行控制消息傳輸,選取初始字、中間字和結束字三種數據字,其數據字結構如圖 5所示:
在本設計中,DSP收到AIM數據,對數據字進行奇偶校驗和標號判斷,通過后的數據再進行協議解析。首先判斷字類型,收到初始字,提取數據長度、設備ID號和包類型等信息;收到中間字,提取數據信息;收到結束字,提取包類型和設備ID號等信息,并與初始字提取信息相比較,如果都相符則一幀接收完成。數據解析流程如圖 6所示:
4.2 BOP3數據
BOP3是ARINC429的一種文件傳輸協議,本設計選取BOP3進行數據傳輸通信。BOP3傳輸的數據內容可以達到1023個字,該協議為MAC層協議,包含了“429 MAC控制子層”和“429 介質訪問控制”兩個層次。其協議架構如圖7所示:
“429介質訪問控制”層次負責封裝信息和提取信息,該層次協議由一個控制幀SOF、若干個數據幀和一個控制幀EOF組成一條完整的命令類消息。其數據字結構如圖 8所示。
“429 MAC控制子層”負責流量控制和數據傳輸,該層次協議提供了四個原語作為MAC層與鏈路層的接口,四個原語中,其中MA_CONTROL負責MAC層的流量控制,為選用;MA_DATA為需要物理介質傳輸的內容。
在本設計中,DSP收到BOP3數據,對數據字進行奇偶校驗和標號判斷,通過后的數據首先進行第一層協議解析,收到SOF提取信息,收到數據幀存儲數據,收到EOF后進行FCS校驗。解析出原語后,再進行第二層協議解析,根據協議內容進行上下行數據傳輸。數據解析流程如圖 9所示:
五、結束語
本文實現了ARINC429總線控制和數傳通信要求,除使用少量外圍芯片,主要功能都由FPGA和DSP來實現,整體架構靈活可變,可以根據項目具體要求進行局部調整,以適應不同需求。該設計穩定、可靠,具備良好的可移植性、重用性和擴展性,具有較高的實用價值。
參 考 文 獻
[1]蔣學東,劉勇。 用FPGA實現ARINC429接口和總線數據接收。現代電子技術,2010年06期。
[2]劉連生,姜健飛?;贔PGA的ARINC429多通道芯片設計。微電子學,2010年01期。
[3] ARINC Specification 429P3-19,Mark 33 Digital Information Transfer System(DITS)-Part3-File Data Transfer Techniques.