專利名稱:一種混合式的多標(biāo)簽防碰撞方法
技術(shù)領(lǐng)域:
本發(fā)明屬于射頻識別通信技術(shù)領(lǐng)域,涉及一種射頻識別系統(tǒng)中的多標(biāo)簽防碰撞方 法。
背景技術(shù):
射頻識別(Radio Frequency Identification,RFID)技術(shù)是一種非接觸式自動(dòng)識 別技術(shù),讀寫器通過射頻信號獲取標(biāo)簽上存儲的信息,進(jìn)而對標(biāo)簽進(jìn)行各種操作。射頻識別通信與其他典型的射頻通信所面臨的一個(gè)共同問題是,如何解決在同一 個(gè)系統(tǒng)中多個(gè)設(shè)備之間同時(shí)通信的碰撞問題,對于射頻識別通信來說,尤其是單個(gè)讀寫器 與多個(gè)標(biāo)簽通信的碰撞問題。射頻識別通信的特殊之處在于,限于成本和功耗的因素,標(biāo)簽 只能夠提供極為有限的資源用于實(shí)現(xiàn)防碰撞機(jī)制。目前,基于二叉樹的搜索算法是一類有 效的多標(biāo)簽防碰撞算法?;诙鏄涞乃阉魉惴▽?shí)現(xiàn)方式有如下兩種(1)基于標(biāo)簽的ID (Identifier,標(biāo)識符)號進(jìn)行搜索。這種算法的基本特征是,讀 寫器發(fā)送清點(diǎn)命令,清點(diǎn)命令讓未識別的標(biāo)簽返回其ID號。讀寫器根據(jù)標(biāo)簽返回的信息進(jìn) 行判斷,如果沒有發(fā)生碰撞,則成功清點(diǎn)一個(gè)標(biāo)簽;如果發(fā)生碰撞,讀寫器根據(jù)發(fā)生碰撞的 具體位置減小搜索范圍,直到只有一個(gè)標(biāo)簽返回。如此循環(huán),直到所有標(biāo)簽全部得到清點(diǎn)。 這種算法的優(yōu)點(diǎn)是,設(shè)讀寫器作用范圍內(nèi)標(biāo)簽數(shù)為N,讀寫器清點(diǎn)所有標(biāo)簽需要發(fā)送清點(diǎn)命 令的次數(shù)僅為2N-1。(2)基于標(biāo)簽產(chǎn)生隨機(jī)數(shù)進(jìn)行搜索。這種算法的基本特征是,讀寫器發(fā)送清點(diǎn)命 令,命令標(biāo)簽隨機(jī)選擇0或1,選擇0的標(biāo)簽先返回,返回內(nèi)容為位數(shù)很短(如16位)的隨 機(jī)數(shù)。若只有一個(gè)標(biāo)簽返回,則該標(biāo)簽可被成功清點(diǎn);若發(fā)生碰撞,讀寫器命令上次返回的 標(biāo)簽繼續(xù)隨機(jī)選擇0或1,仍是選擇0的標(biāo)簽先返回,直到只有一個(gè)標(biāo)簽返回。如此循環(huán)直 到所有標(biāo)簽全部得到清點(diǎn)。這種算法的優(yōu)點(diǎn)是,標(biāo)簽返回?cái)?shù)據(jù)較短,減小了系統(tǒng)的數(shù)據(jù)傳輸 量。從以上描述可以看出,基于標(biāo)簽ID號的二叉樹搜索算法,讀寫器要求標(biāo)簽返回其 ID號(標(biāo)簽ID長度通常為15個(gè)字節(jié)左右),這嚴(yán)重地增加了系統(tǒng)的數(shù)據(jù)傳輸量?;跇?biāo)簽 產(chǎn)生隨機(jī)數(shù)的二叉樹搜索算法,當(dāng)標(biāo)簽數(shù)目較多時(shí),標(biāo)簽返回發(fā)生碰撞的概率非常大,讀寫 器只有重復(fù)發(fā)送清點(diǎn)命令,直到只有一個(gè)標(biāo)簽返回,這就極大地增加了讀寫器發(fā)送清點(diǎn)命 令的次數(shù)。因此,利用以上任何一種方式的二叉樹搜索算法,讀寫器清點(diǎn)標(biāo)簽的效率不高。
發(fā)明內(nèi)容
本發(fā)明的目的是,針對現(xiàn)有的二叉樹算法兩種實(shí)現(xiàn)方式存在的不足,提出一種混 合式的標(biāo)簽防碰撞方法,有效地提高了讀寫器清點(diǎn)標(biāo)簽的效率。本發(fā)明的技術(shù)方案是,一種混合式的多標(biāo)簽防碰撞方法,應(yīng)用于射頻識別系統(tǒng)中, 其特征在于,包括下述步驟
步驟1 讀寫器初始化隨機(jī)分組參數(shù)。讀寫器設(shè)置隨機(jī)分組參數(shù)L = 2。步驟2 讀寫器復(fù)位標(biāo)簽清點(diǎn)標(biāo)志位并將標(biāo)簽隨機(jī)分組。讀寫器向其作用范圍內(nèi)的所有標(biāo)簽發(fā)送隨機(jī)分組參數(shù)為L的分組命令。標(biāo)簽接收到上述分組命令后,將自身的清點(diǎn)標(biāo)志位清零,并在
范圍內(nèi)隨 機(jī)選擇一個(gè)整數(shù)作為其分組號,分組號相同的標(biāo)簽為一組。然后,按照分組號對應(yīng)的數(shù)值由 小到大的順序,各分組中的標(biāo)簽依次向讀寫器返回一個(gè)16位的隨機(jī)數(shù),該16位隨機(jī)數(shù)使用 具有碰撞位檢測能力的編碼方式(如Manchester編碼)進(jìn)行編碼。步驟3 讀寫器獲取標(biāo)簽分組信息。讀寫器接收完所有分組中標(biāo)簽返回的16位隨機(jī)數(shù)后,根據(jù)接收情況對所有分組 進(jìn)行分類。沒有接收到任何數(shù)據(jù)的分組為空閑組;接收到正確的16位隨機(jī)數(shù)的分組為單標(biāo) 簽組,即沒有發(fā)生標(biāo)簽碰撞;接收到錯(cuò)誤的16位隨機(jī)數(shù)的分組為多標(biāo)簽組,即發(fā)生了標(biāo)簽碰撞。讀寫器判斷是否存在單標(biāo)簽組,如果存在,跳到步驟4;如果不存在,將隨機(jī)分組 參數(shù)設(shè)置為L = L*2,返回步驟2。步驟4 讀寫器清點(diǎn)所有單標(biāo)簽組中的標(biāo)簽。對于某個(gè)給定的單標(biāo)簽組,讀寫器發(fā)送把該單標(biāo)簽組號和在該標(biāo)簽組中接收的16 位隨機(jī)數(shù)作為參數(shù)的確認(rèn)命令。標(biāo)簽接收到上述確認(rèn)命令后,把自身的分組號與最近一次返回的16位隨機(jī)數(shù)與 讀寫器確認(rèn)命令參數(shù)進(jìn)行比較,如果相等,則將其清點(diǎn)標(biāo)志位置1,如果不相等,清點(diǎn)標(biāo)志位 不變。讀寫器清點(diǎn)完所有單標(biāo)簽組中的標(biāo)簽后,跳到步驟5。步驟5 讀寫器清點(diǎn)所有多標(biāo)簽組中的標(biāo)簽。對于某個(gè)給定的多標(biāo)簽組,讀寫器清點(diǎn)其中所有標(biāo)簽的步驟如下第(一)步讀寫器將該標(biāo)簽組中的所有標(biāo)簽65536分裂。讀寫器發(fā)送以該標(biāo)簽組號為參數(shù)的分裂命令。標(biāo)簽收到上述分裂命令后,將自身分組號與分裂命令參數(shù)進(jìn)行比較,如果比較結(jié) 果為相等,則在
范圍內(nèi)選擇一個(gè)16位的隨機(jī)數(shù),并將該16位隨機(jī)數(shù)標(biāo)記為其臨 時(shí)ID號,如果不相等,標(biāo)簽不響應(yīng)。第(二)步讀寫器按照基于標(biāo)簽ID號的二叉樹搜索方式,對該標(biāo)簽組中的所有 標(biāo)簽進(jìn)行清點(diǎn)。讀寫器發(fā)送查詢命令,標(biāo)簽返回其臨時(shí)ID號。如果讀寫器接收到了正確的16位 隨機(jī)數(shù),表明只有一個(gè)標(biāo)簽返回了其臨時(shí)ID號,則讀寫器可發(fā)送確認(rèn)命令使該標(biāo)簽的清點(diǎn) 標(biāo)志位置1。讀寫器清點(diǎn)完該標(biāo)簽組中的所有標(biāo)簽后,可進(jìn)入下一個(gè)多標(biāo)簽組的清點(diǎn)過程。讀寫器清點(diǎn)完所有多標(biāo)簽組中的標(biāo)簽后,清點(diǎn)過程結(jié)束。本發(fā)明的有益效果是(a)讀寫器首先發(fā)送參數(shù)L = 2的分組命令,該命令將標(biāo)簽隨機(jī)分為L組,在這L 個(gè)分組中,若存在單標(biāo)簽組,則分組完成;否則,設(shè)置L = L*2,繼續(xù)將標(biāo)簽隨機(jī)分為L組,如此循環(huán),直至出現(xiàn)單標(biāo)簽組時(shí),分組完成,利用這種方法,可快速實(shí)現(xiàn)標(biāo)簽的隨機(jī)分組。(b)隨機(jī)分組完成后,對于任意一個(gè)多標(biāo)簽組,各標(biāo)簽將選擇的16位隨機(jī)數(shù)標(biāo)記 為自身的臨時(shí)ID號,讀寫器基于標(biāo)簽的臨時(shí)ID號,對該多標(biāo)簽組中的所有標(biāo)簽進(jìn)行二叉樹 搜索,可減少發(fā)送清點(diǎn)命令的次數(shù),提高了系統(tǒng)清點(diǎn)標(biāo)簽的效率;另外,標(biāo)簽返回的數(shù)據(jù)為 其臨時(shí)ID號,長度為16位,遠(yuǎn)小于其ID號長度,減小了系統(tǒng)的數(shù)據(jù)傳輸量,可進(jìn)一步提高 系統(tǒng)清點(diǎn)標(biāo)簽的效率。
圖1是本發(fā)明提出的一種混合式的多標(biāo)簽防碰撞方法的流程圖;圖2是本發(fā)明方法的具體實(shí)施方式
中標(biāo)簽被清點(diǎn)的過程;圖3是本發(fā)明方法與二叉樹搜索算法的讀寫器發(fā)送清點(diǎn)命令次數(shù)對比;圖4是本發(fā)明方法與二叉樹搜索算法的系統(tǒng)數(shù)據(jù)傳輸量對比。
具體實(shí)施例方式以下結(jié)合附圖對本發(fā)明作進(jìn)一步說明。圖1是本發(fā)明提出的一種混合式的多標(biāo)簽防碰撞方法的流程圖步驟1 讀寫器初始化隨機(jī)分組參數(shù);步驟2 讀寫器復(fù)位標(biāo)簽清點(diǎn)標(biāo)志位并將標(biāo) 簽隨機(jī)分組;步驟3 讀寫器獲取標(biāo)簽分組信息,在此步驟中,讀寫器判斷是否存在單標(biāo)簽 組,如果存在,跳到步驟4,如果不存在,將分組命令隨機(jī)分組參數(shù)設(shè)置為L = L*2,返回步 驟2 ;步驟4 讀寫器清點(diǎn)所有單標(biāo)簽組中的標(biāo)簽;步驟5 讀寫器清點(diǎn)所有多標(biāo)簽組中的標(biāo) 簽。圖2是本發(fā)明方法的具體實(shí)施方式
中標(biāo)簽被清點(diǎn)的過程。在本實(shí)施方式中,假設(shè)讀寫器作用范圍內(nèi)有10個(gè)標(biāo)簽,序號依次為1到10,具體實(shí)施步驟如下具體實(shí)施步驟1 讀寫器發(fā)送隨機(jī)分組參數(shù)為2的分組命令。具體實(shí)施步驟2 所有標(biāo)簽在
的范圍內(nèi)隨機(jī)選擇分組號,通過軟件模擬,可 以看到標(biāo)簽2、3、5、8、9、10選擇了分組1,而標(biāo)簽1、4、6、7選擇了分組0,這兩個(gè)分組中的所 有標(biāo)簽依次向讀寫器返回一個(gè)16位的隨機(jī)數(shù)。具體實(shí)施步驟3 讀寫器檢測到兩個(gè)分組中均發(fā)生了碰撞,繼續(xù)發(fā)送隨機(jī)分組參 數(shù)為4的分組命令。具體實(shí)施步驟4 所有標(biāo)簽在W,3]的范圍內(nèi)隨機(jī)選擇分組號,通過模擬可得到, 標(biāo)簽2、10選擇了分組0,標(biāo)簽8選擇了分組1,標(biāo)簽1、5、7、9選擇了分組2,標(biāo)簽3、4、6選擇 了分組3,這四個(gè)分組中的所有標(biāo)簽依次向讀寫器返回一個(gè)16位的隨機(jī)數(shù)。具體實(shí)施步驟5 出現(xiàn)了單標(biāo)簽組,讀寫器清點(diǎn)分組1中的標(biāo)簽8,并發(fā)送確認(rèn)命令 使標(biāo)簽8的清點(diǎn)標(biāo)志位置1。具體實(shí)施步驟6:讀寫器發(fā)送分裂命令,使第一個(gè)多標(biāo)簽組(分組0)中的標(biāo)簽 65536分裂。通過軟件模擬可以看到,標(biāo)簽2選擇的隨機(jī)數(shù)為53393(圖2中的表示方式為 標(biāo)簽2 :53393,下同),標(biāo)簽10選擇的隨機(jī)數(shù)為59361。讀寫器發(fā)送三次查詢命令即可完成 這兩個(gè)標(biāo)簽的清點(diǎn)。
5
具體實(shí)施步驟7:讀寫器發(fā)送分裂命令,使第二個(gè)多標(biāo)簽組(分組幻中的標(biāo)簽 65536分裂。通過軟件模擬可以看到,標(biāo)簽1選擇的隨機(jī)數(shù)為8322,標(biāo)簽5選擇的隨機(jī)數(shù)為 59859,標(biāo)簽7選擇的隨機(jī)數(shù)為41442,標(biāo)簽9選擇的隨機(jī)數(shù)為6392。讀寫器發(fā)送七次查詢 命令即可完成這四個(gè)標(biāo)簽的清點(diǎn)。具體實(shí)施步驟8:讀寫器發(fā)送分裂命令,使第三個(gè)多標(biāo)簽組(分組幻中的標(biāo)簽 65536分裂。通過軟件模擬可以看到,標(biāo)簽3選擇的隨機(jī)數(shù)為18251,標(biāo)簽4選擇的隨機(jī)數(shù) 為35840,標(biāo)簽6選擇的隨機(jī)數(shù)為62751。讀寫器發(fā)送五次查詢命令即可完成這三個(gè)標(biāo)簽的清點(diǎn)。圖3和圖4是在實(shí)驗(yàn)室進(jìn)行仿真的結(jié)果。在相同條件下,圖3是本發(fā)明方法與基 于標(biāo)簽產(chǎn)生隨機(jī)數(shù)的二叉樹搜索算法的讀寫器發(fā)送清點(diǎn)命令次數(shù)對比,其中,橫軸為標(biāo)簽 數(shù)(單位為個(gè)),縱軸為清點(diǎn)命令次數(shù)(單位為次)??梢钥闯?,本發(fā)明提出的方法在清點(diǎn) 命令次數(shù)上明顯小于基于標(biāo)簽產(chǎn)生隨機(jī)數(shù)的二叉樹搜索算法。圖4是本發(fā)明方法與基于標(biāo)簽ID號的二叉樹搜索算法的系統(tǒng)數(shù)據(jù)傳輸量對比,其 中,橫軸為標(biāo)簽數(shù)(單位為個(gè)),縱軸為系統(tǒng)數(shù)據(jù)傳輸量(單位為bit)。這里假設(shè)標(biāo)簽的ID 號長度為1 位,可以看出,本發(fā)明方法的系統(tǒng)數(shù)據(jù)傳輸量明顯小于基于標(biāo)簽ID號的二叉 樹搜索算法。
權(quán)利要求
1.一種混合式的多標(biāo)簽防碰撞方法,應(yīng)用于射頻識別系統(tǒng)中,其特征在于,包括下述步驟步驟1 讀寫器初始化隨機(jī)分組參數(shù); 讀寫器設(shè)置隨機(jī)分組參數(shù)L=2 ; 步驟2 讀寫器復(fù)位標(biāo)簽清點(diǎn)標(biāo)志位并將標(biāo)簽隨機(jī)分組; 讀寫器向其作用范圍內(nèi)的所有標(biāo)簽發(fā)送隨機(jī)分組參數(shù)為L的分組命令; 標(biāo)簽接收到上述分組命令后,將自身的清點(diǎn)標(biāo)志位清零,并在W,L-1]范圍內(nèi)隨機(jī)選 擇一個(gè)整數(shù)作為其分組號,分組號相同的標(biāo)簽為一組;然后,按照分組號對應(yīng)的數(shù)值由小到 大的順序,各分組中的標(biāo)簽依次向讀寫器返回一個(gè)16位的隨機(jī)數(shù),該16位隨機(jī)數(shù)使用具有 碰撞位檢測能力的編碼方式進(jìn)行編碼; 步驟3 讀寫器獲取標(biāo)簽分組信息;讀寫器接收完所有分組中標(biāo)簽返回的16位隨機(jī)數(shù)后,根據(jù)接收情況對所有分組進(jìn)行 分類;沒有接收到任何數(shù)據(jù)的分組為空閑組;接收到正確的16位隨機(jī)數(shù)的分組為單標(biāo)簽 組;接收到錯(cuò)誤的16位隨機(jī)數(shù)的分組為多標(biāo)簽組;讀寫器判斷是否存在單標(biāo)簽組,如果存在,跳到步驟4 ;如果不存在,將隨機(jī)分組參數(shù) 設(shè)置為L=L*2,返回步驟2 ;步驟4 讀寫器清點(diǎn)所有單標(biāo)簽組中的標(biāo)簽;對于某個(gè)給定的單標(biāo)簽組,讀寫器發(fā)送把該單標(biāo)簽組號和在該標(biāo)簽組中接收的16位 隨機(jī)數(shù)作為參數(shù)的確認(rèn)命令;標(biāo)簽接收到上述確認(rèn)命令后,把自身的分組號與最近一次返回的16位隨機(jī)數(shù)與讀寫 器確認(rèn)命令參數(shù)進(jìn)行比較,如果相等,則將其清點(diǎn)標(biāo)志位置1,如果不相等,清點(diǎn)標(biāo)志位不 變;讀寫器清點(diǎn)完所有單標(biāo)簽組中的標(biāo)簽后,跳到步驟5 ;步驟5 讀寫器清點(diǎn)所有多標(biāo)簽組中的標(biāo)簽;對于某個(gè)給定的多標(biāo)簽組,讀寫器清點(diǎn)其中所有標(biāo)簽的步驟如下第(一)步讀寫器將該標(biāo)簽組中的所有標(biāo)簽65536分裂;讀寫器發(fā)送以該標(biāo)簽組號為參數(shù)的分裂命令;標(biāo)簽收到上述分裂命令后,將自身分組號與分裂命令參數(shù)進(jìn)行比較,如果比較結(jié)果為 相等,則在
范圍內(nèi)選擇一個(gè)16位的隨機(jī)數(shù),并將該16位隨機(jī)數(shù)標(biāo)記為其臨時(shí)ID 號,如果不相等,標(biāo)簽不響應(yīng);第(二)步讀寫器按照基于標(biāo)簽ID號的二叉樹搜索方式,對該標(biāo)簽組中的所有標(biāo)簽進(jìn) 行清點(diǎn);讀寫器發(fā)送查詢命令,標(biāo)簽返回其臨時(shí)ID號;如果讀寫器接收到了正確的16位隨機(jī) 數(shù),則讀寫器可發(fā)送確認(rèn)命令使該標(biāo)簽的清點(diǎn)標(biāo)志位置1 ;讀寫器清點(diǎn)完該標(biāo)簽組中的所有標(biāo)簽后,進(jìn)入下一個(gè)多標(biāo)簽組的清點(diǎn)過程; 讀寫器清點(diǎn)完所有多標(biāo)簽組中的標(biāo)簽后,清點(diǎn)過程結(jié)束。
2.根據(jù)權(quán)利要求1所述的混合式的多標(biāo)簽防碰撞方法,其特征在于,具有碰撞位檢測 能力的編碼方式是Manchester編碼方式。
全文摘要
本發(fā)明提供一種混合式的標(biāo)簽防碰撞方法,應(yīng)用于射頻識別系統(tǒng)中。其技術(shù)方案包括下述步驟步驟1讀寫器初始化隨機(jī)分組參數(shù);步驟2讀寫器復(fù)位標(biāo)簽清點(diǎn)標(biāo)志位并將標(biāo)簽隨機(jī)分組;步驟3讀寫器獲取標(biāo)簽分組信息,在此步驟中,讀寫器判斷是否存在單標(biāo)簽組,如果存在,跳到步驟4,如果不存在,將重新設(shè)置隨機(jī)分組參數(shù),并返回步驟2;步驟4讀寫器清點(diǎn)所有單標(biāo)簽組中的標(biāo)簽;步驟5讀寫器清點(diǎn)所有多標(biāo)簽組中的標(biāo)簽。本發(fā)明可減小射頻識別系統(tǒng)的數(shù)據(jù)傳輸量,提高系統(tǒng)清點(diǎn)標(biāo)簽的效率。
文檔編號G06K17/00GK102073889SQ20111000797
公開日2011年5月25日 申請日期2011年1月14日 優(yōu)先權(quán)日2011年1月14日
發(fā)明者任天鵬, 唐朝京, 莊釗文, 李建成, 楊青, 王宏義, 許拔 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)