GEN2協(xié)議基本設置 ~解密應用程序
EPC global Gen2協(xié)議的設定使其能夠適應各種各樣的應用,它允許操作者對每個其中的每個參數都進行調整,以滿足在特定場景下的優(yōu)化要求。ThingMagic讀寫器滿足即開即用的特性,其默認的配置可以滿足絕大部分常規(guī)場景下的應用,許多用戶不必進行復雜的Gen2設置。而對于那些必須對GEN2進行配置的用戶,本文檔提供的信息將幫助他們更簡便的對ThingMagic讀寫器進行性能優(yōu)化。
簡介:
對于應用EPC global Gen2技術的新用戶來說,很常見的一點是,他們無法立即實現(xiàn)讀寫器和標簽廠家技術規(guī)格書中所描述的性能。雖然有些差異可能是由于廠家是在極端理想環(huán)境下測量出的結果,但更可能的原因是讀寫器并沒有得到最優(yōu)化的配置,特別是與EPC global Gen2(“Gen2”)協(xié)議相關的設置。
了解Gen2設置選項的意義,并對其進行優(yōu)化,從而能夠提高RFID總體系統(tǒng)性能,達到接近廠家提供的技術參數水平。這是應用者普通的要求,本應用說明將解釋每個相關Gen2設置的目的和影響,然后逐步優(yōu)化它們,以獲得最佳結果。
要了解Gen2設置的相關性,必須先了解UHF RFID的基本工作原理。在底層,讀卡器為標簽工作提供能量,與此同時再與標簽進行通信。這就好比兩個人在不同的兩個山頂上,其中一個人只有手電筒(代表讀寫器),另一個人只有鏡子(代表標簽)。如果他們試圖在晚上從一個山頂發(fā)送信息到另一個山頂,拿著手電筒的人可以就通過打開或關閉手電筒來發(fā)送信息。如果打開手電筒代表的的數據“1”,關閉手電筒代表數據“0”,那么在多次開關手電筒后,就可以得到一串“0101”這樣的數據,通過事先約好的定義,就可以很好的把信息傳遞過去了。但當他想得到回應時,只有鏡子的人因為沒有光,所以不能發(fā)送信息,這就需要帶手電筒的人一直保持手電筒打開,這樣帶鏡子的人通過控制鏡子什么時候反射光,什么時候不發(fā)射光,來達到同樣的傳遞數據“0”“1”的效果,完成信息的傳遞。在這個系統(tǒng)中,真正的挑戰(zhàn)是,可能還有許多人在其他山頂上,也有鏡子,并隨時準備將消息發(fā)送回“讀寫器”,這個時候就需要Gen2協(xié)議進行優(yōu)化設計,以便能處理這種復雜情況下的通信。
管理標簽行為的設置都是由讀寫器在與一個或多個標簽通信時發(fā)送的消息來控制的。這些設置不會持續(xù)很長時間。有些持續(xù)一次與讀寫器的通訊,有些直到所有標簽都通訊完成,有些直到標簽斷電,有些持續(xù)一段固定的時間。然而,幾分鐘后,Gen2協(xié)議將重置所有標簽,使它們都回到默認狀態(tài),以便第二個讀寫器在檢索到標簽時自動知道標簽處于什么樣的初始狀態(tài)。
Gen2協(xié)議的設置比較多,但總體可以將它們分為三類:
1、控制讀寫器與標簽通信方式的設置
2、控制標簽與讀取器通信方式的設置
3、控制標簽響應方式的設置,以避免標簽通訊間的相互干擾、沖突
此外,當要對Gen2選項進行設置時,應首先明確需要對RFID性能的哪些方面進行優(yōu)化。典型的選擇有:
1、最遠的讀取距離
2、最短時間讀取到區(qū)域內的每一個標簽
3、最短時間讀取到區(qū)域內快速經過的單個標簽
4、在最短時間內讀取到最大量的標簽
最后一種情況(4)在實際應用中很少需要,把它與其他情況一起提出,是因為它通常是用戶在實驗室環(huán)境中測試讀寫器時嘗試做的第一件事。也經常被用來表征一個讀寫器性能優(yōu)劣的重要參數值。
當然,實際應用中可能還需要盡量減少不利條件對性能造成的負面影響,例如,當許多讀寫器位于非常近的位置時,減少讀寫器與讀寫器之間的干擾,也變得很重要。Gen2的設置在這方面也有優(yōu)化方案。
讀寫器到標簽的設置
雖然與Gen2設置沒有直接關系,但發(fā)射功率對于RFID技術能否成功應用是一個至關重要的因素,這里必須簡單介紹一下。
為了在讀寫器和標簽之間進行成功的通信,標簽必須從讀寫器發(fā)出的信號中獲得能量并激活。如果標簽不能獲得能量,則將一直處于休眠狀態(tài),那么它不能響應讀寫器的指令,因此標簽與讀寫器將根本無法發(fā)生通信。要獲得最大性能,請始終將讀寫器配置為在本地法規(guī)允許的最大發(fā)射功率,并選用法規(guī)允許的最大增益的天線。(在FCC規(guī)定的地區(qū),當讀寫器發(fā)射功率水平為+30dbm,圓極化天線的最大增益為9dbic,線極化天線的最大增益為6dBiL。)
在讀寫器到標簽的通信中,有兩個主要的Gen2控制參數,“Tari”和“鏈接速率”。在前面手電筒和鏡子的類比中,如果通信“協(xié)議”是摩斯電碼,“Tari”將控制一個點(或符號)的長度,而鏈接速率將控制點和符合的發(fā)送速度。和摩斯電碼一樣,數據的最大發(fā)送速度也受到點和符號長度的限制。簡單來說,“Tari”值越大,那么在相同時間內傳輸的數據量就少,也就是數據的傳輸速率就越慢;而“Tari”值越小,相同時間內傳輸的數據量就大,也就是數據的傳輸速率就越快。ThingMagic的算法將這兩個Gen2設置一起調整,當用戶選擇較小的Tari時,鏈接速率會自動增加,反之則自動減小。這里列舉ThingMaic提供的三對匹配數據,當Tari值為6.25 usec、12.5 usec和25 usec,ThingMagic reader會自動將其與160kbps、80 kbps和40 kbps的鏈接速率配對。
那么,如何選擇Tari值(前后鏈接速率)呢,主要考慮的因素有以下兩個:
1.是否會經常給標簽寫數據?
---Gen2協(xié)議的設計是旨在最小化從讀卡器到標簽的通信的時間(在盤存周期中,信息發(fā)送的時間是非常短的)。如果只需要獲得標簽的EPC,那么Tari/linkrate就只是可被優(yōu)化的一般因素-因為它們的改變不會對性能產生太大影響。但如果執(zhí)行的是標簽寫入操作,那么減少Tari(以增加鏈接速率)將可以顯著的提升性能。
2.這個區(qū)域內還有很多其他的讀寫器嗎?
---不用太多說明,如果信道的間隔很近,則信道上的高速通信可能與相鄰信道進行干擾。如果該區(qū)域中存在其他讀寫器,并且隨著打開更多讀寫器,第一個讀卡器的性能就可能會出現(xiàn)降低,這就是系統(tǒng)正在經歷相鄰讀寫器之間的信道干擾。這種情況在北美(FCC)頻段情況可能會好一些,因為它包含50個間隔良好的頻道,但在只有4個頻道的歐盟地區(qū),這可能成為一個比較大的問題。在這種情況下,就可以嘗試增加Tari值,以降低鏈接速率,以此查看第一個讀卡器的性能是否能有所改善。
標簽到讀寫器的設置
標簽使用的信號調制方法與讀取器用于與標簽通信的方式略有不同。
通??梢允褂脙煞N設置來控制標簽到讀寫器的通信方法,即鏈接頻率(稱為“反向散射鏈接頻率”以清楚地將其與讀寫器到標簽的鏈接速率區(qū)分開來)和“M”值。反向散射鏈路頻率(通??s寫為“BLF”)和“M”值均會改變標簽與讀寫器進行通訊的方式。
BLF是原始信號速率。ThingMagic讀寫器支持的數據速率為250 kHz和640 kHz。標簽與讀寫器之間的數據傳輸,從底層看實際上就是數據“0”和數據“1”的發(fā)送。GEN2協(xié)議規(guī)定了表征數據“0”的符號,那么M值實質上就是控制這種符號重復的次數。M為2表示每個符號重復兩次來代表數據“0”,其它的以此類推。ThingMagic讀寫器支持1(FM0)、2、4和8的M值。
當沒有重復(M=1)時,這是最初始的狀態(tài),簡稱為“FM0”,相對于其他幾種情況,這種沒有太需要說明的特性。 Gen2協(xié)議提供的這個選項,用來對同一個數據的傳輸,允許使用多個重復符號的表示,以最大限度地提高讀寫器可以解碼標簽中非常弱的信號的機會。這就好比人們在嘈雜的房間里低語時,如果同一個詞他們重復多說幾遍,那我們能聽到聽懂的幾率就更大一些。所以,當“M”≥2時,RFID讀寫器更有機會解碼那些微弱的標簽信號。但也因為傳輸同樣的數據,M≥2時,需要重復多個符號,因此,就需要更多的時間,由此就會帶來通訊速率的下降。M值越高,接收微弱信號的能力越強,也就是我們通常所說的接收靈敏度越高,但同時通訊速率會下降,讀取標簽的速度會下降。
ThingMagic讀寫器器目前支持640kHz的BLF和FM0的“M”值,以實現(xiàn)最高的標簽到讀寫器的數據速率,這樣可以實現(xiàn)大約每秒400個標簽的讀取。或者可以將250khz的BLF與FM0、2、4或8的“M”選項組合。在BLF=250khz和M=8時,標簽讀取速率降至每秒約100個標簽,但靈敏度就可以接近于安裝了輔助電池的標簽,相比于640 kHz / FM0設置,增加的靈敏度幾乎可以使讀取距離增加一倍。當然在選擇這些值時,還需要考慮一些額外的因素。比如在存在多個讀寫器的情況下,從讀寫器到標簽通信的較高數據速率,增加了讀寫器與讀寫器之間干擾的可能性,從標簽到讀寫器的較高速率也會導致不必要的相鄰信道干擾。如何平衡這些問題將在優(yōu)化一節(jié)中討論。
標簽關鍵設置
剩下的Gen2設置控制了標簽對讀寫器響應的速度和頻率。如果區(qū)域內的所有標簽都立即對讀寫器響應,則它們的響應將發(fā)生沖突,讀寫器將幾乎無法解碼任何標簽的響應。為了避免這種情況,Gen2協(xié)議提供了一個隨機的槽計數器,標簽可以在各自的槽計數器狀態(tài)下對讀寫器進行響應。
讀寫器向標簽發(fā)布它將給它們響應的槽計算器的數量(根據它發(fā)送的“Q”值計算)。每個標簽在這個范圍內隨機選擇一個的數字,并將這個數字裝入槽計數器中。讀寫器根據標簽選擇的槽計數器值進行響應。當選擇的值為“0”的標簽將立即與讀寫器進行應答,其它標簽進行仲裁狀態(tài),等待下一輪的盤存。讀寫器完成與槽計數器為“0”的標簽應答后,將發(fā)送下一條盤存指令,原有的標簽自動將自己槽計數器中的值進行“減1”操作,“減1”操作完成后,值為“0”的標簽與讀寫器進行應答。依次循環(huán),直到所有的標簽都與讀寫器完成應答。
讀寫器發(fā)布的“Q”值是一個0到15之間的數字。
*槽計數器的數量是2的Q次方。時間槽數量隨著“Q”值的增加而迅速增加:1、2、4、8、16等。
如果“Q”太大,則許多響應機會都將得不到回應,那么盤存周期將花費更長的時間。
如果“Q”太小,一個或多個標簽將更有可能在同一時間段內響應,從而導致在所有標簽響應之前必須運行多個盤存周期。在極端情況下,如果區(qū)域中的標簽多于可用的槽計算器,則總是會發(fā)生響應沖突,并且盤存周期永遠不會成功完成。理想的槽計算器數約為區(qū)域內標簽數量的1.5倍左右。如果標簽數量可變,用戶可以將ThingMagic 讀寫器的Q值設置為自適應Q值(讀寫器會根據標簽的響應情況進行Q值的自動調整,如果有很多沖突,則增加“Q”, 如果有太多未響應的時間槽,則減少“Q”)
Gen2還有兩個附加設置,用于控制標簽是否以及多久參與一次盤存周期。
最初設置響應隊列時,讀寫器還會向所有標簽發(fā)送另外兩條信息:
(1)他們應該延遲多長時間才能重新做出回應(稱為“會話”值),以及(2)他們應該處于哪種狀態(tài)(“A”或“B”) 來參與盤存周期。“A”狀態(tài)表示標簽尚未響應盤存周期。“B”狀態(tài)表示標簽響應了盤存周期。會話設置確定標簽在返回“A”狀態(tài)之前在“B”狀態(tài)等待的時間,以便它們能夠再次參與盤存周期。
“會話”設置控制標簽對盤存周期的響應頻率,它具有4個選項,其中有兩個選項的作用是相同的。
會話“ 0”:準備在RF功率下降時再次響應
會話“ 1”:準備在第一次響應后0.5到5秒內再次響應
會話“ 2”或“ 3”:至少2秒鐘不要再次響應
會話設置的選擇幾乎總是基于區(qū)域中預期的標簽數量。對于ThingMagic的默認設置,標簽讀取速度約為每秒200個標簽。 在默認配置下,如果區(qū)域中最多有100個標簽,則可以配置使用S0;S1對應于區(qū)域中的1到400個標簽,如果區(qū)域中的標簽數量大于400個標簽,則S 2或S3較為適合。
ThingMagic的“目標”設置僅在強制標簽更頻繁的重新響應時才有意義。 有兩個相關的選擇,“ A”和“ A然后B”。 “ A”表示閱讀器始終處于檢索“ A”狀態(tài)的標簽。 會話周期內保持在“ B”狀態(tài)的標簽將被忽略。 “ A然后B”告訴讀寫器讀取處于“ A”狀態(tài)的所有標簽,然后讀取處于“ B”狀態(tài)的所有標簽,并繼續(xù)重復此過程。 處于“ B”狀態(tài)的標簽將響應“ B”查詢,并立即返回其“ A”狀態(tài),無論會話計時器上是否還有時間。 這種加快的讀取速率僅在兩種情況下有用:
(1)應用程序需要多次讀取相同的標簽,以確定標簽的身份之外的更多信息,例如,如果試圖通過監(jiān)視標簽的返回信號電平來確定標簽是否正在靠近或遠離天線。
(2)用戶試圖通過反復讀取較少的標簽來評估讀寫器在多標簽情況下的表現(xiàn)。
優(yōu)化Gen2設置
這里將提供一個逐步實現(xiàn)預期結果的創(chuàng)建過程。
(1)將讀寫器的發(fā)射功率設置到最大(通常是法規(guī)允許的最高值)實現(xiàn)可能的最大讀取距離(Tari=6.25 usec,BLF=250 kHz,M=8)。將標簽放置在應用系統(tǒng)所需的最大讀取距離上,并確??煽孔x取所有標簽。
(2)為預期的標簽數量設置“ Q”值和會話值(2 ^ Q應大于標簽數量的1.5倍)。如果標簽的數量變化很大,請使用ThingMagic“自動Q值”設置。
(3)設置會話值。 最大距離的BLF和M設置將每秒讀取約100個標簽,因此如果預計最多50個標簽,則會話應設置為“S0”,如果預期最多200個標簽,會話應設置為“S1”,如果預期字段中有更多標簽,會話應設置為“S2”(或“S3”)。
(4)現(xiàn)在確定這些設置是否滿足對標簽讀取速率(或讀取通過該區(qū)域內快速移動的標簽的速度)的要求。如果讀取速率(或單標簽讀取時間)太慢,請開始減小“ M”值(將BLF保持在250 kHz),直到達到所需的讀取速率為止。 (如果FM0和250 kHz不足,請嘗試FM0和640 kHz。)現(xiàn)在再次檢查所需距離處的系統(tǒng)性能,以確保標簽仍可得到可靠讀取。如果仍然正常,請保留這些設置。否則,您將必須確定M和BLF的最佳折衷值,以平衡讀取距離和讀取速率。
(5)如果應用系統(tǒng)需要它,請?zhí)砑痈嗑哂邢嗤O置的讀寫器。在其他讀寫器工作時檢查第一個讀寫器的性能。如果沒有變化,請保留其設置。如果其性能下降,則可能會發(fā)生讀寫器之間的干擾。首先在所有讀卡器增加Tari,以查看是否有幫助(此更改將對其他性能因素的影響最小)。如果不起作用,請嘗試降低BLF并增加M值,以查看是否解決問題。如果是這樣,則必須選擇BLF和M值,這些值將提供一個可接受的水平,以減少讀寫器之間的干擾、讀取速率和讀取距離。
(6)如果應用系統(tǒng)需要一些標簽進行重復響應,請使用“ S0”并保留target =“ A”設置。如果該區(qū)域中有足夠數量的標簽,請使用“S1”或“S2”,但如果需要這些標簽比會話計時器所允許的速度更快重新響應,請使用target =“ A然后B”設置。
此時,Gen2設置將得到優(yōu)化,并且系統(tǒng)將以最高性能運行。如果您仍然遇到困難,可以從ThingMagic獲得其他支持資源。