HDLC協(xié)議IP核的設計_第1頁
HDLC協(xié)議IP核的設計_第2頁
HDLC協(xié)議IP核的設計_第3頁
HDLC協(xié)議IP核的設計_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

HDLC協(xié)議IP核的設計

《電子設計工程雜志》2023年第十一期

1HDLC的幀構造

首先回憶一下HDLC根本的幀構造形式。HDLC是面對比特的鏈路掌握規(guī)程,其鏈路監(jiān)控功能通過肯定的比特組合所表示的命令和響應來實現(xiàn),這些監(jiān)控比特和信息比特一起以幀的形式傳送。每幀的起始和完畢以“7E“(01111110)做標志,兩個“7E“之間為數據段(包括地址數據、掌握數據、信息數據)和幀校驗序列。幀校驗采納CRC算法,對除了插入的“零“以外的全部數據進展校驗。為了避開將數據中的“7E“誤為標志,在發(fā)送端和接收端要相應地對數據流和幀校驗序列進展“插零“及“刪零“操作。

2原理框圖

基于FPGA的HDLC協(xié)議的實現(xiàn)原理框圖如圖1所示。該框圖包括3個局部:對外接口局部、HDLC發(fā)送局部、HDLC接收局部。以下對3個局部的實現(xiàn)分別進展論述。

2.1對外接口模塊對外接口局部主要實現(xiàn)HDLC對外的數據交換。包括CPU接口、發(fā)送FIFO、發(fā)送接口、接收FIFO以及接收接口。本設計是以總線的形式實現(xiàn)HDLC與外部CPU的通信。當需要發(fā)送數據時,外部CPU通過總線將待發(fā)數據寫入FIFO(FIFO的IP核在各開發(fā)軟件中都是免費供應的,在程序中只需直接調用即可,故在此不再具體描述)。之中。發(fā)送數據預備就緒標志(TX_DAT_OK);接收數據時,當對外接口模塊接收到數據有效信號時,依據接收模塊發(fā)來的寫信號(WR_MEM)將數據寫入接收FIFO中。接收完一幀數時向CPU發(fā)送中斷信號(INT),通知CPU讀取數據。

2.2HDLC發(fā)送模塊HDLC發(fā)送局部主要實現(xiàn)HDLC發(fā)送功能。當接收到數據預備就緒標志(TX_DAT_OK)后,向對外接口模塊發(fā)送讀使能(RD_MEM_EN)和讀信號(RD_MEM),通過局部總線將待發(fā)數據存入發(fā)送緩沖區(qū),在T_CLK的掌握下將數據從HDLC_TXD管腳發(fā)出。數據發(fā)送模塊采納狀態(tài)機來完成發(fā)送各個階段的切換。狀態(tài)切換流程圖如圖2所示。State0狀態(tài)是發(fā)送的起始狀態(tài)也是空閑狀態(tài)。當沒有數據要發(fā)送時(TX_DAT_OK=0),程序以7E填充發(fā)送;當程序檢測到有新數據時(TX_DAT_OK=1),程序檢測7E是否發(fā)送完畢假如沒完畢則連續(xù)發(fā)送7E,假如7E發(fā)送完畢則狀態(tài)在下一周期切換為State1。State1狀態(tài)主要完成接收并發(fā)送數據功能,在其次個CLK周期先將讀使能和讀信號拉高,在第三個CLK周期再將其拉低,在第五個CLK周期開頭讀數。在并行的數據發(fā)送PROCESS中依據CLK周期和發(fā)送計數器,將接收到的數據通過移位進展發(fā)送同時對連續(xù)‘1’的個數和發(fā)送個數進展計數。當連續(xù)‘1’的個數為5時在下一個周期插入發(fā)送‘0’,將連續(xù)‘1’的計數器清零,發(fā)送個數不變。在發(fā)送數據的同時進展CRC校驗的計算。幀校驗序列字段使用CRC-16,對兩個標志字段之間的整個幀的內容進展校驗。CRC的生成多項式為X16+X12+X5+1,對在校錯范圍內的錯碼進展校驗。標志位和按透亮規(guī)章插入的全部‘0’不在校驗的范圍內。程序設計中的CRC校驗算法的原理框圖如圖3所示。State3狀態(tài)主要完成發(fā)送字尾,發(fā)送完成后直接轉入state0。

2.3HDLC接收模塊接收模塊接收到一個非“7E”字節(jié)時,即判定為地址數據,直到再次接收到“7E”即判定為接收到了一個完整的一幀數。當接收到一個非“7E”數據后就通過內部數據總線(DAT_OUT_BUS)傳送給接口模塊,接口模塊依據FRAME_LENGTH和DAT_VALIDITY來推斷數據幀的長度和有效性。接收數據個階段的狀態(tài)切換流程如圖4所示。在State0狀態(tài)程序推斷接收到的數據是否為7E,假如為7E,則說明已收到了幀頭,狀態(tài)切換到State1。在State1狀態(tài)程序接收到的下一個數不是7E則說明收到了地址數據,將狀態(tài)機切換到State2。在State2狀態(tài)推斷是否收到字尾,假如不是字尾則將接收的數據存入接收緩沖區(qū)同時啟動寫數據,將接收到的數據通過總線寫入接收fifo。在收數的過程中同時進展刪除‘0’的操作,即當收到連續(xù)5個1時將下一個‘0’主動刪除。當收到字尾時對地址數據、掌握數據和信息數據

3仿真與應用

的CRC校驗結果與最終兩個字節(jié)進展比對形成數據有效標志(DAT_VALIDITY)。依據上述設計,在QuartusII9.0上對發(fā)送數據和接收數據進展了仿真如圖5、6所示。從仿真波形可以看動身送模塊能夠將FIFO中的數根據設計的波形輸出到HTXD管腳;接收模塊能夠正確的將HRXD管腳的波形數據解出來并存入接收緩沖區(qū)中,接收完成后給接口模塊發(fā)出END標志。依據上述設計方法,已勝利地在可編程規(guī)律芯片上實現(xiàn)。FPGA芯片選用的是Altera公司的Cyclone系列FPGA:EP1C6T144。

4完畢語

上述具體介紹了一種基于FPGA的HDLC協(xié)議IP核的方案及設計實現(xiàn)方法。依據本文介紹的實現(xiàn)方法設計出的HDLC接口板已應用于某雷達天線的同步引導

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論