關於超高頻RFID標籤你所不知道的那些常識

隨著超高頻RFID應用的普及,大家在項目應用中遇到的問題也越來越多,其中RFID電子標籤出現的問題是最多的。如何在項目實際應用中達到最佳的使用效果,相信瞭解超高頻RFID標籤的常識將對你有所幫助。

科普篇 | 關於超高頻RFID標籤你所不知道的那些常識

下面我們就來了解下符合EPC Class1 Gen2(簡稱G2)協議V109版的標籤和Reader(讀寫器),應該具有的那些特性:

A、標籤有哪幾種狀態?

收到連續波(CW)照射即上電(Power-up)以後,標籤可處於Ready(準備),Arbitrate(裁斷),Reply(回令),Acknowledged(應答),Open(公開),Secured(保護),Killed(滅活)七種狀態之一。

1、讀寫狀態是未被滅活的標籤上電以後,開始所處的狀態,準備響應命令。

2、在Arbitrate狀態,主要為等待響應Query等命令。

3、響應Query後,進入Reply狀態,進一步將響應ACK命令就可以發回EPC號碼。

4、發回EPC號碼後,進入Acknowledged狀態,進一步可以響應Req_RN命令。

5、Access Password不為0才可以進入Open狀態,在此進行讀、寫操作。

6、已知Access Password才可能進入Secured狀態,進行讀、寫、鎖定等操作。

7、進入到Killed狀態的標籤將保持狀態不變,永遠不會產生調製信號以激活射頻場,從而永久失效。被滅活的標籤在所有環境中均應保持Killed狀態,上電即進入滅活狀態,滅活操作不可逆轉。

所以,要讓標籤進入某一狀態一般需要適當次序的一組合法命令,反過來各命令也只能當標籤在適當的狀態下才能有效,標籤響應命令後也會轉到其他狀態。

B、標籤存儲器分為哪幾個區?

標籤內存分為:Reserved(保留)、EPC(電子產品代碼)、TID(標籤識別號)和User(用戶)四個獨立的存儲區塊。

Reserved區:存儲Kill Password(滅活口令)和Access Password(訪問口令)。

EPC區:存儲EPC號碼等。

TID區:存儲標籤識別號碼,每個TID號碼應該是唯一的。

User區:存儲用戶定義的數據。

C、命令分為哪幾類?

從使用功能上,命令可分為標籤Select(選取)、Inventory(盤點)和Access(存取)命令三類。

從命令體系架構和擴展性上,命令可分為Mandatory(必備的)、Optional(可選的)、 Proprietary (專有的)和Custom(定製的)四類。

D、選取(Select)類命令有哪些?

選取類命令只有一條:Select,是必備的。標籤有多種屬性,基於用戶設定的標準和策略,使用Select命令,改變某些屬性和標誌就人為選擇或圈定了一個特定的標籤群,可以只對它們進行盤點識別或存取操作,這樣有利於減少衝突和重複識別,加快識別速度。

E、盤點(Inventory)類命令有哪些?

盤點類命令有五條,分別為:Query、 QueryAdjust、QueryRep、 ACK、 NAK。

1、標籤收到有效Query命令後,符合設定標準被選擇的每個標籤產生一個隨機數(類似擲骰子),而隨機數為零的每個標籤,都將產生迴響(發回臨時口令RN16--一個16-bit隨機數),並轉移到Reply狀態;符合另一些條件的標籤會改變某些屬性和標誌,從而退出上述標籤群,有利於減少重複識別。

2、標籤收到有效QueryAdjust命令後,只是各標籤分別新產生一個隨機數(象重擲骰子),其他同Query。

3、標籤收到有效QueryRep命令後,只對標籤群中的每個標籤原有的隨機數減一,其他同Query。

4、僅單一化的標籤才能收到有效ACK命令(使用上述RN16,或句柄Handle--一個臨時代表標籤身份的16-bit隨機數。此為一種安全機制!),收到後,發回EPC區中的內容??EPC協議最基本的功能。

5、標籤收到有效NAK命令後,除了處於Ready、Killed的保持原狀態外,其它情況都轉到Arbitrate狀態。

F、存取(Access)類命令有哪些?

存取(Access)類命令有八條,其中有五條是必備的:Req_RN、Read、Write、Kill、Lock。還有三條可選的:Access、BlockWrite、BlockErase。

1、標籤收到有效Req_RN(with RN16 or Handle)命令後,發回句柄,或新的RN16,視狀態而不同。

2、標籤收到有效Read(with Handle)命令後,發回出錯類型代碼,或所要求區塊的內容和句柄。

3、標籤收到有效Write(with RN16 & Handle)命令後,發回出錯類型代碼,或寫成功就發回句柄。

4、標籤收到有效Kill(with Kill Password,RN16 & Handle)命令後,發回出錯類型代碼,或滅活成功就發回句柄。

5、標籤收到有效Lock(with Handle)命令後,發回出錯類型代碼,或鎖定成功就發回句柄。

6、標籤收到有效Access(with Access Password,RN16 & Handle)命令後,發回句柄。

7、標籤收到有效BlockWrite(with Handle)命令後,發回出錯類型代碼,或塊寫成功就發回句柄。

8、標籤收到有效BlockErase(with Handle)命令後,發回出錯類型代碼,或塊擦除成功就發回句柄。

科普篇 | 關於超高頻RFID標籤你所不知道的那些常識

G、必備的(Mandatory)命令有哪些?

在符合G2協議的超高頻標籤和UHF讀寫器中,應該支持必備的命令有十一條:Select(選擇)、Query(查詢)、 QueryAdjust(調節查詢), QueryRep(重複查詢), ACK(EPC答覆), NAK(轉向裁斷), Req_RN(隨機數請求)、Read(讀)、Write(寫)、Kill(滅活)、Lock(鎖定)。

H、可選的(Optional)命令有哪些?

在符合G2協議的超高頻標籤和UHF讀寫器中,可選的命令有三條:Access(訪問)、BlockWrite(塊寫)、BlockErase(塊擦除)。

I、專有的(Proprietary)命令會是什麼?

專有的命令一般用於製造目的,如標籤內部測試等,標籤出廠後這樣的命令應該永久失效。

J、定製的(Custom)命令會有哪些?

可以是製造商自己定義而開放給用戶使用的命令,如Philips公司提供有:BlockLock(塊鎖定),ChangeEAS(改EAS狀態),EASAlarm(EAS報警)等命令(EAS是商品電子防盜竊系統Electronic Article Surveillance的縮寫)。

K、G2用什麼機制抗衝突的?所謂衝突(collisions)是怎麼回事,怎樣抗衝突?

當有不止一個隨機數為零的標籤各發回不同的RN16時,它們在接收天線上會出現不同RN16的波形迭加,也即所謂衝突(collisions),從而不能正確解碼。有多種抗衝突機制可以避免波形迭加變形,例如設法(時分)使某時刻只有一個標籤“發言”,接著再單一化處理,就能識別讀寫多張標籤中的每一張標籤。

上述的選取、盤點和存取類命令就體現了G2的抗衝突機制:隨機數為零的標籤才能發回RN16,若同時有多個標籤隨機數為零,而不能正確解碼,就策略性地重發Q字頭的命令或組合,給被選擇的標籤群,直到能正確解碼。

L、G2中訪問(Access)等命令是可選的,若標籤或超高頻讀寫器不支持可選的命令怎麼辦?

若不支持BlockWrite或BlockErase命令,完全可以由Write命令(一次寫16-bit)多使用幾次代替,因為擦除可以認為是寫0,前者塊寫、塊擦除的塊是幾倍的16-bit,其他使用條件類似。

若不支持Access命令,只有Access Password為0,才可進入Secured狀態,才能使用Lock命令。在Open或Secured狀態裡都可以改變Access Password,之後再使用Lock命令鎖定或永久鎖定Access Password的話(pwd-read/write位為1,permalock位為0或1,參考附表),則標籤再也進不了Secured狀態了,也再不能使用Lock命令去改變任何鎖定狀態了。

只有支持Access命令,才可能使用相應的命令自由進入全部各種狀態,除了標籤被永久鎖定或永久不鎖而拒絕執行某些命令和處於Killed狀態以外,也多能有效執行各個命令。

G2協議規定的Access命令屬於Optional可選的,但日後若能讓Access命令成為必備的或者廠商生產對G2標籤和讀寫器都支持Access命令的話,則控制和使用起來也會比較全面和靈活。

M、G2協議中的滅活(Kill)命令效果怎麼樣?能否重新使用已滅活的標籤?

在G2協議設置了Kill命令,並且用32-bit的密碼來控制,有效使用Kill命令後標籤永遠不會產生調製信號以激活射頻場,從而永久失效。但原來的數據可能還在RFID標籤中,若想讀取它們並非完全不可能,可以考慮改善Kill命令的含義--附帶擦除這些數據。

此外,在一定時期內由於G2標籤使用的成本或其他原因,會考慮到兼顧標籤能回收重複使用的情況(如用戶要週轉使用帶標籤的托盤、箱子,內容物更換後相應的EPC號碼、User區內容要改寫;更換或重新貼裝標籤不方便和花費較高等問題),因此就需要即使被永久鎖定了的標籤內容也能被改寫的命令,因為不同鎖定狀態的影響,僅用Write、BlockWrite或BlockErase命令,不一定能改寫EPC號碼、User內容或Password(如標籤的EPC號碼被鎖定從而不能被改寫,或未被鎖定但忘了這個標籤的Access Password而不能去改寫EPC號碼)。這時就需要一個簡單明瞭的Erase命令--除了TID區及其Lock狀態位(標籤出廠後TID不能被改寫),其他EPC號碼、Reserved區、User區的內容和其它的Lock狀態位,即使是永久鎖定了的,也將全部被擦除以備重寫。

比較起來,改善的Kill命令和增加的Erase命令功能基本相同(包括應該都使用Kill Password),區別僅在於前者Kill命令使不產生調製信號,這樣也可以統一歸到由Kill命令所帶參數RFU的不同值來考慮。

N、標籤識別號(TID)應該具有唯一性嗎?又是怎樣達成的?

標籤識別號TID是標籤之間身份區別的標誌。從安全和防偽角度考慮,標籤應該具有唯一性;由上文可知,標籤四個存儲區塊各有用處,出廠後有的還能隨時改寫,而TID就可以擔當此任,所以標籤的TID應該具有唯一性。

由於TID是唯一的,雖然標籤上的EPC碼等可以被複制到另一張標籤上去,也能通過標籤上的TID加以區分,從而正本清源。此種架構和方法簡單可行,但要注意保證唯一性的邏輯鏈。

所以,生產廠家出廠前應使用Lock命令或其他手段作用於TID,使之永久鎖定;並且生產廠家或有關組織應該保證每個G2芯片適當長度的TID是唯一的,任何情況下不會有第二個同樣的TID,即使某G2標籤處於Killed狀態不會被激活再使用,它的TID(仍在此標籤中)也不會出現在另一張G2標籤中。

以上內容為網絡整理的資料,供大家參考,有任何出入的地方歡迎各位朋友給予指正,互相學習。


分享到:


相關文章: