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

        ?

        基于SystemVerilog的超高頻RFID標(biāo)簽數(shù)字基帶設(shè)計與研究*

        2021-01-22 09:44:52汪永峰
        電子技術(shù)應(yīng)用 2021年1期
        關(guān)鍵詞:校驗碼基帶閱讀器

        汪永峰,卜 剛

        (南京航空航天大學(xué) 電子信息工程學(xué)院,江蘇 南京 211106)

        0 引言

        隨著人工智能和物聯(lián)網(wǎng)概念的不斷普及,作為核心技術(shù)之一的射頻識別技術(shù)已經(jīng)在交通、電網(wǎng)、物流、存儲等眾多領(lǐng)域得到了廣泛應(yīng)用,其中UHF RFID技術(shù)由于識別距離遠(yuǎn)、識別速度快、使用壽命長等優(yōu)點成為了國際上研究的熱點。隨著對UHF RFID研究的不斷深入,在設(shè)計時對傳輸速率以及通信數(shù)據(jù)量等許多方面提出了更高的要求[1]。

        本文在深入研究ISO/IEC 18000-6C標(biāo)準(zhǔn)協(xié)議的基礎(chǔ)上,采用SystemVerilog語言對UHF RFID標(biāo)簽數(shù)字基帶通信系統(tǒng)中的關(guān)鍵模塊進行了硬件建模。由于SystemVerilog擁有類似于C語言的數(shù)據(jù)類型、斷言、接口等特性,在建模方面有著獨特的優(yōu)勢,可以更加快速準(zhǔn)確地對功能進行描述,因此該設(shè)計采用SystemVerilog語言進行建模[2]。本文對UHF RFID通信系統(tǒng)中的標(biāo)簽數(shù)字基帶發(fā)送與接收部分進行了SystemVerilog硬件建模與仿真,標(biāo)簽數(shù)字基帶發(fā)送模塊主要實現(xiàn)了CRC校驗碼生成、FM0/Miller編碼以及同步碼添加等功能,而標(biāo)簽數(shù)字基帶接收模塊則實現(xiàn)了同步碼檢測、PIE解碼和CRC校驗碼檢測等功能,并最終在Modelsim SE-64 10.4中進行了仿真,驗證了該設(shè)計功能的正確性。

        1 SystemVerilog簡介

        SystemVerilog是由Accellera標(biāo)準(zhǔn)組織在Verilog的基礎(chǔ)上提出的,是一種硬件描述語言和驗證語言(HDVL)[3]。SystemVerilog是Verilog設(shè)計語言的高層次拓展,這些拓展為Verilog提供了強有力的增強,在一個更高的抽象層上提高了設(shè)計的建模能力[4]。具體來說,SystemVerilog有以下幾點優(yōu)勢。第一,SystemVerilog增加了新的數(shù)據(jù)類型,如:結(jié)構(gòu)體、枚舉類型、打包和非打包數(shù)組等,在編寫有限狀態(tài)機等方面可以更加簡潔準(zhǔn)確。第二,相同的聲明集合可以被靜態(tài)驗證和仿真工具同時使用。第三,SystemVerilog增加了接口概念,模塊之間的通信可以通過接口來實現(xiàn),大大簡化了模塊的代碼量,同時也可以在更高的抽象層次上建立連接。第四,SystemVerilog增加了斷言的概念,這使得對功能的描述可以更加精準(zhǔn),也為設(shè)計中錯誤的定位提供了方便,對代碼的可讀性、可維護性和設(shè)計效率有顯著的提高[5]。

        2 標(biāo)簽數(shù)字基帶主要模塊設(shè)計

        標(biāo)簽數(shù)字基帶的整體設(shè)計原理基于ISO/IEC 18000-6C協(xié)議進行,該協(xié)議對通信過程中的各個方面都做了嚴(yán)格的規(guī)定來確保通信的準(zhǔn)確性與可靠性,例如:通信時序、幀格式以及編解碼的方式等。因此需要各個模塊的緊密配合來滿足協(xié)議對數(shù)據(jù)編碼以及時序的要求。該設(shè)計采用摩爾型狀態(tài)機進行編碼和時序控制,最終產(chǎn)生滿足協(xié)議要求的數(shù)據(jù)格式[6]。標(biāo)簽數(shù)字基帶頂層總線模型設(shè)計如圖1所示,各子模塊之間采用SystemVerilog接口進行數(shù)據(jù)通信。

        2.1 標(biāo)簽發(fā)送模塊設(shè)計

        標(biāo)簽發(fā)送模塊主要包括BLF模塊、CNT模塊、P2S模塊、CRC_GEN模塊、FIFO模塊、ENCODE模塊、PREAMBLE模塊7個部分,各模塊功能為:

        (1)BLF模塊:產(chǎn)生標(biāo)簽反向散射頻率;

        (2)CNT模塊:計算輸入數(shù)據(jù)長度;

        (3)P2S模塊:將并行輸入數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù);

        (4)CRC_GEN模塊:產(chǎn)生循環(huán)冗余校驗碼添加在數(shù)據(jù)尾部,用于數(shù)據(jù)校驗;

        (5)FIFO模塊:數(shù)據(jù)緩存;

        (6)ENCODE模塊:對從FIFO中讀取到的數(shù)據(jù)進行FM0/MILLER編碼;

        (7)PREAMBLE模塊:在編碼后的數(shù)據(jù)前端添加同步碼。

        2.1.1 標(biāo)簽反向散射頻率

        ISO/IEC 18000-6C協(xié)議規(guī)定,在接收到閱讀器發(fā)送的信息后,標(biāo)簽需要反向散射信息回復(fù)閱讀器,其反向散射頻率(BLF)由DR和TRcal兩個參數(shù)來設(shè)定,計算關(guān)系如式(1)所示:

        其中DR表示除法比例,為Query命令中設(shè)定的參數(shù),可以取 8或者 64/3[7]。

        2.1.2 CRC校驗

        ISO/IEC 18000-6C協(xié)議中規(guī)定了標(biāo)簽發(fā)送鏈路中采用數(shù)據(jù)檢驗方式為CRC16校驗,并規(guī)定了CRC16校驗的多項式為:X16+X12+X5+1。

        綜合考慮電路資源的節(jié)省以及標(biāo)簽發(fā)送電路輸出的數(shù)據(jù)類型,該CRC16計算電路采用加法器與異或來實現(xiàn),圖2為CRC16校驗碼的計算原理圖。

        2.1.3 FIFO設(shè)計

        由于數(shù)據(jù)編碼會對數(shù)據(jù)長度產(chǎn)生變化,因此在數(shù)據(jù)編碼之前,需要一個FIFO對需要編碼的數(shù)據(jù)進行緩存。該設(shè)計中FIFO深度為128位,在FIFO的設(shè)計中加入了SystemVerilog所特有的斷言方法,對FIFO的只讀、只寫以及同時讀寫的行為進行了描述,若在仿真過程中FIFO的行為不符合描述,那么斷言也會失敗,從而確保了FIFO設(shè)計的正確性,也為FIFO設(shè)計出現(xiàn)錯誤時的錯誤定位提供了方便。下面的代碼是FIFO模塊的SystemVerilog斷言。

        圖1 標(biāo)簽數(shù)字基帶頂層總線模型

        圖2 CRC16校驗碼的計算原理圖

        2.1.4 發(fā)送數(shù)據(jù)編碼模塊設(shè)計

        標(biāo)簽發(fā)送模塊的編碼方式為FM0編碼或Miller編碼方式,具體的編碼方式和碼元速率是由閱讀器發(fā)送的Query命令決定的。FM0編碼的基本編碼符號和生成FM0編碼狀態(tài)圖如圖3所示,F(xiàn)M0在每個編碼符號的邊界會翻轉(zhuǎn)相位,此外,數(shù)據(jù)0通過其在編碼符號中間進行額外的翻轉(zhuǎn)來表示這個數(shù)據(jù),而數(shù)據(jù)1除數(shù)據(jù)起始外無其他相位變化[8]。在FM0編碼結(jié)束后需要在碼元數(shù)據(jù)的尾端添加結(jié)束位,結(jié)束位以一個1的“冗余“”數(shù)據(jù)”(dummy1)來表示。

        圖3 FM0基本編碼符號和編碼狀態(tài)圖

        Miller編碼又稱為副載波調(diào)制編碼,其編碼也是通過相位的翻轉(zhuǎn)來實現(xiàn)的,基本編碼符號和編碼狀態(tài)圖如圖4所示。根據(jù)Miiller編碼規(guī)則及ISO/IEC 18000-6C協(xié)議規(guī)定,Miller編碼的方式與Query命令中m的取值有關(guān)。 如果 m 值為 2′b01,2′b10,2′b11,則對應(yīng)的編碼方式分別為 Miller2,Miller4,Miller8,每個數(shù)據(jù)都將分別編成 4位、8位、16位碼元[9],Miller副載波序列如圖 5所示。與FM0編碼類似,在Miller編碼尾部同樣需要添加一個dummy1作為結(jié)束位。

        圖4 Miller基本編碼符號和編碼狀態(tài)圖

        2.1.5 同步碼添加模塊設(shè)計

        為了使閱讀器能夠正確探測接收到數(shù)據(jù)的起始位置從而正確接收到數(shù)據(jù),標(biāo)簽在發(fā)送數(shù)據(jù)時需要在數(shù)據(jù)前端添加同步碼。如圖6所示,同步碼會根據(jù)m[1:0]和TRext兩個參數(shù)的值的不同而不同。

        2.2 標(biāo)簽接收模塊設(shè)計

        標(biāo)簽接收模塊頂層主要包括HEAD_CHECK模塊、DECODE模塊、CRC_CHECK模塊、S2P模塊四個部分,各模塊功能為:

        (1)HEAD_CHECK模塊:同步碼檢測;

        (2)DECODE模塊:PIE解碼;

        (3)CRC_CHECK模塊:CRC校驗;

        (4)S2P模塊:串行數(shù)據(jù)傳換成并行數(shù)據(jù)。

        2.2.1 同步碼檢測模塊

        接收到閱讀器發(fā)送的數(shù)據(jù)后,首先要對數(shù)據(jù)進行同步碼檢測,閱讀器發(fā)送鏈路添加的同步碼分為前同步碼和幀同步碼兩種類型,如果檢測到的同步碼包括界定符、數(shù)據(jù) 0、RTcal校準(zhǔn)符號三個部分,則該同步碼為幀同步碼且說明不是Query命令,數(shù)據(jù)緊跟在RTcal標(biāo)準(zhǔn)符號后。如果檢測到的同步碼包括界定符、數(shù)據(jù)0、RTcal校準(zhǔn)符號、TRcal校準(zhǔn)符號四個部分,則該同步碼為前同步碼且該命令為Query命令,數(shù)據(jù)緊跟在TRcal標(biāo)準(zhǔn)符號后。

        圖5 Miller副載波序列

        圖6 同步碼

        2.2.2 接收數(shù)據(jù)解碼模塊設(shè)計

        ISO/IEC 18000-6C協(xié)議規(guī)定的閱讀器到標(biāo)簽的通信使用 PIE(Pulse Interval Encoding)編碼,因此標(biāo)簽接收側(cè)應(yīng)當(dāng)對接收到的數(shù)據(jù)進行PIE解碼。PIE編碼規(guī)則如圖7所示,在一次盤存周期中,PW和tari為固定值,PW為射頻脈沖寬度,Tari為一個數(shù)據(jù)“0”的參考時間間隔,數(shù)據(jù)“1”高電平持續(xù)時間在 tari到 1.5tari之間取值,該設(shè)計取數(shù)據(jù)“1”的編碼高電平持續(xù)時間為1.5tari。通過對 PIE編碼方式的研究,數(shù)據(jù)“0”和數(shù)據(jù)“1”的編碼結(jié) 果均由高電平開始低電平結(jié)束,由此可得到PIE解碼模塊的實現(xiàn)算法為,設(shè)置變量high和變量low,分別對高低電平進行計數(shù),檢測到低電平到高電平的跳變則表示上一個數(shù)據(jù)已結(jié)束,根據(jù)變量high和變量low的值的關(guān)系,可以確定接收到的數(shù)據(jù)是0還是1,接著對變量清零重新計數(shù),從而實現(xiàn)PIE的解碼操作。

        圖7 PIE編碼規(guī)則

        2.2.3 CRC校驗?zāi)K設(shè)計

        協(xié)議規(guī)定,閱讀器發(fā)送Query命令時,在數(shù)據(jù)尾部添加CRC5校驗碼,而發(fā)送其他命令時則為CRC16校驗碼,因此標(biāo)簽需要根據(jù)接收到的數(shù)據(jù)的不同進行CRC5和CRC16校驗碼的檢測,確保接收數(shù)據(jù)的正確性。CRC校驗開始時對 CRC16計算結(jié)果寄存器預(yù)置為 16′hFFFF,CRC5計算結(jié)果寄存器預(yù)置為5′b01001,若標(biāo)簽得到的最終校驗結(jié)果為全0,則校驗通過。

        圖8 標(biāo)簽發(fā)送基帶仿真波形圖

        圖9 標(biāo)簽接收基帶仿真波形圖

        3 仿真

        以上各模塊均使用SystemVerilog語言實現(xiàn),在Modelsim SE-64 10.4里編譯并進行仿真驗證。圖8所示為標(biāo)簽發(fā)送基帶仿真波形圖,選取編碼方式為Miller2編碼且標(biāo)簽反向散射16位隨機數(shù)(RN16),從圖上可以看出 RN16為16′h8d73,首先經(jīng)過了并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)的處理,其次為其計算CRC16校驗碼并添加在串行RN16尾部,從圖中可以看出該文中CRC16校驗碼為16′b00111-11000111111,接著數(shù)據(jù)經(jīng)過Miller2編碼處理,最后在數(shù)據(jù)前端添加同步碼并發(fā)送。

        圖9為標(biāo)簽接收基帶仿真波形圖,文中閱讀器發(fā)送的是Query命令,標(biāo)簽基帶接收到命令后首先經(jīng)過了同步碼檢測并去除同步碼,PIE解碼以及CRC5校驗,最后將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),可以看出接收到的數(shù)據(jù)為17′h11a5e,數(shù)據(jù)以1000開始,為Query命令,數(shù)據(jù)接收正確。

        4 結(jié)論

        本文主要介紹了在ISO/IEC 18000-6C協(xié)議下,利用SystemVerilog語言實現(xiàn)UHF RFID通信算法中標(biāo)簽數(shù)字基帶的實現(xiàn)方法。經(jīng)過軟件仿真,實現(xiàn)了標(biāo)簽數(shù)字基帶的發(fā)送以及接收操作,完成了該設(shè)計的仿真驗證,仿真結(jié)果滿足協(xié)議要求。由于SystemVerilog語言中增加的數(shù)據(jù)類型、過程塊、接口、斷言等一些定義,使得利用SystemVerilog語言進行建模時更加簡潔、出錯率更低、代碼更易維護,同時SystemVerilog進行建模和驗證將成為今后發(fā)展的趨勢。

        猜你喜歡
        校驗碼基帶閱讀器
        基于反向權(quán)重的閱讀器防碰撞算法
        一種高效的RFID系統(tǒng)冗余閱讀器消除算法
        基于Excel實現(xiàn)書號校驗碼的驗證
        基于FPGA的循環(huán)冗余校驗碼設(shè)計
        電子世界(2015年14期)2015-11-07 05:32:29
        身份證號碼中的數(shù)學(xué)
        一種RFID網(wǎng)絡(luò)系統(tǒng)中消除冗余閱讀器的高效算法
        2014年LTE基帶收益占蜂窩基帶收益50%以上
        AIS基帶信號的接收與處理
        數(shù)字基帶系統(tǒng)的System View仿真設(shè)計
        基于FPGA的WSN數(shù)字基帶成形濾波器設(shè)計
        精品亚洲一区二区三区四区五区| 成人国产在线观看高清不卡| 亚洲一区二区国产精品视频| 亚洲自拍偷拍一区二区三区| 久久久中日ab精品综合| 日韩人妻系列在线观看| 亚洲av永久无码一区二区三区| 男女肉粗暴进来120秒动态图 | 亚洲午夜福利精品久久| 男女啦啦啦视频在线观看| 黄片视频免费在线播放观看| 国产精品欧美福利久久| 无码电影在线观看一区二区三区| 日本久久一级二级三级| 一个人看的视频在线观看| 东北妇女肥胖bbwbbwbbw| 国产成人一区二区三区免费观看| 亚洲一区二区三区1区2区| 一个人看的www片免费高清视频| 欧美gv在线观看| 国产亚洲精品不卡在线| 91精品人妻一区二区三区水蜜桃| 国产精品成人3p一区二区三区| 亚洲国产成人久久综合一区77| 粉嫩av一区二区在线观看| 美妇炮灰被狂躁爽到高潮h| 被黑人猛躁10次高潮视频| 亚洲午夜成人片| 在线小黄片视频免费播放| 中文字幕日韩欧美一区二区三区| 国产成人av一区二区三区无码| 国产亚洲青春草在线视频| 精品少妇一区二区av免费观看| 人人妻人人澡人人爽精品欧美| 成人午夜视频一区二区无码| 国产丝袜一区丝袜高跟美腿| 国产激情综合在线观看| 四虎永久免费影院在线| 亚洲国产人成自精在线尤物| 国产一二三四2021精字窝| 亚洲av成人无码网天堂|