專利名稱::用于rfid系統(tǒng)的標(biāo)簽識別防碰撞方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種RFID系統(tǒng)的搜索防碰撞方法,具體涉及一種用于RFID系統(tǒng)的標(biāo)簽識別防碰撞方法。技術(shù)背景無線射頻識別系統(tǒng)(RFID)是從上世紀(jì)80年代走向成熟的一項(xiàng)自動識別技術(shù),近年來發(fā)展十分迅速。射頻識別技術(shù)可以用來識別和跟蹤幾乎所有物理對象,并由此可以構(gòu)建一個容納和連結(jié)世界上所有物品的廣泛的智能網(wǎng)絡(luò)。RFID是一種非接觸式的自動識別技術(shù),其基本原理是利用射頻信號和空間耦合(電感或電磁耦合)的傳輸特性,實(shí)現(xiàn)對被特定物體的自動識別。目前RFID技術(shù)還沒有形成一個統(tǒng)一的國際標(biāo)準(zhǔn)。RFID的標(biāo)準(zhǔn)化包括標(biāo)識編碼規(guī)范、操作協(xié)議及應(yīng)用系統(tǒng)接口規(guī)范等多個部分的標(biāo)準(zhǔn)化。當(dāng)前主要的RFID相關(guān)規(guī)范有歐美的EPC(ElectronicProductCode)規(guī)范、日本的UID(UbiquitousID)規(guī)范和國際標(biāo)準(zhǔn)化組織ISO基于物品管理的射頻識別標(biāo)準(zhǔn)IS018000系列規(guī)范。其中,歐美的EPC標(biāo)準(zhǔn)和ISO18000標(biāo)準(zhǔn),由于應(yīng)用較廣泛,成為當(dāng)前主流的RFID標(biāo)準(zhǔn)。RFID系統(tǒng)一般由閱讀器和標(biāo)簽兩個部分組成,閱讀器具有同時讀取多個標(biāo)簽的功能。在多個標(biāo)簽對一個閱讀器的RFID系統(tǒng)中,多個標(biāo)簽經(jīng)常會同時向閱讀器傳輸數(shù)據(jù),這就要求RFID系統(tǒng)建立一種仲裁機(jī)制來避免數(shù)據(jù)發(fā)生碰撞??紤]到標(biāo)簽本身尺寸、能耗的限制等,防碰撞機(jī)制在保障功能的同時還要求簡單易行。對RFID沖撞問題的解決一般有4種方式空分多路法、時分多路法、碼分多路法、頻分多路法。其中,時分多路方式由于應(yīng)用簡單,容易實(shí)現(xiàn)大量標(biāo)簽的讀寫,所以被多數(shù)防沖撞方法采用?,F(xiàn)有防沖撞方法主要包括ALOHA方法和二進(jìn)制樹搜索方法兩種。其中,ALOHA方法隨機(jī)性大,當(dāng)大量標(biāo)簽并存時,幀碰撞嚴(yán)重,引起性能急劇惡化,不適宜大規(guī)模標(biāo)簽讀取。所以主要采用二進(jìn)制搜索方法。
發(fā)明內(nèi)容本發(fā)明的目的在于克服現(xiàn)有技術(shù)存在的上述不足,提供一種用于RFID系統(tǒng)的標(biāo)簽識別防碰撞方法。該方法提出了一種新的查詢循環(huán),有效的減少查詢次數(shù)和傳輸比特總數(shù),并較大程度的降低了能耗和提高識別效率。本發(fā)明的目的通過如下技術(shù)方案實(shí)現(xiàn)用于RFID系統(tǒng)的標(biāo)簽識別防碰撞方法,其包括如下步驟-(1)閱讀器初始化系統(tǒng),所有標(biāo)簽都處于活動狀態(tài),所述標(biāo)簽的識別碼ID為qL小..wqo,其中,qw,…,q!,qo的每位取0或者1,L為ID長度;(2)閱讀器發(fā)出標(biāo)簽識別請求,所有標(biāo)簽返回整個識別碼,閱讀器接收返回?cái)?shù)據(jù),記錄其中碰撞位的位置和保存沒有發(fā)生碰撞的位數(shù)據(jù);(3)閱讀器預(yù)先確定請求碰撞位長度/,執(zhí)行査詢循環(huán)II,獲取請求前綴;查詢循環(huán)II:結(jié)合步驟(2)中的碰撞位的位置信息,閱讀器向標(biāo)簽發(fā)送請求的碰撞位位置Req[qL.卜..q,qo],若第i位是所要請求的碰撞位位置,則qi=l,否則化=0,其中0《i《L-l;閱讀器請求的碰撞位長度為/,由此得到標(biāo)簽返回的二進(jìn)制數(shù)的長度N=2',標(biāo)簽返回二進(jìn)制碼[qw...q,qo],其中,標(biāo)簽根據(jù)閱讀器發(fā)送的請求碰撞位位置,從自身識別碼ID中獲取相應(yīng)位置上的/位二進(jìn)制數(shù),并轉(zhuǎn)化為十進(jìn)制數(shù)j,則取qrl,而其余N—1位均為0,其中0《j《N-l;假設(shè)閱讀器要獲取碰撞位長度為/的請求前綴91^...化+1化(0《^1-1),就需要知道/個碰撞位有哪些值。執(zhí)行査詢循環(huán)II,接收返回?cái)?shù)據(jù)qN小..qtqo:若qj(0《j《N-l)發(fā)生碰撞,將j轉(zhuǎn)化為/位二進(jìn)制碼,結(jié)合步驟(2)中沒有發(fā)生碰撞的位數(shù)據(jù)信息,可獲取請求前綴,并壓入堆棧中;(4)閱讀器從堆棧中彈出一個請求前綴qw...qwqi((Ki化-l),并執(zhí)行查詢循環(huán)I:請求前綴R叫(qw…qi+,qi),閱讀器發(fā)出帶有前綴qw…qwqi(0S《L-1)的請求,標(biāo)簽檢查自身ID的前L-i位是否與閱讀器發(fā)出的前綴相同,若是,則返回識別碼的剩余位qi.L..q,qo,若不是,則不回應(yīng);如果沒有發(fā)生碰撞,則可以識別一個標(biāo)簽;如果發(fā)生碰撞且碰撞位中的最高位為k(0Sk<i),則將qL-i…qw0和qL-i…qwl壓入堆棧中。(5)當(dāng)堆棧不為空時,執(zhí)行步驟(4);當(dāng)堆棧為空時,識別完所有標(biāo)簽。上述方法中,步驟(3)中的請求碰撞位長度/為預(yù)先設(shè)定的長度或者根據(jù)估算標(biāo)簽的個數(shù),選擇識別性能最高的請求碰撞位長度。上述方法中,是從識別碼ID的最高位開始執(zhí)行的,但是也可以從最低位開始執(zhí)行。與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)和有益效果(1)系統(tǒng)識別效率高本發(fā)明提出了一種新的查詢循環(huán),獲取標(biāo)簽前綴,大大減少了査詢次數(shù),提高了系統(tǒng)識別效率,可快速的識別標(biāo)簽。(2)降低能耗、實(shí)行難度低本發(fā)明大量的減少了查詢次數(shù)和傳輸比特?cái)?shù),降低能耗,節(jié)省識別時間。兩種査詢循環(huán)都比較簡單,實(shí)行難度低。總體來說,本發(fā)明充分發(fā)揮了二進(jìn)制樹搜索方法的優(yōu)點(diǎn),并利用提出的查詢循環(huán)大量的減少查詢次數(shù)和傳輸比特總數(shù);結(jié)構(gòu)簡單易行,速度快,能耗低,非常適合在RFID系統(tǒng)中應(yīng)用。圖1是本發(fā)明用于RFID系統(tǒng)的標(biāo)簽識別防碰撞方法的流程圖。圖2是本發(fā)明用于RFID系統(tǒng)的標(biāo)簽識別防碰撞方法識別五個標(biāo)簽例子的方框圖。圖3是本發(fā)明用于RFID系統(tǒng)的標(biāo)簽識別防碰撞方法識別五個標(biāo)簽例子中閱讀器與標(biāo)簽通信圖。圖4是本發(fā)明用于RPID系統(tǒng)的標(biāo)簽識別防碰撞方法的系統(tǒng)性能圖。其中,橫坐標(biāo)為標(biāo)簽數(shù),縱坐標(biāo)為平均識別一個標(biāo)簽所需要的查詢次數(shù)。具體實(shí)施方式下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的說明,但本發(fā)明要求保護(hù)的范圍并不局限于實(shí)施例表述的范圍。RFID系統(tǒng)一般由閱讀器和標(biāo)簽兩個部分組成,閱讀器具有同時讀取多個標(biāo)簽的功能。在RFID系統(tǒng)工作時,經(jīng)常有一個以上的標(biāo)簽處于閱讀器的作用范圍內(nèi)。這些標(biāo)簽的數(shù)據(jù)同時傳送到閱讀器時出現(xiàn)沖突即數(shù)據(jù)碰撞,致閱讀器的接收器不能讀出數(shù)據(jù)。本發(fā)明采用時分多路法,按二進(jìn)制樹搜索仲裁方式,使閱讀器有效的識別多個標(biāo)簽。在RFID系統(tǒng)中,標(biāo)簽ID是指標(biāo)簽自己唯一的識別碼。ID長度依據(jù)標(biāo)準(zhǔn)的不同而不同(設(shè)為L),貝lj標(biāo)簽ID可設(shè)為qL-i...qiqo,其中,qL-i,…,qi,qo的每位取0或者取1。Req為Request(請求)的縮寫。在RFID系統(tǒng)中,本發(fā)明包括兩種査詢循環(huán)査詢循環(huán)I:請求Req(qw...qwqi),閱讀器發(fā)出帶有前綴qw...qwqi(0SKL-l)的請求,標(biāo)簽檢察自身ID的前L-i位是否與閱讀器發(fā)出的前綴相同,若是則返回ID的剩余位qw...cnq(),若不是則不作回應(yīng)。査詢循環(huán)II:請求R叫[qw…q命],閱讀器向標(biāo)簽發(fā)送請求的碰撞位位置,若第i(0《i《L-l)位是所要請求的碰撞位位置,qi=l,否則qi-O。假定閱讀器請求的碰撞位長度為/,由此得到標(biāo)簽返回的二進(jìn)制數(shù)的長度N=2',標(biāo)簽返回[qN小..q命]。其中,標(biāo)簽根據(jù)閱讀器發(fā)送的請求碰撞位位置,從自身ID中獲取相應(yīng)位置上的/位二進(jìn)制數(shù),并轉(zhuǎn)化為十進(jìn)制數(shù)j(0《j《N-l),則取qrl,而其余N—1位均為0。假設(shè)閱讀器要獲取碰撞位長度為/的請求前綴qL.卜.qwqi(0《i《L-l),就需要知道/個碰撞位有哪些值。執(zhí)行查詢循環(huán)n,接收返回?cái)?shù)據(jù)qN小..q,qo:若qj(O《j《N-l)發(fā)生碰撞,將j轉(zhuǎn)化為/位二進(jìn)制碼,可獲取請求前綴。如圖l所示,本發(fā)明適用于RFID系統(tǒng)的多標(biāo)簽二進(jìn)制搜索防碰撞方法,包括步驟(1)閱讀器初始化系統(tǒng),所有標(biāo)簽都處于活動狀態(tài)(步驟OO);(2)閱讀器發(fā)出請求Req(null),所有標(biāo)簽返回整個ID(步驟10);(3)閱讀器預(yù)先確定請求碰撞位長度/,執(zhí)行査詢循環(huán)II,獲取請求前綴并壓入堆棧P中(步驟ll);(4)閱讀器從堆棧P中彈出一個請求前綴qiM...qi+1qi(0S《L-1,L為ID長度),并執(zhí)行査詢循環(huán)I(步驟12):如果沒有發(fā)生碰撞,則可以識別一個標(biāo)簽(步驟14)。如果發(fā)生碰撞且碰撞位中的最高位為k,則將qL小..qwO和qw…qkwl壓入堆棧P中(步驟13、15)。(5)當(dāng)P不為空時,執(zhí)行步驟(4)(步驟16、17);當(dāng)P為空時,本方法識別完所有標(biāo)簽,方法執(zhí)行結(jié)束(步驟20)。根據(jù)分析和實(shí)際的結(jié)果,表1中給出了本發(fā)明方法對應(yīng)于標(biāo)簽數(shù)的最優(yōu)請求碰撞位長度。一般的,系統(tǒng)初始時,請求碰撞位長度可選定某一長度,如9或10。系統(tǒng)也可以估算標(biāo)簽數(shù),根據(jù)表1對應(yīng)的最優(yōu)請求碰撞位長度,更快的識別標(biāo)簽。下面,將參照一個具體實(shí)例并結(jié)合圖2、圖3來更詳盡的說明本發(fā)明的執(zhí)行步驟。本實(shí)例中,RFID系統(tǒng)包含一個閱讀器和五個標(biāo)簽。五個標(biāo)簽ID分別為'ooiiioio,、'oiooioir、'iooooioi,、qooiioor和'iooiiioo,。其中,'x'代表相應(yīng)位發(fā)生碰撞。1、閱讀器發(fā)出請求Req(null),所有標(biāo)簽返回整個ID,閱讀器收到'XXXXXXXX',產(chǎn)生碰撞。2、由于標(biāo)簽數(shù)為5,ID長度為8,閱讀器確定請求碰撞位長度/二3。執(zhí)行査詢循環(huán)II,發(fā)送Req[l1100000];標(biāo)簽'00111010'返回?cái)?shù)據(jù)'00000010',標(biāo)簽'oiooioir返回?cái)?shù)據(jù)'oooooioo',其余標(biāo)簽返回'oooioooo'。閱讀器收到'oooxoxxo,,可獲取三個請求前綴'oor,'oio','ioo',壓入堆棧p中。3、閱讀器從堆棧P中彈出請求前綴'00r,發(fā)送請求Req(001),收到數(shù)據(jù)'11010,,識別00111010,。4、閱讀器從堆棧P中彈出請求前綴'010',發(fā)送請求Req(010),收到數(shù)據(jù)'oioir,識別'oiooioir。5、閱讀器從堆棧P中彈出請求前綴'100',發(fā)送請求Req(100),收到數(shù)據(jù)'XXX0X',產(chǎn)生碰撞。閱讀器分別將'1000'和'1001,壓入堆棧P中。6、閱讀器從堆棧P中彈出請求前綴'1000',發(fā)送請求Req(1000),收到數(shù)據(jù)'oior,識別'iooooior。7、閱讀器從堆棧P中彈出請求前綴'1001',發(fā)送請求Req(1001),收到數(shù)據(jù)'ixox,,產(chǎn)生碰撞。閱讀器分別將'iooiio,和qooiir壓入堆棧p中。8、閱讀器從堆棧P中彈出請求前綴'100110',發(fā)送請求Req(100110),收到數(shù)據(jù)'or,識別'iooiioor。9、閱讀器從堆桟P中彈出請求前綴'100111',發(fā)送請求Req(lOOlll),收到數(shù)據(jù)'00',識別'10011100'。本實(shí)例中,閱讀器只需要9次查詢,就可識別全部五個標(biāo)簽,隨著標(biāo)簽格式增加,這種方法優(yōu)勢越明顯。本發(fā)明由于利用了新的査詢循環(huán),簡化了電路,減少了閱讀器的査詢次數(shù)和傳輸比特?cái)?shù),較大程度的降低了能耗。如圖4,本發(fā)明平均識別一個標(biāo)簽所需要的查詢次數(shù)約為1.15,系統(tǒng)識別效率最高可達(dá)87.0%。本技術(shù)方案簡單易行,非常適合在RFID系統(tǒng)中應(yīng)用。表1<table>tableseeoriginaldocumentpage10</column></row><table>權(quán)利要求1、用于RFID系統(tǒng)的標(biāo)簽識別防碰撞方法,其特征在于包括如下步驟(1)閱讀器初始化系統(tǒng),所有標(biāo)簽都處于活動狀態(tài),所述標(biāo)簽的識別碼ID為qL-1...q1q0,其中,qL-1,...,q1,q0的每位取0或者1,L為ID長度;(2)閱讀器發(fā)出標(biāo)簽識別請求,所有標(biāo)簽返回整個識別碼,閱讀器接收返回?cái)?shù)據(jù),記錄其中碰撞位的位置和保存沒有發(fā)生碰撞的位數(shù)據(jù);(3)閱讀器預(yù)先確定請求碰撞位長度l,執(zhí)行查詢循環(huán)II,獲取請求前綴;查詢循環(huán)II結(jié)合步驟(2)中的碰撞位的位置信息,閱讀器向標(biāo)簽發(fā)送請求的碰撞位位置Req[qL-1...q1q0],若第i位是所要請求的碰撞位位置,則qi=1,否則qi=0,其中0≤i≤L-1;閱讀器請求的碰撞位長度為l,由此得到標(biāo)簽返回的二進(jìn)制數(shù)的長度N=2l,標(biāo)簽返回二進(jìn)制碼qN-1...q1q0,其中,標(biāo)簽根據(jù)閱讀器發(fā)送的請求碰撞位位置,從自身識別碼ID中獲取相應(yīng)位置上的l位二進(jìn)制數(shù),并轉(zhuǎn)化為十進(jìn)制數(shù)j,則取qj=1,而其余N-1位均為0,其中0≤j≤N-1;當(dāng)閱讀器要獲取碰撞位長度為l的請求前綴qL-1...qi+1qi,就需要知道l個碰撞位的值;執(zhí)行查詢循環(huán)II,接收返回?cái)?shù)據(jù)qN-1...q1q0若qj發(fā)生碰撞,將j轉(zhuǎn)化為l位二進(jìn)制碼,結(jié)合步驟(2)中沒有發(fā)生碰撞的位數(shù)據(jù)信息,可獲取請求前綴,并壓入堆棧中;(4)閱讀器從堆棧中彈出一個請求前綴qL-1...qi+1qi,并執(zhí)行查詢循環(huán)I請求前綴Req(qL-1...qi+1qi),閱讀器發(fā)出帶有前綴qL-1...qi+1qi的請求,標(biāo)簽檢查自身ID的前L-i位是否與閱讀器發(fā)出的前綴相同,若是,則返回識別碼的剩余位qi-1...q1q0,若不是,則不回應(yīng);如果沒有發(fā)生碰撞,則可以識別一個標(biāo)簽;如果發(fā)生碰撞且碰撞位中的最高位為k,則將qL-1...qk+10和qL-1...qk+11壓入堆棧中,0≤k<i,0≤i≤L-1;(5)當(dāng)堆棧不為空時,執(zhí)行步驟(4),當(dāng)堆棧為空時,識別完所有標(biāo)簽。2、根據(jù)權(quán)利1所述的方法,其特征在于步驟(3)中的請求碰撞位長度/為預(yù)先設(shè)定的長度或者根據(jù)估算標(biāo)簽的個數(shù),選擇識別性能最高的請求碰撞位長度。3、根據(jù)權(quán)利1所述的方法,其特征在于該方法從標(biāo)簽識別碼ID的最高位開始執(zhí)行或從最低位開始執(zhí)行。全文摘要本發(fā)明公開了一種用于RFID系統(tǒng)的標(biāo)簽識別防碰撞方法。該方法提出了一種新的查詢循環(huán)——查詢循環(huán)II來獲取請求前綴,大量地減少總查詢次數(shù)和總傳輸比特?cái)?shù)。首先,通過查詢循環(huán)II來獲取請求前綴,并壓入堆棧中;其次,從堆棧中彈出一個請求前綴,執(zhí)行查詢循環(huán)I,若沒有產(chǎn)生碰撞,則識別一個標(biāo)簽,若產(chǎn)生碰撞,則獲取另外兩個請求前綴,壓入堆棧中。隨后,再從堆棧中彈出另外一個請求前綴,執(zhí)行查詢循環(huán)I,如此反復(fù)執(zhí)行,直至堆棧為空,識別完所有標(biāo)簽。本發(fā)明簡單易行,降低能耗,系統(tǒng)識別效率最高可達(dá)87.0%,非常適合在RFID系統(tǒng)中應(yīng)用。文檔編號G06K7/00GK101324916SQ20081002951公開日2008年12月17日申請日期2008年7月16日優(yōu)先權(quán)日2008年7月16日發(fā)明者胡斌杰,許武忠申請人:華南理工大學(xué)