井下RFID定位系統(tǒng)的讀寫(xiě)器防碰撞技術(shù)研究
射頻識(shí)別技術(shù)(RFID) ,又稱電子標(biāo)簽,是一種非接觸式自動(dòng)識(shí)別技術(shù)。它利用射頻(Radio) 方式進(jìn)行非接觸雙向通信, 以達(dá)到目標(biāo)識(shí)別和數(shù)據(jù)交換目的,無(wú)需人工干預(yù)。基本的RFID 系統(tǒng)(見(jiàn)圖1) ,由射頻卡標(biāo)簽(Tag) ,RFID 讀寫(xiě)器(Reader Writer De2vice) ,天線(Antenna) 以及應(yīng)用支撐軟件等組成。

圖1 RFID 系統(tǒng)
注:虛線框代表可選項(xiàng)
1 讀寫(xiě)器碰撞分析
讀寫(xiě)器的碰撞其實(shí)是頻率干擾問(wèn)題。在實(shí)際應(yīng)用中,由于RFID 系統(tǒng)本身作用距離較小,讀寫(xiě)器相互間比較靠近,尤其是在UHF 以上頻段還存在傳輸?shù)亩鄰絾?wèn)題,這樣來(lái)自一個(gè)讀卡器的信號(hào)很可能受到另外一個(gè)或多個(gè)讀寫(xiě)器的干擾,出現(xiàn)讀寫(xiě)器碰撞,造成對(duì)標(biāo)簽信息讀取失敗。

圖2 讀寫(xiě)器與讀寫(xiě)器間的干擾
(1) 讀寫(xiě)器與讀寫(xiě)器之間的干擾 這指的是當(dāng)一個(gè)讀寫(xiě)器發(fā)射較強(qiáng)的信號(hào)與一個(gè)射頻標(biāo)簽反射回的微弱信號(hào)相干擾時(shí),就引起了讀寫(xiě)器與讀寫(xiě)器之間的干擾,如圖2 所示。讀寫(xiě)器R1 位于讀寫(xiě)器R2 干擾區(qū)。從射頻標(biāo)簽T1 反射回的信號(hào)到達(dá)讀寫(xiě)器R1 ,很容易被讀寫(xiě)器R2 發(fā)射的信號(hào)干擾。這種干擾即使2 個(gè)讀寫(xiě)器閱讀范圍沒(méi)有重疊也有可能產(chǎn)生。
(2) 多個(gè)讀寫(xiě)器對(duì)標(biāo)簽的干擾 是指當(dāng)多個(gè)讀寫(xiě)器同時(shí)閱讀同一個(gè)標(biāo)簽時(shí)引起了多讀寫(xiě)器到標(biāo)簽間的干擾,如圖3 所示,2 個(gè)讀寫(xiě)器閱讀范圍重疊。從讀寫(xiě)器R1 和R2 發(fā)射的信號(hào)可能在射頻標(biāo)簽T1處產(chǎn)生干擾。在這種情況下,標(biāo)簽T1 不能解密任何查詢信號(hào)并且讀寫(xiě)器R1 和R2 都不能閱讀T1。因?yàn)樽x寫(xiě)器沖突,讀寫(xiě)器R1 能閱讀標(biāo)簽T2 和T3 ,但是不能閱讀標(biāo)簽T1 ,因此,讀寫(xiě)器R1 指示2 個(gè)射頻標(biāo)簽存在而不是3 個(gè)。

圖3 讀寫(xiě)器到射頻卡間的干擾

圖4 讀寫(xiě)器沖突使載波偵聽(tīng)無(wú)效
從上可見(jiàn),除了誤操作外,讀寫(xiě)器防碰撞從根本上說(shuō)就是避免頻率干擾。因此,如何找到一種分配有限的頻率資源的算法,使得這種碰撞減到最小就成了REID 應(yīng)用最為關(guān)鍵技術(shù)。
2 二進(jìn)制搜索算法
二進(jìn)制搜索算法的方法類似于在天平中采用的逐次比較方法。通過(guò)多次比較,不斷篩選出不同的序列號(hào),時(shí)分復(fù)用地進(jìn)行讀寫(xiě)器和射頻卡之間的信號(hào)交換,以一個(gè)獨(dú)特的序列號(hào)來(lái)識(shí)別射頻卡為基礎(chǔ)。為了從一組射頻卡中選擇其中之一,讀寫(xiě)器發(fā)出一個(gè)請(qǐng)求命令有意識(shí)地將射頻卡序列號(hào)傳輸時(shí)的數(shù)據(jù)碰撞引導(dǎo)到讀寫(xiě)器上,即通過(guò)讀寫(xiě)器判斷是否有碰撞發(fā)生。如果有碰撞,則縮小范圍進(jìn)行進(jìn)一步的搜索。
二進(jìn)制搜索算法由一個(gè)讀寫(xiě)器和多個(gè)射頻卡之間規(guī)定的一組命令和應(yīng)答規(guī)則構(gòu)成,目的在于從多卡中選出任一個(gè)實(shí)現(xiàn)數(shù)據(jù)通信。該算法有3 個(gè)關(guān)鍵要素: (1) 選用適當(dāng)?shù)幕鶐Ь幋a(易于識(shí)別碰撞) ; (2)利用射頻卡卡序列號(hào)唯一的特性; (3) 設(shè)計(jì)一組有效的指令規(guī)則,高效、迅速地實(shí)現(xiàn)選卡。
2. 1 曼徹斯特編碼
為了快速穩(wěn)定地實(shí)現(xiàn)防碰撞操作,讀卡器必須能夠?qū)ι漕l卡返回?cái)?shù)據(jù)時(shí)發(fā)生碰撞的位置進(jìn)行比特級(jí)的檢測(cè),采用曼徹斯特(Manchester) 編碼方式可以方便地實(shí)現(xiàn)碰撞檢測(cè)。該編碼的特點(diǎn)是通過(guò)在位持續(xù)時(shí)間中間電平的跳變來(lái)表示數(shù)值位,其中下降沿編碼表示邏輯1 ,上升沿編碼表示邏輯0 ,如果沒(méi)有電平跳變則視為非法數(shù)據(jù),調(diào)制后在每一位只有高電平部分有副載波信號(hào)。當(dāng)2 個(gè)或多個(gè)射頻卡同時(shí)返回其唯一的序列號(hào)時(shí),一定會(huì)在某一位(或某幾位) 上有不同的值,疊加之后上升沿和下降沿相互抵消,以至無(wú)電平跳變,讀寫(xiě)器判斷該位出現(xiàn)碰撞。圖5 為2 個(gè)射頻卡序列號(hào)的Manchester 編碼及出現(xiàn)碰撞的示意圖。

圖5 2 個(gè)射頻卡序列號(hào)的Manchester 編碼及其位碰撞的示意圖
2. 2 防碰撞指令規(guī)則
(1) REQUEST(SNR) 發(fā)送一序列號(hào)作參數(shù)給射頻卡。標(biāo)簽把自己序列號(hào)跟接收的序列號(hào)比較,如果小于或等于,則此標(biāo)簽返回其序列號(hào)給讀寫(xiě)器。這樣可以縮小預(yù)選的射頻卡范圍,如果大于則不響應(yīng)。
(2) SELECT(SNR) 用某個(gè)(事先確定的) 序列號(hào)作為參數(shù)發(fā)給標(biāo)簽。相同序列號(hào)的標(biāo)簽將以此作為執(zhí)行其他命令的切入開(kāi)關(guān),即選擇這個(gè)標(biāo)簽。具有其他序列號(hào)的射頻卡只對(duì)REQUEST 命令應(yīng)答。
(3) READ - DATA 選中的標(biāo)簽將存儲(chǔ)的數(shù)據(jù)發(fā)送給讀寫(xiě)器。
(4)UNSELECT 取消事先選中的標(biāo)簽,使該標(biāo)簽進(jìn)入“無(wú)聲”狀態(tài)。在該狀態(tài)下標(biāo)簽對(duì)收到的RE2QUEST 命令不作應(yīng)答。為了重新激活標(biāo)簽,將標(biāo)簽移出讀寫(xiě)器的作用范圍再進(jìn)入,以實(shí)行復(fù)位。
2. 3 動(dòng)態(tài)二進(jìn)制搜索算法
動(dòng)態(tài)二進(jìn)制搜索算法考慮的是在UID 位數(shù)不變的情況下,盡量減少傳輸?shù)臄?shù)據(jù)量,使傳送時(shí)間縮短,提高RFID系統(tǒng)的效率。其改進(jìn)思路是把數(shù)據(jù)分成兩部分,收發(fā)雙方各自傳送其中一部分?jǐn)?shù)據(jù),可把傳輸?shù)臄?shù)據(jù)量減小到一半,達(dá)到縮短傳送時(shí)間的目的。
通常序列號(hào)的規(guī)模在8 字節(jié)以上。為選擇一個(gè)單獨(dú)的射頻卡,每次都不得不傳輸大量的數(shù)據(jù),效率非常低。根據(jù)二進(jìn)制搜索算法的思路進(jìn)行改良,可以減少每次傳送的位數(shù),也可縮短傳送的時(shí)間和防碰撞執(zhí)行時(shí)間。具體動(dòng)態(tài)二進(jìn)制搜索算法的步驟如下:
(1) 讀寫(xiě)器第1 次發(fā)出一個(gè)完整的UID 位數(shù)碼N ,每個(gè)位上的碼全為1 ,讓所有射頻卡都發(fā)回響應(yīng)。
(2) 讀寫(xiě)器判斷有碰撞的最高位數(shù)X ,把該位置0。然后傳輸N~ X 位的數(shù)據(jù)后即中斷傳輸。射頻卡接到這些數(shù)據(jù)后馬上響應(yīng),回傳的信號(hào)位是X -1~1。即讀卡器和射頻卡以最高碰撞位為界分別傳送前后信號(hào)。傳遞的總數(shù)據(jù)量可減小一半。
(3) 讀寫(xiě)器檢測(cè)第2 次返回的最高碰撞位X′是否小于前一次檢測(cè)回傳的次高碰撞位數(shù)。若不是,則直接把該位置“0”;若是,則要把前一次檢測(cè)的次高位也填“0”。然后向射頻卡發(fā)出信號(hào)。發(fā)出信號(hào)的位數(shù)為N~ X′,射頻卡接收到信號(hào)這一級(jí)信號(hào)出現(xiàn)小于或等于相應(yīng)數(shù)據(jù)時(shí)后馬上響應(yīng),回傳的信號(hào)只是序列號(hào)中最高碰撞位后的數(shù),即X - 1~1 位。若射頻卡返回信號(hào)表示無(wú)碰撞,則對(duì)該序列號(hào)的射頻卡進(jìn)行讀P寫(xiě)處理,然后使其進(jìn)入“不響應(yīng)狀態(tài)”。
(4) 重復(fù)步驟(1) ,多次重復(fù)后可完成射頻卡的交換數(shù)據(jù)工作。
3 二進(jìn)制搜索算法性能分析
3. 1 實(shí)現(xiàn)該算法的技術(shù)關(guān)鍵
實(shí)現(xiàn)該算法的前提是能辨認(rèn)出在讀寫(xiě)器中數(shù)據(jù)碰撞比特的準(zhǔn)確位置,因此必須有合適的位編碼方法,Manchester 編碼具有這方面的優(yōu)點(diǎn)。為了能夠檢測(cè)出多張卡的存在,每張卡的返回?cái)?shù)據(jù)必須具有唯一性,且所有卡在傳送其序列號(hào)時(shí)必須同步。
3. 2 重復(fù)操作的次數(shù)
重復(fù)操作的平均次數(shù)L 取決于讀寫(xiě)器作用范圍內(nèi)射頻卡總數(shù)N ,其對(duì)應(yīng)關(guān)系為:L ( N) = log N/ log 2 + 1
3. 3 數(shù)據(jù)傳輸時(shí)間
數(shù)據(jù)傳輸時(shí)間主要取決于射頻卡序列號(hào)長(zhǎng)度和循環(huán)次數(shù),如果一次傳輸完整的序列號(hào)所需時(shí)間為T(mén) ,防碰撞的循環(huán)次數(shù)為N ,則每次都完整傳輸序列號(hào)的通信時(shí)間:t = TN
當(dāng)采用動(dòng)態(tài)二進(jìn)制搜索算法時(shí),由于射頻卡發(fā)生碰撞數(shù)據(jù)位置是等概率分布的,當(dāng)每一位都發(fā)生碰撞時(shí), N 為最大值,此時(shí), t = ( N + 1) TP2 ,該結(jié)果表明,動(dòng)態(tài)算法可減少傳輸數(shù)據(jù)所需時(shí)間,最高可減少50 %。
4 結(jié)語(yǔ)
防碰撞是RFID 技術(shù)中的一項(xiàng)重要技術(shù)。本文提出的二進(jìn)制搜索算法,在設(shè)計(jì)和實(shí)現(xiàn)上兼顧了讀寫(xiě)器和射頻卡通信的速度和可靠性,根據(jù)這一算法進(jìn)行編程,結(jié)構(gòu)比較簡(jiǎn)單,容易實(shí)現(xiàn)防碰撞功能,使得讀寫(xiě)器碰撞得到有效的控制。采用動(dòng)態(tài)二進(jìn)制搜索方法可進(jìn)一步提高執(zhí)行防碰撞的速度,實(shí)現(xiàn)高效率的控制,因此這種算法具有廣泛應(yīng)用的價(jià)值。