CN
EN CN
0755-33218492
1216374743

新闻资讯

资讯速达,实时了解鸿陆的最新动态

科普篇 | 关于超高频RFID标签你所不知道的那些常识

  • 时间:2020-03-04
  • 作者:鸿陆技术
  • 浏览:2065次
  • 分享
  • A+ A-

随着超高频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)命令后,发回出错类型代码,或块擦除成功就发回句柄。



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标签中。


以上内容为网络整理的资料,供大家参考,有任何出入的地方欢迎各位朋友给予指正,互相学习。


(部分图文来源于网络,侵删)

继续阅读