RFID超高頻電子標(biāo)簽防沖突算法介紹
在正常情況下,當(dāng)電子標(biāo)簽在RFID讀寫(xiě)器范圍內(nèi)存在大量靜止電子標(biāo)簽,RFID讀寫(xiě)器可通過(guò)防沖突算法,完成所有電子標(biāo)簽的識(shí)別工作;但當(dāng)電子標(biāo)簽群運(yùn)動(dòng)起來(lái),并達(dá)到一定的速度時(shí),是否可以在有限時(shí)間內(nèi)完成電子標(biāo)簽的讀取工作是一個(gè)問(wèn)題,其關(guān)鍵因素是防沖突算法。
本文基于特定背景,高速運(yùn)動(dòng)的電子標(biāo)簽群源源不斷地筆直經(jīng)過(guò)UHF RFID讀寫(xiě)器的識(shí)別范圍。
應(yīng)用案例:UR5206超高頻讀寫(xiě)器應(yīng)用于車(chē)輛管理
能否有效地完成快速移動(dòng)電子標(biāo)簽群的讀取工作,直接影響系統(tǒng)的穩(wěn)定性以及可靠性。未來(lái)用于高速運(yùn)動(dòng)標(biāo)簽群的UHF RFID自動(dòng)識(shí)別系統(tǒng)將越來(lái)越多,因此本課題的研究具有一定的前瞻性以及現(xiàn)實(shí)意義。
應(yīng)用案例:RFID讀寫(xiě)器在上海地鐵定位中的應(yīng)用
1 UHF RFID超高頻介紹
射頻識(shí)別(Radio Frequency Identification,RFID)是一種無(wú)線射頻識(shí)別技術(shù),它利用射頻信號(hào)通過(guò)空間耦合(交變磁場(chǎng)或電磁場(chǎng))實(shí)現(xiàn)無(wú)接觸信息傳遞,并通過(guò)傳遞的信息識(shí)別目標(biāo)。RFID的工作頻段分為低頻(LF)、高頻(HF)、超高頻(UHF)和微波(MW),其中UHF RFID(860~960 MHz)具有讀寫(xiě)速度快、識(shí)別距離遠(yuǎn)、抗干擾能力強(qiáng)、標(biāo)簽小等優(yōu)點(diǎn),被廣泛應(yīng)用。
1.1 RFID超高頻協(xié)議標(biāo)準(zhǔn)
國(guó)際上主要有3個(gè)RFID技術(shù)標(biāo)準(zhǔn)體系組織:全球產(chǎn)品電子編碼中心(EPC Global)、ISO/IEC和日本Ubiquitous ID Center(UID)。ISO/IEC 18000是基于物品管理的RFID的國(guó)際標(biāo)準(zhǔn),按頻率不同分為7個(gè)部分,其中ISO/IEC 18000-6規(guī)定UHF頻段,針對(duì)860~930 MHz的無(wú)線接觸通信空氣接口參數(shù)。ISO/IEC 18000-6系列標(biāo)準(zhǔn)包括Type A、Type B、Type C三類標(biāo)準(zhǔn),其主要區(qū)別在于標(biāo)簽識(shí)別中的編碼方式以及防沖突算法等。
1.2 RFID超高頻防沖突算法
防沖突算法是射頻識(shí)別系統(tǒng)中的多路存取法,它是射頻識(shí)別系統(tǒng)實(shí)現(xiàn)標(biāo)簽快速識(shí)別的關(guān)鍵。RFID系統(tǒng)識(shí)別多標(biāo)簽時(shí),當(dāng)有2個(gè)或者2個(gè)以上標(biāo)簽同時(shí)發(fā)送數(shù)據(jù)就會(huì)產(chǎn)生數(shù)據(jù)的干擾,這種干擾稱為標(biāo)簽沖突。因此,在RFID系統(tǒng)中必須建立有效的仲裁機(jī)制來(lái)避免沖突的發(fā)生。
目前在RFID系統(tǒng)中使用最廣泛的防沖突算法大多基于時(shí)分多址(TDMA),每個(gè)標(biāo)簽在某個(gè)時(shí)隙占用信道與RFID讀寫(xiě)器通信,當(dāng)產(chǎn)生沖突則暫時(shí)退避,重新選擇時(shí)隙再次與RFID讀寫(xiě)器通信,從而實(shí)現(xiàn)系統(tǒng)的防沖突工作。
RFID超高頻分體式電子標(biāo)簽讀寫(xiě)器UR6258
1.3 RFID超高頻研究背景
本文的研究基于高速運(yùn)動(dòng)標(biāo)簽群不間斷地經(jīng)過(guò)RFID讀寫(xiě)器識(shí)別范圍的特定背景。如果運(yùn)動(dòng)標(biāo)簽群速度過(guò)慢,RFID讀寫(xiě)器在新標(biāo)簽到來(lái)之前已經(jīng)完成了場(chǎng)內(nèi)所有標(biāo)簽的識(shí)別工作,不會(huì)出現(xiàn)漏讀現(xiàn)象,但是在這種情況下,系統(tǒng)識(shí)別效率就會(huì)大大降低;而當(dāng)運(yùn)動(dòng)標(biāo)簽群達(dá)到一定速度時(shí),RFID讀寫(xiě)器將進(jìn)行標(biāo)簽的防沖突處理,因?yàn)樾聵?biāo)簽的加入會(huì)產(chǎn)生部分標(biāo)簽一段時(shí)間內(nèi)不被識(shí)別到,隨著標(biāo)簽移動(dòng)離開(kāi)射頻范圍,就會(huì)出現(xiàn)漏讀現(xiàn)象。
在現(xiàn)實(shí)生活中,滿載貨物的貨車(chē)在通過(guò)RFID讀寫(xiě)器識(shí)別范圍時(shí),要求系統(tǒng)快速有效地讀取貨車(chē)上所有貨物的物品信息。貨車(chē)通過(guò)RFID讀寫(xiě)器的速度直接影響系統(tǒng)的工作效率,快速通過(guò)能節(jié)約大量時(shí)間和成本。
所以,如果要提高系統(tǒng)效率并且保證系統(tǒng)可靠性,移動(dòng)標(biāo)簽群必須達(dá)到一個(gè)適中的速度,并且防沖突算法一定要對(duì)此種情況進(jìn)行有效處理。本文研究ISO/IEC 18000-6 Type C的防沖突處理算法,分析其對(duì)高速運(yùn)動(dòng)標(biāo)簽群是否有可靠的對(duì)策和處理方式。
應(yīng)用案例:安卓(ANDRIOD)超高頻智能柜控制器應(yīng)用于無(wú)人零售店
2 Type C防沖突算法
2.1 Aloha算法
常用的防沖突算法大多是基于Aloha算法——一種無(wú)規(guī)則的時(shí)分多址(TDMA)算法。Aloha算法規(guī)定標(biāo)簽周期性地發(fā)送數(shù)據(jù)給RFID讀寫(xiě)器,數(shù)據(jù)傳輸時(shí)間只是周期時(shí)間的一小部分,標(biāo)簽傳輸中有很長(zhǎng)時(shí)間的停歇,因此有一定概率使兩個(gè)標(biāo)簽在不同時(shí)隙傳輸數(shù)據(jù),以避免沖突。
基于Aloha算法出現(xiàn)了很多改進(jìn)算法:時(shí)隙Aloha算法、幀時(shí)隙Aloha算法、動(dòng)態(tài)幀時(shí)隙Aloha算法等。Type C采用的防沖突算法是隨機(jī)時(shí)隙防沖突算法,其本質(zhì)跟幀時(shí)隙Aloha機(jī)制一樣。
2.2 隨機(jī)時(shí)隙防沖突算法(SR)
隨機(jī)時(shí)隙防沖突算法本質(zhì)上與幀時(shí)隙Aloha機(jī)制類似,其幀長(zhǎng)度為2Q,并且該機(jī)制根據(jù)標(biāo)簽應(yīng)答情況來(lái)調(diào)整Q值,改變下一個(gè)識(shí)別周期的時(shí)隙數(shù),讓未識(shí)別標(biāo)簽重新選擇。當(dāng)一幀中出現(xiàn)過(guò)多的沖突時(shí)隙時(shí),RFID讀寫(xiě)器會(huì)提前結(jié)束該幀,并選擇一個(gè)更大的Q值發(fā)送給標(biāo)簽群;當(dāng)一個(gè)幀中出現(xiàn)過(guò)多的空閑時(shí)隙時(shí),RFID讀寫(xiě)器會(huì)提前結(jié)束該幀,并選擇一個(gè)比較小的Q值發(fā)送給標(biāo)簽群。
隨機(jī)時(shí)隙防沖突算法命令包括Query、QueryAdjust、Query Rep等,主要參數(shù)為時(shí)隙計(jì)數(shù)參數(shù)Q。協(xié)議中的Q值決定了防沖突時(shí)所用的時(shí)隙數(shù),RFID讀寫(xiě)器通過(guò)給標(biāo)簽發(fā)送相應(yīng)命令改變標(biāo)簽狀態(tài),完成防沖突工作。協(xié)議規(guī)定標(biāo)簽有3個(gè)狀態(tài)。
應(yīng)用案例:上海營(yíng)信為第十屆中博會(huì)和2017徽商大會(huì)提供簽到硬件服務(wù)
應(yīng)用案例:上海營(yíng)信為亞馬遜北京峰會(huì)提供簽到和人員定位服務(wù)
當(dāng)系統(tǒng)上電或信道空閑時(shí),RFID讀寫(xiě)器發(fā)送Query命令,啟動(dòng)清點(diǎn)周期,初始化一個(gè)識(shí)別周期,并決定哪些電子標(biāo)簽參與本輪識(shí)別周期。Query命令包含時(shí)隙計(jì)數(shù)參數(shù)Q,當(dāng)接收到Quary命令時(shí),電子標(biāo)簽RFID讀寫(xiě)器在識(shí)別區(qū)域內(nèi)隨機(jī)選擇進(jìn)入識(shí)別周期的標(biāo)簽,所有參與電子標(biāo)簽在(0,2Q-1)范圍內(nèi)選擇一個(gè)隨機(jī)數(shù),并置入它們的時(shí)隙計(jì)數(shù)器。選到0值的電子標(biāo)簽變?yōu)閼?yīng)答狀態(tài),并響應(yīng)RFID讀寫(xiě)器,回答一個(gè)16機(jī)制隨機(jī)數(shù)(RN16)給RFID讀寫(xiě)器;沒(méi)有選到0值的標(biāo)簽變?yōu)橹俨脿顟B(tài),等待下一條Query Adjust或Query Rep命令;沒(méi)有進(jìn)入本輪識(shí)別周期的電子標(biāo)簽保持休眠狀態(tài)。
處于仲裁狀態(tài)的電子標(biāo)簽每接收到一條Query Rep命令,它們的時(shí)隙計(jì)數(shù)器減一次,當(dāng)時(shí)隙計(jì)數(shù)器減到0000h時(shí),標(biāo)簽轉(zhuǎn)變?yōu)閼?yīng)答狀態(tài),響應(yīng)RFID讀寫(xiě)器。當(dāng)時(shí)隙計(jì)數(shù)器值為0000h,并且已經(jīng)應(yīng)答,但沒(méi)有得到確認(rèn)時(shí),標(biāo)簽變?yōu)橹俨脿顟B(tài),當(dāng)接收到下一條QueryRep命令時(shí),簽時(shí)隙計(jì)數(shù)器減一變?yōu)?FFFh,防止隨后應(yīng)答,直到標(biāo)簽接收到Query Adjust命令或者進(jìn)入下一個(gè)識(shí)別周期。在2Q-1條QueryRep命令中,所有標(biāo)簽至少應(yīng)答一次。
當(dāng)電子標(biāo)簽時(shí)隙計(jì)數(shù)器同時(shí)達(dá)到0000h,并同時(shí)應(yīng)答,會(huì)產(chǎn)生沖突;當(dāng)標(biāo)簽時(shí)隙計(jì)數(shù)器都不等于0000h,RFID讀寫(xiě)器接收不到響應(yīng)。面對(duì)這兩種情況,RFID讀寫(xiě)器可能需要重新選定Q值,RFID讀寫(xiě)器根據(jù)的自適應(yīng)Q算法。
應(yīng)用案例:上海營(yíng)信為某企業(yè)年會(huì)提供會(huì)議簽到服務(wù)
由自適應(yīng)Q算法可知,當(dāng)某一時(shí)隙出現(xiàn)沖突或者無(wú)響應(yīng)的情況,Qfp的值會(huì)增大或減小,然后對(duì)Qfp四舍五入得到新的Q值。如果Q值發(fā)生變化,RFID讀寫(xiě)器發(fā)送Query命令更新Q值,并使標(biāo)簽重新選擇時(shí)隙計(jì)數(shù)器;否則繼續(xù)發(fā)送QueryRep命令,讓所有標(biāo)簽時(shí)隙計(jì)數(shù)器減一。自適應(yīng)Q算法通過(guò)根據(jù)標(biāo)簽沖突以及無(wú)響應(yīng)情況動(dòng)態(tài)地改變Q值,從而改變時(shí)隙數(shù),實(shí)現(xiàn)自適應(yīng)防沖突。
3 RFID超高頻存在的問(wèn)題及解決方案
3.1存在的問(wèn)題
本文的背景是高速運(yùn)動(dòng)標(biāo)簽群通過(guò)RFID讀寫(xiě)器射頻區(qū)域,該種情況必須注意的是,RFID讀寫(xiě)器范圍內(nèi)的標(biāo)簽是動(dòng)態(tài)變化的,隨時(shí)都有新標(biāo)簽加入RFID讀寫(xiě)器的識(shí)別范圍,從而影響系統(tǒng)的防沖突處理。通過(guò)對(duì)ISO18000-6 Type C防沖突算法過(guò)程的研究,發(fā)現(xiàn)該算法在面對(duì)快速標(biāo)簽群時(shí)并未做有效的處理。
根據(jù)算法的工作過(guò)程,當(dāng)UR6258電子標(biāo)簽RFID讀寫(xiě)器開(kāi)始電子標(biāo)簽的識(shí)別工作,首先發(fā)送Query命令開(kāi)啟一個(gè)清點(diǎn)周期,高速運(yùn)動(dòng)標(biāo)簽群進(jìn)入RFID讀寫(xiě)器識(shí)別范圍,上電進(jìn)入休眠狀態(tài)。RFID讀寫(xiě)器在識(shí)別范圍內(nèi)選擇部分標(biāo)簽進(jìn)入清點(diǎn)周期,部分標(biāo)簽沒(méi)有被選擇而保持休眠狀態(tài),等待下一個(gè)清點(diǎn)周期的到來(lái)。當(dāng)上一個(gè)清點(diǎn)周期結(jié)束,RFID讀寫(xiě)器會(huì)發(fā)送Query命令開(kāi)啟新的清點(diǎn)周期,這時(shí)候RFID讀寫(xiě)器識(shí)別范圍內(nèi)會(huì)有新加入的標(biāo)簽,RFID讀寫(xiě)器會(huì)從所有標(biāo)簽中再次隨機(jī)選擇部分標(biāo)簽進(jìn)入清點(diǎn)周期。新標(biāo)簽的加入導(dǎo)致部分標(biāo)簽可能始終無(wú)法進(jìn)入清點(diǎn)周期,無(wú)法被識(shí)別到,然后離開(kāi)RFID讀寫(xiě)器識(shí)別范圍。
另外一種情況是,電子標(biāo)簽進(jìn)入清點(diǎn)周期后,在電子標(biāo)簽應(yīng)答發(fā)生沖突或者未收到回復(fù)的情況下,時(shí)隙計(jì)數(shù)器由0000H減1變?yōu)镕FFFH,避免隨后應(yīng)答。這時(shí)候會(huì)有兩種情況:一種是由于碰撞或者無(wú)響應(yīng)的情況導(dǎo)致Q值發(fā)生變化,這時(shí)允許所有標(biāo)簽重新隨機(jī)選擇一個(gè)值放入時(shí)隙計(jì)數(shù)器,在清點(diǎn)周期內(nèi)獲得再一次被識(shí)別的機(jī)會(huì);如果沖突以及無(wú)響應(yīng)現(xiàn)象沒(méi)有導(dǎo)致Q值發(fā)生變化,那么在本輪清點(diǎn)周期結(jié)束后,它會(huì)同新進(jìn)標(biāo)簽一起爭(zhēng)取下一次進(jìn)入清點(diǎn)周期的機(jī)會(huì),所以會(huì)有幾率無(wú)法進(jìn)入清點(diǎn)周期,直到離開(kāi)RFID讀寫(xiě)器的識(shí)別范圍。
假設(shè)運(yùn)動(dòng)標(biāo)簽群的運(yùn)動(dòng)速度為v,標(biāo)簽在RFID讀寫(xiě)器識(shí)別范圍內(nèi)運(yùn)動(dòng)距離為d,那標(biāo)簽在識(shí)別范圍內(nèi)的時(shí)間t=v/d。假設(shè)RFID讀寫(xiě)器進(jìn)行一輪標(biāo)簽讀取的時(shí)間為T(mén),而標(biāo)簽被識(shí)別所需的周期為n(n為正整數(shù)),那么當(dāng)n·Tv/d,則會(huì)出現(xiàn)標(biāo)簽不被識(shí)別的情況。
以上兩種情況的發(fā)生都可能會(huì)導(dǎo)致標(biāo)簽群中部分標(biāo)簽一段時(shí)間不被識(shí)別,通過(guò)RFID讀寫(xiě)器的識(shí)別范圍,從而造成系統(tǒng)的不可靠,出現(xiàn)漏讀。
3.2 解決方案
針對(duì)高速運(yùn)動(dòng)標(biāo)簽群的識(shí)別,主要問(wèn)題是新標(biāo)簽與舊標(biāo)簽爭(zhēng)搶進(jìn)入清點(diǎn)周期的機(jī)會(huì),而舊標(biāo)簽在RFID讀寫(xiě)器識(shí)別范圍的時(shí)間有限。面對(duì)這種情況,解決問(wèn)題切入點(diǎn)是讓舊標(biāo)簽比新標(biāo)簽擁有更多的機(jī)會(huì)進(jìn)入清點(diǎn)周期,或者直接不允許新標(biāo)簽與舊標(biāo)簽競(jìng)爭(zhēng),而是等待舊標(biāo)簽完成識(shí)別才開(kāi)始新標(biāo)簽的識(shí)別工作。擬采用兩種方法解決該問(wèn)題。
第一種是基于標(biāo)簽到場(chǎng)時(shí)間的解決方案。標(biāo)簽進(jìn)入射頻范圍內(nèi)上電,標(biāo)簽內(nèi)到場(chǎng)計(jì)時(shí)器開(kāi)始計(jì)時(shí),計(jì)時(shí)值為t,RFID讀寫(xiě)器選定一個(gè)適當(dāng)?shù)挠?jì)時(shí)值T,發(fā)送Query命令開(kāi)始清點(diǎn)周期的同時(shí)發(fā)送T,標(biāo)簽把自己的計(jì)時(shí)值與RFID讀寫(xiě)器所要求的T大小作比較。
第二種是基于標(biāo)簽到場(chǎng)點(diǎn)名的辦法。當(dāng)某一時(shí)刻系統(tǒng)啟動(dòng),RFID讀寫(xiě)器開(kāi)始發(fā)送Query命令進(jìn)入清點(diǎn)周期之前發(fā)送點(diǎn)名命令,讓識(shí)別范圍內(nèi)的標(biāo)簽由休眠狀態(tài)進(jìn)入到場(chǎng)狀態(tài)。之后只選擇到場(chǎng)狀態(tài)的標(biāo)簽進(jìn)入清點(diǎn)周期,待所有到場(chǎng)標(biāo)簽完成識(shí)別再進(jìn)行新一輪點(diǎn)名。這種方案可以完全解決新舊標(biāo)簽的競(jìng)爭(zhēng)問(wèn)題。
應(yīng)用案例:UR5206讀寫(xiě)器用于施工人員簽到
RFID超高頻防沖突算法結(jié)語(yǔ)
針對(duì)高速運(yùn)動(dòng)標(biāo)簽群的特殊背景,研究了ISO18000-6 Type C類標(biāo)準(zhǔn)的隨機(jī)時(shí)隙防沖突算法(SR),研究得知該算法并沒(méi)有針對(duì)該種情況進(jìn)行有效的處理,會(huì)出現(xiàn)漏讀現(xiàn)象。在不改變?cè)兴惴ū举|(zhì)的前提下提出了基于到場(chǎng)時(shí)間以及基于到場(chǎng)點(diǎn)名兩種解決方案。