RFID UHF(EPC)标签使用常识

文章复制来的,原做者原文点击这里

如今作UHF应用的愈来愈多了,如何根据实际应用设计系统以达到更佳的使用效果,其中对UHF标签相关内容的了解相当重要,不少朋友对标签的了解很少,在此不才,整理了一些资料,供你们参考,有出入的地方欢迎各位鞋童多拍砖头,你们一块儿来探讨,最后达到你好,我好,你们都好的效果。      符合EPC Class1 Gen2(简称G2)协议V109版的电子标签(Tag,简称标签)和Reader(读写器),应该具备下述的特性。html

Q1:标签存储器分为哪几个区?


A:Tag memory(标签内存)分为Reserved(保留),EPC(电子产品代码),TID(标签识别号)和User(用户)四个独立的存储区块(Bank)。
Reserved区:存储Kill Password(灭活口令)和Access Password(访问口令)。
EPC区:存储EPC号码等。
TID区:存储标签识别号码,每一个TID号码应该是惟一的。
User区:存储用户定义的数据。
此外还有各区块的Lock(锁定)状态位等用到的也是存储性质的单元。安全

Q2:标签有哪几种状态?


A:收到连续波(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状态,上电即进入灭活状态。灭活操做不可逆转。
要使标签进入某一状态通常须要适当次序的一组合法命令,反过来各命令也只能当标签在适当的状态下才能有效,标签响应命令后也会转到其余状态。架构

Q3:命令分为哪几类?


A:从命令体系架构和扩展性角度,分为Mandatory(必备的),Optional(可选的), Proprietary (专有的)和Custom(定制的)四类。
从使用功能上看,分为标签Select(选取),Inventory(盘点)和Access(存取)命令三类。
此外还为了之后命令扩展,预留了长短不一样的编码待用。ide

Q4:必备的(Mandatory)命令有哪些?


A:符合G2协议的标签和读写器,应该支持必备的命令有十一条:Select(选择),Query(查询), QueryAdjust(调节查询), QueryRep(重复查询), ACK(EPC答复), NAK(转向裁断), Req_RN(随机数请求),Read(读),Write(写),Kill(灭活),Lock(锁定)。测试

Q5:可选的(Optional)命令有哪些?


A:符合G2协议的标签和读写器,支持也能够不支持可选的命令有三条:Access(访问),BlockWrite(块写),BlockErase(块擦除)。编码

Q6:专有的(Proprietary)命令会是什么?


A:专有的命令通常用于制造目的,如标签内部测试等,标签出厂后这样的命令应该永久失效。设计

Q7:定制的(Custom)命令会有哪些?


A:能够是制造商本身定义而开放给用户使用的命令,如Philips公司提供有:BlockLock(块锁定),ChangeEAS(改EAS状态),EASAlarm(EAS报警)等命令(EAS是商品电子防盗窃系统Electronic Article Surveillance的缩写)。htm

Q8:选取(Select)类命令有哪些?


A:仅有一条:Select,是必备的。
标签有多种属性,基于用户设定的标准和策略,使用Select命令,改变某些属性和标志就人为选择或圈定了一个特定的标签群,能够只对它们进行盘点识别或存取操做,这样有利于减小冲突和重复识别,加快识别速度。blog

Q9:盘点(Inventory)类命令有哪些?


A:有五条:Query, QueryAdjust, QueryRep, ACK, NAK,都是必备的。
一、标签收到有效Query命令后,符合设定标准被选择的每一个标签产生一个随机数(相似掷骰子),随机数位数为Q,而随机数为零的每一个标签,都将产生回响(发回临时口令RN16--一个16-bit随机数),并转移到Reply状态;符合另外一些条件的标签会改变某些属性和标志,从而退出上述标签群,有利于减小重复识别。
二、标签收到有效QueryAdjust命令后,Q值加1或减1后从新新产生一个随机数(象重掷骰子),其余同Query。
三、标签收到有效QueryRep命令后,只对标签群中的每一个标签原有的随机数减一,其余同Query。
四、仅单一化的标签才能收到有效ACK命令(使用上述RN16,或句柄Handle--一个临时表明标签身份的16-bit随机数。此为一种安全机制!),收到后,发回EPC区中的内容??EPC协议最基本的功能。
五、标签收到有效NAK命令后,除了处于Ready、Killed的保持原状态外,其它状况都转到Arbitrate状态。ip

Q10:存取(Access)类命令有哪些?


A:有五条必备的:Req_RN,Read,Write,Kill,Lock, 和三条可选的:Access,BlockWrite,BlockErase。
一、标签收到有效Req_RN(with RN16 or Handle)命令后,发回句柄,或新的RN16,视状态而不一样。
二、标签收到有效Read(with Handle)命令后,发回出错类型代码,或所要求区块的内容和句柄。
三、标签收到有效Write(with RN16 & Handle)命令后,发回出错类型代码,或写成功就发回句柄。
四、标签收到有效Kill(with Kill Password,RN16 & Handle)命令后,发回出错类型代码,或灭活成功就发回句柄。
五、标签收到有效Lock(with Handle)命令后,发回出错类型代码,或锁定成功就发回句柄。
六、标签收到有效Access(with Access Password,RN16 & Handle)命令后,发回句柄。
七、标签收到有效BlockWrite(with Handle)命令后,发回出错类型代码,或块写成功就发回句柄。
八、标签收到有效BlockErase(with Handle)命令后,发回出错类型代码,或块擦除成功就发回句柄。

Q11:所谓冲突(collisions)是怎么回事,怎样抗冲突?G2用什么机制抗冲突的?


A:按上述Q9解答中提到的,当有不止一个随机数为零的标签各发回不一样的RN16时,它们在接收天线上会出现不一样RN16的波形迭加,也即所谓冲突(collisions),从而不能正确解码。有多种抗冲突机制能够避免波形迭加变形,例如设法(时分)使某时刻只有一个标签“发言”,接着再单一化处理,就能识别读写多张标签中的每一张标签。
上述三条Q字头的命令体现了G2的抗冲突机制:随机数为零的标签才能发回RN16,若同时有多个标签随机数为零,而不能正确解码,就策略性地重发Q字头的命令或组合,给被选择的标签群,直到能正确解码。

Q12:标签识别号(TID)应该具备惟一性吗?怎样达成?


A:标签识别号TID(Tag identifier)是标签之间身份区别的标志(能够类比于钞票的编号)。从安全和防伪角度考虑,任何两张G2标签不该该彻底相同,标签应该具备惟一性;从上述Q1的解答中咱们知道,标签四个存储区块各有用处,出厂后有的还能随时改写,只有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协议修订或者Class 2等会考虑这些的吧。

Q13:G2协议中的灭活(Kill)命令效果怎么样?可否从新使用已灭活的标签?


A: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的不一样值来考虑。

Q14:G2中访问(Access)等命令是可选的,若标签或读写器不支持可选的命令怎么办?


A:若不支持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命令的话,则控制和使用起来将比较灵活和全面.

Q15:G2中Immediate Tag reply、Delayed Tag reply、in-process reply ?

A:

An immediate Tag reply is a reply that meets T1 specified in Table 6.16.

对于多数指令,阅读器发送指令后标签在马上回应(对应时间控制参数T1)
A delayed Tag reply is a reply that meets T5 specified in Table 6.16.

对于某些指令,阅读器发送命令后,标签须要必定的时间才能完成操做并回应,标签可能会延长必定的时间再回应(对应时间控制参数T5)
当阅读器发送一个delayed reply指令后,阅读器应该要发送一段时间长度至少为Min(Treply,T5(max))的CW波,阅读器可能会观测到如下三种状况

  • Tag成功执行该命令:标签在T5(max)时间之内回复Table6.13的内容
  • Tag发生错误:标签在Min(Treply,T5(max))时间段内回应一个错误代码
  • Tag不回应:在T5(max)内没有回应,此时阅读器应该发送Req_RN来验证标签是否还在本身的识读范围内,而后看状况发送其余命令

An in-process reply allows a Tag to spend longer than T5(max) executing a command

对于某些指令,Tag须要必定时间作计算处理,所以采用in-process reply 方式回应(对应时间控制参数T6,T7)
当阅读器发送一个in-process reply命令后,容许标签在长于T5(max)时间后再回应,并周期性的通知阅读器本身正在计算处理中;in-process reply指令发送后标签可能会前后反射多个信号,第一个反射信号应该知足T6参数指标(见Table 6.16),接下来的其余反射信号应知足T7参数指标;标签在处理计算中应该至少每隔T7(max)时间反射一次信号;阅读器会指定在每个使用in-process reply的access命令(除AuthComm外),标签在完成处理计算后是返回最终结果仍是把结果保存在标签的ResponseBuff中,对于AuthComm命令,标签必定是不保存处理结果,直接将其反射回来给阅读器。 阅读器发送in-process reply命令后可能会观察到如下三种状况:

  • Tag成功执行该命令:Tag至少没T7(max)时间回应一个Table6.14定义的信号。对于中间信号 Done 、header 应该全为0, response为null, 若是回应包含length则length=0000h.当Tag完成计算处理后发送的final reply中done=1, header=0。若是阅读器收到header=0则表示该命令成功完成。
  • Tag发生错误:...
  • Tag不回应:...

对于in-process reply命令,不管TRext值为多少,Tag都按照TRext=1回应

Q16:G2中阅读器什么编码方式?


A:G2中阅读器使用PIE编码方式,使用以下图两种PIE符号表明0和1。

image

PIE(Pulse interval encoding)编码的全称为脉冲宽度编码,经过定义脉冲降低沿之间的不一样时间宽度来表示数据。

规定中,由阅读器发往标签的数据帧由SOF(帧开始信号)、EOF(帧结束信号)、数据0和1组成。在GEN2标准中定义了一个名称为Tari的时间间隔,也称为基准时间间隔,该时间为码0时间宽度,取值为6.25到25微妙之间。

Q17:G2中标签使用什么编码方式?


A:G2中标签使用FM0、Miller二、Miller四、Miller8编码方式。

标签应该要具有以上四种编码方式的能力,具体使用哪种有阅读器发送的Query命令指定

Q18:G2中阅读器使用什么调制方式?


A:G2中阅读器使用DSB-ASK, SSB-ASK, 或PR-ASK调制,协议规定标签应该具有解调全部三种调制方式的能力。

相关文章
相关标签/搜索