• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      HDLC協(xié)議IP核的設(shè)計(jì)與實(shí)現(xiàn)

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

      閆軍虎,張明社,郗海燕

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

      HDLC協(xié)議IP核的設(shè)計(jì)與實(shí)現(xiàn)

      閆軍虎,張明社,郗海燕

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

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

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

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

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

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

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

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

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

      2 原理框圖

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

      2.1 對(duì)外接口模塊

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

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

      2.2 HDLC發(fā)送模塊

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

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

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

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

      圖3 CRC校驗(yàn)算法的原理框圖Fig. 3 Block diagram of CRC verfiy

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

      2.3 HDLC接收模塊

      接收模塊接收到一個(gè)非“7E”字節(jié)時(shí),即判定為地址數(shù)據(jù),直到再次接收到“7E”即判定為接收到了一個(gè)完整的一幀數(shù)。當(dāng)接收到一個(gè)非“7E”數(shù)據(jù)后就通過內(nèi)部數(shù)據(jù)總線(DAT_OUT_BUS)傳送給接口模塊,接口模塊根據(jù)FRAME_LENGTH和DAT_VALIDITY來判斷數(shù)據(jù)幀的長(zhǎng)度和有效性。接收數(shù)據(jù)個(gè)階段的狀態(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)程序接收到的下一個(gè)數(shù)不是7E則表明收到了地址數(shù)據(jù),將狀態(tài)機(jī)切換到State2。在State2狀態(tài)判斷是否收到字尾,如果不是字尾則將接收的數(shù)據(jù)存入接收緩沖區(qū)同時(shí)啟動(dòng)寫數(shù)據(jù),將接收到的數(shù)據(jù)通過總線寫入接收fifo。在收數(shù)的過程中同時(shí)進(jìn)行刪除‘0’的操作,即當(dāng)收到連續(xù)5個(gè)1時(shí)將下一個(gè)‘0’主動(dòng)刪除。當(dāng)收到字尾時(shí)對(duì)地址數(shù)據(jù)、控制數(shù)據(jù)和信息數(shù)據(jù)的CRC校驗(yàn)結(jié)果與最后兩個(gè)字節(jié)進(jìn)行比對(duì)形成數(shù)據(jù)有效標(biāo)志(DAT_VALIDITY)。

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

      3 仿真與應(yīng)用

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

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

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

      4 結(jié)束語(yǔ)

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

      [1] 韓露.專用HDLC協(xié)議芯片的應(yīng)用[J].移動(dòng)通信,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)中的應(yīng)用[J].電子技術(shù),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編碼算法研究與實(shí)現(xiàn)[J].西北大學(xué)學(xué)報(bào):自然科學(xué)版,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的應(yīng)用[J].電子測(cè)量技術(shù),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緩存設(shè)計(jì)[J].電子測(cè)量技術(shù),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] 范昌平,應(yīng)三叢.多雷達(dá)的一種高可靠智能接入和規(guī)范處理[J].四川大學(xué)學(xué)報(bào):自然科學(xué)版,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 稿件編號(hào):201309121

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

      猜你喜歡
      發(fā)送數(shù)據(jù)框圖校驗(yàn)
      移動(dòng)自組網(wǎng)中MAC層協(xié)議研究
      捷豹I-PACE純電動(dòng)汽車高壓蓄電池充電系統(tǒng)(三)
      基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點(diǎn)性能分析
      帶標(biāo)記方式的CRDSA++協(xié)議性能分析*
      電路圖2017年凱迪拉克XT5
      爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
      算法框圖的補(bǔ)全
      使用IPSec安全傳輸數(shù)據(jù)
      大型電動(dòng)機(jī)高阻抗差動(dòng)保護(hù)穩(wěn)定校驗(yàn)研究
      基于加窗插值FFT的PMU校驗(yàn)方法
      壶关县| 革吉县| 高唐县| 门源| 沁源县| 资阳市| 彭州市| 文登市| 鄂伦春自治旗| 米泉市| 忻城县| 兴化市| 无为县| 阿拉尔市| 会昌县| 雅江县| 晴隆县| 新竹市| 顺平县| 萝北县| 天津市| 东源县| 开阳县| 莫力| 科尔| 高碑店市| 拜城县| 武强县| 德安县| 化州市| 仁怀市| 怀安县| 延吉市| 阳谷县| 阿克陶县| 南康市| 太康县| 监利县| 三穗县| 仁怀市| 太保市|