一種基于自適應分組機制的rfid防碰撞方法
【專利摘要】本發明公開了一種基于自適應分組機制的RFID防碰撞方法,在閱讀器端增設了查詢棧、分組標志位和分組碼,進而減少了閱讀器向標簽查詢的次數,同時在識別出標簽后直接進入靜默狀態,也不需要返回到根節點查詢,進一步減少了查詢次數;在標簽端設置了碰撞組來記錄碰撞位,有效減少了通信過程中的傳輸量;在標簽端設置了狀態標志state,有效地減少了標簽的篩選范圍,進而減少了閱讀器的查詢次數;閱讀器不需要發送完整的ID編碼,有效地減少了RFID系統的數據傳輸量。本發明可廣泛應用于射頻識別領域。
【專利說明】—種基于自適應分組機制的RFID防碰撞方法
【技術領域】
[0001]本發明涉及射頻識別領域,尤其是一種基于自適應分組機制的RFID防碰撞方法。
【背景技術】
[0002]無線射頻識別(Rad1 Frequency Identificat1n, RFID)是一種使無線射頻技術實現對象識別和數據交換的技術。在RFID系統中,影響閱讀器正確或完整接收數據的因素主要有以下三個:
一、系統周邊的信號干擾;大多數情況下,系統周邊的信號干擾可以通過數據校驗的方式來解決。
[0003]二、多個閱讀器之間的信號重疊,即閱讀器碰撞問題;由于閱讀器相對標簽在硬件功能上更為強大,故閱讀器碰撞的問題解決起來比標簽問碰撞題容易得多,現有的閱讀器防碰撞的算法包括自適應著色圖算法、DSATUR算法和增強SEQ算法等。
[0004]三、多個標簽同時在同一閱讀器的可讀范圍內而造成的數據碰撞,即標簽碰撞問題。標簽碰撞問題的解決方法一般包括以下四種方法:(I)空分多路法,其實現代價比較高;(2)碼分多路法,其信道容量比較小,頻帶利用率不高,而且應用比較復雜;(3)頻分多路法,其對閱讀器和標簽的要求都比較高;(4)時分多路法。時分多路法相對其他幾種方法,實現起來較為簡單,而且對系統的硬件要求不高,是目前應用最多的RFID標簽防碰撞方法。
[0005]基于二進制搜索的算法是目前時分多路法中的研究熱點之一;該算法主要有兩個改進的方向:一是減少閱讀器的查詢次數,二是減少傳輸的數據量。后退式二進制搜索算法和動態二進制搜索算法就是從這兩個角度出發對二進制搜索算法進行了改進,但是后退式二進制搜索算法沒有考慮減少通信的數據量,而動態二進制搜索算法則沒有采取有效的措施來減少讀寫器向標簽發送的請求次數。
[0006]綜上所述,目前業內還未有一種既能減少閱讀器的查詢次數,又能降低通信過程中的數據量的RFID標簽防碰撞方法。
【發明內容】
[0007]為了解決上述技術問題,本發明的目的是:提供一種既能減少閱讀器的查詢次數,又能降低通信過程中的數據量的,基于自適應分組機制的RFID防碰撞方法。
[0008]本發明解決其技術問題所采用的技術方案是:
一種基于自適應分組機制的RFID防碰撞方法,包括:
A、閱讀器初始化查詢棧為空,并發送Req(ALL,ALL)指令激活感應場內的所有標簽,然后接收標簽返回的應答信號;
B、閱讀器根據譯碼后的應答信號判斷是否發生標簽碰撞,若是,則根據碰撞位生成相應的碰撞碼并進行記錄,然后向標簽發送碰撞指令Req (CID,null),反之,則轉至步驟G ;
C、標簽將碰撞指令Req(CID,null)保存至碰撞組Col_bit中,并將碰撞位的消息返回給閱讀器;
D、閱讀器根據碰撞碼和返回的消息設置分組標志位Div_bit和分組碼Div_num,然后將元素(Div_bit, Div_num)和(Div_bit, Div_num φ I)依次加入查詢棧;
Ε、閱讀器判斷查詢棧是否為空,若是,則釋放碰撞碼和Div_bit所占用的內存,并將Div_num的值置O,然后結束流程;反之,則將查詢棧棧頂元素出棧,然后根據棧頂元素的內容發送Req(Div_bit, Div_num)指令,然后執行步驟F ;
F、閱讀器根據符合Req(Div_bit,Div_num)指令的標簽返回的應答消息,判斷是否發生了碰撞,若是,則返回步驟C,反之,則將該標簽的狀態標志state置O和碰撞組Col_bit清空,并將其他標簽的狀態標志state自動減1,然后執行步驟G ;
G、閱讀器發送指令對標簽進行讀寫操作,然后在讀寫結束后發送靜默命令使該標簽進入靜默狀態,最后返回步驟E ;
其中,Req(ALL,ALL)指令,要求閱讀器感應場范圍內的所有標簽返回自己的完整序列號進行響應;碰撞指令Req(CID, null),表示標簽將CID的值與自身的ID值進行比較,從而得到發生碰撞的位置并進行記錄,此后每次響應閱讀器指令的時候,標簽只發送碰撞位上的二進制值;Req(Div_bit, Div_num)指令,是指滿足狀態標志State為O且第Div_bit位上的數值為Div_num的標簽響應閱讀器,發送碰撞位上的二進制值,而其他標簽的狀態標志State自動加I ;分組標志位Div_bit,用于記錄以碰撞標簽的哪一個比特位作為分組標志;分組碼Div_num,用于記錄被選中分組標簽中第Div_bit位上的二進制僧φ力異或運算符。
[0009]進一步,所述步驟Α,其包括:
Al、閱讀器初始化查詢堆棧為空,并發送Req(ALL,ALL)指令激活感應場內的所有標簽;
A2、接收到Req (ALL, ALL)指令的標簽將狀態標志State設置為0,然后把標簽的ID號發送給閱讀器;
A3、閱讀器檢測是否接收到應答信號,若是,則執行步驟B,反之,則返回步驟Al。
[0010]進一步,所述步驟B,其包括:
B1、閱讀器對所有接收到的應答信號進行譯碼;
B2、閱讀器根據譯碼的結果判斷是否發生了標簽碰撞,若是,則根據碰撞位生成相應的碰撞碼并進行記錄,然后向標簽發送碰撞指令Req(CID, null),反之,則轉至步驟G,其中,碰撞碼的生成規則為:沒有發生碰撞的比特位上的二進制值與標簽的二進制值相同,而發生碰撞的比特位的值,則用預設的特殊符號代替。
[0011]進一步,所述步驟D,其包括:
D1、閱讀器根據碰撞碼、返回的消息和預設的分組取值原則設置分組標志位Div_bit和分組碼Div_num ;
D2、閱讀器將元素(Div_bit, Div_num)和(Div_bit, Div_num份I)依次加入查詢棧。
[0012]進一步,所述預設的分組取值原則,包括分組標志位Uiv_bit的取值規則和分組碼Div_num的取值規則,其中,分組標志位Div_bit的取值規則為:根據碰撞碼和標簽返回的消息選擇標簽發生碰撞的最高比特位,并將該最高比特位的數值賦值給分組標志位Div_bit ;而分組碼Div_num的取值規則為:比較標簽第Div_bit位上的二進制值O與I的數目,然后將數目較多的二進制值賦給Div_num,若O與I的數目相同,則不采取任何操作。
[0013]進一步,所述碰撞組Col_bit保存的碰撞位為標簽的第6、5、3、2比特位。
[0014]進一步,所述標簽的狀態標志State的值與標簽的狀態對應關系滿足:若State的值為0,則表示此時標簽處于激活狀態,能響應閱讀器的信號;若State的值大于0,則表示此時標簽處于鎖定狀態,不能響應閱讀器的信號;若State的值小于0,則表示此時標簽處于靜默狀態中,不能接收閱讀器的信號。
[0015]進一步,所述查詢棧保存的元素為待查詢的分組標志(m,η),其中,m為標簽ID號的第m位,η為標簽ID號在第m位上的二進制值。
[0016]進一步,所述碰撞指令中CID的取值規則為:將發生碰撞的比特位置1,沒有發生碰撞的比特位置0,從而得到新的CID編碼值。
[0017]本發明的有益效果是:
(1)在閱讀器端增設了查詢棧、分組標志位和分組碼,使閱讀器端具有智能判斷的功能,能根據不同的碰撞情況自適應進行分組,縮小了符合篩選條件的標簽范圍,減少了標簽碰撞的可能性,進而減少了閱讀器向標簽查詢的次數,同時在識別出標簽后直接進入靜默狀態,也不需要返回到根節點查詢,進一步減少了查詢次數;
(2)在標簽端設置了碰撞組來記錄碰撞位,而在后續通信中,標簽只需要返回碰撞位,有效減少了通信過程中的傳輸量;在標簽端設置了狀態標志state,根據狀態標志state和閱讀器的請求消息,將標簽劃入不同的分組中,有效地減少了標簽的篩選范圍,進而減少了閱讀器的查詢次數;
(3)閱讀器只需要向標簽發送Req(ALL,ALL)指令、Req(CID,null)指令和Req(Div_bit, Div_num)指令,而不需要發送完整的ID編碼,有效地減少了 RFID系統的數據傳輸量。
[0018]
【專利附圖】
【附圖說明】
下面結合附圖和實施例對本發明作進一步說明。
[0019]圖1為本發明一種基于自適應分組機制的RFID防碰撞方法的步驟流程圖;
圖2為本發明步驟A的流程圖;
圖3為本發明步驟B的流程圖;
圖4為本發明步驟D的流程圖;
圖5為本發明實施例一中閱讀器的功能模塊框圖;
圖6為本發明實施例二的RFID防碰撞實現過程示意圖。
【具體實施方式】
[0020]參照圖1, 一種基于自適應分組機制的RFID防碰撞方法,包括:
A、閱讀器初始化查詢棧為空,并發送Req(ALL,ALL)指令激活感應場內的所有標簽,然后接收標簽返回的應答信號;
B、閱讀器根據譯碼后的應答信號判斷是否發生標簽碰撞,若是,則根據碰撞位生成相應的碰撞碼并進行記錄,然后向標簽發送碰撞指令Req (CID,null),反之,則轉至步驟G ;
C、標簽將碰撞指令Req(CID,null)保存至碰撞組Col_bit中,并將碰撞位的消息返回給閱讀器;
D、閱讀器根據碰撞碼和返回的消息設置分組標志位Div_bit和分組碼Div_num,然后將元素(Div_bit, Div_num)和(Div_bit, Div_num φ I)依次加入查詢棧;
Ε、閱讀器判斷查詢棧是否為空,若是,則釋放碰撞碼和Div_bit所占用的內存,并將Div_num的值置O,然后結束流程;反之,則將查詢棧棧頂元素出棧,然后根據棧頂元素的內容發送Req(Div_bit, Div_num)指令,然后執行步驟F ;
F、閱讀器根據符合Req(Div_bit,Div_num)指令的標簽返回的應答消息,判斷是否發生了碰撞,若是,則返回步驟C,反之,則將該標簽的狀態標志state置O和碰撞組Col_bit清空,并將其他標簽的狀態標志state自動減1,然后執行步驟G ;
G、閱讀器發送指令對標簽進行讀寫操作,然后在讀寫結束后發送靜默命令使該標簽進入靜默狀態,最后返回步驟E ;
其中,Req(ALL,ALL)指令,要求閱讀器感應場范圍內的所有標簽返回自己的完整序列號進行響應;碰撞指令Req(CID, null),表示標簽將CID的值與自身的ID值進行比較,從而得到發生碰撞的位置并進行記錄,此后每次響應閱讀器指令的時候,標簽只發送碰撞位上的二進制值;Req(Div_bit, Div_num)指令,是指滿足狀態標志State為O且第Div_bit位上的數值為Div_num的標簽響應閱讀器,發送碰撞位上的二進制值,而其他標簽的狀態標志State自動加I ;分組標志位Div_bit,用于記錄以碰撞標簽的哪一個比特位作為分組標志;分組碼Div_num,用于記錄被選中分組標簽中第Div_bit位上的二進制僧①力異或運算符。
[0021]參照圖2,進一步作為優選的實施方式,所述步驟A,其包括:
Al、閱讀器初始化查詢堆棧為空,并發送Req(ALL,ALL)指令激活感應場內的所有標簽;
A2、接收到Req (ALL, ALL)指令的標簽將狀態標志State設置為0,然后把標簽的ID號發送給閱讀器;
A3、閱讀器檢測是否接收到應答信號,若是,則執行步驟B,反之,則返回步驟Al。
[0022]參照圖3,進一步作為優選的實施方式,所述步驟B,其包括:
B1、閱讀器對所有接收到的應答信號進行譯碼;
B2、閱讀器根據譯碼的結果判斷是否發生了標簽碰撞,若是,則根據碰撞位生成相應的碰撞碼并進行記錄,然后向標簽發送碰撞指令Req(CID, null),反之,則轉至步驟G,其中,碰撞碼的生成規則為:沒有發生碰撞的比特位上的二進制值與標簽的二進制值相同,而發生碰撞的比特位的值,則用預設的特殊符號代替。
[0023]參照圖4,進一步作為優選的實施方式,所述步驟D,其包括:
D1、閱讀器根據碰撞碼、返回的消息和預設的分組取值原則設置分組標志位Div_bit和分組碼Div_num ;
D2、閱讀器將元素(Div_bit, Div_num)和(Div_bit, Div_num毋I)依次加入查詢棧。
[0024]進一步作為優選的實施方式,所述預設的分組取值原則,包括分組標志位Div_bit的取值規則和分組碼Div_num的取值規則,其中,分組標志位Div_bit的取值規則為:根據碰撞碼和標簽返回的消息選擇標簽發生碰撞的最高比特位,并將該最高比特位的數值賦值給分組標志位Div_bit ;而分組碼Div_num的取值規則為:比較標簽第Div_bit位上的二進制值O與I的數目,然后將數目較多的二進制值賦給Div_num,若O與I的數目相同,則不采取任何操作。
[0025]進一步作為優選的實施方式,所述碰撞組Col_bit保存的碰撞位為標簽的第6、5、3、2比特位。
[0026]進一步作為優選的實施方式,所述標簽的狀態標志State的值與標簽的狀態對應關系滿足:若State的值為0,則表示此時標簽處于激活狀態,能響應閱讀器的信號;若State的值大于0,則表示此時標簽處于鎖定狀態,不能響應閱讀器的信號;若State的值小于0,則表示此時標簽處于靜默狀態中,不能接收閱讀器的信號。
[0027]進一步作為優選的實施方式,所述查詢棧保存的元素為待查詢的分組標志(m,η),其中,m為標簽ID號的第m位,η為標簽ID號在第m位上的二進制值。
[0028]進一步作為優選的實施方式,所述碰撞指令中CID的取值規則為:將發生碰撞的比特位置1,沒有發生碰撞的比特位置0,從而得到新的CID編碼值。
[0029]下面結合說明書附圖和具體實施例對本發明作進一步詳細說明。
[0030]實施例一
參照圖5,本發明的第一實施例:
本發明的閱讀器在RFID系統中主要實現與標簽的通信過程和實現防碰撞的功能,包括接口模塊、預處理模塊、防碰撞處理模塊和識別后處理模塊這四個模塊。下面分別對這四個模塊的功能進行說明:
一、接口模塊
接口模塊主要是指系統接口模塊。系統接口模塊,為閱讀器與后臺處理器或者其他硬件的接口,主要用于閱讀器與其他硬件的通信協調處理。
[0031]二、預處理模塊
預處理模塊又進一步可細分為:
1.同步模塊:主要用于閱讀器接收標簽響應信息進行同步處理;
2.解碼模塊:主要用于對從標簽響應的消息進行解碼處理;
3.數據校驗模塊:主要用于對接收的數據進行循環冗余校驗處理;
4.解碼判斷模塊:主要用于對解碼后的信息進行判斷處理,檢查是否發生了碰撞、是否存在解碼錯誤或數據傳輸錯誤等問題。
[0032]三、防碰撞處理模塊
防碰撞處理模塊,主要用于實現防碰撞算法,從而在發生標簽碰撞的時候,篩選出可以識別的標簽進行通信。
[0033]四、識別后處理模塊
識別后處理模塊又進一步可細分為:
1.系統命令模塊:主要用于對將要發送的消息進行添加系統命令等處理;
2.消息編碼模塊:主要用于對信息進行曼徹斯特編碼處理;
3.網絡處理模塊:主要用于給將要發送的消息加上幀頭和分隔符等處理。
[0034]本發明閱讀器進行單次通信的具體過程為:
S1、接收標簽響應的消息,進入預處理模塊中對消息進行如下處理:首先消息進入同步模塊中,閱讀器檢查信息是否同步;接著,閱讀器把數據送給解碼模塊進行解碼;再接著,閱讀器將解碼后的數據送入數據校驗模塊進行循環冗余校驗;最后,循環冗余校驗后的數據進入解碼判斷模塊,在該模塊中判斷循環冗余校驗后的消息是否發生標簽碰撞; 52、把解碼、校驗和碰撞判斷的結果都發送到防碰撞處理模塊進行防碰撞操作;
53、防碰撞操作結束后,根據通信的對象選擇相應的操作:如果閱讀器與其他硬件通信,則進入到接口模塊,對消息進行處理,以便于閱讀器與其他硬件設備通信;如果是與標簽通信,則進入到識別后處理模塊;
54、在識別后處理模塊中,消息依次進入到系統命令模塊、消息編碼模塊、網絡處理模塊中。該后處理模塊分別對消息進行添加系統命令處理、進行曼徹斯特編碼處理和添加網絡命令處理,然后將處理后的消息發送出去。
[0035]實施例二
本實施例以5個使用8位編碼信息的標簽為例,并結合附圖6對本發明的實現過程予以說明。
[0036]設這5 個標簽的 ID 分別為:A:00110101 ;B:00111101 ;C:01110101 ;D:01011001 ;E:00110001,則RFID防碰撞的具體實現過程為:
(O閱讀器(Reader)發出指令Req (ALL,ALL),激活感應場內所有的標簽(Tag),并初始化查詢棧(req_StaCk)為空;標簽收到該指令后,發送標簽ID給Reader,并設置標簽的狀態標志state的值為O。Reader解碼得到的ID為0XX1XX01,碰撞位為6、5、3、2比特位(“X”代表發生碰撞,從右往左分別對應0-7比特位),設置碰撞碼col_num的值為0XX1XX01,此時根據CID取值規則,閱讀器會發送消息Req(001101100,null)給標簽。標簽收到消息后,會先保存碰撞位,并將碰撞位上的比特值發給閱讀器,即將碰撞位上第6、5、3、2位的二進制值發送給閱讀器。
[0037](2)閱讀器根據返回的消息及碰撞碼判斷出最高碰撞位是第6比特位,且該位上I的數目為2小于O的數目3,因此會設置分組標志位Div_bit的值為6,分組碼Div_num的值為0,從而將元素(6,0)加入查詢棧,接著計算Div_num? 1=1,將元素(6,I)入棧;再接著閱讀器檢查查詢棧非空,因此棧頂元素出棧,并發送Req(6,I)消息給標簽。標簽收到消息后,第6比特位上的二進制數字是I的標簽C、D響應,其他標簽的State自動加I。
[0038](3)閱讀器對標簽返回的信息進行解碼得到IXXX (第6、5、3、2比特位的二進制值),根據本發明Div_bit和Div_num的計算方法,同理將元素(5,O)和元素(5,I)依次入棧,棧頂元素出棧,發送消息Req(5,l)給標簽。由于此時只有兩個標簽C、D的State為0,且根據Req的響應規則,只有標簽C響應,即標簽C被識別,進入到讀寫處理模塊中,然后閱讀器將標簽C的State置-1,其他標簽的State自動減I。
[0039](4)閱讀器處理完C標簽后,檢查查詢棧非空,接著發送Req(5,O)消息,此時只有標簽D響應,進入到讀寫處理模塊中,然后同理將標簽D的State置_1,其他標簽的State自動減I。
[0040](5)閱讀器繼續檢查查詢棧非空,接著發送消息(6,O),此時標簽A、B、E響應;閱讀器對標簽返回的信息進行解碼得到01XX,根據本發明Div_bit和Div_num的計算方法,同理將元素(3,O)和(3,I)依次入棧,棧頂元素出棧,發送消息Req(3,I)給標簽,此時只有標簽E響應,進入到讀寫處理模塊中,然后閱讀器將標簽E的State置-1,其他標簽的State自動減I。
[0041](6)閱讀器繼續檢查查詢棧非空,發送消息Req(3,O)。此時,標簽A、E響應;閱讀器對標簽返回的信息解碼得到010X,根據本發明的Div_bit和Div_num的計算方法,同理將元素(2,O)和(2,I)依次入棧,發送消息Req (2,I),此時只有標簽A響應,進入到讀寫處理模塊中,然后閱讀器將標簽A的State置-1,其他標簽的State自動減I。
[0042](7)閱讀器繼續檢查查詢棧非空,發送消息Req (2,O)。此時標簽E響應,進入到讀寫處理模塊中,然后閱讀器將標簽E的State置-1,其他標簽的State自動減I。
[0043](8)閱讀器繼續檢查查詢棧為空,算法結束。
[0044]通過上述步驟(I) - (8)的操作,射頻識別閱讀器依次識別了所有的碰撞標簽,識別成功的標簽即可進行后續通信。
[0045]與現有技術相比,本發明具有以下優點:
(1)在閱讀器端增設了查詢棧、分組標志位和分組碼,使閱讀器端具有智能判斷的功能,能根據不同的碰撞情況自適應進行分組,縮小了符合篩選條件的標簽范圍,減少了標簽碰撞的可能性,進而減少了閱讀器向標簽查詢的次數,同時在識別出標簽后直接進入靜默狀態,也不需要返回到根節點查詢,進一步減少了查詢次數;
(2)在標簽端設置了碰撞組來記錄碰撞位,而在后續通信中,標簽只需要返回碰撞位,有效減少了通信過程中的傳輸量;在標簽端設置了狀態標志state,根據狀態標志state和閱讀器的請求消息,將標簽劃入不同的分組中,有效地減少了標簽的篩選范圍,進而減少了閱讀器的查詢次數;
(3)閱讀器只需要向標簽發送Req(ALL,ALL)指令、Req(CID,null)指令和Req(Div_bit, Div_num)指令,而不需要發送完整的ID編碼,有效地減少了 RFID系統的數據傳輸量。
[0046]以上是對本發明的較佳實施進行了具體說明,但本發明創造并不限于所述實施例,熟悉本領域的技術人員在不違背本發明精神的前提下還可做作出種種的等同變形或替換,這些等同的變形或替換均包含在本申請權利要求所限定的范圍內。
【權利要求】
1.一種基于自適應分組機制的RFID防碰撞方法,其特征在于:包括: A、閱讀器初始化查詢棧為空,并發送Req(ALL,ALL)指令激活感應場內的所有標簽,然后接收標簽返回的應答信號; B、閱讀器根據譯碼后的應答信號判斷是否發生標簽碰撞,若是,則根據碰撞位生成相應的碰撞碼并進行記錄,然后向標簽發送碰撞指令Req (CID,null),反之,則轉至步驟G ; C、標簽將碰撞指令Req(CID,null)保存至碰撞組Col_bit中,并將碰撞位的消息返回給閱讀器; D、閱讀器根據碰撞碼和返回的消息設置分組標志位Div_bit和分組碼Div_num,然后將元素(Div_bit, Div_num)和(Div_bit, Div_num φ I)依次加入查詢棧; Ε、閱讀器判斷查詢棧是否為空,若是,則釋放碰撞碼和Div_bit所占用的內存,并將Div_num的值置O,然后結束流程;反之,則將查詢棧棧頂元素出棧,然后根據棧頂元素的內容發送Req(Div_bit, Div_num)指令,然后執行步驟F ; F、閱讀器根據符合Req(Div_bit,Div_num)指令的標簽返回的應答消息,判斷是否發生了碰撞,若是,則返回步驟C,反之,則將該標簽的狀態標志state置O和碰撞組Col_bit清空,并將其他標簽的狀態標志state自動減1,然后執行步驟G ; G、閱讀器發送指令對標簽進行讀寫操作,然后在讀寫結束后發送靜默命令使該標簽進入靜默狀態,最后返回步驟E ; 其中,Req(ALL,ALL)指令,要求閱讀器感應場范圍內的所有標簽返回自己的完整序列號進行響應;碰撞指令Req(CID, null),表示標簽將CID的值與自身的ID值進行比較,從而得到發生碰撞的位置并進行記錄,此后每次響應閱讀器指令的時候,標簽只發送碰撞位上的二進制值;Req(Div_bit, Div_num)指令,是指滿足狀態標志State為O且第Div_bit位上的數值為Div_num的標簽響應閱讀器,發送碰撞位上的二進制值,而其他標簽的狀態標志State自動加I ;分組標志位Div_bit,用于記錄以碰撞標簽的哪一個比特位作為分組標志;分組碼Div_num,用于記錄被選中分組標簽中第Div_bit位上的二進制僧φλ/異或運算符。
2.根據權利要求1所述的一種基于自適應分組機制的RFID防碰撞方法,其特征在于:所述步驟Α,其包括: Al、閱讀器初始化查詢堆棧為空,并發送Req(ALL,ALL)指令激活感應場內的所有標簽; A2、接收到Req (ALL, ALL)指令的標簽將狀態標志State設置為O,然后把標簽的ID號發送給閱讀器; A3、閱讀器檢測是否接收到應答信號,若是,則執行步驟B,反之,則返回步驟Al。
3.根據權利要求1所述的一種基于自適應分組機制的RFID防碰撞方法,其特征在于:所述步驟B,其包括: B1、閱讀器對所有接收到的應答信號進行譯碼; B2、閱讀器根據譯碼的結果判斷是否發生了標簽碰撞,若是,則根據碰撞位生成相應的碰撞碼并進行記錄,然后向標簽發送碰撞指令Req (CID,null),反之,則轉至步驟G,其中,碰撞碼的生成規則為:沒有發生碰撞的比特位上的二進制值與標簽的二進制值相同,而發生碰撞的比特位的值,則用預設的特殊符號代替。
4.根據權利要求1所述的一種基于自適應分組機制的RFID防碰撞方法,其特征在于:所述步驟D,其包括: D1、閱讀器根據碰撞碼、返回的消息和預設的分組取值原則設置分組標志位Div_bit和分組碼Div_num ; D2、閱讀器將元素(Div_bit, Div_num)和(Div_bit, Div_num φ I)依次加入查詢棧。
5.根據權利要求4所述的一種基于自適應分組機制的RFID防碰撞方法,其特征在于:所述預設的分組取值原則,包括分組標志位Div_bit的取值規則和分組碼Div_num的取值規則,其中,分組標志位Div_bit的取值規則為:根據碰撞碼和標簽返回的消息選擇標簽發生碰撞的最高比特位,并將該最高比特位的數值賦值給分組標志位Div_bit ;而分組碼Div_num的取值規則為:比較標簽第Div_bit位上的二進制值O與I的數目,然后將數目較多的二進制值賦給Div_num,若O與I的數目相同,則不采取任何操作。
6.根據權利要求1所述的一種基于自適應分組機制的RFID防碰撞方法,其特征在于:所述碰撞組Col_bit保存的碰撞位為標簽的第6、5、3、2比特位。
7.根據權利要求1所述的一種基于自適應分組機制的RFID防碰撞方法,其特征在于:所述標簽的狀態標志State的值與標簽的狀態對應關系滿足:若State的值為O,則表示此時標簽處于激活狀態,能響應閱讀器的信號;若State的值大于O,則表示此時標簽處于鎖定狀態,不能響應閱讀器的信號;若State的值小于O,則表示此時標簽處于靜默狀態中,不能接收閱讀器的信號。
8.根據權利要求1所述的一種基于自適應分組機制的RFID防碰撞方法,其特征在于:所述查詢棧保存的元素為待查詢的分組標志(m, η),其中,m為標簽ID號的第m位,η為標簽ID號在第m位上的二進制值。
9.根據權利要求1所述的一種基于自適應分組機制的RFID防碰撞方法,其特征在于:所述碰撞指令中CID的取值規則為:將發生碰撞的比特位置I,沒有發生碰撞的比特位置O,從而得到新的CID編碼值。
【文檔編號】G06K7/00GK104134052SQ201410329301
【公開日】2014年11月5日 申請日期:2014年7月10日 優先權日:2014年7月10日
【發明者】凌捷, 沈金偉, 趙廣強 申請人:廣東工業大學