《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 一種新穎的RFID防沖突算法

一種新穎的RFID防沖突算法

2008-04-29
作者:張 明, 張建華, 徐國鑫, 張

  摘 要: 提出一種應(yīng)用于RFID系統(tǒng)上行鏈路的多標(biāo)簽沖突檢測(cè)算法,并給出了參考實(shí)現(xiàn)電路。依算法,對(duì)電子標(biāo)簽進(jìn)行隨機(jī)分群,在群間做隨機(jī)避讓,在群內(nèi)進(jìn)行沖突檢測(cè)和標(biāo)簽的仲裁。與現(xiàn)有的隨機(jī)避讓算法和二進(jìn)制樹算法相比,該算法不但有效降低了碰撞次數(shù),實(shí)現(xiàn)電路也更簡(jiǎn)單。
  關(guān)鍵詞: RFID 電子標(biāo)簽 防沖突算法 仲裁


  無線射頻識(shí)別(RFID)是一種非接觸式的自動(dòng)識(shí)別技術(shù),其基本原理是利用射頻信號(hào)和空間耦合(電感或電磁耦合)的傳輸特性,實(shí)現(xiàn)對(duì)特定物體的自動(dòng)識(shí)別。RFID技術(shù)可以追溯至第二次世界大戰(zhàn)期間,后來發(fā)展應(yīng)用到鐵路、軍隊(duì)的貨物跟蹤甚至寵物識(shí)別上。在過去的半個(gè)多世紀(jì)里,RFID的發(fā)展經(jīng)歷了從技術(shù)探索、試驗(yàn)研究、商業(yè)應(yīng)用和標(biāo)準(zhǔn)化建立等幾個(gè)重要階段。從現(xiàn)有發(fā)展趨勢(shì)看,RFID 將構(gòu)建虛擬世界與物理世界的橋梁??梢灶A(yù)見在不久的將來,RFID 技術(shù)不僅會(huì)在各行各業(yè)被廣泛采用,最終RFID 技術(shù)還將會(huì)與普適計(jì)算技術(shù)相融合,對(duì)人類社會(huì)產(chǎn)生深遠(yuǎn)影響。
  RFID系統(tǒng)一般由電子標(biāo)簽和讀寫器" title="讀寫器">讀寫器兩個(gè)部分組成,讀寫器具有同時(shí)讀取多個(gè)電子標(biāo)簽的功能。在多標(biāo)簽對(duì)一個(gè)讀寫器的RFID系統(tǒng)中,標(biāo)簽經(jīng)常會(huì)同時(shí)向讀寫器傳輸數(shù)據(jù),這就要求RFID系統(tǒng)建立一種仲裁機(jī)制來避免數(shù)據(jù)發(fā)生碰撞??紤]到電子標(biāo)簽本身尺寸、能耗的限制,防碰撞機(jī)制在保障功能的同時(shí)還要求盡量簡(jiǎn)單易行,這正是RFID系統(tǒng)設(shè)計(jì)的挑戰(zhàn)之一。
  文獻(xiàn)[1][2]提出了三種RFID系統(tǒng)的防碰撞算法。算法A基于隨機(jī)避讓、沖突檢測(cè)的原理,使用1個(gè)8位寄存器和1個(gè)8位隨機(jī)數(shù)" title="隨機(jī)數(shù)">隨機(jī)數(shù)產(chǎn)生器" title="產(chǎn)生器">產(chǎn)生器,最大" title="最大">最大可以仲裁標(biāo)簽的數(shù)量只有256個(gè)。算法B基于二進(jìn)制數(shù)的原理,使用1個(gè)8位寄存器和1個(gè)1位隨機(jī)數(shù)產(chǎn)生器,理論上最大可以實(shí)現(xiàn)2256個(gè)標(biāo)簽的仲裁。文獻(xiàn)[3]提出了對(duì)該算法的一個(gè)實(shí)現(xiàn)方案,文獻(xiàn)[4]對(duì)該算法做了很大改進(jìn)。算法C類似于算法A,使用1個(gè)16位寄存器和16個(gè)1位隨機(jī)數(shù)產(chǎn)生器,最大可以仲裁標(biāo)簽的數(shù)量是65 536個(gè)。本文中,作者提出一種分群避讓、群內(nèi)沖突檢測(cè)的算法和其改進(jìn)算法,僅需要1個(gè)8位寄存器和1個(gè)1位隨機(jī)數(shù)產(chǎn)生器就可以實(shí)現(xiàn)最大1 048 576個(gè)標(biāo)簽的仲裁,而且碰撞次數(shù)相對(duì)于算法B要大大減少。
1 仲裁機(jī)制描述
  本方法的核心思想是:首先把電子標(biāo)簽隨機(jī)分群,并將群隨機(jī)排序以實(shí)現(xiàn)群間的隨機(jī)避讓,然后在群內(nèi)進(jìn)行沖突檢測(cè)和標(biāo)簽的仲裁。實(shí)現(xiàn)時(shí)標(biāo)簽僅需一個(gè)寄存器:利用其高位存儲(chǔ)群號(hào),低位存儲(chǔ)沖突檢測(cè)時(shí)退避的步數(shù),實(shí)現(xiàn)極為簡(jiǎn)單。下面以8位寄存器為例具體說明本算法的仲裁機(jī)制。
  當(dāng)讀寫器初始化標(biāo)簽時(shí),所有標(biāo)簽在0~15之間任選一個(gè)整數(shù)存入寄存器高4位(相當(dāng)于隨機(jī)選擇一個(gè)群)并把寄存器低4位設(shè)為全0,同時(shí)產(chǎn)生一個(gè)0或1的隨機(jī)數(shù)加到寄存器中。如果此時(shí)寄存器中的8比特?cái)?shù)為全0則回傳該標(biāo)簽的ID(ID是指電子標(biāo)簽的惟一標(biāo)識(shí),在不同的編碼系統(tǒng)中有不同的含義)。如果多個(gè)標(biāo)簽同時(shí)回傳數(shù)據(jù),則沖突發(fā)生。發(fā)生沖突后,其他寄存器高4位為0的標(biāo)簽寄存器中的數(shù)加1,而寄存器中的8比特?cái)?shù)為全0的標(biāo)簽則再產(chǎn)生一個(gè)0或1的隨機(jī)數(shù)加到寄存器中。如果寄存器作加法后仍為全零,則繼續(xù)回傳該標(biāo)簽的ID;如果回傳時(shí)不發(fā)生碰撞,則其他寄存器高4位為0的標(biāo)簽僅把寄存器低4位減1后重復(fù)前面的回傳操作。當(dāng)寄存器高4位全為0的標(biāo)簽全部回傳完ID,則所有其他標(biāo)簽把寄存器高4位減1后重復(fù)前面的操作。
  此外依本算法,由于所有標(biāo)簽隨機(jī)選擇群,有可能會(huì)出現(xiàn)某個(gè)群中的標(biāo)簽數(shù)目過大,使該群中的標(biāo)簽在仲裁過程中始終發(fā)生碰撞,標(biāo)簽寄存器始終加1,導(dǎo)致寄存器低4位向高4位進(jìn)位。進(jìn)位意味著所有進(jìn)位的標(biāo)簽的寄存器低4位清零而高4位加1,這使得這些標(biāo)簽不再屬于原有的群而歸入到下一個(gè)群中,從而優(yōu)化了因隨機(jī)選擇而產(chǎn)生的分布不均勻的群標(biāo)簽數(shù)。
  本算法中,標(biāo)簽最大退讓步數(shù)為24=16步,因此每個(gè)群最大能仲裁的標(biāo)簽數(shù)目為216=65 536,則本算法能仲裁的標(biāo)簽數(shù)理論上限是16×216=1 048 576。
2 算法步驟
  本節(jié)給出算法步驟,假設(shè)使用一個(gè)8位寄存器,則本算法包括以下步驟:
  (1)在所述RFID系統(tǒng)的被動(dòng)方-標(biāo)簽中設(shè)計(jì)一個(gè)4+4
  位的寄存器(Re1)和1個(gè)“0”、“1”隨機(jī)數(shù)產(chǎn)生器(RG1),如圖1所示。


  (2)在所述RFID系統(tǒng)的主動(dòng)方-讀寫器向所有處在等待態(tài)的標(biāo)簽發(fā)送初始化命令。標(biāo)簽因此進(jìn)入仲裁態(tài),用RG1產(chǎn)生4比特隨機(jī)數(shù),加載" title="加載">加載到Re1高4位R7~R4,低4位R3~R0全部清零。
  (3)讀寫器等待一定時(shí)間后發(fā)送允許回傳命令。
  (4)Re1為全零的標(biāo)簽向讀寫器回傳標(biāo)簽ID。
  (5)如果當(dāng)前只有一個(gè)標(biāo)簽回傳ID,讀寫器正確讀取該ID,則發(fā)送確認(rèn)命令,附加命令參數(shù)“低位減1”。回傳了ID的標(biāo)簽接收到該命令后,進(jìn)入確認(rèn)態(tài),其他高4位為全零的標(biāo)簽Re1低4位減1,回到步驟(4)重復(fù)操作。
  (6)如果當(dāng)前有多個(gè)標(biāo)簽回傳ID,讀寫器通過CRC校驗(yàn)或碼長(zhǎng)校驗(yàn),檢測(cè)到錯(cuò)誤的ID號(hào),則發(fā)送確認(rèn)命令,附加命令參數(shù)“寄存器加1”。接收到讀寫器這個(gè)命令后,所有在仲裁態(tài)且Re1為全零的標(biāo)簽由RG1產(chǎn)生1比特隨機(jī)數(shù)和寄存器上的數(shù)相加后重新載入到寄存器中;其他仲裁態(tài)且Re1高4位為零而低4位不為零的標(biāo)簽Re1加1,回到步驟(4)重復(fù)操作。
  (7)如果當(dāng)前沒有標(biāo)簽回傳ID,讀寫器等待一定時(shí)間后發(fā)送確認(rèn)命令,附加命令參數(shù)“低位減1”。所有在仲裁態(tài)且高4為全零的標(biāo)簽Re1低4位減1,回到步驟(4)重復(fù)操作。
  (8)低4位減1操作重復(fù)L次(L是一個(gè)系統(tǒng)參數(shù),由系統(tǒng)設(shè)定,經(jīng)驗(yàn)值為4)后,讀寫器認(rèn)為所有在仲裁態(tài)且寄存器高4位為零的標(biāo)簽都已經(jīng)被正確讀取,則發(fā)送確認(rèn)命令,附加命令參數(shù)“高4位減1”,回到步驟(4)。
  (9)標(biāo)簽接收到附加“高位減1”參數(shù)的確認(rèn)命令后,所有Re1高4位不為零的標(biāo)簽高4位減1,回到步驟4重復(fù)操作;在被要求高位減1前已為零的標(biāo)簽則回到等待態(tài)。
  (10)重復(fù)15次高位減1操作后,讀寫器認(rèn)為所有在仲裁態(tài)的標(biāo)簽都已經(jīng)被讀取,則仲裁過程停止,所有還處于仲裁態(tài)的標(biāo)簽返回等待態(tài)。
  算法步驟中所述等待態(tài)是指電子標(biāo)簽上電后的初始狀態(tài);仲裁態(tài)是指未被讀寫器鑒別的電子標(biāo)簽開始響應(yīng)讀寫器鑒別命令時(shí)進(jìn)入的狀態(tài);確認(rèn)態(tài)是指已被讀寫器鑒別的電子標(biāo)簽進(jìn)入的狀態(tài)。電子標(biāo)簽狀態(tài)轉(zhuǎn)移規(guī)則如下:上電后電子標(biāo)簽進(jìn)入等待態(tài);處于等待態(tài)的電子標(biāo)簽可以進(jìn)入仲裁態(tài);處于仲裁態(tài)的電子標(biāo)簽可以返回等待態(tài);處于仲裁態(tài)的電子標(biāo)簽可以進(jìn)入確認(rèn)態(tài);處于確認(rèn)態(tài)的電子標(biāo)簽不能返回仲裁態(tài);確認(rèn)態(tài)與等待態(tài)之間不能直接轉(zhuǎn)移。
  針對(duì)上述算法步驟,在以下幾個(gè)地方加以改進(jìn),形成本算法的改進(jìn)算法。
  A、步驟(1)中,隨機(jī)數(shù)產(chǎn)生器產(chǎn)生兩組隨機(jī)數(shù),分別加載到寄存器高位和低4位。其中高位加載的位數(shù)M可以動(dòng)態(tài)設(shè)為1、2、3或4。
  B、步驟(10)中的重復(fù)操作次數(shù)為2M次。因?yàn)楦倪M(jìn)算法在寄存器低4位也加載了隨機(jī)數(shù),使得標(biāo)簽在群間轉(zhuǎn)移的概率(即低4位向高位進(jìn)位的概率)大大增加,特別如果最后一個(gè)群中標(biāo)簽的寄存器低4位在退讓步驟中進(jìn)位,則會(huì)產(chǎn)生一個(gè)新群,因此需要額外增加一次高位減1操作。
3 電路實(shí)現(xiàn)
  算法實(shí)現(xiàn)的參考電路框圖見圖1,其中RG1是一個(gè)“0”“1”隨機(jī)數(shù)產(chǎn)生器;Re1是一個(gè)8位寄存器。加法器ADD1和ADD2的加減功能根據(jù)讀寫器命令來設(shè)定:當(dāng)執(zhí)行加法操作時(shí),低4位的ADD2需向高4位的ADD1進(jìn)位;當(dāng)執(zhí)行減法操作時(shí),兩個(gè)器件ADD1和ADD2相互獨(dú)立。加法器可以工作在同步狀態(tài)或異步狀態(tài),工作在同步狀態(tài)時(shí)可以使用電子標(biāo)簽的最大時(shí)鐘。
4 仿真結(jié)果
  仿真1:為了評(píng)估本算法的優(yōu)劣,特設(shè)計(jì)以下仿真:標(biāo)簽使用8位寄存器,高4位為高位。定義0個(gè)、2個(gè)和2個(gè)以上的標(biāo)簽同時(shí)發(fā)送數(shù)據(jù)時(shí)為傳輸沖突;只有一個(gè)標(biāo)簽發(fā)送數(shù)據(jù)時(shí)為傳輸成功,平均沖突次數(shù)定義為傳輸沖突總次數(shù)和傳輸成功總次數(shù)的比;空傳率定義0個(gè)標(biāo)簽發(fā)送數(shù)據(jù)的次數(shù)與傳輸成功總次數(shù)的比。觀察標(biāo)簽數(shù)為20~10 000時(shí)的平均沖突次數(shù)。
  仿真結(jié)果如圖2所示,本文提出的算法與二進(jìn)制算法性能接近,平均每成功傳輸1次都要伴隨2次傳輸沖突;而改進(jìn)算法則在標(biāo)簽數(shù)為50~5 000個(gè)時(shí)明顯減少了碰撞次數(shù)。同時(shí)也注意到當(dāng)標(biāo)簽個(gè)數(shù)少于50時(shí),改進(jìn)算法性能下降,這是因?yàn)榇藭r(shí)標(biāo)簽數(shù)接近分群的群數(shù)導(dǎo)致空傳率上升所致,解決的辦法是減少分群的群數(shù)。針對(duì)該問題,特設(shè)計(jì)仿真2來分析。

?


  仿真2:為了分析低標(biāo)簽密度時(shí)改進(jìn)算法的性能,特設(shè)計(jì)以下仿真:采用改進(jìn)算法,分別使用5~8位寄存器,高1~4位為高位,即分群群數(shù)分別為2、4、8和16。仿真結(jié)果如圖3所示,可以看到當(dāng)標(biāo)簽總數(shù)為20時(shí),如果把高位寄存器的位數(shù)從4降到1,則平均碰撞次數(shù)從5.5回落到1.4。而當(dāng)標(biāo)簽總數(shù)為200和2000時(shí),高位寄存器位數(shù)的改變對(duì)平均碰撞次數(shù)的影響不大。因此如果在某次仲裁中出現(xiàn)多次空傳,根據(jù)這個(gè)先驗(yàn)知識(shí),讀寫器可以在下一次仲裁時(shí)指示標(biāo)簽改變寄存器高位個(gè)數(shù),以此降低空傳率,進(jìn)而可以降低平均碰撞次數(shù)。
  本文提出的防碰撞算法僅需在電子標(biāo)簽中配置1個(gè)8位寄存器、1個(gè)1位“0”、“1”隨機(jī)數(shù)產(chǎn)生器和2個(gè)4位加減1計(jì)數(shù)器以及少量選擇電路就能實(shí)現(xiàn)最多達(dá)1 048 576個(gè)標(biāo)簽的仲裁。仿真表明本算法產(chǎn)生的碰撞概率明顯小于二進(jìn)制數(shù)算法,同時(shí)通過寄存器高位的靈活設(shè)置,還能有效解決低標(biāo)簽密度時(shí)空傳率高的問題,從而進(jìn)一步降低了碰撞概率。本算法實(shí)現(xiàn)簡(jiǎn)單,復(fù)雜度低,非常適合在RFID系統(tǒng)中應(yīng)用,因而具有廣闊的應(yīng)用前景。
參考文獻(xiàn)
1 ISO18000-6C標(biāo)準(zhǔn):Information technology-Radio-frequency identification for item management - Part 6C: Parameters for air interface communications at 860 MHz to 960MHz.
2 ISO18000-6A/B標(biāo)準(zhǔn):Information technology automatic iden-tification and data capture techniques - Radio frequency identification for item management air interface-Part 6:Parameters for air interface communications at 860-960MHz.
3 Fukmnizu Y, Ohno S, Nagata M, etc. A highly collision resistive RFID system. In:proc. of APSITT 2003, Nov.2003:223~228
4 Zhou, F, Jing, D, Huang C et al. Optimizing the power consumption of passive electronic tags for Anti-collision schemes. In:Proceedings of the 5th ASICON, Beijing,China, October 2003:1213~1217

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。