<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產(chǎn)品分類

      當(dāng)前位置: 首頁(yè) > 工業(yè)電子產(chǎn)品 > 其他電子產(chǎn)品 > IoT物聯(lián)網(wǎng) > IoT傳感器

      類型分類:
      科普知識(shí)
      數(shù)據(jù)分類:
      IoT傳感器

      RFID 防碰撞算法的FPGA 仿真實(shí)現(xiàn)

      發(fā)布日期:2022-05-25 點(diǎn)擊率:55

        ( Radio Frequency Identification) 是利用無(wú)線信道實(shí)現(xiàn)雙向通信的一種識(shí)別技術(shù)可識(shí)別遠(yuǎn)距離的貼有標(biāo)簽的目標(biāo),并讀寫相關(guān)數(shù)據(jù)RFID系統(tǒng)可識(shí)別高速運(yùn)動(dòng)的物體并可同時(shí)識(shí)別多個(gè)目標(biāo)操作快捷方便。本文基于RFID系統(tǒng)解決了同一時(shí)間識(shí)別多個(gè)目標(biāo)的沖突問(wèn)題。 

      概述

        RFID系統(tǒng)主要由射頻通信和計(jì)算機(jī)信息系統(tǒng)兩部分組成其中射頻通信部分主要包括讀寫器和標(biāo)簽(射頻卡)其間存在兩種通信形式從讀寫器到電子標(biāo)簽的數(shù)據(jù)傳輸即讀寫器發(fā)送的數(shù)據(jù)流被其覆蓋范圍內(nèi)的多個(gè)標(biāo)簽所接收這種通信形式也被稱為無(wú)線電廣播在讀寫器的作用范圍內(nèi)有多個(gè)標(biāo)簽同時(shí)應(yīng)答這種形式被稱為多路存取。在后一種通信形式中標(biāo)簽數(shù)據(jù)的混疊問(wèn)題被稱為碰撞問(wèn)題。為了防止由于多個(gè)電子標(biāo)簽的數(shù)據(jù)在讀寫器的接收機(jī)中相互碰撞而不能準(zhǔn)確被讀出必須采用防碰撞算法[2]來(lái)加以克服。

      1 .1 防碰撞算法

        ISO 14443- 3[3]規(guī)定了TYPE ATYPE B兩種防沖撞機(jī)制。二者防碰撞機(jī)制的原理不同前者是基于位碰撞檢測(cè)協(xié)議TYPE B則通過(guò)系列命令序列完成防碰撞。ISO15693采用輪詢機(jī)制分時(shí)查詢的方式完成防碰撞機(jī)制這在標(biāo)準(zhǔn)的第三部分有詳細(xì)規(guī)定。基于此的現(xiàn)存防碰撞算法有ALOHA[4]算法、分隙 ALOHA算法和二進(jìn)制樹形搜索算法等前兩者的信道最佳利用率分別為18.4%36.8%但隨著標(biāo)簽數(shù)量的增大性能將急劇惡化。二進(jìn)制樹形搜索算法在一次性讀取標(biāo)簽的數(shù)目和速度上有了極大的提高。

      1 .2 二進(jìn)制樹形搜索防碰撞算法原理

        二進(jìn)制樹形搜索防碰撞算法[5]適用于TYPE AA型標(biāo)簽采用Manchester編碼方式這使得準(zhǔn)確地判斷出碰撞位成為可能。圖1所示為利用Manchester編碼識(shí)別碰撞位

        當(dāng)讀寫器接收到發(fā)送的標(biāo)簽信號(hào)時(shí)首先判斷是否發(fā)生碰撞以及發(fā)生碰撞的具體位置然后根據(jù)碰撞的具體位置確定下一次發(fā)送的請(qǐng)求命令中的參數(shù)再次發(fā)送直到確定其中的一張標(biāo)簽為止。為了便于說(shuō)明假定標(biāo)簽的數(shù)據(jù)為 8bit并定義命令call ( epc ,m)其含義為讀寫器向其覆蓋范圍內(nèi)的標(biāo)簽發(fā)送召喚指令如果標(biāo)簽數(shù)據(jù)[7]call命令中epc參數(shù)的前m位相等則滿足這個(gè)條件的標(biāo)簽做出應(yīng)答。設(shè)在某時(shí)刻有四個(gè)標(biāo)簽同時(shí)進(jìn)入讀寫器的作用范圍內(nèi)它們的EPC碼分別為tag1 =10100011, tag2=10011011, tag3=00010001, tag4=11101100。其算法流程示意圖如圖2所示。

        從圖2可以看出call命令的epc參數(shù)由碰撞位判斷得出call命令中的m參數(shù)又由相應(yīng)的epc參數(shù)求得這樣就使得算法在執(zhí)行過(guò)程中跳過(guò)了空閑的節(jié)點(diǎn),提高了算法的執(zhí)行效率。又因?yàn)樗惴梢孕蜗蟮赜枚M(jìn)制樹來(lái)描述故稱為 二進(jìn)制樹形防碰撞算法

      碰撞算法的 FPGA 仿真實(shí)現(xiàn)

        目前使用的防碰撞算法大多通過(guò)軟件方式實(shí)現(xiàn)容易造成應(yīng)用軟件非常復(fù)雜而且多張卡片應(yīng)用時(shí)速度慢。因此對(duì)其采用軟硬件結(jié)合的方式用 FPGA[6]實(shí)現(xiàn)防碰撞算法可達(dá)到速度快、成本低的要求。

      2 .1 總體設(shè)計(jì)方案

        EPC標(biāo)簽?zāi)K可以抽象為一個(gè) Manchester 編碼器模塊RFID 讀寫器內(nèi)部包含三個(gè)基本的功能模塊:Manch-ester 解碼器模塊LIFO 模塊和控制整個(gè)算法的狀態(tài)機(jī)模塊。其基本模塊連接關(guān)系如圖 所示。

        具體工作流程如下:

        (1) RFID 讀寫器內(nèi)部的狀態(tài)機(jī)每隔一段時(shí)間發(fā)送一次 call 命令 

        (2) 讀寫器覆蓋范圍內(nèi)的標(biāo)簽收到 call 命令后判斷是否滿足 call 命令的條件若滿足則發(fā)送 epc 碼給讀寫器否則不作反應(yīng)  

        (3) 讀寫器收到標(biāo)簽發(fā)來(lái)的數(shù)據(jù)進(jìn)行Manchester 解碼。如果無(wú)碰撞發(fā)生則存儲(chǔ)數(shù)據(jù)后強(qiáng)制該標(biāo)簽進(jìn)入睡眠狀態(tài)如果產(chǎn)生碰撞則根據(jù)解出的數(shù)據(jù)和碰撞位標(biāo)志進(jìn)行下一次call命令。如此循環(huán)執(zhí)行直到讀寫器范圍內(nèi)的所有標(biāo)簽都被識(shí)別出來(lái)。

        本文采用Verilog HDL 語(yǔ)言作為設(shè)計(jì)輸入仿真工具采用 Quartus II 5.1 build 216 03/06/2006 SJ Full Version;FPGA 器件為 EP2C5T144C6

      2 .2 RFID 讀寫器各模塊設(shè)計(jì)及仿真

      2 .2 .1 Manches ter 編碼器  

        Manchester 編碼器即為 RFID 標(biāo)簽它的主要數(shù)據(jù)輸入包括該標(biāo)簽的數(shù)據(jù)、call或 sleep命令標(biāo)志以及相應(yīng)的epc參數(shù)和m參數(shù)。當(dāng)接收到RFID讀寫器也就是算法控制狀態(tài)機(jī)的控制信號(hào)后做出相應(yīng)的判斷如果滿足call命令的條件則開(kāi)始對(duì)標(biāo)簽數(shù)據(jù)進(jìn)行 Manchester 編碼編碼完成后將編碼后的數(shù)據(jù)發(fā)送給Manchester 解碼器, Manchester 解碼器接收到數(shù)據(jù)后開(kāi)始進(jìn)行解碼工作。如果滿足sleep命令的條件標(biāo)簽則進(jìn)入睡眠狀態(tài)對(duì)以后的call命令不作應(yīng)答。

      2 .2 .2 Manches ter 解碼器

        Manchester 解碼及碰撞位判斷是整個(gè)跳躍式二進(jìn)制樹形防碰撞算法的關(guān)鍵解碼和碰 撞位的判斷均由Manchester 解碼器模塊完成首先, Manchester 解碼器模塊中定義了一個(gè)兩位的移位寄存器用來(lái)檢測(cè)標(biāo)簽發(fā)送的Manchester 碼的同步頭,以便斷出編碼的到來(lái)。一旦移位寄存器檢測(cè)到標(biāo)簽發(fā)送過(guò)來(lái)的信號(hào)的同步頭, Manchester 解碼器便開(kāi)始解碼工作。采樣信號(hào)的產(chǎn)生可以利用循環(huán)計(jì)數(shù)的計(jì)數(shù)器來(lái)實(shí)現(xiàn)。該計(jì)數(shù)器在高頻時(shí)鐘的邊沿到來(lái)時(shí)自動(dòng)加 1, 其循環(huán)周期與 Manchester 編碼時(shí)鐘周期相等。為防止延遲干擾在計(jì)數(shù)器循環(huán)周期的 1/43/4 處令采樣信號(hào)為高電平。 當(dāng)解碼完成后解碼器將向控制狀態(tài)機(jī)發(fā)送一個(gè)data_ready 脈沖信號(hào)表明已經(jīng)解碼完畢可以向狀態(tài)機(jī)傳送數(shù)據(jù)。

        圖 為接收到的數(shù)據(jù)在[7]、 [5]、 [1]位存在碰撞現(xiàn)象時(shí)解碼器的時(shí)序仿真結(jié)果。圖中圓圈圈出部分為解碼后的碰撞位由圖可以看出標(biāo)識(shí)碰撞位的flag_out的輸出數(shù)據(jù)為 10100010可知接收到的數(shù)據(jù)的[7][5][1]位發(fā)生了碰撞。

      2 .2 .3 存儲(chǔ)節(jié)點(diǎn)的 LIFO 

        LIFOLast In First Out棧用來(lái)存儲(chǔ)算法執(zhí)行過(guò)程中所經(jīng)過(guò)的節(jié)點(diǎn)的信息。為了協(xié)調(diào) LIFO內(nèi)部的工作狀態(tài)LIFO棧的模塊中定義了一個(gè)小型的狀態(tài)機(jī)。其工作狀態(tài)及轉(zhuǎn)換條件流程圖如圖 5所示。

        對(duì)LIFO棧穿插寫入和讀取數(shù)據(jù)以驗(yàn)證LIFO模塊功能。第一次寫入兩個(gè)數(shù)據(jù) 1010001111100010, 進(jìn)行一次讀取操 作然后連續(xù)寫入兩個(gè)數(shù)據(jù)1010101001011011再連續(xù)進(jìn)行四次讀取操作其仿真結(jié)果如圖 6所示。

        由圖6可看出第一次寫入兩數(shù)據(jù)后LIFO棧的棧內(nèi)數(shù)據(jù)為1010001111100010, 棧頂數(shù)據(jù)為11100010,進(jìn)行一次讀操作棧頂數(shù)據(jù)變?yōu)?span style="font-family:Times New Roman">10100011第二次連續(xù)寫入兩數(shù)據(jù) 1010101001011011棧頂數(shù)據(jù)變?yōu)?span style="font-family:Times New Roman">01011011,連續(xù)進(jìn)行三次讀取操作后根據(jù)empty標(biāo)志信號(hào)可以看出此時(shí)LIFO已經(jīng)為空,所以在第四次讀取時(shí)并沒(méi)有讀出數(shù)據(jù)。

      2 .3 綜合仿真

        Manchester編碼模塊、Manchester解碼模塊、LIF模塊和算法控制狀態(tài)機(jī)模塊連接起來(lái)進(jìn)行算法的綜合仿真。測(cè)試中設(shè)定讀寫器作用范圍內(nèi)共有四個(gè)RFID標(biāo)簽標(biāo)簽的 EPC碼為8位二進(jìn)制碼。四個(gè)標(biāo)簽的數(shù)據(jù)信息分別為tag1=10100011tag2=10011011tag3=00010001tag4=11101100。其仿真結(jié)果如圖7所示。

      仿真結(jié)果分析

      3 .1 一次性最大讀取標(biāo)簽數(shù)  

        通過(guò)LIFO棧的仿真和分析可得到如下結(jié)論如果LIFO的大小為N個(gè)單元則算法一次最多可以處理的標(biāo)簽數(shù)目即為 N+1。這表明系統(tǒng)防碰撞算法一次性最大讀取標(biāo)簽數(shù)由 LIFO 棧的設(shè)計(jì)大小決定。不同的FPGA器件可用的存儲(chǔ)器空間大小不同使得基于其上設(shè)計(jì)的算法的該項(xiàng)性能指標(biāo)也不同目前的FPGA器件大都內(nèi)置了較大的存儲(chǔ)器例如Altera公司的低成本Cyclone II系列產(chǎn)品最大提供11Mbit 的存儲(chǔ)容量。可以估算存儲(chǔ)器的 1/4 用于存儲(chǔ)節(jié)點(diǎn)信息的參數(shù), 1/4 用于存儲(chǔ)節(jié)點(diǎn)信息的碰撞位標(biāo)志, 1/4 用來(lái)存儲(chǔ)解出的標(biāo)簽數(shù)據(jù), 1/4作為系統(tǒng)保留。由于標(biāo)簽數(shù)據(jù)信息長(zhǎng)度為 64bitCycloneII系列FPGA器件實(shí)現(xiàn)算法設(shè)一次性可讀取標(biāo)簽的最大數(shù)目為Nmax可以計(jì)算出Nmax≈ 1.1× 1064×64=4296 

      3 .2 算法識(shí)別速度 

        ISO 14443定義了 TYPE ATYPE B兩種類型協(xié)議其通信速率均為106kbps。以此標(biāo)準(zhǔn)來(lái)計(jì)算算法的識(shí)別速度。算法執(zhí)行過(guò)程中以 all命令和sleep 命令為單元,每次命令的執(zhí)行都要發(fā)送64bit的參數(shù)8bitm參數(shù)接收標(biāo)簽返回的 64bit 數(shù)據(jù)共傳送136bit的數(shù)據(jù)。另外call 命令中讀寫器與標(biāo)簽對(duì)數(shù)據(jù)的處理也要占用一定的時(shí)間。可以等價(jià)為傳送小于 8bit 的數(shù)據(jù)。這樣每次命令的執(zhí)行共有 144bit 的數(shù)據(jù)傳送。所以,每秒鐘可執(zhí)行call命令次數(shù)nn≈ 106× 1024144=753。由算法可知當(dāng)區(qū)域內(nèi)存在的標(biāo)簽數(shù)為 時(shí)則全部被識(shí)別出所執(zhí)行的 call 命令的次數(shù)約為 2L

      1

      下一篇: PLC、DCS、FCS三大控

      上一篇: 遠(yuǎn)程監(jiān)控系統(tǒng)在連鎖企

      推薦產(chǎn)品

      更多
      主站蜘蛛池模板: 久久综合一区二区无码| 区三区激情福利综合中文字幕在线一区 | 色欲天天婬色婬香视频综合网| 一本大道加勒比久久综合| 亚洲精品综合久久中文字幕| 色婷婷综合和线在线| 亚洲情综合五月天| 天天综合日日噜噜噜| 亚洲欧洲日韩国产综合在线二区| 国产成人+综合亚洲+天堂| 99久久综合久中文字幕| 伊人伊成久久人综合网777| 久久婷婷色香五月综合激情| 久久狠狠色狠狠色综合| 加勒比色综合久久久久久久久 | 丁香六月激情综合| 亚洲欧洲av综合色无码| 亚洲综合色视频在线观看| 人妻av综合天堂一区| 久久婷婷国产综合精品| 久久综合久久自在自线精品自| 亚洲国产综合人成综合网站| 亚洲av无码兔费综合| 中文字幕人成无码人妻综合社区| 亚洲乱码中文字幕综合| 亚洲AV综合色区无码一区| 亚洲情综合五月天| 亚洲人成依人成综合网| 91精品国产综合久久香蕉| 免费精品99久久国产综合精品| 狠狠色狠狠色综合曰曰| 久久综合久久久久| 婷婷色香五月综合激激情| 色欲色香天天天综合网站| 色欲天天天综合网| 色噜噜狠狠狠狠色综合久| 色综合久久天天综合绕观看| 色天天天综合色天天碰| 国产成人精品综合久久久久| 激情综合亚洲色婷婷五月APP| 亚洲熟女综合一区二区三区|