一種用于rfid系統(tǒng)的防碰撞方法
【專利摘要】本發(fā)明公開了一種防碰撞方法,該方法包括:當有活動標簽進入閱讀器識別范圍內時,閱讀器與這些活動標簽建立通信;閱讀器使用幀時隙方法讀取標簽;判斷是否發(fā)生碰撞;在發(fā)生碰撞時,閱讀器使用二叉樹方法讀取標簽。本發(fā)明的有益之處在于:將兩大經典防碰撞方法二叉樹和幀時隙方法按照各自特點結合在一起,以充分發(fā)揮兩種方法的優(yōu)點。經過實驗發(fā)現(xiàn),結合兩種方法的新的防碰撞方法在搜索次數(shù),傳輸時延,吞吐率等重要指標上都明顯優(yōu)于ALOHA方法和二叉樹方法。
【專利說明】—種用于RFID系統(tǒng)的防碰撞方法
【技術領域】
[0001]本發(fā)明涉及一種應用于射頻識別(RFID)系統(tǒng)中的防碰撞方法,尤其涉及一種用于RIFD系統(tǒng)中的基于二叉樹和巾貞時隙ALOHA的防碰撞方法。
【背景技術】
[0002]無線射頻識別(Rad1Frequency Identificat1n, RFID)是一種具有實時、快速、準確采集等特點的自動識別技術,通過交變電磁場達到無接觸識別的目標。RFID系統(tǒng)由閱讀器、標簽和應用程序三部分組成,閱讀器和標簽之間采用非接觸方式通信。目前的RFID技術中還存在一些制約其發(fā)展的瓶頸問題,比如信息傳輸?shù)陌踩珕栴},協(xié)議的問題以及防碰撞問題等,尤其是閱讀器與標簽通訊時發(fā)生碰撞會導致閱讀器無法識別,即產生所謂防碰撞問題?,F(xiàn)存的防碰撞方法主要有兩種:AL0HA方法和二叉樹(Binary Tree, BT)方法。其中:AL0HA方法的缺點是會有丟標簽無法識別的情況,而二叉樹方法雖然可以遍歷到每一個標簽,克服了 “死標簽”的問題,但它具有方法復雜,周期長等缺點。
【發(fā)明內容】
[0003]為解決現(xiàn)有技術的不足,本發(fā)明的目的在于提供一種防碰撞方法,該方法在一個穩(wěn)定的環(huán)境下,標簽數(shù)和時隙數(shù)相當時采用幀時隙方法;在碰撞時隙則采用二叉樹方法。
[0004]為了實現(xiàn)上述目標,本發(fā)明采用如下的技術方案:
[0005]一種防碰撞方法,包括:當有活動標簽進入閱讀器識別范圍內時,閱讀器與這些活動標簽建立通信;閱讀器使用幀時隙方法讀取標簽;判斷是否發(fā)生碰撞;在發(fā)生碰撞時,閱讀器使用二叉樹方法讀取標簽。
[0006]進一步的,閱讀器使用幀時隙方法讀取標簽包括:閱讀器發(fā)送Query命令建立一個標簽分割巾貞,Query命令格式中包含指示該巾貞標簽響應時隙數(shù)量的參數(shù)N ;標簽接收Query命令后獲得時隙數(shù)N,標簽內部的隨機數(shù)產生器產生一個隨機數(shù)η存為時隙標識符,其中O < η < N ;標簽在選定的時隙發(fā)送響應信號,在所有其他時隙均保持靜默。
[0007]進一步的,在每個標簽響應時隙會出現(xiàn)三種可能情況:第一種情況:該時隙沒有標簽發(fā)送響應信號,即為空時隙,則閱讀器在等待特定時間確認無標簽響應后發(fā)送NextSlot命令,進入下一時隙操作;第二種情況:若只有一個標簽發(fā)送響應,則該標簽被成功識別,閱讀器同樣發(fā)送NextSlot命令,進入下一時隙操作;第三種情況:若有多個標簽發(fā)送響應,則在閱讀器接收端發(fā)生碰撞,系統(tǒng)不能識別任一標簽,則閱讀器將該時隙號存入碰撞時隙列表{Tk},并發(fā)送NextSlot命令,進入下一時隙操作。
[0008]進一步的,其中閱讀器使用二叉樹方法讀取標簽包括:將發(fā)生碰撞的標簽的ID發(fā)送給閱讀器,應用Manchester編碼有效判別具體發(fā)生碰撞的比特位;閱讀器維護兩個數(shù)據(jù)結構表,即碰撞節(jié)點表和擴展節(jié)點表,碰撞節(jié)點表放置時隙i時發(fā)生碰撞的節(jié)點,其中時隙i屬于{Tk};擴展節(jié)點表放置將要擴展的節(jié)點或者已經擴展的節(jié)點;閱讀器發(fā)送Query命令,命令中攜帶碰撞時隙列表中的某一時隙i,以及該時隙i發(fā)生碰撞的標簽的ID號;標簽收到讀寫器指令后比較時隙i是否和自己在標簽分割幀中選擇的時隙一致,命令中的標簽的ID號是否和自己的ID前i位一致,若二者都一致,則標簽發(fā)送ID響應;若有一個不一致,則標簽不響應;如果閱讀器發(fā)現(xiàn)多個標簽發(fā)生碰撞,則分裂成兩個節(jié)點,放入碰撞節(jié)點表中,擴展節(jié)點按照引導方式進行,即按照碰撞位數(shù)的多少來引導,將碰撞位最少的節(jié)點放在碰撞節(jié)點表的首部,其余的依次放在碰撞節(jié)點表中;根據(jù)分裂后的二叉樹,閱讀器的查詢指令改為最高碰撞位前綴加上碰撞位的O或者I分別發(fā)送,如果只有一個標簽響應,則該標簽被識別,否則在碰撞位再次分裂出一個二叉樹;將分裂出的節(jié)點放置在碰撞節(jié)點表中,閱讀器每次從碰撞節(jié)點表中首部選擇一個節(jié)點放入擴展節(jié)點表,并發(fā)送對應的查詢指令,直到碰撞節(jié)點表為空。
[0009]進一步的,在所有標簽都被正確識別之后,結束本流程。
[0010]本發(fā)明的有益之處在于:將兩大經典防碰撞方法(二叉樹和幀時隙方法)按照各自特點結合在一起,以充分發(fā)揮兩種方法的優(yōu)點。經過實驗發(fā)現(xiàn),結合兩種方法的新的防碰撞方法在搜索次數(shù),傳輸時延,吞吐率等重要指標上都明顯優(yōu)于ALOHA方法和二叉樹方法。
【專利附圖】
【附圖說明】
[0011]圖1為本發(fā)明的防碰撞方法的流程圖;
[0012]圖2為本發(fā)明所使用的幀時隙方法的工作流程圖;
[0013]圖3為本發(fā)明所使用的二叉樹方法的工作流程圖。
【具體實施方式】
[0014]以下結合附圖和具體實施例對本發(fā)明作具體的介紹。
[0015]參照圖1,為本發(fā)明的防碰撞方法,具體步驟如下:
[0016]一、當有活動標簽進入閱讀器識別范圍內時,閱讀器與這些活動標簽建立通信;
[0017]二、閱讀器使用幀時隙方法讀取標簽;參照圖2,具體為:
[0018]1、閱讀器發(fā)送Query命令建立一個標簽分割巾貞,Query命令格式中包含指示該中貞標簽響應時隙數(shù)量的參數(shù)一N ;
[0019]2、標簽正確接收Query命令后獲得時隙數(shù)N,標簽內部的隨機數(shù)產生器產生一個隨機數(shù)n,(0^n< N),存為時隙標識符;標簽只在其選定的時隙發(fā)送響應信號,通常為標簽ID信息,不管是否發(fā)生碰撞,在所有其他時隙均保持靜默。
[0020]在每個標簽響應時隙會出現(xiàn)三種可能情況:
[0021]第一種情況:該時隙沒有標簽發(fā)送響應信號,即為空時隙,則閱讀器在等待特定時間確認無標簽響應后發(fā)送NextSlot命令,進入下一時隙操作;
[0022]第二種情況:若只有一個標簽發(fā)送響應,則該標簽被成功識別,閱讀器同樣發(fā)送NextSlot命令,進入下一時隙操作;
[0023]第三種情況:若有多個標簽發(fā)送響應,則在閱讀器接收端發(fā)生碰撞,系統(tǒng)不能識別任一標簽,則閱讀器將該時隙號存入碰撞時隙列表{Tk},并發(fā)送NextSlot命令,進入下一時隙操作。
[0024]三、判斷是否發(fā)生碰撞,即判斷集合{Tk}是否為空,如果{Tk}為空,則未發(fā)生碰撞,可結束該工作流程,如果{Tk}不為空,則表示在某一時隙發(fā)生了碰撞,則進入步驟四;
[0025]四、在發(fā)生碰撞時,閱讀器使用二叉樹方法讀取標簽。
[0026]參照圖3,介紹本發(fā)明所使用的二叉樹方法的工作流程
[0027]1、將發(fā)生碰撞的標簽的ID發(fā)送給閱讀器,應用Manchester編碼有效判別具體發(fā)生碰撞的比特位。
[0028]2、閱讀器維護兩個數(shù)據(jù)結構表,即碰撞節(jié)點表和擴展節(jié)點表,碰撞節(jié)點表放置時隙i時發(fā)生碰撞的節(jié)點,其中時隙i屬于{Tk};擴展節(jié)點表放置將要擴展的節(jié)點或者已經擴展的節(jié)點;閱讀器發(fā)送Query命令,命令中攜帶碰撞時隙列表中的某一時隙i,以及該時隙i發(fā)生碰撞的標簽的ID號;
[0029]3、標簽收到讀寫器指令后比較時隙i是否和自己在標簽分割幀中選擇的時隙一致,命令中的標簽的ID號是否和自己的ID前i位一致,若二者都一致,則標簽發(fā)送ID響應;若有一個不一致,則標簽不響應。
[0030]4、這時如果閱讀器發(fā)現(xiàn)多個標簽發(fā)生碰撞,則分裂成兩個節(jié)點,放入碰撞節(jié)點表中,擴展節(jié)點按照引導方式進行,即按照碰撞位數(shù)的多少來引導,將碰撞位最少的節(jié)點放在碰撞節(jié)點表的首部,其余的依次放在碰撞節(jié)點表中;
[0031]5、根據(jù)分裂后的二叉樹,閱讀器的查詢指令改為最高碰撞位前綴加上碰撞位的O或者I分別發(fā)送,如果只有一個標簽響應,則該標簽被識別,否則在碰撞位再次分裂出一個二叉樹;
[0032]6、將分裂出的節(jié)點放置在碰撞節(jié)點表中,閱讀器每次從碰撞節(jié)點表中首部選擇一個節(jié)點放入擴展節(jié)點表,并發(fā)送對應的查詢指令,直到碰撞節(jié)點表為空。
[0033]五、在所有標簽都被正確識別之后,結束本流程。
[0034]需要說明的是,上述實施例不以任何形式限制本發(fā)明,凡采用等同替換或等效變換的方式所獲得的技術方案,均落在本發(fā)明的保護范圍內。
【權利要求】
1.一種防碰撞方法,包括: 當有活動標簽進入閱讀器識別范圍內時,閱讀器與這些活動標簽建立通信; 閱讀器使用幀時隙方法讀取標簽; 判斷是否發(fā)生碰撞; 在發(fā)生碰撞時,閱讀器使用二叉樹方法讀取標簽。
2.如權利要求1所述的防碰撞方法,閱讀器使用幀時隙方法讀取標簽包括: 閱讀器發(fā)送Query命令建立一個標簽分割巾貞,Query命令格式中包含指示該巾貞標簽響應時隙數(shù)量的參數(shù)N ; 標簽接收Query命令后獲得時隙數(shù)N,標簽內部的隨機數(shù)產生器產生一個隨機數(shù)η存為時隙標識符,其中O < η < N ;標簽在選定的時隙發(fā)送響應信號,在所有其他時隙均保持靜默。
3.如權利要求2所述的防碰撞方法,在每個標簽響應時隙會出現(xiàn)三種可能情況: 第一種情況:該時隙沒有標簽發(fā)送響應信號,即為空時隙,則閱讀器在等待特定時間確認無標簽響應后發(fā)送NextSlot命令,進入下一時隙操作; 第二種情況:若只有一個標簽發(fā)送響應,則該標簽被成功識別,閱讀器同樣發(fā)送NextSlot命令,進入下一時隙操作; 第三種情況:若有多個標簽發(fā)送響應,則在閱讀器接收端發(fā)生碰撞,系統(tǒng)不能識別任一標簽,則閱讀器將該時隙號存入碰撞時隙列表{Tk},并發(fā)送NextSlot命令,進入下一時隙操作。
4.如權利要求3所述的防碰撞方法,其中閱讀器使用二叉樹方法讀取標簽包括: 將發(fā)生碰撞的標簽的ID發(fā)送給閱讀器,應用Manchester編碼有效判別具體發(fā)生碰撞的比特位; 閱讀器維護兩個數(shù)據(jù)結構表,即碰撞節(jié)點表和擴展節(jié)點表,碰撞節(jié)點表放置時隙i時發(fā)生碰撞的節(jié)點,其中時隙i屬于{Tk};擴展節(jié)點表放置將要擴展的節(jié)點或者已經擴展的節(jié)點;閱讀器發(fā)送Query命令,命令中攜帶碰撞時隙列表中的某一時隙i,以及該時隙i發(fā)生碰撞的標簽的ID號; 標簽收到讀寫器指令后比較時隙i是否和自己在標簽分割幀中選擇的時隙一致,命令中的標簽的ID號是否和自己的ID前i位一致,若二者都一致,則標簽發(fā)送ID響應;若有一個不一致,則標簽不響應; 如果閱讀器發(fā)現(xiàn)多個標簽發(fā)生碰撞,則分裂成兩個節(jié)點,放入碰撞節(jié)點表中,擴展節(jié)點按照引導方式進行,即按照碰撞位數(shù)的多少來引導,將碰撞位最少的節(jié)點放在碰撞節(jié)點表的首部,其余的依次放在碰撞節(jié)點表中; 根據(jù)分裂后的二叉樹,閱讀器的查詢指令改為最高碰撞位前綴加上碰撞位的O或者I分別發(fā)送,如果只有一個標簽響應,則該標簽被識別,否則在碰撞位再次分裂出一個二叉樹; 將分裂出的節(jié)點放置在碰撞節(jié)點表中,閱讀器每次從碰撞節(jié)點表中首部選擇一個節(jié)點放入擴展節(jié)點表,并發(fā)送對應的查詢指令,直到碰撞節(jié)點表為空。
5.如權利要求4所述的防碰撞方法,在所有標簽都被正確識別之后,結束本流程。
【文檔編號】G06K7/00GK104268493SQ201410525927
【公開日】2015年1月7日 申請日期:2014年10月8日 優(yōu)先權日:2014年10月8日
【發(fā)明者】梁士利, 徐美玲, 林青, 宮珊, 趙星博 申請人:東北師范大學