石梅林
摘 要:IP核是具有特定功能的可移植的電子單元,根據(jù)產(chǎn)品交付方式可分為軟核、硬核和固核。IP軟核是用硬件描述語言描述的功能塊,與工藝無關(guān),可靈活應(yīng)用于電子系統(tǒng)設(shè)計中。本文開發(fā)具有自主知識產(chǎn)權(quán)的ARINC429總線IP核,可用于429總線通信應(yīng)用場合。本文首先介紹了ARINC429總線及其應(yīng)用,接下來就主要針對ARINC429總線IP核設(shè)計進(jìn)行了介紹,以期可以更好地了解ARINC429總線IP核。
關(guān)鍵詞:IP核 總線 應(yīng)用 設(shè)計
中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2018)09(a)-0007-02
1 ARINC429總線及其應(yīng)用
ARINC429總線是一種廣泛用于航空領(lǐng)域的數(shù)據(jù)傳輸協(xié)議,是一種發(fā)送和接收通道相互獨立的單工傳輸?shù)淖酝綌?shù)據(jù)總線協(xié)議,采用點對點通信方式[1]。ARINC429總線由2根帶有差分信號的雙絞線實現(xiàn)物理連接,數(shù)據(jù)傳輸速率有低速和高速兩種,低速通信位速率通常使用12.5kb/s,高速通信最常用的速率為100kb/s。429總線編碼方式采用雙極型歸零碼,如圖1所示。
目前國內(nèi)電子設(shè)計領(lǐng)域?qū)崿F(xiàn)429通信的常用形式有以下幾種。
(1)處理器+協(xié)議芯片。
(2)處理器+FPGA。
(3)IP核。
其中,通過IP核的實現(xiàn)方式基于自帶處理器核的可編程的FPGA,可根據(jù)系統(tǒng)應(yīng)用需求靈活定制相關(guān)功能,可裁剪,可升級。本文進(jìn)行具有自主知識產(chǎn)權(quán)的429總線IP核設(shè)計,可有效節(jié)省成本,提高設(shè)計靈活性
本文采用100kb/s的高速通信設(shè)計,碼元周期為10μs。本文的設(shè)計中,在FPGA芯片IO口產(chǎn)生TTL電平信號,通過與429總線驅(qū)動器配合使用產(chǎn)生符合429編碼格式的信號。數(shù)據(jù)字格式如表1所示。
2 ARINC429總線IP核設(shè)計
本文設(shè)計了一個基于FPGA的ARINC429總線IP核,以MicroBlaze軟核處理器為中心,實現(xiàn)符合429總線協(xié)議的通信功能。
系統(tǒng)功能結(jié)構(gòu)中接收通道和發(fā)送通道分別設(shè)計為獨立的IP核,系統(tǒng)中所用通道數(shù)可根據(jù)應(yīng)用需求定制。
2.1 接收模塊設(shè)計
該IP核的接收模塊主要功能是通過FPGA端口接收外部的串行數(shù)據(jù),進(jìn)行串并轉(zhuǎn)換供處理器讀取。接收模塊各個通道相互獨立。
該模塊工作過程為:ARINC429數(shù)據(jù)經(jīng)過轉(zhuǎn)換變?yōu)橐唤MTTL電平的串行數(shù)據(jù)Ain、Bin,數(shù)據(jù)線初始為低電平,數(shù)據(jù)起始檢測模塊以20倍數(shù)據(jù)傳輸速率對數(shù)據(jù)進(jìn)行采集,當(dāng)出現(xiàn)連續(xù)5個Ain高電平或Bin高電平時,產(chǎn)生數(shù)據(jù)起始信號start,開始采集數(shù)據(jù)并將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),完成32位數(shù)據(jù)采集與轉(zhuǎn)換后進(jìn)行奇偶校驗,若數(shù)據(jù)正確則存入寄存器中供CPU讀取,否則返回錯誤狀態(tài)。本文采用一個16×32位的FIFO進(jìn)行數(shù)據(jù)緩存,超過16個數(shù)據(jù)則溢出,丟棄舊數(shù)據(jù)。
2.2 發(fā)送模塊設(shè)計
該IP核的發(fā)送模塊主要功能是將需要發(fā)送的32位并行429總線數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的串行格式并進(jìn)行輸出。發(fā)送模塊各個通道相互獨立,某一通道的結(jié)構(gòu)框圖如圖2所示。
該模塊的工作過程為:在數(shù)據(jù)加載信號load的作用下,將需要發(fā)送的數(shù)據(jù)產(chǎn)生奇偶校驗位后存入一個16×32位的數(shù)據(jù)緩存模塊中,同時用狀態(tài)信號empty_s表示數(shù)據(jù)緩存模塊的狀態(tài);當(dāng)數(shù)據(jù)發(fā)送使能信號en為低電平時,將數(shù)據(jù)依次進(jìn)行并串轉(zhuǎn)換,然后轉(zhuǎn)換為符合相關(guān)標(biāo)準(zhǔn)的串行數(shù)據(jù)TXA、TXB,進(jìn)行數(shù)據(jù)發(fā)送。
2.3 IP核封裝及寄存器設(shè)置
完成IP核的用戶邏輯設(shè)計并驗證之后,通過EDK的IPIF把它包裝成一個具有通用接口、符合總線規(guī)范并能在系統(tǒng)中集成的IP核。IPIF(IP Interface)是EDK為定制IP核推出的IP接口,可生成符合標(biāo)準(zhǔn)的IP接口,用戶可根據(jù)自己的需要選擇系統(tǒng)總線連接方式和交互的總線信號,EDK工具會根據(jù)用戶選擇的系統(tǒng)總線方式實現(xiàn)相應(yīng)的總線接口邏輯,合成完整的IP核模塊。
3 IP核功能驗證
將前文所開發(fā)的429總線IP核添加到FPGA的硬件編程文件中,并燒寫到FPGA芯片中。然后在SDK開發(fā)平臺中編寫功能測試軟件,分別測試其接收與發(fā)送功能,其中接收功能測試時,外接429數(shù)據(jù),在軟件內(nèi)讀取接收數(shù)據(jù)寄存器以驗證接收功能。測試發(fā)送功能時,外接發(fā)送驅(qū)動器,并在程序內(nèi)定義發(fā)送數(shù)據(jù),用示波器分別抓取FPGA芯片數(shù)據(jù)輸出管腳和驅(qū)動器數(shù)據(jù)輸出管腳的數(shù)據(jù)波形,與發(fā)送數(shù)據(jù)對比以驗證發(fā)送功能。
試驗結(jié)果表明,本文所開發(fā)的429總線IP核可按照規(guī)定的波特率和數(shù)據(jù)格式進(jìn)行正確的數(shù)據(jù)收發(fā),并進(jìn)行奇偶校驗。
參考文獻(xiàn)
[1] 周前柏,馬偉勃.ARINC429通信方式的研究與實現(xiàn)[J].航空計算技術(shù),2010(7):121-124.
[2] 付軍立.ARINC429總線接收器極限參數(shù)測試方法[J].測試技術(shù)學(xué)報,2017,31(6):519-523.
[3] 索曉杰,王建生,李明,等.ARINC429總線發(fā)送端軟硬件隔離控制技術(shù)研究[J].航空計算技術(shù),2017,47(5):97-100.
[4] 潘亮,司斌,張從霞,等.基于FPGA的1553B總線曼徹斯特編解碼器設(shè)計與實現(xiàn)[J].航空兵器,2018(2):83-88.