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