新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于FPGA+ARM架構HDLC協議控制器設計

一種基于FPGA+ARM架構HDLC協議控制器設計

作者: 時間:2014-07-22 來源:網絡 收藏

  

本文引用地址:http://www.butianyuan.cn/article/255887.htm

 

  在發(fā)送端,接收到啟動發(fā)送指令后,發(fā)送相應個數幀頭0x7E,然后將數據從發(fā)送FIFO中取出,進行并串轉換,在根據設置的時鐘TCLK的下降沿,逐位發(fā)送數據到Tx線路上,并且在連續(xù)發(fā)送了5個比特“1”后,自動插入比特“0”,發(fā)送結束后發(fā)送相應個數幀尾0x7E,結束該次發(fā)送。發(fā)送幀狀態(tài)轉移圖如圖4所示。

  

 

  2.3 數據處理單元

  數據處理單元主要完成信息的幀的CRC校驗和打包解包任務,其處理芯片采用意法半導體的STM32F103系列芯片,該芯片具有開發(fā)簡單靈活,成本較低的優(yōu)勢。數據處理單元對數據的處理同樣包括接收和發(fā)送兩部分,以接收為例,具體工作流程圖如圖5所示。

  當進入接收中斷進程時,首先讀空接收FIFO,其中最后兩次讀出的數據為該幀信息的CRC校驗碼,利用該校驗碼進行CRC校驗,校驗采用CRC-16-CCITT標準,生成r取值為16,其生成多項式為:C(x)=x16+x12+x2+1傳統CRC校驗是對消息逐位處理,對于來說,這樣效率是很低的。為了提高時間效率,通常的思想是以空間換時間。考慮到內循環(huán)只與當前的消息字節(jié)和crc_reg的低字節(jié)有關,針對crc_reg低字節(jié)建立數表進行查詢相應的CRC校驗碼,最終循環(huán)完畢如果沒有差錯發(fā)生則結果應為0。

  發(fā)送單元與接收單元類似,為其逆過程,首先將信息按約定幀格式打包,然后進行CRC校驗,將校驗碼放入信息幀的最后2個字節(jié),并將該信息幀通過數據總線存入的發(fā)送FIFO中,最后寫入發(fā)送標志字,啟動發(fā)送傳輸控制邏輯。

  3 驗證及結果

  為完成設計,首先采用ModelSim進行仿真驗證,如圖6所示通過激勵文件生成ARM與FPCA的讀寫時序,給出符合幀格式的一組數據寫入發(fā)送FIFO,并啟動發(fā)送,在激勵文件中將RX/RCLK與TX/TCLK短接,形成回環(huán),FPGA根據協議控制器接收到數據,并將數據存入接收FIFO,完成驗證。其邏輯時序滿足HDLC協議幀格式和通信時序要求。

  

 

  最后按照設計要求將設計好的HDLC通信協議控制器加載至FPGA與ARM上,并與串口通信卡BST23109進行回環(huán)測試,該卡能夠實現串口同步模式,通信滿足HDLC協議要求。試驗結果表明在5 m通信距離內,波特率可達2 Mb/s,誤碼率為10-8。

  4 結論

  文中針對飛行模擬裝置中HDLC協議的應用需求開展了HDLC協議控制器的設計,文中首先介紹了HDLC協議的相關內容,然后重點介紹了HDLC協議控制器軟硬件實現,詳細給出于HDLC協議控制器的沒計實現過程。通過仿真和實測試驗表明在5m通信距離內,波特率可達2Mb/s,誤碼率為10-8。在該飛行模擬裝置交付使用過程中,該控制器功能完整,能夠很好地滿足各項指標的技術要求。

fpga相關文章:fpga是什么


塵埃粒子計數器相關文章:塵埃粒子計數器原理

上一頁 1 2 下一頁

關鍵詞: FPGA ARM HDLC

評論


相關推薦

技術專區(qū)

關閉