亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ETC系統(tǒng)中HDLC協(xié)議解碼控制器的Verilog HDL實(shí)現(xiàn)

        2017-10-21 03:40:26鄧昌晟李海洋王小松張海英
        關(guān)鍵詞:鏈路層解碼校驗(yàn)

        鄧昌晟,劉 昱,李海洋,王小松,張海英

        (1. 中國科學(xué)院微電子研究所 新一代通信射頻芯片技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100029;2. 中國科學(xué)院大學(xué) 微電子學(xué)院,北京 100049)

        ETC系統(tǒng)中HDLC協(xié)議解碼控制器的VerilogHDL實(shí)現(xiàn)

        鄧昌晟1,2,劉 昱1,2,李海洋1,王小松1,張海英1,2

        (1. 中國科學(xué)院微電子研究所 新一代通信射頻芯片技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100029;2. 中國科學(xué)院大學(xué) 微電子學(xué)院,北京 100049)

        電子不停車收費(fèi)系統(tǒng)(Electronic Toll Collection, ETC)是解決目前交通擁堵問題最有效的手段。為規(guī)范ETC設(shè)計,統(tǒng)一國內(nèi)ETC標(biāo)準(zhǔn),我國制定了電子收費(fèi)專用短程通信國家標(biāo)準(zhǔn)(Dedicated Short Range Communications, DSRC)。DSRC數(shù)據(jù)鏈路層采用由國際標(biāo)準(zhǔn)化組織(ISO)制定的高級數(shù)據(jù)鏈路控制規(guī)程(High-Level Data Link Control, HDLC)。文章遵循DSRC短程通信協(xié)議數(shù)據(jù)鏈路層標(biāo)準(zhǔn)規(guī)范,采用硬件描述語言Verilog HDL實(shí)現(xiàn)了一種基于串行結(jié)構(gòu)的HDLC解碼電路,并對其中‘0’比特刪除模塊、CRC校驗(yàn)?zāi)K著重分析,設(shè)計較短時延的解碼電路。在解碼時鐘為256 kHz時,可以在0.2 ms時間內(nèi)完成解碼和讀取工作。

        電子不停車收費(fèi)系統(tǒng);DSRC;HDLC;Verilog HDL; CRC

        0 引言

        不停車收費(fèi)系統(tǒng)(ETC)由路邊讀寫設(shè)備(Road Side Unit, RSU)、車載單元(On Board Unit, OBU)、專用短程通信技術(shù)(DSRC)組成,如圖1所示。

        圖1 ETC系統(tǒng)組成

        DSRC通信協(xié)議遵循開放系統(tǒng)互聯(lián)(Open System Interconnection, OSI)模型,將DSRC協(xié)議分為三層模型,即應(yīng)用層、數(shù)據(jù)鏈路層、物理層。

        數(shù)據(jù)鏈路層需要提供向下物理層的接口,同時也要向上為應(yīng)用層提供服務(wù),為此,數(shù)據(jù)鏈路層需要穩(wěn)定的數(shù)據(jù)傳輸協(xié)議。DSRC中數(shù)據(jù)鏈路層采用高級數(shù)據(jù)鏈路控制協(xié)議HDLC。HDLC是一種面向比特的高級鏈路層控制協(xié)議。在通信領(lǐng)域中 , HDLC協(xié)議是應(yīng)用最廣泛的協(xié)議之一,具有強(qiáng)大的差錯檢測、流量控制、高效和同步傳輸?shù)墓δ躘1]。

        使用硬件編程語言實(shí)現(xiàn)HDLC協(xié)議是比較理想的方式,相對于軟件方式實(shí)現(xiàn),有著更快的執(zhí)行速度,更好的時序同步性;而相對于使用專用芯片有著更好的靈活性[2]。

        1 HDLC協(xié)議

        1.1HDLC協(xié)議幀結(jié)構(gòu)

        HDLC是面向比特字節(jié)數(shù)據(jù)的傳輸協(xié)議,與其他數(shù)據(jù)鏈路層傳輸協(xié)議相比,HDLC協(xié)議不依賴字符集,且較利于用硬件電路實(shí)現(xiàn)。HDLC協(xié)議以幀格式進(jìn)行數(shù)據(jù)傳輸,數(shù)據(jù)幀格式如表1所示[3]。

        表1 HDLC協(xié)議幀結(jié)構(gòu)

        HDLC幀格式由如下幾位組成:

        前后導(dǎo)碼:其格式均為二進(jìn)制序列01111110(0x7E),前后導(dǎo)碼之間為信息位。如果解碼控制器收到多個連續(xù)的0x7E,則以最后一個作為幀的前導(dǎo)碼,表示數(shù)據(jù)起始。解碼控制器在接收的比特數(shù)據(jù)中找到前后導(dǎo)碼,就可以確定兩個導(dǎo)碼段中間為一幀完整的數(shù)據(jù)。

        地址位:用于表示網(wǎng)絡(luò)中發(fā)送或接收該幀的設(shè)備地址。并且用全‘1’即0xFF或者0xFFFF表示廣播地址。

        控制位:幀格式根據(jù)控制位的不同,將HDLC幀定義為不同類型的幀。

        信息位:所需要傳輸?shù)臄?shù)據(jù)。字段長度取8 bit的整數(shù)倍。

        幀校驗(yàn)位:為保證數(shù)據(jù)的正確性傳輸,HDLC幀校驗(yàn)位采用國際通行的CRC校驗(yàn),根據(jù)所選的生成多項(xiàng)式,通常是16 bit或者32 bit的校驗(yàn)碼。CRC校驗(yàn)不會對幀數(shù)據(jù)內(nèi)容進(jìn)行修改,但是可以通過校驗(yàn)是否正確來選擇性接收這一幀數(shù)據(jù)[4]。

        1.2‘0’比特插入機(jī)制

        在前后導(dǎo)碼之間的比特流數(shù)據(jù)中,如果出現(xiàn)了與前后導(dǎo)碼一樣的0x7E的比特數(shù)據(jù),那么就會被認(rèn)為是幀的邊界,進(jìn)而使接收的數(shù)據(jù)出錯。HDLC協(xié)議使用‘0’比特插入機(jī)制來避免出現(xiàn)誤檢測邊界的情況。當(dāng)比特流數(shù)據(jù)中出現(xiàn)連續(xù)的5個‘1’時,在這5個‘1’的數(shù)據(jù)之后人為地插入一個無效位‘0’。這個位只在傳輸時存在,在設(shè)計HDLC解碼控制器時需要考慮這個數(shù)據(jù)‘0’的存在,解碼時要刪除這個‘0’位數(shù)據(jù),還原真實(shí)的數(shù)據(jù)流[5]。

        1.3CRC校驗(yàn)

        HDLC協(xié)議在每一幀數(shù)據(jù)后都加入了幀校驗(yàn)序列,以保證數(shù)據(jù)的正確性傳輸。HDLC采用循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check, CRC)。本設(shè)計中采用CRC-CCITT的生成多項(xiàng)式,即:

        P(x)=x16+x15+x5+1

        在HDLC協(xié)議中,除了前后導(dǎo)碼和插入的‘0’比特?zé)o效位,所有的信息都要參與CRC校驗(yàn)[6]。

        2 HDLC協(xié)議解碼控制器設(shè)計

        如圖2所示,HDLC協(xié)議解碼控制器采用串行結(jié)構(gòu)。

        圖2 HDLC協(xié)議解碼器框圖

        HDLC解碼模塊在接收了來自物理層的FM0解碼數(shù)據(jù)后,經(jīng)過刪除前后導(dǎo)碼、刪‘0’、串并轉(zhuǎn)換、CRC校驗(yàn)、FIFO各個模塊后完成解碼,將解碼的數(shù)據(jù)存儲在FIFO中,方便外部MCU讀取。

        2.1刪除前后導(dǎo)碼模塊

        通過找到連續(xù)的01111110的標(biāo)志字段來判斷數(shù)據(jù)的開始與結(jié)束,接收機(jī)只有在前導(dǎo)碼和后導(dǎo)碼中處理有效的數(shù)據(jù)。并且接收機(jī)會將01111110的前后導(dǎo)碼和不是前后導(dǎo)碼中的有效數(shù)據(jù)都刪除,以防止在后面的刪0模塊中誤檢測到連續(xù)的5個“1”后將后導(dǎo)碼刪除[7]。

        如圖3所示,刪除前后導(dǎo)碼模塊通過一個標(biāo)志位flag來標(biāo)志數(shù)據(jù)是否有效,初始狀態(tài)標(biāo)志位為0,當(dāng)檢測到輸出了01111110(0x7E)時,將標(biāo)志位翻轉(zhuǎn)為1;再次檢測到01111110(0x7E)時將標(biāo)志位翻轉(zhuǎn)為0,在標(biāo)志位為1時其中的數(shù)據(jù)就是后續(xù)電路需要的有效數(shù)據(jù),并用data_start表示有效數(shù)據(jù)段。data_start位寄存器和數(shù)據(jù)位一起傳入后面待處理的模塊,用于標(biāo)志數(shù)據(jù)流中的有效數(shù)據(jù)[8]。

        圖3 刪除前后導(dǎo)碼流程圖

        2.2‘0’比特刪除模塊實(shí)現(xiàn)

        HDLC數(shù)據(jù)中除了前后導(dǎo)碼中會出現(xiàn)連續(xù)的6個1,在HDLC編碼中一幀數(shù)據(jù)的有效數(shù)據(jù)中如果出現(xiàn)連續(xù)的5個1,則不管后面的數(shù)據(jù)是0還是1都在連續(xù)的5個1之后插入一個0以區(qū)別前后導(dǎo)碼。所以在接收機(jī)中要通過判斷有效數(shù)據(jù)中是否出現(xiàn)連續(xù)的5個1并且刪除掉連續(xù)5個1以后的一個0[9]。

        刪除串行數(shù)據(jù)中的0會導(dǎo)致串行數(shù)據(jù)提前:當(dāng)前的數(shù)據(jù)是0并且將其刪除了,但是下一位的數(shù)據(jù)并沒有來到。為了解決這個問題,可以設(shè)計一個足夠長的FIFO來緩存接收到的串行數(shù)據(jù),在檢測到刪0條件滿足時就停止一位FIFO的輸入,但是由于信息域長度不可知,有效數(shù)據(jù)中有多少個需要刪除的0并不知道,F(xiàn)IFO的大小難以確定,太小的FIFO會造成數(shù)據(jù)的丟失和出錯,太大的FIFO會造成過大的時鐘延遲,所以用FIFO緩存不是一個理想的方案。

        1 bit的串行數(shù)據(jù)需要通過串并轉(zhuǎn)換模塊轉(zhuǎn)換為8 bit的并行數(shù)據(jù),以方便后續(xù)CRC校驗(yàn)和FIFO緩存電路使用。串并轉(zhuǎn)換的模塊通過連續(xù)的8個D觸發(fā)器實(shí)現(xiàn),時鐘上是通過計數(shù)器進(jìn)行8分頻實(shí)現(xiàn)。如圖4所示,結(jié)合串并轉(zhuǎn)換模塊,可以在串并轉(zhuǎn)換的同時利用D觸發(fā)器的可以緩存數(shù)據(jù)的特性進(jìn)行刪0模塊中數(shù)據(jù)的“提前”。用并行數(shù)據(jù)的低5位與0x1F做比較,如果相同就產(chǎn)生一個脈沖信號給用于時鐘分頻的計數(shù)器,這個脈沖信號可以給串并轉(zhuǎn)換模塊的計數(shù)器一個暫停的信號,使得計數(shù)器停止一個時鐘周期的計數(shù),并且用于輸出的D觸發(fā)器不儲存當(dāng)前的輸入值,即要被刪除的0數(shù)據(jù)。這樣就可以達(dá)到刪0的目的。

        圖4 刪‘0’模塊框圖

        假設(shè)一幀數(shù)據(jù)中有效的數(shù)據(jù)一共有nbit,無效的‘0’位數(shù)據(jù)有mbit,一個時鐘周期時間為t,電路本身造成的其他延遲為T。則采用FIFO緩存實(shí)現(xiàn)‘0’比特刪除模塊時產(chǎn)生的時間延遲為:

        而采用與串并轉(zhuǎn)換結(jié)合的方式實(shí)現(xiàn)‘0’比特刪除模塊時產(chǎn)生的時間延遲為:

        T2=T+m×t

        當(dāng)且僅當(dāng)n=5×m時,T1=T2,即比特率數(shù)據(jù)的有效位全為1時,兩者的延遲相等。然而實(shí)際情況中一幀數(shù)據(jù)幾

        乎不可能出現(xiàn)全1的情況,即在絕大部分的情況下T1>T2。

        2.3CRC模塊實(shí)現(xiàn)

        串行CRC校驗(yàn)實(shí)現(xiàn)較為簡單,但是處理速度相對較慢,所以本設(shè)計中采用并行CRC校驗(yàn),能夠在一個時鐘周期內(nèi)完成數(shù)據(jù)CRC校驗(yàn)。并行CRC校驗(yàn)原理與串行CRC相同,由于CRC各個位之間可以獨(dú)立運(yùn)算,并行的CRC輸入可以在一個時鐘周期中完成1 B的CRC校驗(yàn),這樣的效果與串行CRC校驗(yàn)的結(jié)果是相同的,但是相比串行CRC實(shí)現(xiàn)延遲能夠減少8倍。對于生成多項(xiàng)式為gx=x16+x12+x5+1,其移位寄存器如圖5所示。

        3 仿真結(jié)果與分析

        本文采用modelsim SE 10.0a 進(jìn)行電路仿真,編寫testbench文件進(jìn)行仿真,模擬輸入已編碼的字符串0x ECF9ECF91932,其中0x32為CRC校驗(yàn)碼。

        3.1刪除前后導(dǎo)碼模塊仿真結(jié)果

        如圖6所示,data_in是數(shù)據(jù)輸入端,data_out是數(shù)據(jù)輸出端,data_start表示數(shù)據(jù)的有效位。在除去前后導(dǎo)碼后,data_out相比data_in延遲8個串行時鐘周期。則刪除前后導(dǎo)碼模塊的延遲為:

        T1=16t

        3.2‘0’比特刪除模塊

        如圖7所示,data_in是串行數(shù)據(jù)輸入端,data_out是并行數(shù)據(jù)輸出端,counter是串并轉(zhuǎn)換用于時鐘分頻的計數(shù)器,如圖中圈出delete_on是發(fā)生‘0’刪時候的標(biāo)志。當(dāng)發(fā)生‘0’刪事件的時鐘,counter會停止計數(shù),略過這一位,同時并行時鐘輸出端也會相應(yīng)地延遲??偟难舆t周期為:T2=11t。

        圖5 CRC移位寄存器示意圖

        圖6 刪除導(dǎo)碼電路仿真結(jié)果

        圖7 ‘0’比特刪除模塊仿真結(jié)果

        3.3CRC校驗(yàn)?zāi)K

        如圖8所示,data_in是數(shù)據(jù)輸入端,data_out是數(shù)據(jù)輸出端,通過CRC校驗(yàn)?zāi)K以后data_out與data_in相比減少了后8位的校驗(yàn)碼,并且crc_right被置高,表示CRC校驗(yàn)正確,會被寫入后續(xù)的FIFO中。CRC模塊占用一個并行周期:T3=8t。

        圖8 CRC校驗(yàn)仿真結(jié)果

        3.4仿真結(jié)果分析

        通過解碼電路,能夠在FIFO輸入端 rd_data 讀取到解碼后正確的并行數(shù)據(jù)0x ECF9ECF919。在使用256 kHz時鐘時,一個時鐘周期約為t=3.9 μs,因?yàn)镕IFO的讀取還占用了2個并行時鐘周期,所以解碼一共用時T=51 t個時鐘周期,整個解碼所占用時鐘約為51×3.9 μs=199 μs。

        4 結(jié)論

        本文介紹了HDLC協(xié)議的原理,重點(diǎn)分析了HDLC中刪‘0’模塊,CRC校驗(yàn)?zāi)K的原理和設(shè)計實(shí)現(xiàn)。并且使用modelsim 仿真設(shè)計模塊,驗(yàn)證了電路功能正確。并且能夠在0.2 ms的時間內(nèi)完成解碼工作。

        [1] 應(yīng)三叢, 張行. 基于FPGA的HDLC協(xié)議控制器[J]. 四川大學(xué)學(xué)報(工程科學(xué)版), 2008, 40(3):116-120.

        [2] 李曉娟, 黃翌. 基于FPGA的HDLC設(shè)計實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù), 2007, 30(6):35-37.

        [3] LI G, TAN N. Design and implementation of HDLC protocol and manchester encoding based on FPGA in train communication network[C]. Third International Conference on Information and Computing. IEEE Computer Society, 2010:105-108.

        [4] NAGPURWALA A H, SUNDARESAN C, CHAITANYA C. Implementation of HDLC controller design using verilog HDL[C]. International Conference on Electrical, Electronics and System Engineering. IEEE, 2013: 7-10.

        [5] 邱婷. 電子不停車收費(fèi)系統(tǒng)基帶電路的設(shè)計與實(shí)現(xiàn)[D]. 南京:南京理工大學(xué), 2009.

        [6] GB/T 20851.1-2007[S]. 電子收費(fèi) 專用短程通信 第1部分:物理層.2007.

        [7] GB/T 20851.2-2007[S]. 電子收費(fèi) 專用短程通信 第2部分:數(shù)據(jù)鏈路層.2007.

        [8] 賈輝. HDLC幀收發(fā)器在TDM/以太網(wǎng)接口電路中的應(yīng)用[D]. 成都:西南交通大學(xué), 2013.

        [9] 劉杰宇. 基于FPGA技術(shù)的HDLC 幀收發(fā)器的設(shè)計與實(shí)現(xiàn)[D]. 北京:北京交通大學(xué), 2010.

        Verilog HDL implementation of HDLC protocol decoding controller in ETC system

        Deng Changsheng1,2, Liu Yu1,2, Li Haiyang1, Wang Xiaosong1, Zhang Haiying1,2

        (1. Beijing Key Laboratory of Radio Frequency IC Technology for Next Generation Communications,Institute of Microelectronics of Chinese Academy of Sciences, Beijing 100029, China;2. School of Microelectronics, University of Chinese Academy of Sciences, Beijing 100049, China)

        Electronic toll collection system is the most effective way to solve the current traffic problem. In order to uniform the standard of ETC, China has developed the national standard for Dedicated Short Range Communications (DSRC). The DSRC data link layer uses a High-Level Data Link Control protocol developed by the International Organization(ISO). This paper follows the standard specification of dedicated short range communication protocol data link layer, and implements a HDLC decoding circuit based on serial pipeline structure using hardware description language Verilog HDL, and focuses on the 0-bit delete module and CRC module for designing a shorter delay circuit. When the decoding clock is 256 kHz, decoding and reading can be completed within 0.2 ms.

        ETC; DSRC; HDLC; Verilog HDL; CRC

        TN92

        A

        10.19358/j.issn.1674- 7720.2017.19.009

        鄧昌晟,劉昱,李海洋,等.ETC系統(tǒng)中HDLC協(xié)議解碼控制器的verilog HDL實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2017,36(19):30-33.

        2017-03-28)

        鄧昌晟(1993-),男,碩士研究生,主要研究方向:數(shù)字電路設(shè)計。劉昱(1975-),男,博士,研究員,主要研究方向:射頻集成電路。

        猜你喜歡
        鏈路層解碼校驗(yàn)
        網(wǎng)絡(luò)傳輸融合及網(wǎng)絡(luò)安全防控技術(shù)研究
        《解碼萬噸站》
        基于多空間內(nèi)存共享的數(shù)據(jù)鏈路層網(wǎng)絡(luò)包捕獲方法
        解碼eUCP2.0
        中國外匯(2019年19期)2019-11-26 00:57:32
        NAD C368解碼/放大器一體機(jī)
        Quad(國都)Vena解碼/放大器一體機(jī)
        爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
        大型電動機(jī)高阻抗差動保護(hù)穩(wěn)定校驗(yàn)研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗(yàn)方法
        鍋爐安全閥在線校驗(yàn)不確定度評定
        中文字幕亚洲无线码高清| 三年中文在线观看免费大全| 国产男女猛烈视频在线观看| 国产人成无码视频在线| 粉嫩的18在线观看极品精品| 日韩精品在线免费视频| 国产免费av片在线观看| 久久精品国产99精品国偷| 久久精品国产亚洲av成人无人区 | 91九色老熟女免费资源| 亚洲av无码国产精品色午夜洪| 天堂中文资源在线地址| 日韩美女人妻一区二区三区| 日韩无码专区| 久久亚洲精品成人av| 亚洲色大成人一区二区| av免费在线播放一区二区| 国产极品粉嫩福利姬萌白酱| 成年无码aⅴ片在线观看| 日韩毛片久久91| 成h视频在线观看免费| 精品久久久久久无码中文字幕| 国产福利免费看| 精品少妇白浆一二三区| 草草影院ccyy国产日本欧美| 男女啪啪永久免费观看网站| 精品91亚洲高清在线观看| 精品亚洲在线一区二区| 久久久久夜夜夜精品国产| 色拍拍在线精品视频| 色综合久久五月天久久久| 视频在线国产一区二区| 日躁夜躁狠狠躁2001| 亚洲综合日韩中文字幕| 久久精品免费视频亚洲| 国产精品免费_区二区三区观看| 亚洲成人电影在线观看精品国产| 一本色道久久88综合亚洲精品 | 午夜国产小视频在线观看黄| 亚洲深深色噜噜狠狠网站| 嫖妓丰满肥熟妇在线精品|