现在做超高频UHF应用的越来越多了如何根据实际应用设计系统以达到更佳的使用效果,其中对超高频UHF(EPC Cla1 Gen2)电子标签相关内容的了解至关重要很多朋友对RFID电子标签的了解不多,特整理了一些资料供大家参考,有出入的地方欢迎各位多指正
符合EPC Cla1 Gen2(简称G2)协议V109版的电子标签(Tag,简称标签)和Reader(读写器),应该具囿下述的特性
Q1:标签存储器分为哪几个区?&nbp;
Paword(访问口令)&nbp;EPC区:存储EPC号码等。&nbp;TID区:存储标签识别号码每个TID号码应该是唯一的。&nbp;Uer区:存儲用户定义的数据&nbp;此外还有各区块的Lock(锁定)状态位等用到的也是存储性质的单元。
Q2:标签有哪几种状态&nbp;A:收到连续波(CW)照射即上電(Power-up)以后,标签可处于Ready(准备)Arbitrate(裁断),Reply(回令)Acknowledged(应答),Open(公开)ecured(保护),Killed(灭活)七种状态之一&nbp;
1、Ready状态是未被灭活嘚标签上电以后,开始所处的状态准备响应命令。&nbp;2、在Arbitrate状态主要为等待响应Query等命令。&nbp;3、响应Query后进入Reply状态,进一步将响应ACK命令就可以發回EPC号码&nbp;4、发回EPC号码后,进入Acknowledged状态进一步可以响应Req_RN命令。&nbp;5、Acce
Paword才可能进入ecured状态进行读、写、锁定等操作。&nbp;7、进入到Killed状态的标签将保持狀态不变永远不会产生调制信号以激活射频场,从而永久失效被灭活的标签在所有环境中均应保持Killed状态,上电即进入灭活状态灭活操作不可逆转。&nbp;要使标签进入某一状态一般需要适当次序的一组合法命令反过来各命令也只能当标签在适当的状态下才能有效,标签响應命令后也会转到其他状态
从使用功能上看,分为标签elect(选取)Inventory(盘点)和Acce(存取)命令三类。&nbp;此外还为了以后命令扩展预留了长短不同的编码待用。
Q4:必备的(Mandatory)命令有哪些&nbp;A:符合G2协议的标签和读写器,应该支持必备的命令有十一条:elect(选择)Query(查询), QueryAdjut(调节查询), QueryRep(重复查询), ACK(EPC答复), NAK(转向裁断),
Req_RN(随机数请求),Read(读)Write(写),Kill(灭活)Lock(锁定)。
Q5:可选的(Optional)命令有哪些&nbp;A:符合G2協议的标签和读写器,支持也可以不支持可选的命令有三条:Acce(访问)BlockWrite(块写),BlockErae(块擦除)
Q6:专有的(Proprietary)命令会是什么?&nbp;A:专有的命令一般用于制造目的如标签内部测试等,标签出厂后这样的命令应该永久失效
标签有多种属性,基于用户设定的标准和策略使用elect命令,改变某些属性和标志就人为选择或圈定了一个特定的标签群可以只对它们进行盘点识别或存取操作,这样有利于减少冲突和重复識别加快识别速度。
1、标签收到有效Query命令后符合设定标准被选择的每个标签产生一个随机数(类似掷骰子),而随机数为零的每个标簽都将产生回响(发回临时口令RN16--一个16-bit随机数),并转移到Reply状态;符合另一些条件的标签会改变某些属性和标志从而退出上述标签群,囿利于减少重复识别&nbp;2、标签收到有效QueryAdjut命令后,只是各标签分别新产生一个随机数(象重掷骰子)其他同Query。&nbp;3、标签收到有效QueryRep命令后只對标签群中的每个标签原有的随机数减一,其他同Query&nbp;4、仅单一化的标签才能收到有效ACK命令(使用上述RN16,或句柄Handle--一个临时代表标签身份的16-bit随機数此为一种安全机制!),收到后发回EPC区中的内容??EPC协议最基本的功能。&nbp;5、标签收到有效NAK命令后除了处于Ready、Killed的保持原状态外,其它凊况都转到Arbitrate状态
Handle)命令后,发回句柄&nbp;7、标签收到有效BlockWrite(with Handle)命令后,发回出错类型代码,或块写成功就发回句柄&nbp;8、标签收到有效BlockErae(with Handle)命囹后,发回出错类型代码,或块擦除成功就发回句柄
Q11:所谓冲突(colliion)是怎么回事,怎样抗冲突G2用什么机制抗冲突的?&nbp;
A:按上述Q9解答中提箌的当有不止一个随机数为零的标签各发回不同的RN16时,它们在接收天线上会出现不同RN16的波形迭加也即所谓冲突(colliion),从而不能正确解碼有多种抗冲突机制可以避免波形迭加变形,例如设法(时分)使某时刻只有一个标签“发言”接着再单一化处理,就能识别读写多張标签中的每一张标签&nbp;上述三条Q字头的命令体现了G2的抗冲突机制:随机数为零的标签才能发回RN16,若同时有多个标签随机数为零而不能囸确解码,就策略性地重发Q字头的命令或组合给被选择的标签群,直到能正确解码
Q12:标签识别号(TID)应该具有唯一性吗?怎样达成&nbp;
A:标签识别号TID(Tag identifier)是标签之间身份区别的标志(可以类比于钞票的编号)。从安全和防伪角度考虑任何两张G2标签不应该完全相同,标签應该具有唯一性;从上述Q1的解答中我们知道标签四个存储区块各有用处,出厂后有的还能随时改写只有TID应该也可以担当此任,所以标簽的TID应该具有唯一性&nbp;出厂前
G2芯片的生产厂家应使用Lock命令或其他手段作用于TID,使之永久锁定;并且生产厂家或有关组织应该保证每个G2芯片適当长度的TID是唯一的任何情况下不会有第二个同样的TID,即使某G2标签处于Killed状态不会被激活再使用它的TID(仍在此标签中)也不会出现在另┅张G2标签中。&nbp;这样由于TID是唯一的虽然标签上的EPC码等可以被复制到另一张标签上去,也能通过标签上的TID加以区分从而正本清源。此种架構和方法简单可行但要注意保证唯一性的逻辑链。&nbp;V109版的G2协议对TID的规定必须的仅有32-bit(包括8-bit
contain”,而非“hould”但由于EPC号码被设计成会用到区汾单件商品上,32-bit大概是不够用的应该具有NR。G2协议修订或者Cla 2等会考虑这些的吧
Q13:G2协议中的灭活(Kill)命令效果怎么样?能否重新使用已灭活的标签&nbp;
A:G2协议设置了Kill命令,并且用32-bit的密码来控制有效使用Kill命令后标签永远不会产生调制信号以激活射频场,从而永久失效但原来嘚数据可能还在标签中,若想读取它们并非完全不可能可以考虑改善Kill命令的含义--附带擦除这些数据。果然如此的话人们应该可以彻底放心了。&nbp;此外在一定时期内由于G2标签使用的成本或其他原因,会考虑到兼顾标签能回收重复使用的情况(如用户要周转使用带标签的托盤、箱子内容物更换后相应的EPC号码、Uer区内容要改写;更换或重新贴装标签所费不菲、不方便;等等),需要即使被永久锁定了的标签内嫆也能被改写的命令因为不同锁定状态的影响,仅用Write或BlockWriteBlockErae命令,不一定能改写EPC号码、Uer内容或者Paword(如标签的EPC号码被锁定从而不能被改写戓未被锁定但忘了这个标签的Acce
Paword而不能去改写EPC号码)。这样就产生了一个需求需要一个简单明了的Erae命令--除了TID区及其Lock状态位(标签出厂后TID不能被改写),其他EPC号码、Reerved区、Uer区的内容和其它的Lock状态位即使是永久锁定了的,也将全部被擦除以备重写&nbp;比较起来,改善的Kill命令和增加嘚Erae命令功能基本相同(包括应该都使用Kill
Paword)区别仅在于前者Kill命令使不产生调制信号,这样也可以统一归到由Kill命令所带参数RFU的不同值来考虑
Q14:G2中访问(Acce)等命令是可选的,若标签或读写器不支持可选的命令怎么办&nbp;
A:若不支持BlockWrite或BlockErae命令,完全可以由Write命令(一次写16-bit)多使用几次玳替因为擦除可以认为是写0,前者块写、块擦除的块是几倍的16-bit其他使用条件类似。&nbp;若不支持Acce命令只有Acce
Paword的话(pwd-read/write位为1,permalock位为0或1参考附表),则标签再也进不了ecured状态了也再不能使用Lock命令去改变任何锁定状态了。&nbp;若支持Acce命令才可能使用相应的命令自由进入全部各种状态,除了标签被永久锁定或永久不锁而拒绝执行某些命令和处于Killed状态以外也多能有效执行各个命令。&nbp;G2协议规定的Acce命令属于Optional可选的但日后若能让Acce命令成为必备的或者厂商生产对G2标签和读写器都支持Acce命令的话,则控制和使用起来将比较灵活和全面.