專利名稱:基于多叉樹的無線無源傳感系統(tǒng)防沖突方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線無源傳感技術(shù),尤其涉及一種基于多叉樹的無線無源傳感 系統(tǒng)防沖突方法。
背景技術(shù):
無線無源傳感系統(tǒng)是一個(gè)新興的研究方向,它具有廣泛的應(yīng)用前景和較高 的應(yīng)用價(jià)值?,F(xiàn)階段的無線傳感器以無線有源傳感器為主,該技術(shù)采用傳感器 標(biāo)簽自帶電池供電。由于電池電量有限,尤其在一些惡劣的環(huán)境條件下工作壽 命將大大減小,因此傳感器標(biāo)簽的無源化是無線傳感器系統(tǒng)的一個(gè)理想的發(fā)展 趨勢(shì)。
目前無線無源傳感系統(tǒng)的研究主要包括SAW (聲表面波)傳感系統(tǒng)和RFID (射頻識(shí)別)標(biāo)簽式的無線無源傳感系統(tǒng)兩類。SAW在壓電基底表面?zhèn)鞑r(shí), SAW的傳播特性會(huì)隨著壓電基片表面的物理參數(shù)的變化而變化,無線無源SAW 傳感系統(tǒng)就是利用該原理測(cè)量物理參數(shù),并通過電磁波信號(hào),將被測(cè)物理參數(shù) 以模擬量的形式發(fā)送給接收器。無線無源SAW傳感系統(tǒng)對(duì)于傳感器的設(shè)計(jì)要求 及依賴程度很高,使用的靈活性較差。
RFID標(biāo)簽式的無線無源傳感系統(tǒng)由閱讀器和傳感器標(biāo)簽組成,可采用數(shù)字 式的傳感器,傳感器標(biāo)簽從閱讀器以無線的方式獲得能量,并將檢測(cè)信號(hào)無線 地發(fā)送給閱讀器。相對(duì)而言,它的傳感器標(biāo)簽的成本可以更低,傳感器的種類 可以更多,應(yīng)用也將更加靈活。這類產(chǎn)品可用于密閉容器內(nèi)物理參數(shù)的測(cè)量、 食品或水質(zhì)的檢測(cè)、環(huán)境監(jiān)測(cè)等。例如將該感應(yīng)器標(biāo)簽粘貼在牛奶紙盒上,通 過紙盒上的這個(gè)傳感器來測(cè)量牛奶中細(xì)菌的含量,閱讀器接收測(cè)量信息,并判 斷牛奶是否變質(zhì)。
RFID標(biāo)簽式的無線無源傳感系統(tǒng)的工作時(shí)由閱讀器周期的廣播自己的信 號(hào),進(jìn)入閱讀器感應(yīng)范圍的傳感器標(biāo)簽將獲得運(yùn)行的能量而被激活,并根據(jù)收 到的閱讀器信號(hào),將按照一定的協(xié)議規(guī)定發(fā)送自己的要發(fā)送的信號(hào)。由于所有 傳感器標(biāo)簽發(fā)送的信號(hào)使用的是同一個(gè)信道,如果在同一時(shí)刻有多個(gè)傳感器標(biāo) 簽發(fā)出信號(hào),將在該信道上產(chǎn)生信號(hào)沖突從而造成閱讀器無法正確地識(shí)別標(biāo)簽
5返回的信號(hào)。
針對(duì)上述的多傳感器標(biāo)簽應(yīng)答沖突問題的解決通常有4種方式TDMA時(shí)
分多址、SDMA空分多址、FDMA頻分多址、CDMA碼分多址。其中,TDMA時(shí) 分多址方式由于應(yīng)用簡(jiǎn)單,容易實(shí)現(xiàn)大量標(biāo)簽的讀寫,所以被多數(shù)防沖撞算法 采用。現(xiàn)有的RFID系統(tǒng)多標(biāo)簽沖突解決方案主要包括Aloha算法和二叉樹算 法兩種,兩者均屬于TDMA方式,其中Aloha算法的主要原理是通過標(biāo)簽隨機(jī) 地選擇發(fā)送信號(hào)的時(shí)間來避免沖突,而二叉樹算法則是通過閱讀器對(duì)應(yīng)答的電 子標(biāo)簽進(jìn)行分類來避免沖突。Aloha算法又可分為純Aloha、時(shí)隙Aloha (Slotted Aloha)、幀隙Aloha (Frame-slotted Aloha)等??傮w而言Aloha算法的隨機(jī)性較大, 當(dāng)大量標(biāo)簽并存時(shí),幀沖突嚴(yán)重,引起性能急劇惡化。二叉樹算法也有動(dòng)態(tài)二 進(jìn)制算法、后退式二叉樹搜索算法以及其他形式的優(yōu)化二叉樹算法等。相對(duì)而 言二叉樹算法的理論性能要優(yōu)于Aloha算法,但是二叉樹方法需要標(biāo)簽回復(fù)大 量的二進(jìn)制ID碼,應(yīng)答時(shí)序較長(zhǎng),容易產(chǎn)生誤碼。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)方法的不足,提供一種基于多叉樹的無線無 源傳感系統(tǒng)防沖突方法。
本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的 一種基于多叉樹的無線無源 傳感系統(tǒng)防沖突方法,無線無源傳感系統(tǒng)主要由單個(gè)閱讀器和多個(gè)傳感器標(biāo)簽 組成,閱讀器和傳感器標(biāo)簽均包括控制器,傳感器標(biāo)簽包含一個(gè)n位的二進(jìn)制 ID號(hào),將該二進(jìn)制ID號(hào)表示為一個(gè)k位的m進(jìn)制ID號(hào),傳感器標(biāo)簽的控制器 中包含一個(gè)可讀寫的p位的沖突標(biāo)識(shí)數(shù)和一個(gè)q位的計(jì)數(shù)器,p為大于或等于 log2k的最小整數(shù),k為傳感器標(biāo)簽m進(jìn)制ID號(hào)的位數(shù),q為大于或等于k^m的 最小整數(shù)。閱讀器的控制器中包含一個(gè)q位的計(jì)數(shù)器和一個(gè)最大深度為 (m-l),(k-l)的堆棧;該方法包括以下步驟
(1) 閱讀器發(fā)送初始化命令,將傳感器標(biāo)簽激活并初始化;
(2) 傳感器標(biāo)簽的ID號(hào)以m進(jìn)制的形式表示為k位,閱讀器由高位到;f氐位 依次査詢待識(shí)別傳感器標(biāo)簽的每一位m進(jìn)制ID號(hào);
(3) 如果閱讀器檢測(cè)到傳感器標(biāo)簽的某一位m進(jìn)制ID號(hào)有沖突,則對(duì)沖突 的各值依次輪換進(jìn)行查詢;
(4 )傳感器標(biāo)簽根據(jù)自身的狀態(tài)及參數(shù)來對(duì)閱讀器的各個(gè)指令做出狀態(tài)的 切換及參數(shù)的改變。進(jìn)一步地,所述步驟(1)中,將傳感器標(biāo)簽激活并初始化是將所有待識(shí)別 傳感器標(biāo)簽的沖突標(biāo)識(shí)清零,并由初始狀態(tài)進(jìn)入就緒狀態(tài)。
進(jìn)一步地,所述步驟(2)中,閱讀器由高位到低位依次査詢待識(shí)別傳感器 標(biāo)簽的每一位m進(jìn)制ID號(hào)是指,傳感器標(biāo)簽每次發(fā)送一位m進(jìn)制ID號(hào)時(shí),只 發(fā)送尚未發(fā)送過的最高一位m進(jìn)制ID號(hào)。其中傳感器標(biāo)簽發(fā)送一位m進(jìn)制ID 號(hào),包括以下步驟
a. 閱讀器發(fā)"一位m進(jìn)制ID號(hào)査詢指令",閱讀器計(jì)數(shù)器以一定的周期從 0開始計(jì)數(shù)。處于就緒狀態(tài)的傳感器標(biāo)簽收到指令進(jìn)入發(fā)送尚未發(fā)送過的最高一 位m進(jìn)制ID號(hào)狀態(tài),傳感器標(biāo)簽計(jì)數(shù)器也以相同的周期從0開始和閱讀器同步 計(jì)數(shù)。
b. 閱讀器在每個(gè)周期檢測(cè)有無傳感器標(biāo)簽應(yīng)答,若收到應(yīng)答信號(hào),則記錄下 計(jì)時(shí)數(shù)值,即為應(yīng)答傳感器標(biāo)簽所發(fā)的該位m進(jìn)制ID號(hào)。傳感器標(biāo)簽和閱讀器 同步計(jì)數(shù),當(dāng)傳感器標(biāo)簽計(jì)數(shù)器的值與它要發(fā)送的該位m進(jìn)制ID號(hào)相等時(shí),該 傳感器標(biāo)簽發(fā)送一位應(yīng)答信號(hào)。
c. 當(dāng)閱讀器和傳感器標(biāo)簽的計(jì)數(shù)器滿,即計(jì)完m個(gè)周期,傳感器標(biāo)簽退回 就緒狀態(tài),監(jiān)聽閱讀器指令, 一位m進(jìn)制ID號(hào)査詢過程結(jié)束。
進(jìn)一步地,所述步驟(3)中,對(duì)沖突的各值依次輪換進(jìn)行查詢,是采用將 部分沖突傳感器標(biāo)簽入棧出桟來實(shí)現(xiàn)的,具體步驟包括
a. 閱讀器在一次一位m進(jìn)制ID號(hào)查詢過程中收到兩個(gè)或以上的一位m進(jìn)制 ID號(hào)應(yīng)答,則除了最小的應(yīng)答值,其余的應(yīng)答值連同該位的位序號(hào)一起,根據(jù) 應(yīng)答值由大到小的順序依次入棧。
b. 閱讀器發(fā)"沖突標(biāo)識(shí)加一指令",格式為"指令+—位m進(jìn)制ID號(hào)",其 中的一位m進(jìn)制ID號(hào)為前一步中最小的應(yīng)答值。傳感器標(biāo)簽接收到指令后核對(duì) 自身是否沖突標(biāo)識(shí)為0且最后發(fā)送的一位m進(jìn)制ID號(hào)與指令中的一位m進(jìn)制 ID號(hào)相同,如果是則不動(dòng)作,否則沖突標(biāo)識(shí)加l,進(jìn)入沖突狀態(tài)。
c. 當(dāng)閱讀器完成一個(gè)或幾個(gè)傳感器標(biāo)簽的最后一位m進(jìn)制ID號(hào)的查詢后, 判斷堆桟是否為空,如果堆棧為空,則所有傳感器標(biāo)簽査詢結(jié)束,否則從堆棧 中彈出一位m進(jìn)制ID號(hào)和一個(gè)位序號(hào)。
d. 如果該彈出的位序號(hào)與堆棧中下一個(gè)位序號(hào)相同,即表示該位m進(jìn)制ID 號(hào)仍有沖突,閱讀器發(fā)送"含沖突減一指令",格式為"指令+—位m進(jìn)制ID 號(hào)",其中的一位m進(jìn)制ID號(hào)為前一步中從堆桟中彈出的一位m進(jìn)制ID號(hào)。 處于沖突狀態(tài)的傳感器標(biāo)簽接收到該指令后核對(duì)自身是否沖突標(biāo)識(shí)為1且最后 發(fā)送的一位ID號(hào)與指令中的一位m進(jìn)制ID號(hào)相同,如果是則沖突標(biāo)識(shí)減1,否則不動(dòng)作。處于就緒狀態(tài)的傳感器標(biāo)簽接收到該指令后進(jìn)入休眠狀態(tài)。
e.如果步驟c中彈出的一位序號(hào)與堆棧中下一個(gè)位序號(hào)不同,即表示該位m 進(jìn)制ID號(hào)己無沖突,閱讀器發(fā)送"無沖突減一指令"。處于沖突狀態(tài)的傳感器 標(biāo)簽接收到該指令后沖突標(biāo)識(shí)減1,處于就緒狀態(tài)的傳感器標(biāo)簽接收到該指令后 進(jìn)入休眠狀態(tài)。
進(jìn)一步地,所述步驟(4)中,傳感器標(biāo)簽根據(jù)自身的狀態(tài)及參數(shù)來對(duì)閱讀 器的各個(gè)指令做出狀態(tài)的切換及參數(shù)的改變中,傳感器標(biāo)簽的狀態(tài)包括初始 狀態(tài)、就緒狀態(tài)、發(fā)送一位m進(jìn)制ID號(hào)狀態(tài)、沖突狀態(tài)和休眠狀態(tài),狀態(tài)的切 換及參數(shù)的改變具體包括
a. 處于初始狀態(tài)和休眠狀態(tài)的傳感器標(biāo)簽收到初始化指令后,將沖突標(biāo)識(shí)清 0,并進(jìn)入就緒狀態(tài)。
b. 處于就緒狀態(tài)的傳感器標(biāo)簽接收到"一位m進(jìn)制ID號(hào)査詢指令"后進(jìn)入 發(fā)送一位m進(jìn)制ID號(hào)狀態(tài),并在m個(gè)計(jì)數(shù)結(jié)束后自動(dòng)回到就緒狀態(tài)。
c. 處于就緒狀態(tài)的傳感器標(biāo)簽接收到"沖突標(biāo)識(shí)加一指令"后,核對(duì)自身是 否沖突標(biāo)識(shí)為0且最后發(fā)送的一位m進(jìn)制ID號(hào)與指令中的一位m進(jìn)制ID號(hào)相 同,如果是則不動(dòng)作,否則沖突標(biāo)識(shí)加l,進(jìn)入沖突狀態(tài)。
d. 處于沖突狀態(tài)的傳感器標(biāo)簽接收到"無沖突減一指令"或接收到"含沖突 減一指令"并且自身沖突標(biāo)識(shí)為1且最后發(fā)送的一位m進(jìn)制ID號(hào)與指令中的 一位m進(jìn)制ID號(hào)相同,則沖突標(biāo)識(shí)減l。若沖突標(biāo)識(shí)減為0,則進(jìn)入就緒狀態(tài)。
e. 處于就緒狀態(tài)的傳感器標(biāo)簽接收到"無沖突減一指令"或"含沖突減一指 令"后進(jìn)入休眠狀態(tài)。
本發(fā)明的有益效果是
1、 減少査詢次數(shù),由于采用了多進(jìn)制的編碼方式,并且通過傳感器標(biāo)簽的 沖突標(biāo)識(shí)對(duì)傳感器標(biāo)簽的發(fā)送時(shí)機(jī)進(jìn)行控制,實(shí)現(xiàn)了高效的多叉樹遍歷査詢, 減少了査詢及傳感器標(biāo)簽回復(fù)的次數(shù)。
2、 降低誤碼率,傳感器標(biāo)簽的ID號(hào)采用多進(jìn)制的方式發(fā)送,較二進(jìn)制即 二叉樹及其改進(jìn)算法相比,傳感器標(biāo)簽不用發(fā)送大量的二進(jìn)制ID碼,而是將數(shù) 據(jù)在發(fā)送的時(shí)間上體現(xiàn),可以降低數(shù)據(jù)的誤碼率。
3、 可同時(shí)工作的傳感器標(biāo)簽數(shù)多,該方法理論上可以同時(shí)查詢所有不同ID 號(hào)的傳感器標(biāo)簽,即最多m.k個(gè)傳感器標(biāo)簽。
4、 邏輯簡(jiǎn)單,容易實(shí)現(xiàn),該方法的傳感器標(biāo)簽的狀態(tài)少,識(shí)別過程的邏輯 簡(jiǎn)單,傳感器標(biāo)簽使用資源較少,容易實(shí)現(xiàn)。
5、 降低傳感器標(biāo)簽功耗,本發(fā)明將主要的數(shù)據(jù)處理及控制任務(wù)交于閱讀器,減少了傳感器標(biāo)簽的處理及數(shù)據(jù)發(fā)送量,傳感器標(biāo)簽的算法復(fù)雜度很低,降低 了傳感器標(biāo)簽功耗。
圖1是本發(fā)明閱讀器和傳感器標(biāo)簽的無線供電和通信的示意圖2是本發(fā)明中閱讀器的結(jié)構(gòu)示意圖3是本發(fā)明中傳感器標(biāo)簽的結(jié)構(gòu)示意圖4是本發(fā)明在閱讀器上的執(zhí)行框圖5是本發(fā)明中對(duì)一個(gè)多進(jìn)制位查詢的閱讀器執(zhí)行框圖6是本發(fā)明中傳感器標(biāo)簽的狀態(tài)轉(zhuǎn)換圖7是本發(fā)明的一個(gè)具體實(shí)例的m叉樹示意圖8是本發(fā)明的一個(gè)具體實(shí)例中閱讀器和傳感器標(biāo)簽的參數(shù)變化示意圖。
具體實(shí)施例方式
本發(fā)明提供的一種基于多叉樹的無線無源傳感系統(tǒng)防沖突方法,具體應(yīng)用 于單個(gè)閱讀器和多個(gè)傳感器標(biāo)簽組成的無線無源傳感系統(tǒng)中,如圖1所示。系
統(tǒng)工作時(shí)由閱讀器發(fā)送能量和信號(hào),傳感器標(biāo)簽通過標(biāo)簽線圈與閱讀器線圈耦 合,以電磁感應(yīng)的方式獲得能量和信號(hào),并根據(jù)接收的信號(hào)以副載波調(diào)制的方 式做出應(yīng)答或?qū)鞲行畔l(fā)送給閱讀器。
閱讀器的硬件結(jié)構(gòu)組成包括直流輸入、逆變電路、逆變控制芯片、閱讀器 線圈、選頻放大電路、解調(diào)電路、控制器以及通信接口,結(jié)構(gòu)示意圖如圖2所 示。其中逆變電路可采用半橋式逆變電路,工作頻率可為l.OMHz,逆變控制芯 片可選用專用于半橋式逆變電路的UC3825芯片,閱讀器發(fā)射信號(hào)的調(diào)制在逆變 控制芯片上完成,可采用20。/。的ASK調(diào)制。閱讀器線圈可選用LC并聯(lián)諧振電 路,諧振頻率為逆變電路的工作頻率。選頻放大電路和解調(diào)電路用于解調(diào)傳感 器標(biāo)簽發(fā)出的副載波調(diào)制信號(hào),選頻放大電路的選擇頻率為副載波頻率,如 0.875MHz。通信接口可選用RS232串行通信接口,用于和上位機(jī)通信??刂破?可選用AVR系列的ATMAGE48單片機(jī),閱讀器與傳感器標(biāo)簽之間通信的編碼 和解碼工作也由控制器完成,可采用2Kbit/s的曼徹斯特編碼??刂破鬟€包括一 個(gè)q位的計(jì)數(shù)器和一個(gè)最大深度為(m-l).(k-l)的堆棧,其中k為傳感器標(biāo)簽m 進(jìn)制ID號(hào)的位數(shù),q為大于或等于k^m的最小整數(shù)。傳感器標(biāo)簽的硬件結(jié)構(gòu)組成包括標(biāo)簽線圈、穩(wěn)壓電源、解調(diào)電路、分頻器、
副載波調(diào)制電路、控制器、傳感器、n位ID號(hào)ROM,它們的結(jié)構(gòu)示意圖如圖3 所示。其中標(biāo)簽線圈可選用LC并聯(lián)諧振電路,用于磁場(chǎng)能量的接受和信號(hào)的收 發(fā)。穩(wěn)壓電源包括整流、濾波和穩(wěn)壓電路,用于給傳感器標(biāo)簽電路供電。解調(diào) 電路用于解調(diào)閱讀器發(fā)出的20%的ASK調(diào)制信號(hào)。分頻器和副載波調(diào)制電路則 用于將控制器要發(fā)送的信號(hào)進(jìn)行副載波調(diào)制,分頻器可選用8分頻,如閱讀器 發(fā)射的信號(hào)為l.OMHz,則副載波調(diào)制信號(hào)的頻率為0.875MHz和1.125 MHz。 傳感器可選用DALLAS公司的單線總線數(shù)字式傳感器,如DS18B20溫度傳感器。 ID號(hào)ROM用于保存?zhèn)鞲衅鳂?biāo)簽唯一的n位二進(jìn)制ID號(hào)。控制器可選用AVR 系列的ATTINY24單片機(jī),同時(shí)兼負(fù)責(zé)傳感器標(biāo)簽與閱讀器通信的編碼和解碼。 此外,控制器還包含一個(gè)可讀寫的p位的沖突標(biāo)識(shí)數(shù)和一個(gè)q位的計(jì)數(shù)器,p為 大于或等于bg,k的最小整數(shù)。
本發(fā)明提供了一種基于多叉樹的無線無源傳感系統(tǒng)防沖突方法,該方法包 括以下步驟
1、 閱讀器發(fā)送初始化命令,將傳感器標(biāo)簽激活并初始化。
將傳感器標(biāo)簽激活并初始化是將所有待識(shí)別傳感器標(biāo)簽的沖突標(biāo)識(shí)清零, 并由初始狀態(tài)進(jìn)入就緒狀態(tài)。
2、 傳感器標(biāo)簽的ID號(hào)以m進(jìn)制的形式表示為k位,閱讀器由高位到低位依次 査詢待識(shí)別傳感器標(biāo)簽的每一位m進(jìn)制ID號(hào)。
閱讀器由高位到低位依次査詢待識(shí)別傳感器標(biāo)簽的每一位m進(jìn)制ID號(hào)是 指,傳感器標(biāo)簽每次發(fā)送一位m進(jìn)制ID號(hào)時(shí),只發(fā)送尚未發(fā)送過的最高一位m 進(jìn)制ID號(hào)。其中傳感器標(biāo)簽發(fā)送一位m進(jìn)制ID號(hào),包括以下步驟
a. 閱讀器發(fā)"一位m進(jìn)制ID號(hào)查詢指令",閱讀器計(jì)數(shù)器以一定的周期從0 開始計(jì)數(shù)。處于就緒狀態(tài)的傳感器標(biāo)簽收到指令進(jìn)入發(fā)送尚未發(fā)送過的最高一 位m進(jìn)制ID號(hào)狀態(tài),傳感器標(biāo)簽計(jì)數(shù)器也以相同的周期從0開始和閱讀器同步 計(jì)數(shù)。
b. 閱讀器在每個(gè)周期檢測(cè)有無傳感器標(biāo)簽應(yīng)答,若收到應(yīng)答信號(hào),則記錄下 計(jì)時(shí)數(shù)值,即為應(yīng)答傳感器標(biāo)簽所發(fā)的該位m進(jìn)制ID號(hào)。傳感器標(biāo)簽和閱讀器 同步計(jì)數(shù),當(dāng)傳感器標(biāo)簽計(jì)數(shù)器的值與它要發(fā)送的該位m進(jìn)制ID號(hào)相等時(shí),該 傳感器標(biāo)簽發(fā)送一位應(yīng)答信號(hào)。 ,
c. 當(dāng)閱讀器和傳感器標(biāo)簽的計(jì)數(shù)器滿,即計(jì)完m個(gè)周期,傳感器標(biāo)簽退回就 緒狀態(tài),監(jiān)聽閱讀器指令, 一位m進(jìn)制ID號(hào)查詢過程結(jié)束。
3、 如果閱讀器檢測(cè)到傳感乾標(biāo)簽的某一位m進(jìn)制ID號(hào)有沖突,則對(duì)沖突的各值依次輪換進(jìn)行査詢。
對(duì)沖突的各值依次輪換進(jìn)行查詢,是采用將部分沖突傳感器標(biāo)簽入棧出棧 來實(shí)現(xiàn)的,具體步驟包括
a. 閱讀器在一次一位m進(jìn)制ID號(hào)查詢過程中收到兩個(gè)或以上的一位m進(jìn)制 ID號(hào)應(yīng)答,則除了最小的應(yīng)答值,其余的應(yīng)答值連同該位的位序號(hào)一起,根據(jù) 應(yīng)答值由大到小的順序依次入桟。
b. 閱讀器發(fā)"沖突標(biāo)識(shí)加一指令",格式為"指令+—位m進(jìn)制ID號(hào)",其 中的一位m進(jìn)制ID號(hào)為前一步中最小的應(yīng)答值。傳感器標(biāo)簽接收到指令后核對(duì) 自身是否沖突標(biāo)識(shí)為0且最后發(fā)送的一位m進(jìn)制ID號(hào)與指令中的一位m進(jìn)制 ID號(hào)相同,如果是則不動(dòng)作,否則沖突標(biāo)識(shí)加l,進(jìn)入沖突狀態(tài)。
c. 當(dāng)閱讀器完成一個(gè)或幾個(gè)傳感器標(biāo)簽的最后一位m進(jìn)制ID號(hào)的査詢后, 判斷堆棧是否為空,如果堆棧為空,則所有傳感器標(biāo)簽查詢結(jié)束,否則從堆棧 中彈出一位m進(jìn)制ID號(hào)和一個(gè)位序號(hào)。
d. 如果該彈出的位序號(hào)與堆棧中下一個(gè)位序號(hào)相同,即表示該位m進(jìn)制ID 號(hào)仍有沖突,閱讀器發(fā)送"含沖突減一指令",格式為"指令+—位m進(jìn)制ID 號(hào)",其中的一位m進(jìn)制ID號(hào)為前一步中從堆棧中彈出的一位m進(jìn)制ID號(hào)。 處于沖突狀態(tài)的傳感器標(biāo)簽接收到該指令后核對(duì)自身是否沖突標(biāo)識(shí)為1且最后 發(fā)送的一位ID號(hào)與指令中的一位m進(jìn)制ID號(hào)相同,如果是則沖突標(biāo)識(shí)減1, 否則不動(dòng)作。處于就緒狀態(tài)的傳感器標(biāo)簽接收到該指令后進(jìn)入休眠狀態(tài)。
e.如果步驟c中彈出的一位序號(hào)與堆棧中下一個(gè)位序號(hào)不同,即表示該位m 進(jìn)制ID號(hào)已無沖突,閱讀器發(fā)送"無沖突減一指令"。處于沖突狀態(tài)的傳感器 標(biāo)簽接收到該指令后沖突標(biāo)識(shí)減1,處于就緒狀態(tài)的傳感器標(biāo)簽接收到該指令后 進(jìn)入休眠狀態(tài)。
4、傳感器標(biāo)簽根據(jù)自身的狀態(tài)及參數(shù)來對(duì)閱讀器的各個(gè)指令做出狀態(tài)的切換及 參數(shù)的改變。
傳感器標(biāo)簽根據(jù)自身的狀態(tài)及參數(shù)來對(duì)閱讀器的各個(gè)指令做出狀態(tài)的切換 及參數(shù)的改變中,傳感器標(biāo)簽的狀態(tài)包括初始狀態(tài)、就緒狀態(tài)、發(fā)送一位m 進(jìn)制ID號(hào)狀態(tài)、沖突狀態(tài)和休眠狀態(tài),狀態(tài)的切換及參數(shù)的改變具體包括
a. 處于初始狀態(tài)和休眠狀態(tài)的傳感器標(biāo)簽收到初始化指令后,將沖突標(biāo)識(shí)清 0,并進(jìn)入就緒狀態(tài)。
b. 處于就緒狀態(tài)的傳感器標(biāo)簽接收到"一位m進(jìn)制ID號(hào)查詢指令"后進(jìn)入 發(fā)送一位m進(jìn)制ID號(hào)狀態(tài),并在m個(gè)計(jì)數(shù)結(jié)束后自動(dòng)回到就緒狀態(tài)。
c. 處于就緒狀態(tài)的傳感器標(biāo)簽接收到"沖突標(biāo)識(shí)加一指令"后,核對(duì)自身是否沖突標(biāo)識(shí)為0且最后發(fā)送的一位m進(jìn)制ID號(hào)與指令中的一位m進(jìn)制ID號(hào)相 同,如果是則不動(dòng)作,否則沖突標(biāo)識(shí)加l,進(jìn)入沖突狀態(tài)。
d. 處于沖突狀態(tài)的傳感器標(biāo)簽接收到"無沖突減一指令"或接收到"含沖突 減一指令"并且自身沖突標(biāo)識(shí)為1且最后發(fā)送的一位m進(jìn)制ID號(hào)與指令中的 一位m進(jìn)制ID號(hào)相同,則沖突標(biāo)識(shí)減l。若沖突標(biāo)識(shí)減為0,則進(jìn)入就緒狀態(tài)。
e. 處于就緒狀態(tài)的傳感器標(biāo)簽接收到"無沖突減一指令"或"含沖突減一指 令"后進(jìn)入休眠狀態(tài)。
具體來說,本發(fā)明提供的一種基于多叉樹的無線無源傳感系統(tǒng)防沖突方法, 其中的多叉樹是采用ID號(hào)多進(jìn)制編碼的方式實(shí)現(xiàn),這里以m進(jìn)制,即m叉樹 進(jìn)行說明。下面對(duì)本發(fā)明的具體實(shí)施的步驟進(jìn)行闡述,如附圖4所示,本發(fā)明 在閱讀器上的執(zhí)行步驟及相應(yīng)的傳感器標(biāo)簽動(dòng)作情況如下
1. 閱讀器發(fā)送初始化命令,將傳感器標(biāo)簽激活并清零沖突標(biāo)識(shí),所有傳感 器標(biāo)簽進(jìn)入就緒狀態(tài)。
2. 閱讀器進(jìn)行一位m進(jìn)制ID號(hào)查詢,處于就緒狀態(tài)的傳感器標(biāo)簽發(fā)送各 自的一位m進(jìn)制ID號(hào)。
該步驟具體如附圖2所示,包括以下步驟
a. 閱讀器發(fā)"一位m進(jìn)制ID號(hào)查詢指令",閱讀器計(jì)數(shù)器以一定的周期從 0開始計(jì)數(shù)。處于就緒狀態(tài)的傳感器標(biāo)簽收到指令進(jìn)入發(fā)送尚未發(fā)送過的最高一 位m進(jìn)制ID號(hào)狀態(tài),傳感器標(biāo)簽計(jì)數(shù)器也以相同的周期從0開始和閱讀器同步 計(jì)數(shù)。
b. 閱讀器在每個(gè)周期檢測(cè)有無傳感器標(biāo)簽應(yīng)答,若收到應(yīng)答信號(hào),則記錄下 計(jì)時(shí)數(shù)值,即為應(yīng)答傳感器標(biāo)簽所發(fā)的該位m進(jìn)制ID號(hào)。傳感器標(biāo)簽和閱讀器 同步計(jì)數(shù),當(dāng)傳感器標(biāo)簽計(jì)數(shù)器的值與它要發(fā)送的該位m進(jìn)制ID號(hào)相等時(shí),該 傳感器標(biāo)簽發(fā)送一位應(yīng)答信號(hào)。
c. 當(dāng)閱讀器和傳感器標(biāo)簽的計(jì)數(shù)器滿,即計(jì)完m個(gè)周期,傳感器標(biāo)簽退回 就緒狀態(tài),監(jiān)聽閱讀器指令, 一位m進(jìn)制ID號(hào)査詢過程結(jié)束。
3. 閱讀器接收到一個(gè)或多個(gè)一位m進(jìn)制ID號(hào)應(yīng)答,判斷該位是否是傳感 器標(biāo)簽的最后一位m進(jìn)制ID號(hào),若是,則轉(zhuǎn)入步驟7。
4. 閱讀器判斷是否接收到多個(gè)一位m進(jìn)制ID號(hào)應(yīng)答,即應(yīng)答的傳感器標(biāo) 簽有無沖突,若無沖突,即只有一個(gè)應(yīng)答,則轉(zhuǎn)入步驟2。
5. 若閱讀器在收到多個(gè)一位m進(jìn)制ID號(hào)應(yīng)答,則除了最小的應(yīng)答值,其 余的應(yīng)答值連同該位的位序號(hào)一起,根據(jù)應(yīng)答值由大到小的順序依次入棧。
6. 閱讀器發(fā)"沖突標(biāo)識(shí)加一指令",格式為"指令+—位m進(jìn)制ID號(hào)",其中的一位m進(jìn)制ID號(hào)為前一步中最小的一位m進(jìn)制ID號(hào)應(yīng)答值。傳感器標(biāo)簽 接收到指令后核對(duì)自身是否沖突標(biāo)識(shí)為0且最后發(fā)送的一位m進(jìn)制ID號(hào)與指令 中的一位m進(jìn)制ID號(hào)相同,如果是則不動(dòng)作,否則沖突標(biāo)識(shí)加l,進(jìn)入沖突狀 態(tài)。然后轉(zhuǎn)入步驟2。
7. 閱讀器判斷堆棧是否為空,若為空,則表示所有傳感器標(biāo)簽均已查詢, 結(jié)束本次查詢。
8. 若閱讀器判斷堆棧不為空,則從堆棧中彈出一位m進(jìn)制ID號(hào)和一個(gè)位 序號(hào)。
9. 閱讀器判斷該彈出的位序號(hào)與堆棧中下一個(gè)位序號(hào)是否相同,即該m進(jìn) 制位是否還有沖突,如果不相同或者堆棧中下一個(gè)位序號(hào)為空,即該位已無沖 突,轉(zhuǎn)入步驟ll。
10. 該m進(jìn)制位仍有沖突,閱讀器發(fā)"含沖突減一指令",格式為"指令+ 一位m進(jìn)制ID號(hào)",其中的一位m進(jìn)制ID號(hào)為前一步中從堆棧中彈出的一位 m進(jìn)制ID號(hào)。處于沖突狀態(tài)的傳感器標(biāo)簽接收到該指令后核對(duì)自身是否沖突標(biāo) 識(shí)為1且最后發(fā)送的一位m進(jìn)制ID號(hào)與指令中的一位m進(jìn)制ID號(hào)相同,如果 是則沖突標(biāo)識(shí)減l,否則不動(dòng)作。處于就緒狀態(tài)的傳感器標(biāo)簽接收到該指令后進(jìn) 入休眠狀態(tài)。然后轉(zhuǎn)入步驟2。
11. 閱讀器發(fā)"無沖突減一指令",處于沖突狀態(tài)的傳感器標(biāo)簽接收到該指 令后沖突標(biāo)識(shí)減1,處于就緒狀態(tài)的傳感器標(biāo)簽接收到該指令后進(jìn)入休眠狀態(tài)。 然后轉(zhuǎn)入步驟2。
實(shí)施例 .
為了更清晰地描述本方法的操作流程,下面結(jié)合實(shí)例及附圖4對(duì)本發(fā)明進(jìn) 行具體闡述。
假設(shè)有6個(gè)傳感器標(biāo)簽,它們的二進(jìn)制ID號(hào)為12位,現(xiàn)采用16叉樹即16 進(jìn)制的方式進(jìn)行查詢。6個(gè)傳感器標(biāo)簽的二進(jìn)制ID號(hào)和16進(jìn)制ID號(hào)分別如下 一號(hào)傳感器標(biāo)簽:001001100011 (二進(jìn)制),263 (16進(jìn)制); 二號(hào)傳感器標(biāo)簽001001001010 (二進(jìn)制),24A (16進(jìn)制); 三號(hào)傳感器標(biāo)簽:101100101001 (二進(jìn)制),B29 (16進(jìn)制); 四號(hào)傳感器標(biāo)簽110111000001 (二進(jìn)制),DC1 (16進(jìn)制); 五號(hào)傳感器標(biāo)簽:001001000111 (二進(jìn)制),247 (16進(jìn)制); 六號(hào)傳感器標(biāo)簽110111001000 (二進(jìn)制),DC8 (16進(jìn)制)。 本方法在該例中的執(zhí)行步驟如下1、 閱讀器發(fā)送初始化命令,所有傳感器標(biāo)簽清零沖突標(biāo)識(shí),進(jìn)入就緒狀態(tài)。
2、 閱讀器發(fā)送"一位m進(jìn)制ID號(hào)査詢指令",所有傳感器標(biāo)簽均處于就緒 狀態(tài),則都進(jìn)入發(fā)送一位m進(jìn)制ID號(hào)狀態(tài),并發(fā)送16進(jìn)制ID號(hào)的第1位(最 高位)。具體發(fā)送方式為閱讀器和傳感器標(biāo)簽以相同的周期從O開始計(jì)數(shù),當(dāng) 傳感器標(biāo)簽計(jì)數(shù)器的值與它要發(fā)送的該位16進(jìn)制ID號(hào)相等時(shí),該傳感器標(biāo)簽 發(fā)送一位應(yīng)答信號(hào),即一號(hào)、二號(hào)、五號(hào)傳感器標(biāo)簽在計(jì)數(shù)器的等于2時(shí)送一 位應(yīng)答信號(hào),三號(hào)傳感器標(biāo)簽在計(jì)數(shù)器的等于B時(shí)送一位應(yīng)答信號(hào),四號(hào)、六 號(hào)傳感器標(biāo)簽在計(jì)數(shù)器的等于D時(shí)送一位應(yīng)答信號(hào)。,傳感器標(biāo)簽退回到就緒狀 態(tài)。
3、 閱讀器完成一位16進(jìn)制ID號(hào)査詢,即計(jì)完16個(gè)計(jì)數(shù)周期后得到3個(gè) 應(yīng)答值,分別為2、 B、 D,即有沖突,閱讀器由大到小將應(yīng)答值D、位序號(hào)1 以及應(yīng)答值B、位序號(hào)l依次入棧。
4、 閱讀器發(fā)"沖突標(biāo)識(shí)加一指令",格式為"指令+—位16進(jìn)制ID號(hào)2", 傳感器標(biāo)簽接收到指令后核對(duì)自身是否沖突標(biāo)識(shí)為0且最后發(fā)送的一位16進(jìn)制 ID號(hào)為2,當(dāng)前所有傳感器標(biāo)簽沖突標(biāo)識(shí)均為0,其中一號(hào)、二號(hào)、五號(hào)傳感器 標(biāo)簽最后發(fā)送的一位16進(jìn)制ID號(hào)為2,則其不動(dòng)作;三號(hào)、四號(hào)、六號(hào)傳感器 標(biāo)簽沖突標(biāo)識(shí)加l,即均變?yōu)閘,并進(jìn)入沖突狀態(tài)。
5、 閱讀器發(fā)送"一位m進(jìn)制ID號(hào)査詢指令", 一號(hào)、二號(hào)、五號(hào)傳感器 標(biāo)簽處于就緒狀態(tài),則進(jìn)入發(fā)送一位m進(jìn)制ID號(hào)狀態(tài),并發(fā)送16進(jìn)制ID號(hào)的 第2位。其余傳感器標(biāo)簽不動(dòng)作。
6、 閱讀器完成一位16進(jìn)制ID號(hào)查詢后得到2個(gè)應(yīng)答值,分別為4、 6,即 有沖突,閱讀器將應(yīng)答值6、位序號(hào)2入棧。
7、 閱讀器發(fā)"沖突標(biāo)識(shí)加一指令",格式為"指令+—位16進(jìn)制ID號(hào)4", 傳感器標(biāo)簽接收到指令后核對(duì)自身是否沖突標(biāo)識(shí)為0且最后發(fā)送的一位16進(jìn)制 ID號(hào)為4,當(dāng)前一號(hào)、二號(hào)、五號(hào)傳感器標(biāo)簽沖突標(biāo)識(shí)均為0,其中二號(hào)、五號(hào) 傳感器標(biāo)簽最后發(fā)送的一位16進(jìn)制ID號(hào)為4,則其不動(dòng)作;其余的傳感器標(biāo)簽 沖突標(biāo)識(shí)加l,并處于沖突狀態(tài),即一號(hào)傳感器標(biāo)簽的沖突標(biāo)識(shí)變?yōu)?,三號(hào)、 四號(hào)、六號(hào)傳感器標(biāo)簽的沖突標(biāo)識(shí)變?yōu)?。
8、 閱讀器發(fā)送"一位m進(jìn)制ID號(hào)查詢指令",二號(hào)、五號(hào)傳感器標(biāo)簽處于 就緒狀態(tài),則進(jìn)入發(fā)送一位m進(jìn)制ID號(hào)狀態(tài),并發(fā)送16進(jìn)制ID號(hào)的第3位。 其余傳感器標(biāo)簽不動(dòng)作。
9、 閱讀器完成一位16進(jìn)制ID號(hào)査詢后得到2個(gè)應(yīng)答值,分別為7、 A, 并判斷出該位為傳感器標(biāo)簽16進(jìn)制ID號(hào)的最后一位,即已查詢得到兩個(gè)完整的傳感器標(biāo)簽16進(jìn)制ID號(hào)247和24A。
10、 閱讀器從堆棧中彈出一位16進(jìn)制ID號(hào)6和一個(gè)位序號(hào)2,由于彈出的 位序號(hào)2與堆棧中下一個(gè)位序號(hào)1不相同,則說明該16進(jìn)制位己無沖突。
11、 閱讀器發(fā)送"無沖突減一指令",處于就緒狀態(tài)的二號(hào)、五號(hào)傳感器標(biāo) 簽接收到該指令后進(jìn)入休眠狀態(tài)。處于沖突狀態(tài)的一號(hào)、三號(hào)、四號(hào)、六號(hào)傳 感器標(biāo)簽接收到該指令后沖突標(biāo)識(shí)減1。其中一號(hào)傳感器標(biāo)簽的沖突標(biāo)識(shí)變?yōu)?, 進(jìn)入就緒狀態(tài);三號(hào)、四號(hào)、六號(hào)傳感器標(biāo)簽的沖突標(biāo)識(shí)變?yōu)?,仍為沖突狀態(tài)。
12、 閱讀器發(fā)送"一位m進(jìn)制ID號(hào)査詢指令", 一號(hào)傳感器標(biāo)簽處于就緒 狀態(tài),則進(jìn)入發(fā)送一位m進(jìn)制ID號(hào)狀態(tài),并發(fā)送16進(jìn)制ID號(hào)的第3位。其余 傳感器標(biāo)簽不動(dòng)作。
13、 閱讀器完成一位16進(jìn)制ID號(hào)查詢后得到1個(gè)應(yīng)答值3,并判斷出該位 為傳感器標(biāo)簽16進(jìn)制ID號(hào)的最后一位,即又查詢得到一個(gè)完整的傳感器標(biāo)簽 16進(jìn)制ID號(hào)263。
14、 閱讀器從堆棧中彈出一位16進(jìn)制ID號(hào)B和一個(gè)位序號(hào)1,由于彈出 的位序號(hào)1與堆棧中下一個(gè)位序號(hào)1相同,則說明該16進(jìn)制位仍有沖突。
15、 閱讀器發(fā)"含沖突減一指令",格式為"指令+—位16進(jìn)制ID號(hào)B", 處于就緒狀態(tài)的一號(hào)傳感器標(biāo)簽接收到該指令后進(jìn)入休眠狀態(tài)。處于沖突狀態(tài) 的三號(hào)、四號(hào)、六號(hào)傳感器標(biāo)簽中三號(hào)傳感器標(biāo)簽滿足沖突標(biāo)識(shí)為1且最后發(fā) 送的一位16進(jìn)制ID號(hào)為B,則其沖突標(biāo)識(shí)減1變?yōu)?,進(jìn)入就緒狀態(tài)。其余傳 感器標(biāo)簽不動(dòng)作。
16、 閱讀器發(fā)送"一位m進(jìn)制ID號(hào)查詢指令",三號(hào)傳感器標(biāo)簽處于就緒 狀態(tài),則進(jìn)入發(fā)送一位m進(jìn)制ID號(hào)狀態(tài),并發(fā)送16進(jìn)制ID號(hào)的第2位。
17、 閱讀器完成一位16進(jìn)制ID號(hào)査詢后得到1個(gè)應(yīng)答值2。
18、 閱讀器發(fā)送"一位m進(jìn)制ID號(hào)查詢指令",三號(hào)傳感器標(biāo)簽處于就緒 狀態(tài),則進(jìn)入發(fā)送一位m進(jìn)制ID號(hào)狀態(tài),并發(fā)送16進(jìn)制ID號(hào)的第3位。
19、 閱讀器完成一位16進(jìn)制ID號(hào)查詢后得到1個(gè)應(yīng)答值9,并判斷出該位 為傳感器標(biāo)簽16進(jìn)制ID號(hào)的最后一位,即又査詢得到一個(gè)完整的傳感器標(biāo)簽 16進(jìn)制ID號(hào)B29。
20、 閱讀器從堆棧中彈出一位16進(jìn)制ID號(hào)D和一個(gè)位序號(hào)1,由于堆棧 中下一個(gè)位序號(hào)為空,則說明該16進(jìn)制位己無沖突。
21、 閱讀器發(fā)送"無沖突減一指令",處于就緒狀態(tài)的三號(hào)傳感器標(biāo)簽接收 到該指令后進(jìn)入休眠狀態(tài)。處于沖突狀態(tài)的四號(hào)、六號(hào)傳感器標(biāo)簽接收到該指 令后沖突標(biāo)識(shí)減1變?yōu)?,進(jìn)入就緒狀態(tài)。22、 閱讀器發(fā)送"一位m進(jìn)制ID號(hào)査詢指令",四號(hào)、六號(hào)傳感器標(biāo)簽處 于就緒狀態(tài),則進(jìn)入發(fā)送一位m進(jìn)制ID號(hào)狀態(tài),并發(fā)送16進(jìn)制ID號(hào)的第2位。
23、 閱讀器完成一位16進(jìn)制ID號(hào)查詢后得到1個(gè)應(yīng)答值C。
24、 閱讀器發(fā)送"一位m進(jìn)制ID號(hào)査詢指令",四號(hào)、六號(hào)傳感器標(biāo)簽處 于就緒狀態(tài),則進(jìn)入發(fā)送一位m進(jìn)制ID號(hào)狀態(tài),并發(fā)送16進(jìn)制ID號(hào)的第3位。
25、 閱讀器完成一位16進(jìn)制ID號(hào)查詢后得到2個(gè)應(yīng)答值,分別為l、 8, 并判斷出該位為傳感器標(biāo)簽16進(jìn)制ID號(hào)的最后一位,即又査詢得到兩個(gè)完整 的傳感器標(biāo)簽16進(jìn)制ID號(hào)DC1和DC8。
26、 閱讀器檢查堆棧為空,本次查詢結(jié)束,獲得6個(gè)傳感器標(biāo)簽的ID號(hào)。
權(quán)利要求
1、一種基于多叉樹的無線無源傳感系統(tǒng)防沖突方法,無線無源傳感系統(tǒng)主要由單個(gè)閱讀器和多個(gè)傳感器標(biāo)簽組成,閱讀器和傳感器標(biāo)簽均包括控制器,傳感器標(biāo)簽包含一個(gè)n位的二進(jìn)制ID號(hào),將該二進(jìn)制ID號(hào)表示為一個(gè)k位的m進(jìn)制ID號(hào),傳感器標(biāo)簽的控制器中包含一個(gè)可讀寫的p位的沖突標(biāo)識(shí)數(shù)和一個(gè)q位的計(jì)數(shù)器,p為大于或等于log2k的最小整數(shù),k為傳感器標(biāo)簽m進(jìn)制ID號(hào)的位數(shù),q為大于或等于log2m的最小整數(shù)。閱讀器的控制器中包含一個(gè)q位的計(jì)數(shù)器和一個(gè)最大深度為(m-1)·(k-1)的堆棧。其特征在于,該方法包括以下步驟(1)閱讀器發(fā)送初始化命令,將傳感器標(biāo)簽激活并初始化。(2)傳感器標(biāo)簽的ID號(hào)以m進(jìn)制的形式表示為k位,閱讀器由高位到低位依次查詢待識(shí)別傳感器標(biāo)簽的每一位m進(jìn)制ID號(hào)。(3)如果閱讀器檢測(cè)到傳感器標(biāo)簽的某一位m進(jìn)制ID號(hào)有沖突,則對(duì)沖突的各值依次輪換進(jìn)行查詢。(4)傳感器標(biāo)簽根據(jù)自身的狀態(tài)及參數(shù)來對(duì)閱讀器的各個(gè)指令做出狀態(tài)的切換及參數(shù)的改變。
2、 根據(jù)權(quán)利要求1所述基于多叉樹的無線無源傳感系統(tǒng)防沖突方法,其特征在 于,所述步驟(1)中,將傳感器標(biāo)簽激活并初始化是將所有待識(shí)別傳感器標(biāo)簽 的沖突標(biāo)識(shí)清零,并由初始狀態(tài)進(jìn)入就緒狀態(tài)。
3、 根據(jù)權(quán)利要求1所述基于多叉樹的無線無源傳感系統(tǒng)防沖突方法,其特征在 于,所述步驟(2)中,閱讀器由高位到低位依次査詢待識(shí)別傳感器標(biāo)簽的每一 位m進(jìn)制ID號(hào)是指,傳感器標(biāo)簽每次發(fā)送一位m進(jìn)制ID號(hào)時(shí),只發(fā)送尚未發(fā) 送過的最高一位m進(jìn)制ID號(hào)。其中傳感器標(biāo)簽發(fā)送一位m進(jìn)制ID號(hào),包括以 下步驟(a) 閱讀器發(fā)"一位m進(jìn)制ID號(hào)查詢指令",閱讀器計(jì)數(shù)器以一定的周期從 0開始計(jì)數(shù)。處于就緒狀態(tài)的傳感器標(biāo)簽收到指令進(jìn)入發(fā)送尚未發(fā)送過的最高一 位m進(jìn)制ID號(hào)狀態(tài),傳感器標(biāo)簽計(jì)數(shù)器也以相同的周期從0開始和閱讀器同步 計(jì)數(shù)。(b) 閱讀器在每個(gè)周期檢測(cè)有無傳感器標(biāo)簽應(yīng)答,若收到應(yīng)答信號(hào),則記錄下 計(jì)時(shí)數(shù)值,即為應(yīng)答傳感器標(biāo)簽所發(fā)的該位m進(jìn)制ID號(hào)。傳感器標(biāo)簽和閱讀器 同步計(jì)數(shù),當(dāng)傳感器標(biāo)簽計(jì)數(shù)器的值與它要發(fā)送的該位m進(jìn)制ID號(hào)相等時(shí),該 傳感器標(biāo)簽發(fā)送一位應(yīng)答信號(hào)。(c) 當(dāng)閱讀器和傳感器標(biāo)簽的計(jì)數(shù)器滿,即計(jì)完m個(gè)周期,傳感器標(biāo)簽退回就緒狀態(tài),監(jiān)聽閱讀器指令, 一位m進(jìn)制ID號(hào)查詢過程結(jié)束。
4、 根據(jù)權(quán)利要求1所述基于多叉樹的無線無源傳感系統(tǒng)防沖突方法,其特征在 于,所述步驟(3)中,對(duì)沖突的各值依次輪換進(jìn)行査詢,是采用將部分沖突傳 感器標(biāo)簽入棧出棧來實(shí)現(xiàn)的,具體步驟包括(a) 閱讀器在一次一位m進(jìn)制ID號(hào)査詢過程中收到兩個(gè)或以上的一位m進(jìn)制 ID號(hào)應(yīng)答,則除了最小的應(yīng)答值,其余的應(yīng)答值連同該位的位序號(hào)一起,根據(jù) 應(yīng)答值由大到小的順序依次入棧。(b) 閱讀器發(fā)"沖突標(biāo)識(shí)加一指令",格式為"指令+—位m進(jìn)制ID號(hào)",其中 的一位m進(jìn)制ID號(hào)為前一步中最小的應(yīng)答值。傳感器標(biāo)簽接收到指令后核對(duì)自 身是否沖突標(biāo)識(shí)為0且最后發(fā)送的一位m進(jìn)制ID號(hào)與指令中的一位m進(jìn)制ID 號(hào)相同,如果是則不動(dòng)作,否則沖突標(biāo)識(shí)加l,進(jìn)入沖突狀態(tài)。(c) 當(dāng)閱讀器完成一個(gè)或幾個(gè)傳感器標(biāo)簽的最后一位m進(jìn)制ID號(hào)的査詢后, 判斷堆棧是否為空,如果堆桟為空,則所有傳感器標(biāo)簽查詢結(jié)束,否則從堆棧 中彈出一位m進(jìn)制ID號(hào)和一個(gè)位序號(hào)。(d) 如果該彈出的位序號(hào)與堆棧中下一個(gè)位序號(hào)相同,即表示該位m進(jìn)制ID 號(hào)仍有沖突,閱讀器發(fā)送"含沖突減一指令",格式為"指令+—位m進(jìn)制ID 號(hào)",其中的一位m進(jìn)制ID號(hào)為前一步中從堆棧中彈出的一位m進(jìn)制ID號(hào)。 處于沖突狀態(tài)的傳感器標(biāo)簽接收到該指令后核對(duì)自身是否沖突標(biāo)識(shí)為1且最后 發(fā)送的一位ID號(hào)與指令中的一位m進(jìn)制ID號(hào)相同,如果是則沖突標(biāo)識(shí)減1, 否則不動(dòng)作。處于就緒狀態(tài)的傳感器標(biāo)簽接收到該指令后進(jìn)入休眠狀態(tài)。(e) 如果步驟c中彈出的一位序號(hào)與堆棧中下一個(gè)位序號(hào)不同,即表示該位m 進(jìn)制ID號(hào)己無沖突,閱讀器發(fā)送"無沖突減一指令"。處于沖突狀態(tài)的傳感器 標(biāo)簽接收到該指令后沖突標(biāo)識(shí)減1,處于就緒狀態(tài)的傳感器標(biāo)簽接收到該指令后 進(jìn)入休眠狀態(tài)。
5、 根據(jù)權(quán)利要求1所述基于多叉樹的無線無源傳感系統(tǒng)防沖突方法,其特征在 于,所述步驟(4)中,傳感器標(biāo)簽根據(jù)自身的狀態(tài)及參數(shù)來對(duì)閱讀器的各個(gè)指 令做出狀態(tài)的切換及參數(shù)的改變中,傳感器標(biāo)簽的狀態(tài)包括初始狀態(tài)、就緒 狀態(tài)、發(fā)送一位m進(jìn)制ID號(hào)狀態(tài)、沖突狀態(tài)和休眠狀態(tài),狀態(tài)的切換及參數(shù)的 改變具體包括(a) 處于初始狀態(tài)和休眠狀態(tài)的傳感器標(biāo)簽收到初始化指令后,將沖突標(biāo)識(shí)清 0,并進(jìn)入就緒狀態(tài)。(b) 處于就緒狀態(tài)的傳感器標(biāo)簽接收到"一位m進(jìn)制ID號(hào)査詢指令"后進(jìn)入 發(fā)送一位m進(jìn)制ID號(hào)狀態(tài),并在m個(gè)計(jì)數(shù)結(jié)束后自動(dòng)回到就緒狀態(tài)。(C)處于就緒狀態(tài)的傳感器標(biāo)簽接收到"沖突標(biāo)識(shí)加一指令"后,核對(duì)自身是否沖突標(biāo)識(shí)為0且最后發(fā)送的一位m進(jìn)制ID號(hào)與指令中的一位m進(jìn)制ID號(hào)相 同,如果是則不動(dòng)作,否則沖突標(biāo)識(shí)加l,進(jìn)入沖突狀態(tài)。(d) 處于沖突狀態(tài)的傳感器標(biāo)簽接收到"無沖突減一指令"或接收到"含沖突 減一指令"并且自身沖突標(biāo)識(shí)為1且最后發(fā)送的一位m進(jìn)制ID號(hào)與指令中的 一位m進(jìn)制ID號(hào)相同,則沖突標(biāo)識(shí)減l。若沖突標(biāo)識(shí)減為0,則進(jìn)入就緒狀態(tài)。(e) 處于就緒狀態(tài)的傳感器標(biāo)簽接收到"無沖突減一指令"或"含沖突減一指 令"后進(jìn)入休眠狀態(tài)。
全文摘要
本發(fā)明公開了一種基于多叉樹的無線無源傳感系統(tǒng)防沖突方法,應(yīng)用于單個(gè)閱讀器和多個(gè)傳感器標(biāo)簽組成的無線無源傳感系統(tǒng)中,閱讀器發(fā)送初始化命令,將傳感器標(biāo)簽激活并初始化后;傳感器標(biāo)簽的ID號(hào)以m進(jìn)制的形式表示為k位,閱讀器由高位到低位依次查詢待識(shí)別傳感器標(biāo)簽的每一位m進(jìn)制ID號(hào);如果閱讀器檢測(cè)到傳感器標(biāo)簽的某一位m進(jìn)制ID號(hào)有沖突,則對(duì)沖突的各值依次輪換進(jìn)行查詢;傳感器標(biāo)簽根據(jù)自身的狀態(tài)及參數(shù)來對(duì)閱讀器的各個(gè)指令做出狀態(tài)的切換及參數(shù)的改變。本發(fā)明減少了查詢次數(shù),降低了誤碼率,傳感器標(biāo)簽的識(shí)別過程邏輯簡(jiǎn)單,功耗低。
文檔編號(hào)G06K7/00GK101464941SQ20091009546
公開日2009年6月24日 申請(qǐng)日期2009年1月15日 優(yōu)先權(quán)日2009年1月15日
發(fā)明者旦 孫, 戴華平, 煥 石, 煜 許 申請(qǐng)人:浙江大學(xué)