專利名稱:Rfid電子標(biāo)簽序列號的二進(jìn)制防沖突識別方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種同時識別數(shù)個RFID電子標(biāo)簽的二進(jìn)制序列號防沖突方法,屬于電子制造與信息應(yīng)用領(lǐng)域。
背景技術(shù):
隨著電子制造與信息應(yīng)用技術(shù)的快速發(fā)展,將RFID電子標(biāo)簽作為數(shù)據(jù)信息載體和反饋終端而植入各類產(chǎn)品中已經(jīng)成為較為成熟與可行的技術(shù)手段。如將RFID電子標(biāo)簽植入到橡膠輪胎中,帶有此類電子標(biāo)簽的輪胎從出廠、使用期間的維修直至報廢的整個生命周期內(nèi),所有標(biāo)識碼均完整地保存在RFID電子標(biāo)簽中。在產(chǎn)品送入檢修或正常使用時,上述標(biāo)識碼等重要信息能夠被發(fā)送/接收、讀取和識別,因此輪胎的使用狀態(tài)是可以實(shí)時監(jiān)控的,提高了汽車等運(yùn)載工具的安全性能、實(shí)現(xiàn)了異地網(wǎng)絡(luò)化管理,RFID電子標(biāo)簽相當(dāng)于起到“電子身份證”的作用。在現(xiàn)有RFID電子標(biāo)簽使用系統(tǒng)中,標(biāo)簽序列號防沖突識別技術(shù)是一項(xiàng)關(guān)鍵算法, 也是同一區(qū)域內(nèi)同時使用、識別數(shù)個標(biāo)簽的前提條件。所謂的防沖突算法,包括標(biāo)簽防沖突算法和閱讀器防沖突算法。做為標(biāo)簽防沖突算法中的確定型算法,目前的二進(jìn)制防沖突算法實(shí)現(xiàn)有二進(jìn)制搜索算法、后退式索引算法和跳躍式動態(tài)樹形算法等。使用二進(jìn)制搜索算法時,需要為每個標(biāo)簽建立一個虛擬地址(ID),系統(tǒng)中的閱讀器可以指定一個特定范圍內(nèi)的地址來讀取標(biāo)簽,而這些標(biāo)簽必須對閱讀器的詢問作出應(yīng)答,其他標(biāo)簽則保持緘默。這時如果有多個標(biāo)簽同時上傳數(shù)據(jù)就會發(fā)生地址沖突,閱讀器可精確地檢測出ID發(fā)生沖突的比特位,進(jìn)而找出對應(yīng)的標(biāo)簽。該算法的缺點(diǎn)是,當(dāng)存在有數(shù)個標(biāo)簽時,需重復(fù)地進(jìn)行址址確認(rèn)的操作,如從N個標(biāo)簽中識別單個標(biāo)簽平均需要 log(2N+l)個時隙,識別出N個標(biāo)簽所需要的時隙總數(shù)為N*(log2N+l),采用該算法會耗費(fèi)較長的時間。通常RFID電子標(biāo)簽數(shù)量達(dá)到幾十個或上百個時,等待序列號的識別時間是難以忍受的。后退式索引算法、跳躍式動態(tài)樹形算法,在識別N個標(biāo)簽的過程中需要查詢的時隙數(shù)為2N-1,雖然較之于二進(jìn)制搜索算法減少了部分查詢時隙數(shù),但是運(yùn)算識別時間仍顯較長,不利于同一區(qū)域內(nèi)較大數(shù)量RFID電子標(biāo)簽的識別。
發(fā)明內(nèi)容
本發(fā)明所述RFID電子標(biāo)簽序列號的二進(jìn)制防沖突識別方法,在于解決上述現(xiàn)有問題而提出一種基于堆棧的二進(jìn)制防沖突方法,以曼徹斯特編碼的標(biāo)簽序列號的比特位為查詢節(jié)點(diǎn)進(jìn)行逐位搜索,并引入堆棧保存查詢時隙的層數(shù)以逐段地進(jìn)行二叉樹分裂識別。本發(fā)明的目的在于,在避免RFID電子標(biāo)簽與系統(tǒng)閱讀器之間無用信息傳輸?shù)幕A(chǔ)上,通過減少查詢過程中的總時隙數(shù)、減少時隙內(nèi)數(shù)據(jù)通信量以縮短信息傳輸時間,提高同一區(qū)域內(nèi)較大數(shù)量RFID電子標(biāo)簽的識別效率。
為實(shí)現(xiàn)上述發(fā)明目的,所述RFID電子標(biāo)簽序列號的二進(jìn)制防沖突識別方法如下RFID電子標(biāo)簽序列號采用曼徹斯特編碼,數(shù)個RFID電子標(biāo)簽的序列號在閱讀器中被識別出全部數(shù)據(jù)沖突位,依據(jù)沖突位將序列號分段,依次地在每一段序列號中按比特位為搜索節(jié)點(diǎn)進(jìn)行搜索,當(dāng)查詢到?jīng)_突時隙時,逐段地進(jìn)行二叉樹分裂,直到識別出全部RFID電子標(biāo)簽的序列號。如上述基本方案,曼徹斯特編碼可以有效地識別RFID電子標(biāo)簽序列號中具體的沖突位置,因此可以根據(jù)每一沖突位置將序列號進(jìn)行分段,當(dāng)序列號中有k位發(fā)生沖突時, 即可將其分成k段。所述的方法中,以序列號的比特位為搜索/查詢節(jié)點(diǎn)進(jìn)行搜索,可有效地減少分段后進(jìn)行逐位搜索的總時隙數(shù)。而且,當(dāng)查詢到?jīng)_突時隙時通過二叉樹分裂可簡單地反饋該沖突位的數(shù)值,即RFID電子標(biāo)簽與系統(tǒng)閱讀器之間在全部時隙內(nèi)數(shù)據(jù)通信量得以簡化與降低,因此在每段序列號中按比特位進(jìn)行搜索的時間大大縮短。為進(jìn)一步提高分段、逐位搜索/查詢時的數(shù)據(jù)通信準(zhǔn)確度,本專利將堆棧引入二進(jìn)制防沖突識別中,即引用堆棧來保存查詢時隙的層數(shù)。具體地,采用堆棧保存在所有分段中的序列號搜索深度數(shù)值,即保存查詢時隙的層數(shù)。查詢時隙的層數(shù),即在二叉樹中對應(yīng)節(jié)點(diǎn)的層數(shù)加1。采用堆棧保存查詢時隙的層數(shù),可以有效地、明顯地節(jié)約閱讀器的內(nèi)存,而且可以保證分段、逐位搜索是單向、不可逆的。較為優(yōu)選的改進(jìn)方案是,為每一個RFID電子標(biāo)簽建立一個計數(shù)器以計算當(dāng)前搜索深度數(shù)值,在閱讀器中建立做為堆棧的寄存器?;诒緦@纳鲜鲈O(shè)計構(gòu)思,所述二進(jìn)制防沖突識別方法包括有如下執(zhí)行步驟(1)閱讀器向全部RFID電子標(biāo)簽發(fā)送請求指令,RFID電子標(biāo)簽均響應(yīng)請求指令并各自將序列號發(fā)送至閱讀器;(2)閱讀器通過比較序列號,判斷存在沖突位的位置與數(shù)量,依據(jù)沖突位將序列號分段;(3)初始化查詢層數(shù)和叉數(shù),設(shè)定查詢時隙的層數(shù)i = 1,查詢時隙的叉數(shù)j = 1 ;(4)閱讀器查詢時隙的層數(shù)和叉數(shù)發(fā)送參考序列號,對應(yīng)二叉樹節(jié)點(diǎn)產(chǎn)生一個查詢時隙;(5)全部RFID電子標(biāo)簽根據(jù)閱讀器發(fā)送來的參考序列號而選擇是否應(yīng)答,閱讀器根據(jù)查詢時隙時的不同時隙狀態(tài)調(diào)整搜索路徑;查詢時隙時有多個RFID電子標(biāo)簽應(yīng)答時,判斷當(dāng)前查詢時隙的叉數(shù),若滿叉(按二叉樹分裂,j = 2即為滿叉)令i = i+1,j = 1返回;若不為滿叉,則將當(dāng)前查詢時隙的層數(shù)保存到堆棧中,然后令i = i+1, j = 1,返回(4);查詢時隙時無RFID電子標(biāo)簽應(yīng)答時,判斷當(dāng)前查詢時隙的叉數(shù),若不為滿叉,則令j = 2,返回G),進(jìn)行另一叉時隙的查詢;若為滿叉,則判斷堆棧情況,堆棧非空時,使堆棧里的查詢時隙的層數(shù)出棧,返回G),查詢上一層的另一叉時隙;堆棧為空時,則查詢結(jié)束,全部RFID電子標(biāo)簽的序列號為識別完成;查詢時隙時有唯一的一個RFID電子標(biāo)簽應(yīng)答時,則閱讀器識別出該RFID電子標(biāo)簽;判斷當(dāng)前查詢時隙的叉數(shù),若不為滿叉,則令j = 2,返回;若為滿叉,則判斷堆棧情況,若堆棧非空,使堆棧里的查詢時隙的層數(shù)出棧,返回G),查詢上一層的另一叉時隙;堆棧為空時,則查詢結(jié)束,全部RFID電子標(biāo)簽的序列號識別完成。綜上內(nèi)容,本發(fā)明RFID電子標(biāo)簽序列號的二進(jìn)制防沖突識別方法具有如下優(yōu)點(diǎn)1、所述的二進(jìn)制防沖突識別方法具有較少的查詢時隙數(shù)量,當(dāng)同一區(qū)域內(nèi)的RFID 電子標(biāo)簽較多時(如達(dá)到300個以上),減少的查詢時隙數(shù)更為突出和明顯;2、應(yīng)用于RFID電子標(biāo)簽系統(tǒng),閱讀器與標(biāo)簽之間的數(shù)據(jù)傳輸量較少,無論同一區(qū)域內(nèi)的RFID電子標(biāo)簽數(shù)量是多少,其傳輸比特率始終可控制在2*104(是不是2*10M ?) 之內(nèi);3、就單位時隙內(nèi)成功傳送標(biāo)簽信息包的個數(shù)來言,本發(fā)明具有較高的有效服務(wù)率,特別是同一區(qū)域內(nèi)的RFID電子標(biāo)簽較多時,此類差距更為明顯。例如,當(dāng)待識別RFID電子標(biāo)簽達(dá)300個以上時,后退式索引算法停留在有效服務(wù)率0. 5,而本發(fā)明所述的二進(jìn)制防沖突識別方法則遠(yuǎn)高于此值。4、結(jié)合上述優(yōu)點(diǎn),本發(fā)明所述的二進(jìn)制防沖突識別方法尤其適用于大量使用標(biāo)簽的場所與領(lǐng)域,如集裝箱運(yùn)輸?shù)取?br>
現(xiàn)結(jié)合附圖對本發(fā)明做進(jìn)一步的說明。圖1是所述二進(jìn)制防沖突識別方法的流程圖;圖2是所述二進(jìn)制防沖突識別方法的總時隙數(shù)示意圖;圖3是標(biāo)簽分段識別示意具體實(shí)施例方式實(shí)施例1,所述RFID電子標(biāo)簽序列號的二進(jìn)制防沖突識別方法,是基于RFID電子標(biāo)簽序列號采用曼徹斯特編碼,以及引入堆棧以保存查詢時隙的層數(shù)(查詢時隙的層數(shù)是在二叉樹中對應(yīng)節(jié)點(diǎn)的層數(shù)上加1求得)。在RFID電子標(biāo)簽使用系統(tǒng)中,為每一個RFID電子標(biāo)簽建立一個計數(shù)器以計算當(dāng)前搜索深度數(shù)值,在閱讀器中建立做為堆棧的寄存器。采用堆棧保存在所有分段中的序列號搜索深度數(shù)值,即保存查詢時隙的層數(shù)。數(shù)個RFID電子標(biāo)簽的序列號在閱讀器中被識別出全部數(shù)據(jù)沖突位,依據(jù)沖突位將序列號分段,依次地在每一段序列號中按比特位為搜索節(jié)點(diǎn)進(jìn)行搜索,當(dāng)查詢到?jīng)_突時隙時,逐段地進(jìn)行二叉樹分裂,直到識別出全部RFID電子標(biāo)簽的序列號。如圖1、圖2和圖3所示,對于同時使用、并且均響應(yīng)閱讀器所發(fā)送的請求命令的如下 4 個 RFID 電子標(biāo)簽,其序列號分別為 Tagl :11001010, Tag2 :11001011, Tag3 :11101010, Tag4 :11101111ο其中,沖突位有3位,分別位于序列號的第3位、第6位及第8位,因此將序列號按沖突位置分成3段。首先按IlX分成兩個群110和111,以此類推,OlX可以分成兩個群010和011,IX可以分成兩個群10和11。采用所述RFID電子標(biāo)簽序列號的二進(jìn)制防沖突識別方法,在閱讀器與標(biāo)簽之間執(zhí)行如下步驟閱讀器向全部RFID電子標(biāo)簽發(fā)送請求指令,Tagl、Tag2、Tag3和Tag4均響應(yīng)請求指令并各自將序列號發(fā)送至閱讀器;閱讀器通過比較序列號,判斷存在沖突位的位置與數(shù)量,依據(jù)沖突位將序列號分段,即序列號分成三段Iix Oix IX(X表示沖突位);初始化查詢層數(shù)和叉數(shù),設(shè)定查詢時隙的層數(shù)i = 1,查詢時隙的叉數(shù)j = 1 ;閱讀器根據(jù)i = 1,j = 1確定要發(fā)送的參考序列號為110,序列號前三位為110 的標(biāo)簽應(yīng)答,即Tagl和Tag2應(yīng)答,并將它們的序列號發(fā)送給閱讀器。此次查詢時隙為第1 個時隙,因?yàn)橛?個標(biāo)簽應(yīng)答,判斷當(dāng)前時隙為非滿叉,故將時隙的層數(shù)(即1)保存到堆棧中,然后令i = i+1, j = 1 ;閱讀器根據(jù)i = 2,j = 1確定要發(fā)送的參考序列號為110010,序列號前六位為 110010的標(biāo)簽應(yīng)答,即Tagl和Tag2應(yīng)答,并將它們的序列號發(fā)送給閱讀器。此次查詢時隙為第2個時隙,因?yàn)橛袃蓚€標(biāo)簽應(yīng)答,判斷當(dāng)前時隙為非滿叉,故將時隙的層數(shù)(即2)保存到堆棧中,然后令1 = 1+1,」=1;閱讀器根據(jù)i = 3,j = 1確定要發(fā)送的參考序列號為11001010,序列號為 11001010的標(biāo)簽應(yīng)答,即Tagl應(yīng)答,此次查詢時隙為第3個時隙,因?yàn)橛形ㄒ坏臉?biāo)簽應(yīng)答, 所以閱讀器識別出Tagl,判斷當(dāng)前時隙為非滿叉,則令j = 2 ;閱讀器根據(jù)i = 3,j = 2確定要發(fā)送的參考序列號為11001011,序列號為 11001011的標(biāo)簽應(yīng)答,即Tag2應(yīng)答,此次查詢時隙為第4個時隙,因?yàn)橛形ㄒ坏臉?biāo)簽應(yīng)答, 所以閱讀器識別出Tag2,判斷當(dāng)前時隙為滿叉,且堆棧非空,故根據(jù)堆棧LIFO的原則令i = 2 ;閱讀器根據(jù)i = 2,j = 2確定要發(fā)送的參考序列號為110011,序列號前六位為 110011的標(biāo)簽應(yīng)答,則無標(biāo)簽應(yīng)答,此次查詢時隙為第5個時隙,判斷當(dāng)前時隙為滿叉,且堆棧非空,故根據(jù)堆棧LIFO的原則令i = 1 ;閱讀器根據(jù)i = 1,j = 2確定要發(fā)送的參考序列號為111,序列號前三位為111的標(biāo)簽應(yīng)答,即Tag3和Ta4應(yīng)答,此次查詢時隙為第6個時隙,判斷當(dāng)前時隙為滿叉,無需保存時隙層數(shù),令1 = 1+1,」=1;閱讀器根據(jù)i = 2,j = 1確定要發(fā)送的參考序列號為111010,序列號前六位為 111010的標(biāo)簽應(yīng)答,即Tag3應(yīng)答,此次查詢時隙為第7個時隙,因?yàn)橛形ㄒ坏臉?biāo)簽應(yīng)答,所以閱讀器識別出Tag3,判斷當(dāng)前時隙為非滿叉,則令j = 2 ;閱讀器根據(jù)i = 2,j = 2確定要發(fā)送的參考序列號為111011,序列號前六位為 111011的標(biāo)簽應(yīng)答,即Tag4應(yīng)答,此次查詢時隙為第8個時隙,因?yàn)橛形ㄒ坏臉?biāo)簽應(yīng)答,所以閱讀器識別出Tag4,判斷當(dāng)前時隙為滿叉,堆棧為空,則整個識別過程結(jié)束,閱讀器成功識別出 Tagl、Tag2、Tag3 和 Tag4。具體的堆棧操作過程參見如下表1所示,
權(quán)利要求
1.一種RFID電子標(biāo)簽序列號的二進(jìn)制防沖突識別方法,其特征在于RFID電子標(biāo)簽序列號采用曼徹斯特編碼,數(shù)個RFID電子標(biāo)簽的序列號在閱讀器中被識別出全部數(shù)據(jù)沖突位,依據(jù)沖突位將序列號分段,依次地在每一段序列號中按比特位為搜索節(jié)點(diǎn)進(jìn)行搜索,當(dāng)查詢到某個時隙有多個標(biāo)簽應(yīng)答時,逐段地進(jìn)行二叉樹分裂,直到識別出全部RFID 電子標(biāo)簽的序列號。
2.根據(jù)權(quán)利要求1所述的RFID電子標(biāo)簽序列號的二進(jìn)制防沖突識別方法,其特征在于采用堆棧保存在所有分段中的序列號搜索深度數(shù)值,即保存查詢時隙的層數(shù)。
3.根據(jù)權(quán)利要求2所述的RFID電子標(biāo)簽序列號的二進(jìn)制防沖突識別方法,其特征在于為每一個RFID電子標(biāo)簽建立一個計數(shù)器以計算當(dāng)前搜索深度數(shù)值,在閱讀器中建立做為堆棧的寄存器。
4.根據(jù)權(quán)利要求3所述的RFID電子標(biāo)簽序列號的二進(jìn)制防沖突識別方法,其特征在于包括有如下執(zhí)行步驟,(1)閱讀器向全部RFID電子標(biāo)簽發(fā)送請求指令,RFID電子標(biāo)簽均響應(yīng)請求指令并各自將序列號發(fā)送至閱讀器;(2)閱讀器通過比較序列號,判斷存在沖突位的位置與數(shù)量,依據(jù)沖突位將序列號分段;(3)初始化查詢層數(shù)和叉數(shù),設(shè)定查詢時隙的層數(shù)i= 1,查詢時隙的叉數(shù)j = 1 ;(4)閱讀器根據(jù)查詢時隙的層數(shù)和叉數(shù)發(fā)送參考序列號,對應(yīng)二叉樹節(jié)點(diǎn)產(chǎn)生一個查詢時隙;(5)全部RFID電子標(biāo)簽根據(jù)閱讀器發(fā)送來的參考序列號而選擇是否應(yīng)答,閱讀器根據(jù)查詢時隙時的不同時隙狀態(tài)調(diào)整搜索路徑;查詢時隙時有多個RFID電子標(biāo)簽應(yīng)答時,判斷當(dāng)前查詢時隙的叉數(shù),若滿叉(按二叉樹分裂,j = 2即為滿叉)令i = i+1,j = 1,返回(4);若不為滿叉,則將當(dāng)前查詢時隙的層數(shù)保存到堆棧中,然后令i = i+1, j = 1,返回;查詢時隙時無RFID電子標(biāo)簽應(yīng)答時,判斷當(dāng)前查詢時隙的叉數(shù),若不為滿叉,則令j = 2,返回G),進(jìn)行另一叉時隙的查詢;若為滿叉,則判斷堆棧情況,堆棧非空時,使堆棧里的查詢時隙的層數(shù)出棧,返回G),查詢上一層的另一叉時隙;堆棧為空時,則查詢結(jié)束,全部 RFID電子標(biāo)簽的序列號為識別完成;查詢時隙時有唯一的一個RFID電子標(biāo)簽應(yīng)答時,則閱讀器識別出該RFID電子標(biāo)簽;判斷當(dāng)前查詢時隙的叉數(shù),若不為滿叉,則令j = 2,返回(4);若為滿叉,則判斷堆棧情況,堆棧非空時,使堆棧里的查詢時隙的層數(shù)出棧,返回G),查詢上一層的另一叉時隙;堆棧為空時,則查詢結(jié)束,全部RFID電子標(biāo)簽的序列號識別完成。
全文摘要
本發(fā)明所述RFID電子標(biāo)簽序列號的二進(jìn)制防沖突識別方法,提出基于堆棧、并以曼徹斯特編碼的標(biāo)簽序列號的比特位為查詢節(jié)點(diǎn)進(jìn)行逐位搜索,并引入堆棧保存查詢時隙的層數(shù)以逐段地進(jìn)行二叉樹分裂識別。在避免無用信息傳輸?shù)幕A(chǔ)上,通過減少查詢過程中的時隙數(shù)、減少時隙內(nèi)數(shù)據(jù)通信量以提高較大數(shù)量RFID電子標(biāo)簽的識別效率。所述二進(jìn)制防沖突識別方法,RFID電子標(biāo)簽序列號采用曼徹斯特編碼,數(shù)個RFID電子標(biāo)簽的序列號在閱讀器中被識別出全部數(shù)據(jù)沖突位,依據(jù)沖突位將序列號分段,依次地在每一段序列號中按比特位為搜索節(jié)點(diǎn)進(jìn)行搜索,當(dāng)查詢到某個時隙有多個標(biāo)簽應(yīng)答時,逐段地進(jìn)行二叉樹分裂,直到識別出全部RFID電子標(biāo)簽的序列號。
文檔編號G06K7/00GK102479316SQ20101057640
公開日2012年5月30日 申請日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
發(fā)明者丁俊, 嚴(yán)繼恒, 任麗艷, 滕學(xué)志, 董蘭飛, 袁仲雪, 陳海軍 申請人:軟控股份有限公司