国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

HDLC協(xié)議IP核的設計與實現(xiàn)

2014-09-23 03:19:00閆軍虎張明社郗海燕
電子設計工程 2014年11期
關鍵詞:發(fā)送數(shù)據(jù)框圖校驗

閆軍虎,張明社,郗海燕

(中國電子科技集團公司 第39研究所,陜西 西安 710065)

HDLC協(xié)議IP核的設計與實現(xiàn)

閆軍虎,張明社,郗海燕

(中國電子科技集團公司 第39研究所,陜西 西安 710065)

文中針對專用ASIC芯片實現(xiàn)HDLC協(xié)議針對性強,使用不靈活等特點,提出了使用FPGA IP核來實現(xiàn)HDLC接口的設計方案。HDLC IP核包括3個模塊:對外接口模塊、接收模塊和發(fā)送模塊。IP核接收到新數(shù)據(jù)后存入接收FIFO,對外接口模塊將接收到的數(shù)據(jù)通過總線將數(shù)據(jù)送入數(shù)據(jù)處理單元;當需要發(fā)送數(shù)據(jù)時數(shù)據(jù)處理單元通過總線將數(shù)據(jù)存入發(fā)送FIFO,啟動發(fā)送模塊將數(shù)據(jù)送出。接收和發(fā)送模塊自動完成數(shù)據(jù)的"插零"及"刪零"操作。仿真結(jié)果表明該IP核能夠正確的接收和發(fā)送數(shù)據(jù)。該方法已在某雷達天線的同步引導數(shù)據(jù)的收發(fā)通信鏈路中,成功實現(xiàn)了雙向數(shù)據(jù)通信。

FPGA;HDLC協(xié)議;IP核;FIFO;CRC 校驗

在某雷達測控系統(tǒng)中,采用面向位的、簡化的高級數(shù)據(jù)鏈路控制(High-Level Data Link Control或簡稱HDLC)協(xié)議進行數(shù)據(jù)交換。 HDLC協(xié)議具有數(shù)據(jù)報文透明傳輸、全雙工通信、傳輸可靠性高等特點,從而廣泛應用于數(shù)據(jù)通信領域。

通常HDLC協(xié)議的實現(xiàn)是采用專用的ASIC 器件來實現(xiàn)的[1]。HDLC的ASIC芯片有ST公司的MK5025、Motorola公司的MC92460、Zarlink公司的MT8952B等[2]。這些集成電路功能針對性強,性能可靠,適合應用于特定用途的大批量產(chǎn)品中。但由于HDLC標準的文本較多,ASIC芯片出于專用性的目的難以通用于不同版本,缺乏應用靈活性。HDLC的軟件編程方法功能靈活,通過修改程序就可以適用于不同的HDLC應用。但程序運行占用處理器資源多,執(zhí)行速度慢,對信號的時延和同步性不易預測。

FPGA(Field Programmable Gate Array, 現(xiàn)場可編程門陣列)采用硬件技術處理信號,又可以通過軟件反復編程使用,能夠兼顧速度和靈活性,并能并行處理多路信號,實時性能能夠預測和仿真。在中小批量通信產(chǎn)品的設計生產(chǎn)中,

用FPGA實現(xiàn)HDLC功能是一種值得采用的方法。正是有鑒于此,Innocor、Xilinx等公司推出了能在FPGA中實現(xiàn)HDLC功能的IP Core(Intellectual Property Core,知識產(chǎn)權(quán)核),但這些IP Core需要付費購買許可(License)才能使用,且在應用中受到各種限制。本文從HDLC的基本定義出發(fā),通過對FPGA設計輸入的模塊化描述,介紹一種能夠在FPGA中實現(xiàn)HDLC功能的方法。

1 HDLC的幀結(jié)構(gòu)

首先回顧一下HDLC基本的幀結(jié)構(gòu)形式。HDLC是面向比特的鏈路控制規(guī)程,其鏈路監(jiān)控功能通過一定的比特組合所表示的命令和響應來實現(xiàn),這些監(jiān)控比特和信息比特一起以幀的形式傳送。每幀的起始和結(jié)束以"7E"(01111110)做標志,兩個"7E"之間為數(shù)據(jù)段(包括地址數(shù)據(jù)、控制數(shù)據(jù)、信息數(shù)據(jù))和幀校驗序列。幀校驗采用CRC算法,對除了插入的"零"以外的所有數(shù)據(jù)進行校驗。為了避免將數(shù)據(jù)中的"7E"誤為標志,在發(fā)送端和接收端要相應地對數(shù)據(jù)流和幀校驗序列進行"插零"及"刪零"操作。

2 原理框圖

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

2.1 對外接口模塊

圖1 HDLC協(xié)議原理框圖Fig. 1 Block diagram of HDLC protocol

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

2.2 HDLC發(fā)送模塊

HDLC發(fā)送部分主要實現(xiàn)HDLC發(fā)送功能。當接收到數(shù)據(jù)準備就緒標志(TX_DAT_OK)后,向?qū)ν饨涌谀K發(fā)送讀使能(RD_MEM_EN)和讀信號(RD_MEM),通過局部總線將待發(fā)數(shù)據(jù)存入發(fā)送緩沖區(qū),在T_CLK的控制下將數(shù)據(jù)從HDLC_TXD管腳發(fā)出。數(shù)據(jù)發(fā)送模塊采用狀態(tài)機來完成發(fā)送各個階段的切換。狀態(tài)切換流程圖如圖2所示。

圖2 發(fā)送模塊狀態(tài)切換流程圖Fig. 2 Switch flow diagram of transmit module

State0狀態(tài)是發(fā)送的起始狀態(tài)也是空閑狀態(tài)。當沒有數(shù)據(jù)要發(fā)送時(TX_DAT_OK=0),程序以7E填充發(fā)送;當程序檢測到有新數(shù)據(jù)時(TX_DAT_OK=1),程序檢測7E是否發(fā)送結(jié)束如果沒結(jié)束則繼續(xù)發(fā)送7E,如果7E發(fā)送結(jié)束則狀態(tài)在下一周期切換為State1。

State1狀態(tài)主要完成接收并發(fā)送數(shù)據(jù)功能,在第二個CLK周期先將讀使能和讀信號拉高,在第三個CLK周期再將其拉低,在第五個CLK周期開始讀數(shù)。在并行的數(shù)據(jù)發(fā)送PROCESS中根據(jù)CLK周期和發(fā)送計數(shù)器,將接收到的數(shù)據(jù)通過移位進行發(fā)送同時對連續(xù)‘1’的個數(shù)和發(fā)送個數(shù)進行計數(shù)。當連續(xù)‘1’的個數(shù)為5時在下一個周期插入發(fā)送‘0’,將連續(xù)‘1’的計數(shù)器清零,發(fā)送個數(shù)不變。在發(fā)送數(shù)據(jù)的同時進行CRC校驗的計算。幀校驗序列字段使用CRC-16,對兩個標志字段之間的整個幀的內(nèi)容進行校驗。CRC的生成多項式為X16+X12+X5+1,對在校錯范圍內(nèi)的錯碼進行校驗。標志位和按透明規(guī)則插入的所有‘0’不在校驗的范圍內(nèi)。程序設計中的CRC校驗算法的原理框圖如圖3所示。

圖3 CRC校驗算法的原理框圖Fig. 3 Block diagram of CRC verfiy

State3 狀態(tài)主要完成發(fā)送字尾,發(fā)送完成后直接轉(zhuǎn)入state0。

2.3 HDLC接收模塊

接收模塊接收到一個非“7E”字節(jié)時,即判定為地址數(shù)據(jù),直到再次接收到“7E”即判定為接收到了一個完整的一幀數(shù)。當接收到一個非“7E”數(shù)據(jù)后就通過內(nèi)部數(shù)據(jù)總線(DAT_OUT_BUS)傳送給接口模塊,接口模塊根據(jù)FRAME_LENGTH和DAT_VALIDITY來判斷數(shù)據(jù)幀的長度和有效性。接收數(shù)據(jù)個階段的狀態(tài)切換流程如圖4所示。

在State0狀態(tài)程序判斷接收到的數(shù)據(jù)是否為7E,如果為

圖4 接收模塊狀態(tài)切換流程圖Fig. 4 Switch flow diagram of receive module

7 E,則表明已收到了幀頭,狀態(tài)切換到State1。在State1狀態(tài)程序接收到的下一個數(shù)不是7E則表明收到了地址數(shù)據(jù),將狀態(tài)機切換到State2。在State2狀態(tài)判斷是否收到字尾,如果不是字尾則將接收的數(shù)據(jù)存入接收緩沖區(qū)同時啟動寫數(shù)據(jù),將接收到的數(shù)據(jù)通過總線寫入接收fifo。在收數(shù)的過程中同時進行刪除‘0’的操作,即當收到連續(xù)5個1時將下一個‘0’主動刪除。當收到字尾時對地址數(shù)據(jù)、控制數(shù)據(jù)和信息數(shù)據(jù)的CRC校驗結(jié)果與最后兩個字節(jié)進行比對形成數(shù)據(jù)有效標志(DAT_VALIDITY)。

圖5 發(fā)送數(shù)據(jù)仿真波形Fig. 5 Simulation waveform of transmit data

3 仿真與應用

根據(jù)上述設計,在Quartus II 9.0上對發(fā)送數(shù)據(jù)和接收數(shù)據(jù)進行了仿真如圖5、6所示。

圖6 接收數(shù)據(jù)仿真波形Fig. 6 Simulation waveform of receive data

從仿真波形可以看出發(fā)送模塊能夠?qū)IFO中的數(shù)按照設計的波形輸出到HTXD管腳;接收模塊能夠正確的將HRXD管腳的波形數(shù)據(jù)解出來并存入接收緩沖區(qū)中,接收完成后給接口模塊發(fā)出END標志。根據(jù)上述設計方法,已成功地在可編程邏輯芯片上實現(xiàn)。FPGA芯片選用的是Altera公司的Cyclone系列FPGA:EP1C6T144。

4 結(jié)束語

上述詳細介紹了一種基于FPGA的HDLC協(xié)議IP核的方案及設計實現(xiàn)方法。根據(jù)本文介紹的實現(xiàn)方法設計出的HDLC接口板已應用于某雷達天線的同步引導數(shù)據(jù)的收發(fā)通信鏈路中,成功實現(xiàn)了雙向數(shù)據(jù)通信。應用結(jié)果表明該方法具有簡單實用、性能可靠以及成本低等特點。能夠廣泛應用于HDLC協(xié)議應用場合。

[1] 韓露.專用HDLC協(xié)議芯片的應用[J].移動通信,2003,27(11):231-232.

HAN Lu.Application of special HDLC protocol chip[J]. Mobile Co mmunication,2003,27(11):231-232.

[2] 付新虎,史浩,等.HDLC協(xié)議在通信系統(tǒng)中的應用[J].電子技術,2005,32(8):58-60.

FU Xin-hu,SHI Hao,et al.Application of HDLC protocol in a communication system[J].Electronic Technology,2005,32(8):58-60.

[3] 李宥謀,房鼎益.CRC編碼算法研究與實現(xiàn)[J].西北大學學報:自然科學版,2006,36(6):895-898

LI You-mou,FANG Ding-yi.Research and implementation of a new CRC coding algorithm[J].Journal of Northwest University:Natural Science Edition,2006,36(6):895-898.

[4] 劉巖俊,閆海霞.HDLC通訊協(xié)議中CRC的應用[J].電子測量技術,2010,33(3):21-23.

LIU Yan-jun,YAN Hai-xia.Application of CRC during HDLC protocol [J].Electronic Measurement Technology,2010,33(3):21-23.

[5] 肖靜嫻,戴亞文.基于FPGA的異步FIFO緩存設計[J].電子測量技術,2010,32(11):92-94.

XIAO Jin-xian,DAI Ya-wen.Implementation of asynchronous FIFO buffer based on FPGA[J].Electronic Measurement Technology,2010,32(11):92-94.

[6] 范昌平,應三叢.多雷達的一種高可靠智能接入和規(guī)范處理[J].四川大學學報:自然科學版,2006.43(4):763-765.

FAN Chang-pin,YIN San-cong.a high reliable intelligent access and standard treatment of multi radar[J].Journal of Sichuan University:Natural Science Edition,2006,43(4):763-765.

Design and realization of the HDLC protocol with FPGA IP core

YAN Jun-hu, ZHANG Ming-she, XI Hai-yan
(The 39th Institute ,Electronic Science and Technology Group Corporation of China, Xi’an 710065, China)

Using the special ASIC to realize the HDLC protocol is not flexible. The paper describes a scheme which using the FPGA IP core to realizing the HDLC protocol. The IP core includes the external interface module;receive module; transmit module. When the IP core receive new data ,it will storage the data in receive fifo. The external interface module will send out the data to the processor form the data bus. When send data, the processor will send the data to the transmit fifo,and startup the transmit module. The receive and transmit module will execute the“insert zero”and“delete zero”automatic. The emulational result indicate that the IP core can receive and transmit date correctly. The scheme has carried out the communication of the synchronous lead date in radar antenna.

FPGA; HDLC protocol; IP core; FIFO; CRC verify

TN820.4

A

1674-6236(2014)11-0181-04

2013–09–16 稿件編號:201309121

閆軍虎(1971—),男,陜西渭南人,高級工程師。研究方向:微電子技術應用。

猜你喜歡
發(fā)送數(shù)據(jù)框圖校驗
移動自組網(wǎng)中MAC層協(xié)議研究
捷豹I-PACE純電動汽車高壓蓄電池充電系統(tǒng)(三)
基于馬爾科夫鏈的LoRaWAN網(wǎng)絡節(jié)點性能分析
帶標記方式的CRDSA++協(xié)議性能分析*
通信技術(2018年10期)2018-10-15 07:30:00
電路圖2017年凱迪拉克XT5
爐溫均勻性校驗在鑄鍛企業(yè)的應用
算法框圖的補全
使用IPSec安全傳輸數(shù)據(jù)
大型電動機高阻抗差動保護穩(wěn)定校驗研究
電測與儀表(2015年1期)2015-04-09 12:03:02
基于加窗插值FFT的PMU校驗方法
资源县| 尖扎县| 波密县| 泾川县| 连平县| 石楼县| 托克逊县| 山丹县| 岑巩县| 普兰店市| 大方县| 屯门区| 梨树县| 金寨县| 天等县| 雷波县| 织金县| 广汉市| 裕民县| 玛多县| 台北县| 九龙城区| 武威市| 塘沽区| 惠水县| 宿州市| 平乡县| 江北区| 包头市| 松潘县| 恩平市| 游戏| 宁陵县| 嘉义市| 南安市| 夹江县| 合肥市| 民县| 全南县| 闵行区| 涞水县|