好吊视频一区二区三区-国产精品V欧美精品V日韩精品-老司机亚洲精品影院-国产精品视频免费播放

物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  技術文章  >  其他  >  正文

關于RFID EPC Class1 Gen2電子標簽的那些命令

作者:本站收錄
來源:博客園
日期:2021-05-31 09:16:15
摘要:符合EPC Class1 Gen2(簡稱G2)協議V109版的電子標簽(Tag)和讀寫器(Reader)應該具有下述的特性:
關鍵詞:電子標簽

符合EPC Class1 Gen2(簡稱G2)協議V109版的電子標簽(Tag)和讀寫器(Reader)應該具有下述的特性:

一、標簽存儲器分區

Tag memory分為Reserved(保留),EPC(電子產品代碼),TID(標簽識別號)和User(用戶)四個獨立的Bank(存儲區塊)。

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

EPC:存儲EPC號碼等。

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

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

此外,還有各區塊的Lock(鎖定)狀態位等用到的也是存儲性質的單元。



二、標簽的狀態

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

Ready狀態是未被滅活的標簽上電以后,開始所處的狀態,準備響應命令。

Arbitrate狀態主要是為等待響應Query等命令。

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

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

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

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

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

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

三、命令分類

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

從使用功能上看,分為標簽Select(選取),Inventory(盤點)和Access(存取)命令三類,此外還為了以后命令擴展,預留了長短不同的編碼待用。

四、必備的(Mandatory)命令

符合G2協議的標簽和讀寫器,應該支持必備的命令有十一條:

Select(選擇)

Query(查詢)

QueryAdjust(調節查詢)

QueryRep(重復查詢)

ACK(EPC答復)

NAK(轉向裁斷)

Req_RN(隨機數請求)

Read(讀)

Write(寫)

Kill(滅活)

Lock(鎖定)

五、可選的(Optional)命令

符合G2協議的標簽和讀寫器,可選的命令有三條:Access(訪問),BlockWrite(塊寫),BlockErase(塊擦除)。

六、專有的(Proprietary)命令

專有的命令一般用于制造目的,如標簽內部測試等,標簽出廠后這樣的命令應該永久失效。

七、定制的(Custom)命令

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

八、從功能角度: 選取(Select)類命令

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

九、從功能角度: 盤點(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狀態。

十、從功能角度: 存取(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)命令后,發回出錯類型代碼,或塊擦除成功就發回句柄。

十一、G2用什么機制避免沖突

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

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



十二、標簽識別號(TID)唯一性如何達成

標簽識別號TID(Tag identifier)是標簽之間身份區別的標志(可以類比于鈔票的編號)。 從安全和防偽角度考慮,任何兩張G2標簽不應該完全相同,標簽應該具有唯一性。標簽四個存儲區塊各有用處,出廠后有的還能隨時改寫,只有TID應該也可以擔當此任,所以標簽的TID應該具有唯一性。

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

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

V109版的G2協議對TID的規定,必須的僅有32-bit(包括8-bit allocation class identifier,12-bit tag mask-designer identifier,12-bit tag model number),對更多位的bit,如SNR(serial number序列號)是Tags may contain而非should。但由于EPC號碼被設計成會用到區分單件商品上,32-bit大概是不夠用的,應該具有SNR。

十三、G2協議中的滅活(Kill)命令

G2協議設置了Kill命令,并且用32-bit的密碼來控制,有效使用Kill命令后標簽永遠不會產生調制信號以激活射頻場,從而永久失效。但原來的數據可能還在標簽中,若想讀取它們并非完全不可能,可以考慮改善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的不同值來考慮。

十四、標簽或讀寫器不支持可選的(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狀態以外,也多能有效執行各個命令。