摘 要: 介紹一種基于EDA技術實現ARINC429總線IP核的設計方法,并給出了在FPGA上的實現結果,以及該IP核在以PCI總線為主機接口的測試系統(tǒng)中的應用。與傳統(tǒng)專用芯片相比,該IP核增加了單次或循環(huán)發(fā)送功能、深度觸發(fā)主機中斷接收,并可實現接收發(fā)送通道的多路擴展。經測試及實際應用證明該IP核功能設計高效合理,工作穩(wěn)定可靠。
關鍵詞: EDA; FPGA; ARINC429; IP核; PCI總線
ARINC429 數據總線是美國航空無線電公司制定的一種民用航空標準數據總線。它作為航空電子系統(tǒng)的主要總線,在我國民用、軍用飛機上也被普遍采用。
通常ARINC429總線數據傳輸的接口電路設計都是采用專用芯片,但由于其價格偏高,且單片專用芯片大多只能支持一路收發(fā),使得在應用中收發(fā)通道數量和數據緩存受到限制[1]。
現代電子技術的發(fā)展越來越趨向于基于計算機技術的電子設計自動化,即EDA技術。EDA技術的核心在于依賴功能強大的計算機,在EDA工具軟件平臺上,以硬件描述語言作為系統(tǒng)邏輯描述手段完成設計文件。因而利用EDA技術實現通道數可配置、功能更加全面和主機接口方式更加靈活的ARINC429數據總線IP核[2],可以有效地降低系統(tǒng)成本,減小系統(tǒng)體積,并有利于系統(tǒng)的改進和升級。
本文介紹了一種基于EDA技術的ARINC429總線IP核的設計方法,給出了該IP核在現場可編程門陣列FPGA(Field Programmable Gate Array)中的實現結果,并將該IP核應用在以PCI總線作為主機接口的ARINC429數據測試系統(tǒng)中。
1 ARINC429航空總線傳輸協(xié)議簡介
ARINC429總線采用雙絞屏蔽線傳輸信息,即通過一對雙絞線(A線和B線)反相傳輸,具有很強的抗干擾能力。
ARINC429總線的數據調制方式采用雙極歸零制的三態(tài)碼組成的三電平狀態(tài)調制,即雙絞A線和雙絞B線差分信號的高電平(+10 V)為邏輯1;低電平(-10 V)為邏輯0 ;零電平(0 V)發(fā)送自身同步時鐘脈沖。雙絞線上的原始信號和經電平轉換后的信號如圖1所示,電平轉換后AB或運算可提取時鐘脈沖。
ARINC429的數據字為32位,由5部分組成,如圖2所示: 標志位(LABEL),用于標識傳輸數據的信息類型;源/目的標識碼(SDI),用于判斷在一個多系統(tǒng)中的源系統(tǒng);數據區(qū)(DATA);符號/狀態(tài)位(SSM),用于標識數據字的特征或數據發(fā)生器的狀態(tài);奇偶校驗位(P)。
2 ARINC429總線IP核設計
2.1 IP核功能分析
在實際應用中,2個或2個以上ARINC429數據字可組成一個消息,消息可以單次發(fā)送或循環(huán)發(fā)送,消息中存在字間隔,循環(huán)發(fā)送時消息間存在消息間隔。在接收端往往不是每收到一個數據字便通知主機接收該數據字,而是對當前接收到的數據字進行緩存,當數據字個數達到一個觸發(fā)深度N時,接收端才觸發(fā)主機中斷通知主機接收數據。由以上需求和協(xié)議的要求,利用EDA技術實現的ARINC429協(xié)議的IP核應包括如下幾點功能:
(1)ARINC429總線數據的并串和串并轉換;
(2)接收發(fā)送通道的奇偶校驗設置;
(3)接收發(fā)送通道的波特率可選擇;
(4)發(fā)送通道的單次或循環(huán)發(fā)送選擇;
(5)發(fā)送通道的字間隔和消息間隔配置;
(6)接收通道數據深度觸發(fā)主機中斷;
(7)接收通道SDI校驗、LABEL過濾配置。
2.2 IP核內部邏輯設計
IP核的內部邏輯框圖如圖3 所示,其中對外接口模塊為通用的同步CPU接口設計,提供了能與多種同步CPU接口進行交互的信號,包括系統(tǒng)時鐘、系統(tǒng)復位、數據/地址線和主機中斷輸出。
為了便于用戶的配置和管理,功能寄存器組設計采用通道完全獨立思想,提供了N路(N可根據邏輯資源任意配置)ARINC429接收發(fā)送通道的功能配置寄存器和狀態(tài)查詢寄存器,具體寄存器名稱和功能見表1。
數據緩沖區(qū)由EDA開發(fā)環(huán)境自帶的IP核生成雙端口隨機存儲器(DPRAM)和先入先出隊列(FIFO)組成,分別用以完成待發(fā)送數據的緩存和當前接收數據的緩存。
以單一收發(fā)通道為例,對外接口模塊、數據緩沖區(qū)和協(xié)議處理模塊的內部邏輯細節(jié)框圖如圖4所示。
ARINC429協(xié)議處理模塊包括讀DPRAM模塊、發(fā)送通道配置模塊、發(fā)送處理模塊、寫FIFO模塊、接收通道配置模塊和接收處理模塊。通道配置模塊根據功能配置寄存器組的配置信息來完成對各發(fā)送和接收通道的功能配置;讀DPRAM模塊完成待發(fā)送并行數據從數據緩沖區(qū)的讀取;寫FIFO模塊完成接收并行數據到數據緩沖區(qū)的存儲;發(fā)送處理模塊將并行數據輸入到發(fā)送模塊;接收處理模塊等待接收模塊的有效接收信號,完成接收數據;發(fā)送模塊完成并行數據到串行數據的轉換,并完成奇偶校驗位的填充,根據波特率的設定產生A、B兩路數據,按消息間隔和字間隔的設定將數據周期或單次發(fā)出;接收模塊完成串行數據到并行數據的轉換,并完成奇偶校驗,根據功能配置設定接收A、B兩路數據,并進行SDI校驗字、標簽過濾等,由觸發(fā)深度配置字及其使能位產生主機接收中斷。
2.3 IP核的驗證與綜合
本IP核采用硬件描述語言Verilog HDL實現,邏輯仿真采用仿真工具Modelsim完成系統(tǒng)驗證,最終在編譯綜合工具quartus II上進行綜合、布局布線,具有單個接收發(fā)送通道的IP核共占用邏輯單元1 675個,存儲單元13 824個。
3 基于IP核的PCI測試卡設計與實現
為了有效驗證該IP核工作的可靠性,將本IP核應用到以PCI總線作為主機接口的ARINC429數據測試系統(tǒng),功能上可完全代替原有專用芯片。
以PCI總線作為主機接口的ARINC429測試系統(tǒng)是一類應用非常廣泛的測試系統(tǒng),該系統(tǒng)硬件部分核心為一塊PCI接口板卡,通過PCI總線和測試計算機進行數據通信[3]。軟件開發(fā)人員可在測試計算機上完成功能多樣的應用程序設計,接收數據通過驅動程序上傳至應用程序,應用程序也可將待發(fā)送數據通過驅動程序寫到板卡中,所有收發(fā)數據均可利用軟件記錄并描述。
板卡的硬件設計框圖如圖5所示。在本應用中,將IP核配置成8路接收通道和8路發(fā)送通道,經綜合后下載至FPGA中,FPGA選用Altera公司Cyclone系列EP1C20,IP核和PCI接口模塊綜合后共占用邏輯單元14 300個,占總量的72%,存儲單元55 296個,占總量的75%;ARINC429總線驅動芯片選用HI-8585和HI-8591;PCI接口芯片選用PCI9054。
在測試過程中,將應用ARINC249總線IP核的PCI卡與計算機主板進行連接[4],對PCI卡的全部功能進行驗證,并利用嵌入式邏輯分析儀Signal Tap捕獲FPGA的輸入輸出信號,這里以應用程序向IP核寫入發(fā)送數據32位“1”為例,如圖6可知,IP核的輸出符合ARINC429信號標準,功能配置和狀態(tài)查詢寄存器全部工作正常。
基于EDA技術實現的ARINC429總線IP核在功能上不僅可完全取代專用芯片,還加入了更符合實際應用的單次或循環(huán)發(fā)送選擇功能、深度觸發(fā)中斷接收功能,并可實現IP核的多路擴展,方便了開發(fā)人員的應用,極大地降低了成本。本IP核目前已投入航空電子測試系統(tǒng)的實際應用,功能設計合理,工作穩(wěn)定可靠。
參考文獻
[1] 范秀峰,周宇辰. ARINC429總線收發(fā)器芯片DEI1016的原理及應用[J]. 新特器件應用,2003,42(5):33-35.
[2] 胡志強,徐勝紅,張宗麟.基于FPGA 的ARINC429總線接口芯片的設計與實現[J].測控技術,2002,22(1):65-67.
[3] 孫旭光. 一種多功能ARINC429 總線接口板設計[J]. 測控技術,2003,22(6):38-40.
[4] 胡紅明,苗克堅. 基于DD-03282的ARINC429 PCI通信接口設計[J]. 計算機工程,2006,32(6):280-282.