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