專利名稱:一種射頻識別系統(tǒng)中多標簽沖突的解決方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻識別技術(shù),特別涉及到射頻識別系統(tǒng)中所存在的多標簽沖突的解決方法。
背景技術(shù):
射頻識別(RFID)是一種低功耗、近距離的通信技術(shù)。作為最具潛力的識別技術(shù)之一,射頻識別技術(shù)已經(jīng)成為IT領(lǐng)域的研究熱點。
射頻識別的識別原理是利用電感耦合(Inductive Coupling)或后向散射(Backscatter),實現(xiàn)標簽與閱讀器之間的信息傳遞。閱讀器與標簽之間的通信頻率主要集中在低頻(135KHz以下),高頻(13.553~13.567MHz),超高頻(400~1000MHz),微波(2.45GHz)等頻段。簡單的射頻識別系統(tǒng)通常由標簽、閱讀器、應用軟件構(gòu)成。在本發(fā)明中,所述的標簽由耦合元件和芯片構(gòu)成,在每一個標簽中都有一個唯一的標識(ID號)。
在應用中,經(jīng)常會遇到多個標簽與同一個閱讀器進行通信的情況,當多個標簽同時響應閱讀器的查詢命令,向閱讀器發(fā)送標簽自身的ID號后,閱讀器無法從收到的響應中獲取正確的信息。也就是說,在標簽與閱讀器的通信過程中會遇到通信沖突的問題。此外,在通信過程中還有信道共享的沖突問題。如果沒有相應的沖突解決方法,必然會引發(fā)沖突,致使多個標簽無法被正確識讀或發(fā)生漏讀現(xiàn)象。
沖突的解決就是提供一種機制,使閱讀器和標簽之間協(xié)調(diào)一致地工作,使閱讀器同時讀取多個標簽成為可能。
現(xiàn)有的射頻識別沖突解決方法可劃分為基于Aloha和基于二進制樹(BinaryTree)兩大類。Aloha協(xié)議族又可分為純Aloha、時隙Aloha(Slotted Aloha)、幀一時隙Aloha(Frame-Slotted Aloha)。
純Aloha方法操作很簡單,當標簽接收到閱讀器的查詢命令,就立即發(fā)送數(shù)據(jù),如果發(fā)生沖突,則等待一段隨機長的時間后重傳沖突數(shù)據(jù)包。
時隙Aloha方法中,時間被劃分為離散的時間段,每個時間段稱為一個時隙,其大小等于發(fā)送一個幀所需時間。標簽只有在每個時隙的開始處可以發(fā)送數(shù)據(jù)。如果發(fā)生沖突,則在下一個時隙重發(fā)沖突數(shù)據(jù)幀。
幀一時隙Aloha,為了進一步降低標簽響應閱讀器查詢命令的頻率,減少不必要的沖突發(fā)生,在時隙Aloha的基礎(chǔ)上,按照幀的形式來組織標簽到閱讀器的通信。每一幀由若干時隙組成,在每一幀中標簽按照時隙Aloha的原則隨機選擇一個時隙發(fā)送數(shù)據(jù),如果沖突,標簽必須等待下一幀的到來,才能繼續(xù)發(fā)送數(shù)據(jù)。
二進制樹沖突解決方法是以傳統(tǒng)網(wǎng)絡中的二進制樹協(xié)議為基礎(chǔ),發(fā)生沖突的標簽以拋硬幣的原則生成沖突解決樹,通過“閱讀器先說”機制和一組命令,使標簽保持同步和分裂。另一個被RFID系統(tǒng)廣泛采用的二進制樹變形算法是“逐位”查詢算法。協(xié)議執(zhí)行過程為閱讀器從標簽ID號的最高位開始逐位查詢所有待識別標簽的ID位,如返回的是一組0或一組1,則閱讀器保存該位,如返回結(jié)果同時包含0和1,則表示標簽識別發(fā)生沖突,閱讀器保存0,選擇返回為0的標簽繼續(xù)查詢,而返回為1的標簽進入沉睡狀態(tài),閱讀器成功識別出一個標簽后發(fā)送重置命令,喚醒沉睡的標簽,然后重復執(zhí)行前述的識別過程。該協(xié)議的執(zhí)行是一個確定的過程,如標簽ID號為n位,則識別一個標簽需要發(fā)送n次查詢命令,對于k個標簽總的查詢次數(shù)為nk。
Aloha方法的優(yōu)點是實現(xiàn)相對簡單,但其理論性能不如二進制樹沖突解決方法,但二進制樹沖突解決方法對同步的要求較高,實現(xiàn)較為困難,對于逐位查詢二進制樹方法,閱讀器每成功查詢一個標簽,需要重復n(n=ID長度)次位查詢,因而存在識別延遲長、標簽邏輯功能復雜、位傳輸頻繁和信息泄露等問題。
發(fā)明內(nèi)容
本發(fā)明的目的克服逐位查詢二進制樹方法中所存在的識別延遲長、標簽邏輯功能復雜、位傳輸頻繁和信息泄露等缺點,提供一種快速、簡便的多標簽沖突的解決方法。
為了實現(xiàn)上述目的,本發(fā)明提供了一種射頻識別系統(tǒng)中多標簽沖突的解決方法,具體包括以下步驟1)、閱讀器發(fā)送初始化命令,激活并初始化標簽;2)、閱讀器對所有待識別標簽,從高位到低位,依次查詢和記錄標簽標識每一位的值,并判斷各標簽標識在該位的值是否相同,若不同即發(fā)生沖突,用指定字符標記沖突位,否則,記錄該位原來的值,查詢完所有位后,將查詢結(jié)果保存;3)、閱讀器對查詢結(jié)果中的沖突位從高位開始,對每個沖突位用0、1做替換,并對替換結(jié)果做識別,根據(jù)識別的結(jié)果向標簽發(fā)送相應的指令;4)、標簽收到指令后,根據(jù)標簽的當前狀態(tài)和指令的信息,在各個狀態(tài)之間做轉(zhuǎn)換,解決多標簽的沖突。
上述技術(shù)方案中,所述的步驟1)中,初始化標簽是要將標簽的棧計數(shù)器清0,并轉(zhuǎn)入活動狀態(tài)。
上述技術(shù)方案中,所述的步驟3)中,對沖突位做替換,識別替換結(jié)果的過程具體包括以下步驟3-1、閱讀器將步驟2)得到的查詢結(jié)果賦予一個串,用S標記該串;3-2、將串S的最高沖突位的指定字符用0和1替代,得到兩個不同的串,分別用S0和S1標識,其中,S0是用0代替最高沖突位指定字符所得到的串,S1是用1代替最高沖突位指定字符所得到的串;3-3、判斷串S中的當前最高沖突位是否是最后一位沖突位,如果是的話,轉(zhuǎn)到步驟3-4,否則,轉(zhuǎn)到步驟3-5;3-4、S0和S1就是兩個待識別標簽的標識,向被識別的標簽發(fā)送“休眠命令”,標簽轉(zhuǎn)入休眠狀態(tài),然后轉(zhuǎn)到步驟3-8;3-5、將串S0的值賦給S,將串S1入棧,并發(fā)送“入棧命令”,然后轉(zhuǎn)到步驟3-6;3-6、取S中的下一個沖突位,執(zhí)行步驟3-7;3-7、對所有標簽的當前沖突位發(fā)送“位查詢命令”,返回位查詢結(jié)果,根據(jù)返回結(jié)果,判斷是否發(fā)生沖突,若發(fā)生沖突,轉(zhuǎn)到步驟3-5,若返回結(jié)果不發(fā)生沖突,則將返回結(jié)果保存在串S的對應沖突位,然后判斷當前沖突位是否是最后一位沖突位,如果是,則串S就是標簽的標識號,保存S并發(fā)送“休眠命令”,然后轉(zhuǎn)入步驟3-8,如果當前沖突位不是最后一位沖突位,則轉(zhuǎn)到步驟3-6;3-8、判斷當前棧是否為空,如果非空,則閱讀器發(fā)送“出棧命令”,棧頂串出棧,并賦給S,將當前沖突位轉(zhuǎn)換為S的最高沖突位,并轉(zhuǎn)而執(zhí)行步驟3-7,如果為空,整個識別過程結(jié)束。
上述技術(shù)方案中,所述的步驟4)中,所述的狀態(tài)包括初始狀態(tài)、活動狀態(tài)、阻塞狀態(tài)和休眠狀態(tài),任何時刻,標簽只能處于其中的某一種狀態(tài)。
上述技術(shù)方案中,所述的步驟4)中,所述的標簽收到指令后,根據(jù)當前狀態(tài)和指令的信息,在各個狀態(tài)之間做轉(zhuǎn)換,具體包括
4-1、標簽收到“位查詢命令”,若棧計數(shù)器等于0,則根據(jù)“位查詢命令”指示的地址信息,向閱讀器發(fā)送該位的值,如果棧計數(shù)器大于0,則不響應“位查詢命令”;4-2、標簽收到“入棧命令”,若棧計數(shù)器等于0,則判斷“入棧命令”攜帶的地址信息所指示的位的值,如果該位的值等于0,則棧計數(shù)器值加1,標簽轉(zhuǎn)入阻塞狀態(tài),如果該位的值為0,標簽仍保持在活動狀態(tài);如果棧計數(shù)器大于0,則棧計數(shù)器值加1,標簽仍保持在阻塞狀態(tài);4-3、標簽收到“出棧命令”,若棧計數(shù)器大于0,則棧計數(shù)器減1,棧計數(shù)器減1后的結(jié)果如果等于0,則標簽轉(zhuǎn)入活動狀態(tài),否則,標簽仍保持在阻塞狀態(tài);4-4、標簽收到“休眠命令”,且棧計數(shù)器等于0,則標簽轉(zhuǎn)入休眠狀態(tài),此后標簽不再響應除了“初始化命令”之外的任何命令。
本發(fā)明的優(yōu)點在于1、位查詢次數(shù)明顯減少,由于閱讀器利用棧保存了識別過程中的歷史信息,利用已經(jīng)獲得的歷史識別信息,閱讀器能夠跳過已經(jīng)識別的位,只針對沖突位進行查詢,因而降低了位查詢次數(shù);2、減少識別延遲,由于明顯減少了重復的位查詢次數(shù),標簽回送的數(shù)據(jù)也隨之減少,因而降低了閱讀器的識別延遲;3、降低標簽功耗,本發(fā)明能夠明顯減少標簽的數(shù)據(jù)發(fā)送量和沖突解決方法在標簽端的復雜度,因而降低了標簽的功耗;4、不存在信息泄露問題,由于在整個查詢過程中閱讀器不需要廣播標簽每一位的信息,避免了逐位二進制樹沖突解決算法中存在的信息泄露問題;本發(fā)明的目的克服逐位查詢二進制樹方法中所存在的識別延遲長、標簽邏輯功能復雜、位傳輸頻繁和信息泄露等缺點,提供一種快速、簡便的多標簽沖突的解決方法。
為了實現(xiàn)上述目的,本發(fā)明提供了一種射頻識別系統(tǒng)中多標簽沖突的解決方法,具體包括以下步驟1)、閱讀器發(fā)送初始化命令,激活并初始化標簽;2)、閱讀器對所有待識別標簽,從高位到低位,依次查詢和記錄標簽標識每一位的值,并判斷各標簽標識在該位的值是否相同,若不同即發(fā)生沖突,用指定字符標記沖突位,否則,記錄該位原來的值,查詢完所有位后,將查詢結(jié)果保存;3)、閱讀器對查詢結(jié)果中的沖突位從高位開始,對每個沖突位用0、1做替換,并對替換結(jié)果做識別,根據(jù)識別的結(jié)果向標簽發(fā)送相應的指令;4)、標簽收到指令后,根據(jù)標簽的當前狀態(tài)和指令的信息,在各個狀態(tài)之間做轉(zhuǎn)換,解決多標簽的沖突。
上述技術(shù)方案中,所述的步驟1)中,初始化標簽是要將標簽的棧計數(shù)器清0,并轉(zhuǎn)入活動狀態(tài)。
上述技術(shù)方案中,所述的步驟3)中,對沖突位做替換,識別替換結(jié)果的過程具體包括以下步驟3-1、閱讀器將步驟2)得到的查詢結(jié)果賦予一個串,用S標記該串;3-2、將串S的最高沖突位的指定字符用0和1替代,得到兩個不同的串,分別用S0和S1標識,其中,S0是用0代替最高沖突位指定字符所得到的串,S1是用1代替最高沖突位指定字符所得到的串;3-3、判斷串S中的當前最高沖突位是否是最后一位沖突位,如果是的話,轉(zhuǎn)到步驟3-4,否則,轉(zhuǎn)到步驟3-5;3-4、S0和S1就是兩個待識別標簽的標識,向被識別的標簽發(fā)送“休眠命令”,標簽轉(zhuǎn)入休眠狀態(tài),然后轉(zhuǎn)到步驟3-8;3-5、將串S0的值賦給S,將串S1入棧,并發(fā)送“入棧命令”,然后轉(zhuǎn)到步驟3-6;3-6、取S中的下一個沖突位,執(zhí)行步驟3-7;3-7、對所有標簽的當前沖突位發(fā)送“位查詢命令”,返回位查詢結(jié)果,根據(jù)返回結(jié)果,判斷是否發(fā)生沖突,若發(fā)生沖突,轉(zhuǎn)到步驟3-5,若返回結(jié)果不發(fā)生沖突,則將返回結(jié)果保存在串S的對應沖突位,然后判斷當前沖突位是否是最后一位沖突位,如果是,則串S就是標簽的標識號,保存S并發(fā)送“休眠命令”,然后轉(zhuǎn)入步驟3-8,如果當前沖突位不是最后一位沖突位,則轉(zhuǎn)到步驟3-6;3-8、判斷當前棧是否為空,如果非空,則閱讀器發(fā)送“出棧命令”,棧頂串出棧,并賦給S,將當前沖突位轉(zhuǎn)換為S的最高沖突位,并轉(zhuǎn)而執(zhí)行步驟3-7,如果為空,整個識別過程結(jié)束。
上述技術(shù)方案中,所述的步驟4)中,所述的狀態(tài)包括初始狀態(tài)、活動狀態(tài)、阻塞狀態(tài)和休眠狀態(tài),任何時刻,標簽只能處于其中的某一種狀態(tài)。
上述技術(shù)方案中,所述的步驟4)中,所述的標簽收到指令后,根據(jù)當前狀態(tài)和指令的信息,在各個狀態(tài)之間做轉(zhuǎn)換,具體包括4-1、標簽收到“位查詢命令”,若棧計數(shù)器等于0,則根據(jù)“位查詢命令”指示的地址信息,向閱讀器發(fā)送該位的值,如果棧計數(shù)器大于0,則不響應“位查詢命令”;4-2、標簽收到“入棧命令”,若棧計數(shù)器等于0,則判斷“入棧命令”攜帶的地址信息所指示的位的值,如果該位的值等于0,則棧計數(shù)器值加1,標簽轉(zhuǎn)入阻塞狀態(tài),如果該位的值為0,標簽仍保持在活動狀態(tài);如果棧計數(shù)器大于0,則棧計數(shù)器值加1,標簽仍保持在阻塞狀態(tài);4-3、標簽收到“出棧命令”,若棧計數(shù)器大于0,則棧計數(shù)器減1,棧計數(shù)器減1后的結(jié)果如果等于0,則標簽轉(zhuǎn)入活動狀態(tài),否則,標簽仍保持在阻塞狀態(tài);4-4、標簽收到“休眠命令”,且棧計數(shù)器等于0,則標簽轉(zhuǎn)入休眠狀態(tài),此后標簽不再響應除了“初始化命令”之外的任何命令。
本發(fā)明的優(yōu)點在于1、位查詢次數(shù)明顯減少,由于閱讀器利用棧保存了識別過程中的歷史信息,利用已經(jīng)獲得的歷史識別信息,閱讀器能夠跳過已經(jīng)識別的位,只針對沖突位進行查詢,因而降低了位查詢次數(shù);2、減少識別延遲,由于明顯減少了重復的位查詢次數(shù),標簽回送的數(shù)據(jù)也隨之減少,因而降低了閱讀器的識別延遲;3、降低標簽功耗,本發(fā)明能夠明顯減少標簽的數(shù)據(jù)發(fā)送量和沖突解決方法在標簽端的復雜度,因而降低了標簽的功耗;4、不存在信息泄露問題,由于在整個查詢過程中閱讀器不需要廣播標簽每一位的信息,避免了逐位二進制樹沖突解決算法中存在的信息泄露問題;5、指令簡單,易于實現(xiàn),由于本發(fā)明包含的指令少,標簽狀態(tài)簡單,識別過程中標簽占用資源少,因而易于實現(xiàn),具有很好的實用價值。
圖1是本發(fā)明的射頻識別系統(tǒng)中多標簽沖突的解決方法中,閱讀器端沖突解決的執(zhí)行框圖;圖2是閱讀器獲取沖突位信息的執(zhí)行框圖;圖3是本發(fā)明的射頻識別系統(tǒng)中多標簽沖突的解決方法中標簽狀態(tài)轉(zhuǎn)換圖;圖4是本發(fā)明的射頻識別系統(tǒng)中多標簽沖突的解決方法的一個具體實施例圖。
具體實施例方式
下面結(jié)合附圖與具體實施方式
對本發(fā)明作進一步的詳細描述。
如圖1所示,本發(fā)明的射頻識別系統(tǒng)中多標簽沖突的解決方法包括以下步驟步驟10、將標簽通電,使之處于初始化狀態(tài)。
步驟20、閱讀器發(fā)出“初始化命令”,標簽接收到該命令后,計數(shù)器(count)清零,然后轉(zhuǎn)入活動狀態(tài)。計數(shù)器清零的意義在于保證每個標簽在初始時都處于活動狀態(tài),以能夠響應閱讀器的查詢命令。當標簽處于活動狀態(tài)時,可向閱讀器發(fā)送信息,在其他狀態(tài)時,則不能執(zhí)行信息發(fā)送的操作。
步驟30、閱讀器發(fā)送“位查詢命令”,從高位到低位逐位查詢所有標簽的ID位。查詢標簽ID位的過程如圖2所示,如果在查詢第k位時,返回的是一組0,則保存該位為0,如果返回的一組1,也保存該位為1,但若返回的二進制數(shù)字中,同時有0和1,則各個標簽在該位存在沖突,保存該位為x。整個位查詢操作結(jié)束后,閱讀器獲得一個由若干0,1和x組成的串S,串長與標簽的位數(shù)相同。通過S,閱讀器能確定哪個位存在沖突。得到串S后,執(zhí)行下一步驟。
步驟40、閱讀器中存在一個沖突位指針,用于指示當前沖突位。將沖突位指針指向S中的第一個x位,轉(zhuǎn)入步驟50。
步驟50、用0和1替換當前沖突位,產(chǎn)生對應串S0和S1,并判斷沖突位指針所指向的當前沖突位是否最后一位沖突位,若是,則無論當前沖突位在串S的哪個位置,都可確定存在兩個標簽。這兩個標簽的ID位除了當前沖突位不同外,其余各位都相同,因此,閱讀器可同時識別出兩個標簽,無需進一步查詢即可知S0和S1就是沖突標簽的ID號。保存S0和S1并發(fā)送“休眠命令”,然后轉(zhuǎn)入步驟80。若當前沖突位不是最后一位沖突位,則將S0賦值給S,發(fā)送“入棧命令”,并將串S1入棧,然后轉(zhuǎn)入步驟60。
步驟60、沖突位指針指向S的下一個x位。
步驟70、對沖突位指針所指向的當前沖突位發(fā)送“位查詢命令”,所有處于活動狀態(tài)的待識別標簽對“位查詢命令”所指定的位做查詢,返回查詢結(jié)果。判斷返回結(jié)果是否發(fā)生沖突,若發(fā)生沖突,則轉(zhuǎn)入步驟50;若返回結(jié)果不發(fā)生沖突,則將返回結(jié)果保存在串S的對應位,然后判斷沖突位指針所指向的當前沖突位是否是串S的最后一位沖突位,如果是,則串S就是標簽的ID號,保存S并發(fā)送“休眠命令”,然后轉(zhuǎn)入步驟80。如果當前沖突位不是最后一位沖突位,轉(zhuǎn)到步驟60。
步驟80、判斷當前棧是否為空,如果非空,則閱讀器發(fā)送“出棧命令”,棧頂串出棧,并賦給S,沖突位指針指向S的第一個沖突位,轉(zhuǎn)入步驟70,如果為空,整個識別過程結(jié)束。
在本發(fā)明的標簽識別過程中,涉及多個操作命令,這些命令由閱讀器發(fā)出,在這些命令的操作下,各個標簽在不同狀態(tài)間轉(zhuǎn)換,它的轉(zhuǎn)換過程如圖3所示,下面對標簽狀態(tài)的轉(zhuǎn)換過程和操作命令的具體功能進行說明。
1)、標簽上電后,處于初始狀態(tài);2)、標簽接收到“初始化命令”后,標簽計數(shù)器清零,然后轉(zhuǎn)入活動狀態(tài);3)、標簽接收到“位查詢命令”,如果當前狀態(tài)為活動狀態(tài),則根據(jù)“位查詢命令”所指示的地址信息,向閱讀器發(fā)送該位信息,處于其它狀態(tài)的標簽對“位查詢命令”不予響應;4)、標簽接收到“入棧命令”,在入棧命令中。如果標簽當前狀態(tài)為活動狀態(tài),則標簽判斷“入棧命令”中所指示的地址位的信息,如果該位等于1,則標簽count加1并轉(zhuǎn)入阻塞狀態(tài),如果該位等于0,則標簽仍然保持在活動狀態(tài),如果標簽當前狀態(tài)為阻塞狀態(tài),則count加1且仍然保持在阻塞狀態(tài)。處于其它狀態(tài)的標簽對“入棧命令”不予響應。
5)、標簽接收到“出棧命令”。如果標簽當前狀態(tài)為阻塞狀態(tài),則count減1,減1后的結(jié)果如果等于0,則標簽轉(zhuǎn)入活動狀態(tài),否則標簽仍然保持在阻塞狀態(tài)。處于其它狀態(tài)的標簽對“出棧命令”不予響應;6)、標簽接收到“休眠命令”。如果標簽當前狀態(tài)為活動狀態(tài),則標簽轉(zhuǎn)入休眠狀態(tài),休眠狀態(tài)的標簽只響應“初始化命令”,處于休眠狀態(tài)的標簽接收到“初始化命令”后轉(zhuǎn)入活動狀態(tài)。
為了進一步說明本發(fā)明所述方法的操作流程,下面結(jié)合實施例,對本發(fā)明進行說明。
假設有一個包含四個標簽的標簽組,在該組中的標簽的ID長度為4,該標簽組的ID如下{0001,0010,1010,1011}。如圖4所示,對該標簽組中多標簽沖突的解決步驟如下。
1、在閱讀器中,對標簽組中的所有標簽按照從高位到低位的順序做位查詢,對查詢結(jié)果做沖突判斷,得到串S(x0xx),即在該標簽組中,只有第2位不存在沖突,其余各位都存在沖突。此時棧為空,標簽都處于活動狀態(tài)。
2、在閱讀器中,將串S(x0xx)第一位的x分別用0和1替換,得到兩個二進制串,分別為(00xx)和(10xx),根據(jù)本發(fā)明的方法,將串(10xx)入棧,并發(fā)送“入棧命令”,在“入棧命令”中還包含有地址信息,本步驟中,地址信息的值為1。而串(00xx)則替換串S的值。標簽收到“入棧命令”后,根據(jù)地址信息,將標簽(1010)和標簽(1011)的棧計數(shù)器的值加1,然后將標簽(1010)和標簽(1011)轉(zhuǎn)入阻塞狀態(tài)。
3、在閱讀器中,對處于活動狀態(tài)的標簽的第三位進行查詢,此時只有標簽(0001)和標簽(0010)處于活動狀態(tài),這兩個標簽響應“位查詢命令”,由于在第三位上發(fā)生沖突,因此分別用0和1替換x,得到串(000x)和(001x),根據(jù)本發(fā)明的方法,將串(000x)替換串S的值,將串(001x)壓入棧中,發(fā)送“入棧命令”。標簽收到“入棧命令”后,將標簽(0010)轉(zhuǎn)入阻塞狀態(tài),棧計數(shù)器加1。而標簽(1010)和標簽(1011)的棧計數(shù)器也要加1。
4、在閱讀器中,對處于活動狀態(tài)的標簽的第四位進行查詢,由于此時只有標簽(0001)處于活動狀態(tài),查詢的返回值為1,不存在沖突,S由(000x)替換為(0001),實現(xiàn)了對標簽(0001)的成功識別。然后,閱讀器發(fā)送“休眠命令”,由于只有標簽(0001)處于活動狀態(tài),因而標簽(0001)轉(zhuǎn)入休眠狀態(tài)。
5、在閱讀器中,做出棧操作,將出棧操作所得到的結(jié)果(001x)替換S,發(fā)送“出棧命令”,標簽收到出棧命令后,處于阻塞狀態(tài)的標簽(1010)、(1011)和(0010)的計數(shù)器減1。由于標簽(0010)的計數(shù)器的值等于0,因而標簽(0010)轉(zhuǎn)入活動狀態(tài),而標簽(1010)、(1011)仍保持在阻塞狀態(tài)。
6、當前串S中,在第四位存在x,再次對處于活動狀態(tài)的標簽的第四位進行查詢。由于只有標簽(0010)處于活動狀態(tài),查詢的返回值為0,不存在沖突。S由(001x)替換為(0010),實現(xiàn)了對標簽(0010)的成功識別。然后,閱讀器發(fā)送“休眠命令”,標簽(0010)從活動狀態(tài)轉(zhuǎn)入休眠狀態(tài)。
7、在閱讀器中,做出棧操作,將出棧操作所得到的結(jié)果(10xx)替換S,發(fā)送“出棧命令”,處于阻塞狀態(tài)的標簽(1010)、(1011)的計數(shù)器減1。減1后,這兩個標簽的計數(shù)器的值都為0,因此,將兩個標簽轉(zhuǎn)入活動狀態(tài)。
8、在當前串中,第三和第四位都存在x,從高位開始,對標簽的第三位進行查詢,查詢的結(jié)果為第三位不存在沖突。
9、對標簽的第四位進行查詢,查詢的結(jié)果為第四位存在沖突,給沖突位分別賦予0和1。由于第四位是最后一個沖突位,因此,可實現(xiàn)對標簽(1010)和標簽(1011)的識別。也就實現(xiàn)了對標簽組中所有標簽的識別。
在該實施例的整個識別過程中,所需要的位查詢次數(shù)為9,而采用背景技術(shù)中的位查詢二進制方法所需的查詢次數(shù)為16次,可以明顯地降低系統(tǒng)的負擔。而在實際使用中,由于所使用的ID標志號通常為64位、96位甚至256位,因此,本發(fā)明方法的優(yōu)勢更為明顯。
在本實施例對標簽的識別過程中,當遇到?jīng)_突位時,默認對沖突位為0的串繼續(xù)做識別,而將沖突位為1的串存入堆棧中。但在應用中,可以將這一識別過程反向,即將沖突位為1的串繼續(xù)做識別,將沖突位為0的串存入堆棧中。識別過程中,這一識別順序的變化并不影響最終的識別效果。只要將操作命令的功能做相應修改,本領(lǐng)域技術(shù)人員根據(jù)本實施例的描述可以方便地實現(xiàn)對多標簽的識別。
權(quán)利要求
1.一種射頻識別系統(tǒng)中多標簽沖突的解決方法,應用在由標簽和閱讀器組成的射頻識別系統(tǒng)中,包括按以下步驟順序進行1)、閱讀器發(fā)送初始化命令,激活并初始化標簽;2)、閱讀器對所有待識別標簽,從高位到低位,依次查詢和記錄標簽標識每一位的值,并判斷各標簽標識在該位的值是否相同,若不同即發(fā)生沖突,用指定字符標記沖突位,否則,記錄該位原來的值,查詢完所有位后,將查詢結(jié)果保存;3)、閱讀器對查詢結(jié)果中的沖突位從高位開始,對每個沖突位用0、1做替換,并對替換結(jié)果做識別,根據(jù)識別的結(jié)果向標簽發(fā)送相應的指令;4)、標簽收到指令后,根據(jù)標簽的當前狀態(tài)和指令的信息,在各個狀態(tài)之間做轉(zhuǎn)換,解決多標簽的沖突。
2.根據(jù)權(quán)利要求1所述的射頻識別系統(tǒng)中多標簽沖突的解決方法,其特征在于,所述的步驟1)中的所述的初始化標簽,是采用將標簽的棧計數(shù)器清0,并轉(zhuǎn)入活動狀態(tài)。
3.根據(jù)權(quán)利要求1所述的射頻識別系統(tǒng)中多標簽沖突的解決方法,其特征在于,所述的步驟3)中所述的對每個沖突位用0、1做替換,其中識別替換結(jié)果的過程具體包括以下步驟3-1、閱讀器將步驟2)得到的查詢結(jié)果賦予一個串,用S標記該串;3-2、將串S的最高沖突位的指定字符用0和1替代,得到兩個不同的串,分別用S0和S1標識,其中,S0是用0代替最高沖突位指定字符所得到的串,S1是用1代替最高沖突位指定字符所得到的串;3-3、判斷串S中的當前最高沖突位是否是最后一位沖突位,如果是的話,轉(zhuǎn)到步驟3-4,否則,轉(zhuǎn)到步驟3-5;3-4、S0和S1就是兩個待識別標簽的標識,向被識別的標簽發(fā)送“休眠命令”,標簽轉(zhuǎn)入休眠狀態(tài),然后轉(zhuǎn)到步驟3-8;3-5、將串S0的值賦給S,將串S1入棧,并發(fā)送“入棧命令”,然后轉(zhuǎn)到步驟3-6;3-6、取S中的下一個沖突位,執(zhí)行步驟3-7;3-7、對所有標簽的當前沖突位發(fā)送“位查詢命令”,返回位查詢結(jié)果,根據(jù)返回結(jié)果,判斷是否發(fā)生沖突,若發(fā)生沖突,轉(zhuǎn)到步驟3-5,若返回結(jié)果不發(fā)生沖突,則將返回結(jié)果保存在串S的對應沖突位,然后判斷當前沖突位是否是最后一位沖突位,如果是,則串S就是標簽的標識號,保存S并發(fā)送“休眠命令”,然后轉(zhuǎn)入步驟3-8,如果當前沖突位不是最后一位沖突位,則轉(zhuǎn)到步驟3-6;3-8、判斷當前棧是否為空,如果非空,則閱讀器發(fā)送“出棧命令”,棧頂串出棧,并賦給S,將當前沖突位轉(zhuǎn)換為S的最高沖突位,并轉(zhuǎn)而執(zhí)行步驟3-7,如果為空,整個識別過程結(jié)束。
4.根據(jù)權(quán)利要求1所述的射頻識別系統(tǒng)中多標簽沖突的解決方法,其特征在于,所述的步驟4)中,所述的狀態(tài)包括初始狀態(tài)、活動狀態(tài)、阻塞狀態(tài)和休眠狀態(tài),任何時刻,標簽只能處于其中的某一種狀態(tài)。
5.根據(jù)權(quán)利要求1所述的射頻識別系統(tǒng)中多標簽沖突的解決方法,其特征在于,所述的步驟4)中,所述的標簽收到指令后,根據(jù)當前狀態(tài)和指令的信息,在各個狀態(tài)之間做轉(zhuǎn)換,具體包括4-1、標簽收到“位查詢命令”,若棧計數(shù)器等于0,則根據(jù)“位查詢命令”指示的地址信息,向閱讀器發(fā)送該位的值,如果棧計數(shù)器大于0,則不響應“位查詢命令”;4-2、標簽收到“入棧命令”,若棧計數(shù)器等于0,則判斷“入棧命令”攜帶的地址信息所指示的位的值,如果該位的值等于1,則棧計數(shù)器值加1,標簽轉(zhuǎn)入阻塞狀態(tài),如果該位的值為0,標簽仍保持在活動狀態(tài);如果棧計數(shù)器大于0,則棧計數(shù)器值加1,標簽仍保持在阻塞狀態(tài);4-3、標簽收到“出棧命令”,若棧計數(shù)器大于0,則棧計數(shù)器減1,棧計數(shù)器減1后的結(jié)果如果等于0,則標簽轉(zhuǎn)入活動狀態(tài),否則,標簽仍保持在阻塞狀態(tài);4-4、標簽收到“休眠命令”,且棧計數(shù)器等于0,則標簽轉(zhuǎn)入休眠狀態(tài),此后標簽不再響應除了“初始化命令”之外的任何命令。
全文摘要
本發(fā)明公開了一種射頻識別系統(tǒng)中多標簽沖突的解決方法,包括1)閱讀器發(fā)送初始化命令,激活并初始化標簽;2)閱讀器對所有待識別標簽,從高位到低位,依次查詢和記錄標簽標識每一位的值,并判斷各標簽標識在該位的值是否相同,若不同即發(fā)生沖突,用指定字符標記沖突位,否則,記錄該位原來的值,查詢完所有位后,將查詢結(jié)果保存;3)閱讀器對查詢結(jié)果中的沖突位從高位開始,對每個沖突位用0、1做替換,并對替換結(jié)果做識別,根據(jù)識別的結(jié)果向標簽發(fā)送相應的指令;4)標簽收到指令后,根據(jù)標簽的當前狀態(tài)和指令的信息,在各個狀態(tài)之間做轉(zhuǎn)換,解決多標簽的沖突。本發(fā)明降低了位查詢次數(shù)和閱讀器的識別延遲。
文檔編號G06K7/08GK1924883SQ200510093639
公開日2007年3月7日 申請日期2005年8月31日 優(yōu)先權(quán)日2005年8月31日
發(fā)明者馮波, 李錦濤, 郭俊波, 丁振華 申請人:中國科學院計算技術(shù)研究所