《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > ARINC429總線IP核設(shè)計(jì)及應(yīng)用
ARINC429總線IP核設(shè)計(jì)及應(yīng)用
丁文銳,, 劉春輝
北京航空航天大學(xué) 無(wú)人駕駛飛行器設(shè)計(jì)研究所, 北京100083
摘要: 介紹一種基于EDA技術(shù)實(shí)現(xiàn)ARINC429總線IP核的設(shè)計(jì)方法,,并給出了在FPGA上的實(shí)現(xiàn)結(jié)果,,以及該IP核在以PCI總線為主機(jī)接口的測(cè)試系統(tǒng)中的應(yīng)用,。與傳統(tǒng)專用芯片相比,該IP核增加了單次或循環(huán)發(fā)送功能,、深度觸發(fā)主機(jī)中斷接收,,并可實(shí)現(xiàn)接收發(fā)送通道的多路擴(kuò)展。經(jīng)測(cè)試及實(shí)際應(yīng)用證明該IP核功能設(shè)計(jì)高效合理,,工作穩(wěn)定可靠,。
Abstract:
Key words :
</a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a></a>

摘   要:  介紹一種基于EDA技術(shù)實(shí)現(xiàn)ARINC429總線IP核的設(shè)計(jì)方法,并給出了在FPGA上的實(shí)現(xiàn)結(jié)果,,以及該IP核在以PCI總線為主機(jī)接口的測(cè)試系統(tǒng)中的應(yīng)用,。與傳統(tǒng)專用芯片相比,該IP核增加了單次或循環(huán)發(fā)送功能,、深度觸發(fā)主機(jī)中斷接收,,并可實(shí)現(xiàn)接收發(fā)送通道的多路擴(kuò)展。經(jīng)測(cè)試及實(shí)際應(yīng)用證明該IP核功能設(shè)計(jì)高效合理,,工作穩(wěn)定可靠,。
關(guān)鍵詞: EDA; FPGA,; ARINC429,; IP核; PCI總線

  ARINC429 數(shù)據(jù)總線是美國(guó)航空無(wú)線電公司制定的一種民用航空標(biāo)準(zhǔn)數(shù)據(jù)總線,。它作為航空電子系統(tǒng)的主要總線,,在我國(guó)民用、軍用飛機(jī)上也被普遍采用,。
  通常ARINC429總線數(shù)據(jù)傳輸?shù)慕涌陔娐吩O(shè)計(jì)都是采用專用芯片,,但由于其價(jià)格偏高,,且單片專用芯片大多只能支持一路收發(fā),使得在應(yīng)用中收發(fā)通道數(shù)量和數(shù)據(jù)緩存受到限制[1],。
  現(xiàn)代電子技術(shù)的發(fā)展越來(lái)越趨向于基于計(jì)算機(jī)技術(shù)的電子設(shè)計(jì)自動(dòng)化,,即EDA技術(shù)。EDA技術(shù)的核心在于依賴功能強(qiáng)大的計(jì)算機(jī),,在EDA工具軟件平臺(tái)上,,以硬件描述語(yǔ)言作為系統(tǒng)邏輯描述手段完成設(shè)計(jì)文件。因而利用EDA技術(shù)實(shí)現(xiàn)通道數(shù)可配置,、功能更加全面和主機(jī)接口方式更加靈活的ARINC429數(shù)據(jù)總線IP核[2],,可以有效地降低系統(tǒng)成本,減小系統(tǒng)體積,,并有利于系統(tǒng)的改進(jìn)和升級(jí),。
  本文介紹了一種基于EDA技術(shù)的ARINC429總線IP核的設(shè)計(jì)方法,給出了該IP核在現(xiàn)場(chǎng)可編程門陣列FPGA(Field Programmable Gate Array)中的實(shí)現(xiàn)結(jié)果,,并將該IP核應(yīng)用在以PCI總線作為主機(jī)接口的ARINC429數(shù)據(jù)測(cè)試系統(tǒng)中,。
1 ARINC429航空總線傳輸協(xié)議簡(jiǎn)介
  ARINC429總線采用雙絞屏蔽線傳輸信息,即通過(guò)一對(duì)雙絞線(A線和B線)反相傳輸,,具有很強(qiáng)的抗干擾能力,。
  ARINC429總線的數(shù)據(jù)調(diào)制方式采用雙極歸零制的三態(tài)碼組成的三電平狀態(tài)調(diào)制,即雙絞A線和雙絞B線差分信號(hào)的高電平(+10 V)為邏輯1;低電平(-10 V)為邏輯0 ;零電平(0 V)發(fā)送自身同步時(shí)鐘脈沖。雙絞線上的原始信號(hào)和經(jīng)電平轉(zhuǎn)換后的信號(hào)如圖1所示,,電平轉(zhuǎn)換后AB或運(yùn)算可提取時(shí)鐘脈沖,。

  ARINC429的數(shù)據(jù)字為32位,由5部分組成,,如圖2所示: 標(biāo)志位(LABEL),用于標(biāo)識(shí)傳輸數(shù)據(jù)的信息類型;源/目的標(biāo)識(shí)碼(SDI),用于判斷在一個(gè)多系統(tǒng)中的源系統(tǒng);數(shù)據(jù)區(qū)(DATA);符號(hào)/狀態(tài)位(SSM),用于標(biāo)識(shí)數(shù)據(jù)字的特征或數(shù)據(jù)發(fā)生器的狀態(tài);奇偶校驗(yàn)位(P),。
2 ARINC429總線IP核設(shè)計(jì)
2.1 IP核功能分析
  在實(shí)際應(yīng)用中,2個(gè)或2個(gè)以上ARINC429數(shù)據(jù)字可組成一個(gè)消息,消息可以單次發(fā)送或循環(huán)發(fā)送,,消息中存在字間隔,,循環(huán)發(fā)送時(shí)消息間存在消息間隔。在接收端往往不是每收到一個(gè)數(shù)據(jù)字便通知主機(jī)接收該數(shù)據(jù)字,,而是對(duì)當(dāng)前接收到的數(shù)據(jù)字進(jìn)行緩存,,當(dāng)數(shù)據(jù)字個(gè)數(shù)達(dá)到一個(gè)觸發(fā)深度N時(shí),接收端才觸發(fā)主機(jī)中斷通知主機(jī)接收數(shù)據(jù),。由以上需求和協(xié)議的要求,,利用EDA技術(shù)實(shí)現(xiàn)的ARINC429協(xié)議的IP核應(yīng)包括如下幾點(diǎn)功能:
  (1)ARINC429總線數(shù)據(jù)的并串和串并轉(zhuǎn)換;
  (2)接收發(fā)送通道的奇偶校驗(yàn)設(shè)置,;
  (3)接收發(fā)送通道的波特率可選擇,;
  (4)發(fā)送通道的單次或循環(huán)發(fā)送選擇;
  (5)發(fā)送通道的字間隔和消息間隔配置,;
  (6)接收通道數(shù)據(jù)深度觸發(fā)主機(jī)中斷,;
  (7)接收通道SDI校驗(yàn),、LABEL過(guò)濾配置。
2.2  IP核內(nèi)部邏輯設(shè)計(jì)
  IP核的內(nèi)部邏輯框圖如圖3 所示,,其中對(duì)外接口模塊為通用的同步CPU接口設(shè)計(jì),提供了能與多種同步CPU接口進(jìn)行交互的信號(hào),,包括系統(tǒng)時(shí)鐘、系統(tǒng)復(fù)位,、數(shù)據(jù)/地址線和主機(jī)中斷輸出,。

  為了便于用戶的配置和管理,功能寄存器組設(shè)計(jì)采用通道完全獨(dú)立思想,,提供了N路(N可根據(jù)邏輯資源任意配置)ARINC429接收發(fā)送通道的功能配置寄存器和狀態(tài)查詢寄存器,,具體寄存器名稱和功能見(jiàn)表1。
 數(shù)據(jù)緩沖區(qū)由EDA開發(fā)環(huán)境自帶的IP核生成雙端口隨機(jī)存儲(chǔ)器(DPRAM)和先入先出隊(duì)列(FIFO)組成,,分別用以完成待發(fā)送數(shù)據(jù)的緩存和當(dāng)前接收數(shù)據(jù)的緩存,。
  以單一收發(fā)通道為例,,對(duì)外接口模塊,、數(shù)據(jù)緩沖區(qū)和協(xié)議處理模塊的內(nèi)部邏輯細(xì)節(jié)框圖如圖4所示。

  ARINC429協(xié)議處理模塊包括讀DPRAM模塊,、發(fā)送通道配置模塊,、發(fā)送處理模塊、寫FIFO模塊,、接收通道配置模塊和接收處理模塊,。通道配置模塊根據(jù)功能配置寄存器組的配置信息來(lái)完成對(duì)各發(fā)送和接收通道的功能配置;讀DPRAM模塊完成待發(fā)送并行數(shù)據(jù)從數(shù)據(jù)緩沖區(qū)的讀取;寫FIFO模塊完成接收并行數(shù)據(jù)到數(shù)據(jù)緩沖區(qū)的存儲(chǔ);發(fā)送處理模塊將并行數(shù)據(jù)輸入到發(fā)送模塊,;接收處理模塊等待接收模塊的有效接收信號(hào),,完成接收數(shù)據(jù);發(fā)送模塊完成并行數(shù)據(jù)到串行數(shù)據(jù)的轉(zhuǎn)換,,并完成奇偶校驗(yàn)位的填充,根據(jù)波特率的設(shè)定產(chǎn)生A,、B兩路數(shù)據(jù),按消息間隔和字間隔的設(shè)定將數(shù)據(jù)周期或單次發(fā)出,;接收模塊完成串行數(shù)據(jù)到并行數(shù)據(jù)的轉(zhuǎn)換,,并完成奇偶校驗(yàn),根據(jù)功能配置設(shè)定接收A,、B兩路數(shù)據(jù),,并進(jìn)行SDI校驗(yàn)字、標(biāo)簽過(guò)濾等,,由觸發(fā)深度配置字及其使能位產(chǎn)生主機(jī)接收中斷,。
2.3  IP核的驗(yàn)證與綜合
  本IP核采用硬件描述語(yǔ)言Verilog HDL實(shí)現(xiàn),邏輯仿真采用仿真工具M(jìn)odelsim完成系統(tǒng)驗(yàn)證,,最終在編譯綜合工具quartus II上進(jìn)行綜合,、布局布線,,具有單個(gè)接收發(fā)送通道的IP核共占用邏輯單元1 675個(gè),存儲(chǔ)單元13 824個(gè)。
3 基于IP核的PCI測(cè)試卡設(shè)計(jì)與實(shí)現(xiàn)
  為了有效驗(yàn)證該IP核工作的可靠性,,將本IP核應(yīng)用到以PCI總線作為主機(jī)接口的ARINC429數(shù)據(jù)測(cè)試系統(tǒng),,功能上可完全代替原有專用芯片。
  以PCI總線作為主機(jī)接口的ARINC429測(cè)試系統(tǒng)是一類應(yīng)用非常廣泛的測(cè)試系統(tǒng),,該系統(tǒng)硬件部分核心為一塊PCI接口板卡,,通過(guò)PCI總線和測(cè)試計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信[3]。軟件開發(fā)人員可在測(cè)試計(jì)算機(jī)上完成功能多樣的應(yīng)用程序設(shè)計(jì),,接收數(shù)據(jù)通過(guò)驅(qū)動(dòng)程序上傳至應(yīng)用程序,,應(yīng)用程序也可將待發(fā)送數(shù)據(jù)通過(guò)驅(qū)動(dòng)程序?qū)懙桨蹇ㄖ校惺瞻l(fā)數(shù)據(jù)均可利用軟件記錄并描述,。
  板卡的硬件設(shè)計(jì)框圖如圖5所示,。在本應(yīng)用中,將IP核配置成8路接收通道和8路發(fā)送通道,,經(jīng)綜合后下載至FPGA中,,F(xiàn)PGA選用Altera公司Cyclone系列EP1C20,IP核和PCI接口模塊綜合后共占用邏輯單元14 300個(gè),,占總量的72%,,存儲(chǔ)單元55 296個(gè),占總量的75%,;ARINC429總線驅(qū)動(dòng)芯片選用HI-8585和HI-8591,;PCI接口芯片選用PCI9054。

  在測(cè)試過(guò)程中,,將應(yīng)用ARINC249總線IP核的PCI卡與計(jì)算機(jī)主板進(jìn)行連接[4],,對(duì)PCI卡的全部功能進(jìn)行驗(yàn)證,并利用嵌入式邏輯分析儀Signal Tap捕獲FPGA的輸入輸出信號(hào),,這里以應(yīng)用程序向IP核寫入發(fā)送數(shù)據(jù)32位“1”為例,,如圖6可知,IP核的輸出符合ARINC429信號(hào)標(biāo)準(zhǔn),,功能配置和狀態(tài)查詢寄存器全部工作正常,。

  基于EDA技術(shù)實(shí)現(xiàn)的ARINC429總線IP核在功能上不僅可完全取代專用芯片,還加入了更符合實(shí)際應(yīng)用的單次或循環(huán)發(fā)送選擇功能,、深度觸發(fā)中斷接收功能,,并可實(shí)現(xiàn)IP核的多路擴(kuò)展,方便了開發(fā)人員的應(yīng)用,,極大地降低了成本,。本IP核目前已投入航空電子測(cè)試系統(tǒng)的實(shí)際應(yīng)用,功能設(shè)計(jì)合理,工作穩(wěn)定可靠,。
參考文獻(xiàn)
[1]  范秀峰,周宇辰. ARINC429總線收發(fā)器芯片DEI1016的原理及應(yīng)用[J]. 新特器件應(yīng)用,,2003,42(5):33-35.
[2]  胡志強(qiáng),徐勝紅,,張宗麟.基于FPGA 的ARINC429總線接口芯片的設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)控技術(shù),,2002,22(1):65-67.
[3]  孫旭光. 一種多功能ARINC429 總線接口板設(shè)計(jì)[J]. 測(cè)控技術(shù),2003,22(6):38-40.
[4]   胡紅明,,苗克堅(jiān). 基于DD-03282的ARINC429 PCI通信接口設(shè)計(jì)[J]. 計(jì)算機(jī)工程,,2006,32(6):280-282.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。