RFID讀寫(xiě)器抗沖突問(wèn)題研究
文章出處:http://m.overnightmodel.com 作者:王愛(ài)明 李艾華 穆曉曦 人氣: 發(fā)表時(shí)間:2011年10月16日
1 讀寫(xiě)器的干擾
讀寫(xiě)器的沖突是指由一個(gè)讀寫(xiě)器檢測(cè)到,并且由另一個(gè)讀寫(xiě)器所引起的干擾。它主要有三種表現(xiàn)形式。
(1)讀寫(xiě)器與讀寫(xiě)器之問(wèn)的干擾:當(dāng)一個(gè)讀寫(xiě)器發(fā)射較強(qiáng)的信號(hào)與一射頻標(biāo)簽反射回的微弱信號(hào)相干擾時(shí),就引起了讀寫(xiě)器與讀寫(xiě)器之間的干擾,其示意圖如圖1所示。讀寫(xiě)器R1位于讀寫(xiě)器R2干擾區(qū)。從射頻標(biāo)簽Tl反射回的信號(hào)到達(dá)讀寫(xiě)器R1,很容易被讀寫(xiě)器R2發(fā)射的信號(hào)干擾。這種干擾即使兩個(gè)讀寫(xiě)器閱讀范圍沒(méi)有重疊也有可能產(chǎn)生。
(2)多讀寫(xiě)器到標(biāo)簽問(wèn)的干擾:當(dāng)多個(gè)讀寫(xiě)器同時(shí)閱讀同一個(gè)標(biāo)簽時(shí)引起了多讀寫(xiě)器到標(biāo)簽間的干擾,如圖2所示,兩個(gè)讀寫(xiě)器閱讀范圍重疊。從讀寫(xiě)器Rl和R2發(fā)射的信號(hào)可能在射頻標(biāo)簽Tl處產(chǎn)生干擾。在這種情況下,標(biāo)簽T1不能解密任何查詢(xún)信號(hào)并且讀寫(xiě)器R1和R2都不能閱讀T1。因?yàn)樽x寫(xiě)器沖突,讀寫(xiě)器Rl能閱讀標(biāo)簽T2和T3,但是不能閱讀標(biāo)簽Tl,因此,讀寫(xiě)器R1指示兩個(gè)射頻標(biāo)簽存在而不是3個(gè)。
圖1 讀寫(xiě)器到讀寫(xiě)器間的干擾
圖2 讀寫(xiě)器到標(biāo)簽間的干擾
(3)讀寫(xiě)器沖突使載波偵聽(tīng)無(wú)效:另外一種讀寫(xiě)器沖突的情況如圖3所示。兩個(gè)讀寫(xiě)器閱讀范圍沒(méi)有重疊,但讀寫(xiě)器R2發(fā)射的信號(hào)與讀寫(xiě)器R1發(fā)射的信號(hào)在標(biāo)簽T處干擾。這種情況同時(shí)發(fā)生在兩個(gè)讀寫(xiě)器不在相互偵聽(tīng)范圍內(nèi)時(shí),使射頻識(shí)別網(wǎng)絡(luò)中載波偵聽(tīng)無(wú)效。
圖3 讀寫(xiě)器沖突使載波偵聽(tīng)無(wú)效
除了誤操作,讀寫(xiě)器沖突同時(shí)使射頻識(shí)別系統(tǒng)總的閱讀速率減慢,而且這些問(wèn)題在移動(dòng)或手持式讀寫(xiě)器中更加嚴(yán)重。因此,減少讀寫(xiě)器沖突是必須的。
2 相關(guān)工作和研究
2.1 讀寫(xiě)器沖突的主要特點(diǎn)
讀寫(xiě)器沖突主要有下列特點(diǎn):
①隱藏節(jié)點(diǎn)問(wèn)題是讀寫(xiě)器沖突問(wèn)題的一個(gè)方面。兩個(gè)讀寫(xiě)器不在相互偵聽(tīng)范圍內(nèi)而在標(biāo)簽處干擾時(shí),使射頻識(shí)別網(wǎng)絡(luò)中正常的載波偵聽(tīng)無(wú)法工作。
②當(dāng)多個(gè)讀寫(xiě)器詢(xún)問(wèn)/發(fā)射的信號(hào)在某射頻標(biāo)簽處沖突時(shí),該點(diǎn)的信號(hào)會(huì)變得非常雜亂并且射頻標(biāo)簽不能再接收任何讀寫(xiě)器詢(xún)問(wèn)/發(fā)射的信號(hào)。
?、鬯芯康纳漕l標(biāo)簽是被動(dòng)式標(biāo)簽,因此標(biāo)簽本身既不能調(diào)整也不能主動(dòng)與讀寫(xiě)器通信以避免沖突。射頻標(biāo)簽是在被讀寫(xiě)器詢(xún)問(wèn)信號(hào)激活后才能通信。
2.2 相關(guān)的多址機(jī)制
常用的多址機(jī)制不能直接應(yīng)用在射頻識(shí)別系統(tǒng)中,因?yàn)椋?
?、貴DMA。FDMA方式中,讀寫(xiě)器使用不同的頻率和射頻標(biāo)簽通信。由于射頻標(biāo)簽沒(méi)有頻率調(diào)諧電路,因此射頻標(biāo)簽不能選擇一個(gè)特定的讀寫(xiě)器與其通信。如果射頻標(biāo)簽增設(shè)頻率調(diào)諧電路功能,將大大增加射頻標(biāo)簽的成本,因此FDMA不適合應(yīng)用在射頻識(shí)別系統(tǒng)中。
?、赥DMA。TDMA方式中,讀寫(xiě)器被分配不同的時(shí)隙,以避免讀寫(xiě)器同時(shí)詢(xún)問(wèn)/發(fā)送射頻信號(hào)。這類(lèi)似于圖論中的圖形著色問(wèn)題,是一個(gè)NP-hard問(wèn)題。在移動(dòng)式網(wǎng)絡(luò)中,沒(méi)有干擾的讀寫(xiě)器因?yàn)橐苿?dòng)靠近而出現(xiàn)干擾,需要重新分配時(shí)隙。動(dòng)態(tài)的分配時(shí)隙減小了RFID系統(tǒng)閱讀速率。
?、跜SMA。RFID網(wǎng)絡(luò),像其他的無(wú)線網(wǎng)絡(luò)一樣,存在隱藏節(jié)點(diǎn)問(wèn)題。讀寫(xiě)器不在互相偵聽(tīng)范圍內(nèi)在標(biāo)簽處發(fā)生干擾,因此僅僅依靠載波偵聽(tīng)無(wú)法避免RFID網(wǎng)絡(luò)中的沖突問(wèn)題。
?、蹸DMA。CDMA需要在射頻標(biāo)簽上增設(shè)額外的電路,大大增加了標(biāo)簽的成本,并且分配碼給所有網(wǎng)絡(luò)中的標(biāo)簽是一件非常復(fù)雜的工作。因此CDMA不是一種成本低且有效的方案。
2.3 相關(guān)的抗沖突機(jī)制
常見(jiàn)的抗沖突協(xié)議,如RTS-CTS,不能直接應(yīng)用在RFID系統(tǒng)中,因?yàn)椋?
?、賯鹘y(tǒng)的無(wú)線網(wǎng)絡(luò),只有一個(gè)節(jié)點(diǎn)回發(fā)CTS信號(hào)給發(fā)送者。然而在RFID系統(tǒng)中,如果讀寫(xiě)器廣播發(fā)送一RTS信號(hào),所有在讀寫(xiě)器閱讀范圍內(nèi)的標(biāo)簽都得回發(fā)CTS信號(hào)給發(fā)送者讀寫(xiě)器。這需要給這些CTS信號(hào)設(shè)計(jì)另外的抗沖突機(jī)制,將使這種協(xié)議更加復(fù)雜。
?、谟锌赡芤?yàn)闆_突,一些標(biāo)簽(如T1)沒(méi)有接收到RTS信號(hào)而另外一些標(biāo)簽(如T2)接收到了RTS信號(hào)。在這種情況下,從T2回發(fā)的CTS信號(hào)不能確定在讀寫(xiě)器的閱讀范圍內(nèi)沒(méi)有沖突。如何確定讀寫(xiě)器接收了在其閱讀范圍內(nèi)的所有標(biāo)簽的CTS信號(hào),對(duì)于讀寫(xiě)器是否存在沖突是非常重要的。
2.4 相關(guān)的讀寫(xiě)器抗沖突方法
2.4.1 UHF第二代標(biāo)簽標(biāo)準(zhǔn):UHF第二代標(biāo)簽標(biāo)準(zhǔn)是由EPCglobal制定的。該標(biāo)準(zhǔn)把讀寫(xiě)器和射頻標(biāo)簽的信號(hào)傳輸分割開(kāi),這樣沖突只能在標(biāo)簽與標(biāo)簽間或者讀寫(xiě)器與讀寫(xiě)器問(wèn)發(fā)生。這種分割使讀寫(xiě)器和射頻標(biāo)簽信號(hào)在不同的頻道上傳輸,解決了讀寫(xiě)器問(wèn)的干擾。然而,標(biāo)簽沒(méi)有頻率選擇性。因?yàn)楫?dāng)兩個(gè)讀寫(xiě)器用不同的頻率同時(shí)與標(biāo)簽通信時(shí),標(biāo)簽不能調(diào)諧到特定的頻率.所以會(huì)在標(biāo)簽處發(fā)生沖突。因此該標(biāo)準(zhǔn)仍存在多讀寫(xiě)器到標(biāo)簽間的干擾。
2.4.2 Colorwave算法:Colorwave算法是一種基于TDMA分布式算法。該算法規(guī)定每一個(gè)讀寫(xiě)器從0到maxColors中隨機(jī)選擇一個(gè)時(shí)隙(顏色)傳輸數(shù)據(jù)。如果發(fā)生了沖突,讀寫(xiě)器選擇一個(gè)新的時(shí)隙(顏色),并且發(fā)送一個(gè)kick(較小的控制包)給它所有鄰近的讀寫(xiě)器,告訴它們它選擇了一個(gè)新的時(shí)隙(顏色)。如果鄰近的讀寫(xiě)器有同樣的時(shí)隙(顏色),它重新選擇一個(gè)新的時(shí)隙(顏色)并發(fā)送一個(gè)kick。這樣一直繼續(xù)下去。這種轉(zhuǎn)換和駐留的動(dòng)作就被稱(chēng)為kick。每一個(gè)讀寫(xiě)器跟蹤當(dāng)前的時(shí)隙是什么顏色。Colorwave算法要求在讀寫(xiě)器之間時(shí)間同步,同時(shí)假定讀寫(xiě)器能夠檢測(cè)到RFID系統(tǒng)中的沖突。然而,僅僅用一個(gè)讀寫(xiě)器檢測(cè)在標(biāo)簽處發(fā)生的沖突是不可行的,除非標(biāo)簽也參加沖突檢測(cè),并且讀寫(xiě)器移動(dòng)將會(huì)重新分配時(shí)隙,重新分配的時(shí)隙傳播整個(gè)網(wǎng)絡(luò),將會(huì)導(dǎo)致整個(gè)系統(tǒng)的無(wú)效。
2.4.3 ETSl EN 208標(biāo)準(zhǔn):ETSI EN 208是一個(gè)為RFID讀寫(xiě)器開(kāi)發(fā)的標(biāo)準(zhǔn),它基于CSMA協(xié)議的“先聽(tīng)再說(shuō)”。讀寫(xiě)器首先在一特定的小時(shí)間段里偵聽(tīng)數(shù)據(jù)通道里任何正在進(jìn)行的通信。如果在那段時(shí)間里,數(shù)據(jù)通道空閑,它將閱讀標(biāo)簽;如果通道忙,它隨機(jī)選擇一段退避時(shí)間。然而,正如前面所講,讀寫(xiě)器僅僅依靠載波偵聽(tīng)不能檢測(cè)到?jīng)_突。
2.4.4 Q學(xué)習(xí)算法:Q學(xué)習(xí)算法提出了一種HiQ、多層、在線的學(xué)習(xí)算法。該算法通過(guò)學(xué)習(xí)讀寫(xiě)器的沖突模式和有效地分配頻率給讀寫(xiě)器,動(dòng)態(tài)地解決RFID系統(tǒng)中讀寫(xiě)器的沖突問(wèn)題。Q學(xué)習(xí)算法多層結(jié)構(gòu)如圖4所示。讀寫(xiě)器發(fā)送沖突消息給讀寫(xiě)器級(jí)服務(wù)器層(R-Server)。然后單個(gè)的R-server然后分配資源給它的讀寫(xiě)器,這樣的方式可使它們之間的相互通信不出現(xiàn)干擾。R-Server通過(guò)Q學(xué)習(xí)服務(wù)器(Q-server)被分配到頻率和時(shí)隙。根Q-server具有所有頻率和時(shí)隙資源的全部知識(shí),并且能分配它們。Qserver不像R-Server一樣,沒(méi)有單個(gè)讀寫(xiě)器問(wèn)約束關(guān)系,這種關(guān)系通過(guò)該層下面的服務(wù)器之問(wèn)的相互作用來(lái)推斷。
圖4 Q學(xué)習(xí)算法多層結(jié)構(gòu)
這種方法如果應(yīng)用在RFID系統(tǒng)中,將存在下面的問(wèn)題:
①協(xié)議保持多層結(jié)構(gòu)需要額外的管理開(kāi)銷(xiāo)。
?、趯?duì)于移動(dòng)的讀寫(xiě)器來(lái)說(shuō),網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)不確定的變化將會(huì)改變Q學(xué)習(xí)算法的多級(jí)結(jié)構(gòu)。這就需要重新分配時(shí)隙,將花去更多的時(shí)間并使系統(tǒng)無(wú)效。
?、跶學(xué)習(xí)假定讀寫(xiě)器的沖突檢測(cè)不在讀寫(xiě)器相互的偵聽(tīng)范圍內(nèi)。然而,并不是所有的沖突都能檢測(cè)到,這將導(dǎo)致協(xié)議的不正確操作。
?、苁褂脮r(shí)隙需要所有的讀寫(xiě)器同步,這種同步將是整個(gè)系統(tǒng)的額外開(kāi)銷(xiāo)。
綜上所述,這些讀寫(xiě)器抗沖突方法不適合具有移動(dòng)讀寫(xiě)器的RFID網(wǎng)絡(luò)系統(tǒng)。因此,必須尋求一種具有實(shí)際意義且有效的適合各種情況的RFID系統(tǒng)。
3 一種減少讀寫(xiě)器沖突的新算法
3.1 新算法的提出
在設(shè)計(jì)讀寫(xiě)器抗沖突協(xié)議時(shí),要考慮的一個(gè)重要因素就是射頻標(biāo)簽是被動(dòng)式的,因此不能參與抗沖突;同時(shí)任何增加給標(biāo)簽的新功能都將增加標(biāo)簽的成本。因此希望尋求一種標(biāo)簽不參與的抗沖突協(xié)議。
RFTD網(wǎng)絡(luò)存在隱藏節(jié)點(diǎn)問(wèn)題,如圖5所示。R1和R2不在相互的偵聽(tīng)范圍內(nèi),但是在T處從讀寫(xiě)器R2發(fā)射的信號(hào)與從讀寫(xiě)器R1發(fā)射的信號(hào)發(fā)生干擾。在這種情形下,R1和R2間需要一個(gè)通知機(jī)制。這樣,當(dāng)Rl和T正在通信,R2被通知R1的通信,因此R2可以延遲與射頻標(biāo)簽的通信。我們把這種通過(guò)廣播形式發(fā)送的消息稱(chēng)為“信標(biāo)”。當(dāng)一個(gè)讀寫(xiě)器正在與射頻標(biāo)簽通信時(shí),它將周期性地在一個(gè)獨(dú)立的控制通道里發(fā)送信標(biāo)。
圖5 新算法控制通道范圍
控制通道的通信范圍,指任何兩個(gè)讀寫(xiě)器在相互的數(shù)據(jù)通道(該通道用來(lái)閱讀標(biāo)簽)干擾,能夠在控制通道通信。圖5中盡管讀寫(xiě)器R1和R2相互在數(shù)據(jù)通道干擾,但它們將在控制通道通信。這是通過(guò)在控制通道比數(shù)據(jù)通道發(fā)射更高的功率達(dá)到的??刂仆ǖ朗荝FID頻譜中除那些用作讀寫(xiě)器與標(biāo)簽間通信的頻譜外的子頻帶。因此,在控制通道上的傳播不影響任何在數(shù)據(jù)通道上正在進(jìn)行的通信。數(shù)據(jù)通道被用作讀寫(xiě)器與標(biāo)簽之間的通信,而控制通道被用作讀寫(xiě)器與讀寫(xiě)器之間的通信。假定讀寫(xiě)器能夠同時(shí)接收控制通道和數(shù)據(jù)通道上的信號(hào)。
3.2 新算法信標(biāo)的幀格式
新算法只為讀寫(xiě)器設(shè)計(jì),因?yàn)樯漕l標(biāo)簽不參與抗沖突活動(dòng)。信標(biāo)的幀格式如下:
?、賻?lèi)型,指示該數(shù)據(jù)包是信標(biāo)數(shù)據(jù)。它可以分割成幀類(lèi)型和序列號(hào),序列號(hào)指明將被發(fā)送的信標(biāo)的數(shù)量。
?、谠吹刂?,包括發(fā)射信標(biāo)的讀寫(xiě)器的地址。在該結(jié)構(gòu)中信標(biāo)沒(méi)有目標(biāo)地址,因?yàn)樾艠?biāo)是在控制通道廣播發(fā)送。
?、跜RC檢驗(yàn),用來(lái)檢測(cè)錯(cuò)誤和校正,是數(shù)據(jù)包循環(huán)冗余檢驗(yàn)部分。
3.3 新算法的工作流程和步驟
圖6為該算法的工作流程圖,主要包括下列步驟:
圖6 新算法流程圖
?、僮x寫(xiě)器在與射頻標(biāo)簽通信前,必須在等待狀態(tài)至少等待tmin時(shí)長(zhǎng)。該時(shí)長(zhǎng)等于3倍的信標(biāo)間隔時(shí)間。時(shí)長(zhǎng)tmin類(lèi)似于802.11算法DIFS時(shí)間。在該狀態(tài),讀寫(xiě)器每接收到一個(gè)信標(biāo),它重新復(fù)位等待時(shí)長(zhǎng)為tmin。
?、谧x寫(xiě)器如果在時(shí)長(zhǎng)tmin消耗完了還沒(méi)有接收到任何信標(biāo),讀寫(xiě)器推斷出在其附近沒(méi)有其他的讀寫(xiě)器在閱讀標(biāo)簽。于是讀寫(xiě)器進(jìn)入競(jìng)爭(zhēng)階段,并且從時(shí)間間隔[OACW]中選擇一隨機(jī)退避時(shí)間。如果它選擇i,那么讀寫(xiě)器必須在競(jìng)爭(zhēng)狀態(tài)等待i個(gè)信標(biāo)時(shí)間間隔時(shí)間。如果讀寫(xiě)器現(xiàn)在接收到一個(gè)信標(biāo),它就丟失現(xiàn)在的周期,在下一個(gè)周期等待。例如在tmin時(shí)長(zhǎng)接收到了信標(biāo),它將在下一個(gè)tmin時(shí)長(zhǎng)等待。如果隨機(jī)退避時(shí)間結(jié)束,讀寫(xiě)器還沒(méi)有接收到信標(biāo),該讀寫(xiě)器就認(rèn)為沒(méi)有其他的讀寫(xiě)器和它競(jìng)爭(zhēng),因此該讀寫(xiě)器就在控制通道上發(fā)送信標(biāo),并且在數(shù)據(jù)通道上和標(biāo)簽通信。該隨機(jī)退避時(shí)間幫助讀寫(xiě)器問(wèn)避免產(chǎn)生沖突。否則,許多其他讀寫(xiě)器在等待時(shí)長(zhǎng)tmin后會(huì)同時(shí)發(fā)送信標(biāo)。隨機(jī)退避時(shí)間是多倍的信標(biāo)間隔長(zhǎng),提高了競(jìng)爭(zhēng)的公平性。
?、郛?dāng)讀寫(xiě)器與標(biāo)簽通信時(shí),讀寫(xiě)器在控制通道上每隔一信標(biāo)間隔時(shí)長(zhǎng)發(fā)送一個(gè)信標(biāo)。該信標(biāo)通知鄰近的讀寫(xiě)器,以便阻止它們與標(biāo)簽的通信,這樣避免了沖突。在與標(biāo)簽通信結(jié)束后,讀寫(xiě)器重新回位到等待狀態(tài),繼續(xù)余下的周期。
?、苊看巫x寫(xiě)器發(fā)送一信標(biāo),它首先檢測(cè)控制通道。如果控制通道忙,就一直檢測(cè)下去。一旦檢測(cè)到控制通道空閑,讀寫(xiě)器就等待一隨機(jī)延遲并再一次檢測(cè)通道和發(fā)送信標(biāo)。該隨機(jī)延遲是多倍的信標(biāo)傳播延遲,以避免沖突。否則,許多讀寫(xiě)器在信道空閑時(shí)會(huì)同時(shí)發(fā)送信標(biāo)。算法中的競(jìng)爭(zhēng)延遲及發(fā)信標(biāo)前延遲與通常的無(wú)線網(wǎng)絡(luò)中的退避相似。一旦控制通道檢測(cè)到空閑競(jìng)爭(zhēng)延遲和發(fā)信標(biāo)前延遲,計(jì)數(shù)器減少;當(dāng)檢測(cè)到發(fā)送時(shí),計(jì)數(shù)器停止計(jì)時(shí);當(dāng)控制通道檢測(cè)到空閑后,計(jì)數(shù)器重新計(jì)數(shù)。并且,如果讀寫(xiě)器在競(jìng)爭(zhēng)階段的退避期間接收到信標(biāo),它就會(huì)存儲(chǔ)余下的退避計(jì)算時(shí)間等待下一次機(jī)會(huì)。例如,在tmin時(shí)間內(nèi)讀寫(xiě)器接收了信標(biāo),當(dāng)讀寫(xiě)器重新進(jìn)入競(jìng)爭(zhēng)階段時(shí),讀寫(xiě)器利用余下的退避時(shí)間。這樣做的目的是提高讀寫(xiě)器間的公平。
4 結(jié)論
分布式讀寫(xiě)器抗沖突算法,通過(guò)在控制通道上周期地發(fā)送信標(biāo)來(lái)達(dá)到抗沖突的目的。與CSMA機(jī)制相比,它可以降低讀寫(xiě)器沖突1%~2%,提高讀寫(xiě)器的閱讀速率高達(dá)98%。它需要讀寫(xiě)器較少的花銷(xiāo),完全不需要射頻標(biāo)簽參與抗沖突。該算法同時(shí)還適合移動(dòng)或手持式閱讀器的射頻網(wǎng)絡(luò),具有重大的實(shí)用價(jià)值。