DigitalPlatform / blog

技术文章
0 stars 0 forks source link

RFID #23

Open DigitalPlatform opened 5 years ago

DigitalPlatform commented 5 years ago

http://multimedia.3m.com/mws/media/601670O/rfid-501.pdf

https://www.intechopen.com/books/maintenance-management/rfid-in-libraries-automatic-identification-and-data-collection-technology-for-library-documents

DigitalPlatform commented 5 years ago

精述字符编码。介绍了 GB13000 http://www.it165.net/pro/html/201608/74969.html

DigitalPlatform commented 5 years ago

前导字节为 0 时如何解释?

前导字节 (Precursor) 格式为 Offset (1 bit) + compacted method (3 bit) + oid (4 bit)

当 8 个 bit 都为 0 时,如何解释它的含义?

从 GB/T 35660.2-2017 page 17 中“前导字节仅为编码对象标识符提供4个二进制位。它只能直接编码相对-OID 值从 1 - 14”,这说明此 4 bit 为全 0 是一种特殊情况。

一种理解法,是把 0 时当作消耗一个 byte,解析过程要继续看后面紧接的一个 byte(把这个 byte 当作下一个元素的前导字节)。

另外一种理解法,是把 0 时当作一般情形,那么它后继的 “数据长度” byte 依然存在,如果此“数据长度” byte 也为 0,则把此两个 byte 忽略,然后继续向后解析。这种理解法是每次消耗两个 0 值 bytes。

显然第二种理解法不如第一种那么灵活。第一种理解法对应用比较“有利”,这很好解决了大片空白填充的技术问题(而不必非要找一个元素在它后面 padding 了)。

到底应该怎么理解?标准里面还没有找到明确的说法。还需要研究。

DigitalPlatform commented 5 years ago

https://stackoverflow.com/questions/17516277/change-afi-in-rfid-with-nfc

http://multimedia.3m.com/mws/media/534169O/rfid-white-paper-501.pdf

https://www.rfidjournal.net/masterPresentations/rfid_live2012/np/traub_apr3_230_ITProf.pdf

http://biblstandard.dk/rfid/dk/rfid_data_model_for_libraries_february_2009.pdf

http://biblstandard.dk/rfid/docs/afi_preliminary.pdf

https://max.book118.com/html/2017/0405/98765144.shtm

DigitalPlatform commented 5 years ago

https://stackoverflow.com/questions/49647139/net-library-and-rfid-reader-could-i-use-to-get-ndef-message-from-nxp-icode-slix

https://github.com/danm-de/pcsc-sharp

DigitalPlatform commented 5 years ago

https://www.rfidjournal.com/

https://blog.atlasrfidstore.com/locking-memory-on-epc-gen-2-rfid-tags

DigitalPlatform commented 5 years ago

https://blog.csdn.net/sqqyq/article/details/17912717

RFID GEN2标准解析 2014年01月06日 10:14:59 知秋物联 阅读数:3290

符合EPC Class1 Gen2(简称G2)协议V109版的电子标签(Tag,简称标签)和Reader(读写器),应该具有下述的特性。 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(灭活)七种状态之一。 1、Ready状态是未被灭活的标签上电以后,开始所处的状态,准备响应命令。 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状态,上电即进入灭活状态。灭活操作不可逆转。 要使标签进入某一状态一般需要适当次序的一组合法命令,反过来各命令也只能当标签在适当的状态下才能有效,标签响应命令后也会转到其他状态。 Q3:命令分为哪几类? A:从命令体系架构和扩展性角度,分为Mandatory(必备的),Optional(可选的), Proprietary (专有的)和Custom(定制的)四类。 从使用功能上看,分为标签Select(选取),Inventory(盘点)和Access(存取)命令三类。 此外还为了以后命令扩展,预留了长短不同的编码待用。 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的缩写)。 Q8:选取(Select)类命令有哪些? A:仅有一条:Select,是必备的。 标签有多种属性,基于用户设定的标准和策略,使用Select命令,改变某些属性和标志就人为选择或圈定了一个特定的标签群,可以只对它们进行盘点识别或存取操作,这样有利于减少冲突和重复识别,加快识别速度。 Q9:盘点(Inventory)类命令有哪些? A:有五条: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状态。 Q10:存取(Access)类命令有哪些? A:有五条必备的: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)命令后,发回出错类型代码,或块擦除成功就发回句柄。 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命令的话,则控制和使用起来将比较灵活和全面。

DigitalPlatform commented 5 years ago

https://blog.csdn.net/illusion116/article/details/72673252

RFID电子标签的分类(按照频率高低划分) 1 概述 从应用概念来说,电子标签的工作频率也就是射频识别系统的工作频率,是其最重要的特点之一。电子标签的工作频率是其最重要的特点之一。电子标签的工作频率不仅决定着射频识别系统工作原理(电感耦合还是电磁耦合)、识别距离,还决定着电子标签及读写器实现的难易程度和设备的成本。 工作在不同频段或频点上的电子标签具有不同的特点。射频识别应用占据的频段或频点在国际上有公认的划分,即位于ISM波段之中。典型的工作频率有:125kHz,133kHz,13.56MHz,27.12MHz,433MHz,902~928MHz,2.45GHz,5.8GHz等。 ​ 2 低频段电子标签 低频段电子标签,简称为低频标签,其工作频率范围为30kHz~300kHz。典型工作频率有:125KHz,133KHz(也有接近的其他频率,如TI使用134.2KHz)。低频标签一般为无源标签,其工作能量通过电感耦合方式从阅读器耦合线圈的辐射近场中获得。低频标签与阅读器之间传送数据时,低频标签需位于阅读器天线辐射的近场区内。低频标签的阅读距离一般情况下小于1米。 低频标签的典型应用有:动物识别、容器识别、工具识别、电子闭锁防盗(带有内置应答器的汽车钥匙)等。与低频标签相关的国际标准有:ISO11784/11785(用于动物识别)、ISO18000-2(125-135 kHz)。低频标签有多种外观形式,应用于动物识别的低频标签外观有:项圈式、耳牌式、注射式、药丸式等。典型应用的动物有牛、信鸽等。 低频标签的主要优势体现在:标签芯片一般采用普通的CMOS工艺,具有省电、廉价的特点;工作频率不受无线电频率管制约束;可以穿透水、有机组织、木材等;非常适合近距离的、低速度的、数据量要求较少的识别应用(例如:动物识别)等。 低频标签的主要劣势体现在:标签存贮数据量较少;只能适合低速、近距离识别应用;与高频标签相比:标签天线匝数更多,成本更高一些。

3 中高频段电子标签 中高频段电子标签的工作频率一般为3MHz~30MHz。典型工作频率为:13.56MHz。该频段的电子标签,从射频识别应用角度来说,因其工作原理与低频标签完全相同,即采用电感耦合方式工作,所以宜将其归为低频标签类中。另一方面,根据无线电频率的一般划分,其工作频段又称为高频,所以也常将其称为高频标签。 高频电子标签一般也采用无源方式,其工作能量同低频标签一样,也是通过电感(磁)耦合方式从阅读器耦合线圈的辐射近场中获得。标签与阅读器进行数据交换时,标签必须位于阅读器天线辐射的近场区内。中频标签的阅读距离一般情况下也小于1米(最大读取距离为1.5米)。 高频标签由于可方便地做成卡状,典型应用包括:电子车票、电子身份证、电子闭锁防盗(电子遥控门锁控制器)等。相关的国际标准有:ISO14443、ISO15693、ISO18000-3(13.56MHz)等。 高频标准的基本特点与低频标准相似,由于其工作频率的提高,可以选用较高的数据传输速率。电子标签天线设计相对简单,标签一般制成标准卡片形状。

4 超高频与微波标签 超高频段的电子标签,其典型工作频率为:433.92MHz,862(902)~928MHz;微波频段的电子标签,简称为微波电子标签,典型工作频率为:2.45GHz,5.8GHz。电子标签可分为有源标签(主要为微波频段)与无源标签(主要为超高频段)两类。工作时,电子标签位于阅读器天线辐射场的远区场内,标签与阅读器之间的耦合方式为电磁耦合方式。阅读器天线辐射场为无源标签提供射频能量,将有源标签唤醒。相应的射频识别系统阅读距离一般大于1m,典型情况为4~7m,最大可达10m以上。阅读器天线一般均为定向天线,只有在阅读器天线定向波束范围内的电子标签可被读/写。 由于阅读距离的增加,应用中有可能在阅读区域中同时出现多个电子标签的情况,从而提出了多标签同时读取的需求,进而这种需求发展成为一种潮流。目前,先进的射频识别系统均将多标签识读问题作为系统的一个重要特征。 电子标签的典型特点主要集中在是否无源、无线读写距离、是否支持多标签读写、是否适合高速识别应用,读写器的发射功率容限,电子标签及读写器的价格等方面。对于可无线写的电子标签而言,通常情况下,写入距离要小于识读距离,其原因在于写入要求更大的能量。 超高频段电子标签的数据存贮容量扩容技术难度相对较大,目前国内外最大容量(一般指USER区)为64Kbits,注意是比特。微波电子标签数据存贮容量扩容技术难度相对较易,国内有单位研制的大容量电子标签容量达到了256KBytes,注意是字节。由Auto-ID Center制定的产品电子代码EPC的容量为:90Bits。 该两频段电子标签的典型应用包括:移动车辆识别、电子身份证、仓储物流应用、电子闭锁防盗(电子遥控门锁控制器)等。相关的国际标准有:ISO10374,ISO18000-4(2.45GHz)、-5(5.8GHz)、-6(860-930 MHz)、-7(433.92 MHz),ANSI NCITS256-1999等。

4.1 有源RFID标签 有源RFID标签由内置的电池提供能量,不同的标签使用不同数量和形状的电池。 优点:作用距离远,有源RFID标签与RFID读写器之间的距离可以达到几十米,甚至可以达到上百米。 缺点:体积大、成本高,使用时间受到电池寿命的限制,厂商理想指标为7-10年,但因每卡每天使用的次数及环境不同,实际工程中,有些卡只能用几个月,有些卡可以使用5年以上。 4.2 无源RFID标签 无源RFID标签内不含电池,它的电能从RFID读写器获取。当无源RFID标签靠近RFID读写器时,无源RFID标签的天线将接收到的电磁波能量转化成电能,激活RFID标签中的芯片,并将RFID芯片中的数据发送出来。 优点:体积小、重量轻、成本低、寿命长,寿命保证10年以上,免维护,可以制作成薄片或挂扣等不同形状,应用于不同的环境。 缺点:由于没有内部电源,因此无源RFID标签与RFID读写器之间的距离受到限制,通常在几米以内,一般要求功率较大的RFID读写器。

DigitalPlatform commented 5 years ago

https://blog.csdn.net/weixin_33919950/article/details/85822484

超高频RFID模块
2016年09月05日 23:36:00 weixin_33919950 阅读数:8 

1.应用开发有两种方法:串口和USB
2.从逻辑上将标签存储器分为四个存储区,每个存储区可以由一个或一个以上的存储器字组成。这四个存储区是:
00 保留区(Password):前两个字是销毁(kill)密码,后两个字是访问(access)密码。可读可写。
01 EPC 区(EPC):存EPC号的区域,本读写器规定最大能存放15字EPC号。可读可写。
10 TID 区(TID):存由标签生产厂商设定的 ID 号,目前有4字和8字两种ID 号。可读,不可写。
11 用户区(User):不同厂商该区不一样。Inpinj 公司的 G2 标签没有用户区。Philips 公司有28字。可读可写。
四个存储区均可写保护。写保护意味着该区永不可写或在非安全状态下不可写;读保护只有密码区可设置为读保护,即不可读。
3. 固件指令
3.1指令帧格式
固件指令由帧头、帧类型、指令代码、指令数据长度、指令参数、校验码和帧尾组成,均为十六进制表示。
3.2指令帧类型
0x00 命令帧: 由上位机发送给JRM20X0模块
0x01 响应帧: 由JRM20X0模块发回给上位机
0x02 通知帧: 由JRM20X0模块发回给上位机
每一条指令帧都有对应的响应帧。响应帧表示指令是否已经被执行了。单次轮询指令和多次轮询指令还有相应的通知帧。发送通知帧的个数是由读写器模块内部的MCU根据读取的情况,自主的发给 上位机。当读写器读到一个标签就发一个通知帧,而当读写器读到多个标签就发多个通知帧。
4.固件指令定义
4.1. 获取读写器模块信息
aa(帧头)00(帧类型)03(指令代码)0001(指令参数长度)00(参数)04(校验位)8E(结束标志) //获取模块的硬件版本
4.1.2. 响应帧定义
aa(帧头)01(帧类型)03(指令代码)000B(指令参数长度)00(参数,硬件版本信息)4A524D3230323020323064426D2056312E32(硬件版本)04(校验位)8E(结束标志) //获取模块的硬件版本
4.2. 单次轮询指令
4.2.1. 命令帧定义
完成一次 EPC Class1 Gen2 协议中轮询 Inventory 操作。该指令中不包含 Select 操作。每次轮询指令执行前 后都会自动打开和关闭功放。单次轮询 Inventory 指令中,Query 操作参数由另外一条指令来配置,固件中已 经有初始值。单次轮询 Inventory 指令如下:
aa(帧头)00(帧类型)03(指令代码)0000(指令参数长度)04(校验位)8E(结束标志) //单次轮询指令
4.2.2. 通知帧定义
读写器模块接收到单次轮询指令后,如果能够读到 CRC 校验正确的标签,读写器模块 MCU 将返回包含 (接收的信号强度)RSSI、PC、EPC和 CRC 的数据。读到一个标签 EPC 就返回一条指令响应,读到多个标签则返回多条指令响应。如下:
AA(帧头)02(帧类型)22(指令代码)0011(指令参数长度)C9(RSSI)34(PC)00(PC)0x30751FEB705C5904E3D50D70(EPC)4A78(CRC)EF(校验位Checksum)8E(结束标志)
4.3.3. 响应帧定义
如果没有收到标签返回或者返回数据 CRC 校验错误,将返回错误代码 0x15,如下:
AA(帧头)01(帧类型)FF(指令代码)0001(指令参数长度)15(指令参数 Parameter:)16(校验位 Checksum:)8E(结束标志)
4.4. 停止多次轮询指令
4.4.1. 命令帧定义
在读写器模块内部 MCU 进行多次轮询 Inventory 操作的过程中,可以立即停止多次轮询操作,非暂停多次轮询操作, 指令如下:
AA(帧头)00(帧类型)28(进行多次轮询指令)0000(指令参数长度)28(校验位)8E(结束标志位)
4.4.2. 响应帧定义
如果停止多次轮询指令成功执行,固件则返回响应如下:
AA(帧头)01(帧类型)28(进行多次轮询指令)0001(指令参数长度)00(指令参数)2A(校验位)8E(结束标志位)
4.5. 设置 Select 参数指令
4.5.1. 命令帧定义
设置 Select 参数,并且同时设置 Select 模式为 0x02。在对标签除轮询操作之前,先发送Select 指令。在多 标签的情况下,可以根据 Select 参数只对特定标签进行轮询和读写等操作。例如:
AA(帧头)00(帧类型)0C(命令帧定义指令)0013(指令参数长度)01(指令参数:存储区选择)00000020(指令参数:存储位开始地址)60(指令参数:Mask 长度 MaskLen)00(指令参数:是否 Truncate)30751FEB705C5904E3D50D70(Mask)AD(校验位)8E(结束标志位)
SelParam 共 1 个 Byte,其中 Target 占最高 3 个 bits,Action 占中间 3 个 bits,MemBank 占最后 2 个 bits。MemBank 含义如下:
2’b00: 标签 RFU 数据存储区
2’b01: 标签 EPC 数据存储区
2’b02: 标签 TID 数据存储区
2’b03: 标签 User 数据存储区
Target 和 Action 详细含义请参见 EPC Gen2 协议。
当 Select Mask 长度大于 80 bits(5 words),发送 Select 指令会先把场区内所有标签设置成Inventoried Flag 为 A, SL Flag 为~SL 的状态,然后再根据所选的 Action 进行操作。当 SelectMask 长度小于 80 bits(5 words) 的时候,不会预先将标签状态通过 Select 指令设置成Inventoried Flag 为 A,SL Flag 为~SL 的状态。
4.5.2. 响应帧定义
当成功设置了 Select 参数后,固件返回如下:
AA(帧头)01(帧类型)0C(命令帧定义指令)0001(指令参数长度)00(指令参数)0E(校验位)8E(结束标志位)
4.6. 设置 Select 模式
4.6.1. 命令帧定义
如果已经设置好了 Select 参数,执行该条指令,可以设置 Select 模式。例如,如果要取消Select 指令:
AA(帧头)00(帧类型)12(命令帧定义指令)0001(指令参数长度)01(指令参数)14(校验位)8E(结束标志位)
4.6.2. 响应帧定义
当成功设置了取消或者发送 Select 指令后,固件返回如下:
AA(帧头)01(帧类型)0C(命令帧定义指令)0001(指令参数长度)00(指令参数)0E(校验位)8E(结束标志位)
4.7. 读标签数据存储区
4.7.1. 命令帧定义指令
对单个标签,读取标签数据存储区 Memory Bank 中指定地址和长度的数据。读标签数据区地址偏移 SA 和读 取标签数据存储区长度 DL,他们的单位为 Word,即 2 个 Byte/16 个 Bit。这条指令之前应先设置 Select 参数, 以便选择指定的标签进行写标签数据区操作。如果 Access Password全为零,则不发送 Access 指令。
AA(帧头)00(帧类型)39(命令帧定义指令)0009(指令参数长度)0000FFFF(访问密码)03(标签数据存储区)0000(读标签数据区地址偏移)0002(读标签数据区地址长度)45(校验位)8E(结束标志位)
4.7.2. 响应帧定义
读到指定标签存储区数据后,并且 CRC 校验正确,会返回如下:
AA(帧头)01(帧类型)39(命令帧定义指令)0013(指令参数长度)0E(操作的标签 PC+EPC 长度 UL)3400(操作的标签PC)30751FEB705C5904E3D50D70(操作的标签EPC)12345678(返回数据)B0(校验位)8E(结束标志位)
如果该标签没有在场区或者指定的 EPC 代码不对,会返回错误代码 0x09,如下:
AA(帧头)01(帧类型)FF(命令帧定义指令:不存在)0001(命令参数长度)09(参数)0A(校验)8E(结束标志)
如果 Access Password 不正确,则返回错误代码 0x16,并会返回所操作的标签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(Access Password 不正确)0010(参数长度)16(指令参数Error Code)0E(PC+EPC长度)3400(PC)30751FEB705C5904E3D50D70(EPC)75(校验位)8E(结束标志)
如果操作标签返回了 EPC Gen2 协议规定的错误代码(error codes),因为 EPC Gen2 规定的 error codes 只有 低 4 位有效,响应帧会将标签返回的错误代码或上 0xA0 之后再返回。 比如如果发送指令参数中地址偏移或者数据长度不正确,读取数据长度超过标签数据存储区长度,按照 EPC Gen2 协议,标签会返回 error code 0x03(存储区超出,Memory Overrun)。响应帧则返回错误代码 0xA3,并 返回所操作标签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(指令代码)0010(指令参数长度)A3(指令参数Error Code)0E(PC+EPC)3400(PC)30751FEB705C5904E3D50D70(EPC)02(校验位)8E(结束标志)
4.8. 写标签数据存储区
4.8.1. 命令帧定义
对单个标签,写入标签数据存储区 Memory Bank 中指定地址和长度的数据。标签数据区地址偏移SA 和要写 入的标签数据长度 DL,他们的单位为 Word,即 2 个 Byte/16 个 Bit。这条指令之前应先设置 Select 参数,以 便选择指定的标签进行写标签数据区操作。如果 Access Password 全为零,则不发送 Access 指令。写入标签数据存储区的数据长度 DT 应不超过 32 个 word,即 64Byte 字节/512Bit 位。
AA(帧头)00(帧类型)49(指令代码 Command)000D(指令参数长度)0000FFFF(Access Password)03(标签数据存储区 MemBank)0000(标签数据区地址偏移)0002(数据长度DL)12345678(写入数据DT)6D(校验位)8E(结束标志)
4.8.2. 响应帧定义
将数据写入标签数据存储区后,如果读写器模块接收到标签返回值正确,则响应帧如下:
AA(帧头)01(帧类型)49(指令代码 Command)0010(指令参数长度)0E(PC+EPC 长度 UL)3400(PC)30751FEB705C5904E3D50D70(EPC)00(指令参数)A9(校验位)8E(结束标志)
如果该标签没有在场区或者指定的 EPC 代码不对,会返回错误代码 0x10,如下:
AA(帧头)01(帧类型)FF(指令代码 Command)0001(指令代吗参数长度)10(指令参数)0A(校验码)8E(结束标志)
如果 Access Password 不正确,则返回错误代码 0x16,并会返回所操作的标签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(指令代码:Command)0010(指令代吗参数长度PL)16(指令参数 Error Code)0E(PC+EPC长度UL)3400(PC)30751FEB705C5904E3D50D70(EPC)75(校验位)8E(结束标志)
如果操作标签返回了 EPC Gen2 协议规定的错误代码(error codes),响应帧会将标签返回的错误代码或上0xB0 之后再返回。 比如如果发送指令参数中地址偏移或者数据长度不正确,写入数据长度超过标签数据存储区长度,按照 EPC Gen2 协议,标签会返回 error code 0x03(存储区超出,Memory Overrun)。则响应帧返回错误代码 0xB3,并 返回所操作标签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(指令代码:Command)0010(指令代吗参数长度PL)B3(指令参数)0E(PC+EPC长度UL)3400(PC)30751FEB705C5904E3D50D70(EPC)12(校验位)8E(结束标志)
4.9. 锁定 Lock 标签数据存储区
4.9.1. 命令帧定义
对单个标签,锁定 Lock 或者解锁 Unlock 该标签的数据存储区。这条指令之前应先设置 Select 参数,以便选 择指定的标签进行锁定 Lock 操作。例如要锁定 Access Password,则指令如下:
AA(帧头)00(帧类型)82(指令代码:Command)0007(指令代吗参数长度PL)0000FFFF(Access Password)020080(Lock 操作数 LD)09(校验位)8E(结束标志)
Lock 操作参数 LD 的高 4 位是保留位,剩下的 20 为是 Lock 操作 Payload,包括 Mask 和Action,从高到低 依次各 10 位。详细含义请参见 EPC Gen2 协议 1.2.0 版 6.3.2.11.3.5 节。Mask 是一个掩膜,只有 Mask 位为 1 的 Action 才有效。每个数据区的 Action 有 2 bits,00~11,依次对应为 开放,永久开放,锁定,永久锁定。比如 Kill Mask 为 2bits 00,则不管 Kill Action 是什么, Kill Action 都不会生效。当 Kill Mask 为 2bits10, Kill Action 为 2bits 10,代表 Kill Password 被 Lock(非 Perma Lock)住了,只有通过有效的Access Password 才能被读 写。Mask 和 Action 每一位的含义如下表表示。
4.9.2. 响应帧定义
如果 Lock 指令执行正确,标签的返回有效,则响应帧为:
AA(帧头)01(帧类型)82(指令代码:Command)0010(指令代吗参数长度PL)0E(PC+EPC 长度 UL)3400(PC)30751FEB705C5904E3D50D70(EPC)00(指令参数)E2(校验位)8E(结束标志)
如果该标签没有在场区或者指定的 EPC 代码不对,会返回错误代码 0x13,如下:
AA(帧头)01(帧类型)FF(指令代码)0001(指令代吗参数长度PL)13(指令参数)14(校验位)8E(结束标志)
如果 Access Password 不正确,则返回错误代码 0x16,并会返回所操作的标签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(指令代码)0010(指令代吗参数长度PL)16(指令参数)3400(PC)30751FEB705C5904E3D50D70(EPC)75(校验位)8E(结束标志)
如果操作标签返回了 EPC Gen2 协议规定的错误代码(error codes),响应帧会将标签返回的错误代码或上0xC0 之后再返回。比如如果标签 TID 区已经被永久锁定了,然后通过 Lock 指令设置 TID 区为开放状态,按照 EPCGen2 协议, 标签会返回 error code 0x04(存储区锁定,Memory Locked)。则响应帧返回错误代码 0xC4,并返回所操作标 签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(指令代码)0010(指令代吗参数长度PL)C4(指令参数)3400(PC)30751FEB705C5904E3D50D70(EPC)23(校验位)8E(结束标志)
4.10. 灭活 Kill 标签
这条指令之前应先设置 Select 参数,以便选择指定的标签进行灭活 Kill 操作。对单标签的灭活操作。
AA(帧头)00(帧类型)65(指令代码)0004(指令代吗参数长度PL)00FF(指令参数)67(校验位)8E(结束标志)
4.10.2.响应帧定义
如果 Kill 指令执行正确,标签的返回 CRC 正确,则响应帧为:
AA(帧头)01(帧类型)65(指令代码)0010(指令代吗参数长度PL)0E(PC+EPC 长度 UL)3400(PC)30751FEB705C5904E3D50D70(EPC)00(指令参数:执行参数)C5(校验位)8E(结束标志)
如果该标签没有在场区或者指定的 EPC 代码不对,会返回错误代码 0x12,如下:
AA(帧头)01(帧类型)FF(指令代码)0001(指令代吗参数长度PL)12(指令参数)13(校验位)8E(结束标志)
如果操作标签返回了 EPC Gen2 协议规定的错误代码(error codes),响应帧会将标签返回的错误代码或上0xD0 之后再返回。注意: 标签如果没有设置过 Kill Password 密码,即 Kill Password 密码全为 0,按照 Gen2 协议,标签不会被Kill。这时返回错误代码 0xD0, 如下:
AA(帧头)01(帧类型)FF(指令代码)0010(指令代吗参数长度PL)D0(指令参数)0E(PC+EPC 长度 UL)3400(PC)30751FEB705C5904E3D50D70(EPC)2F(校验位)8E(结束标志)
4.11. 获取 Query 参数
4.11.1.命令帧定义
获取固件中 Query 命令相关参数。指令如下:
AA(帧头)00(帧类型)0D(指令代码)0000(指令代吗参数长度PL)0D(校验位)8E(结束标志)
4.11.2.响应帧定义
如果设置 Query 参数指令执行正确,则响应帧为:
AA(帧头)01(帧类型)0D(指令代码)0002(指令代吗参数长度PL)1020(Query Parameter)0D(校验位)8E(结束标志)
参数为 2 字节,有下面的具体参数按位拼接而成。上述响应帧对应的 Query 参数为:
DR=8, M=1, TRext=Use pilot tone, Sel=00, Session=00, Target=A, Q=4
其中:
DR(1 bit):
DR=8(1’b0), DR=64/3(1’b1). 只支持 DR=8 的模式
M(2 bit):
M=1(2’b00), M=2(2’b01), M=4(2’b10), M=8(2’b11). 只支持 M=1的模式 TRext(1 bit):
No pilot tone(1’b0), Use pilot tone(1’b1). 只支持 Usepilot tone(1’b1)模式 Sel(2 bit): ALL(2’b00/2’b01), ~SL(2’b10), SL(2’b11)Session(2 bit): S0(2’b00), S1(2’b01), S2(2’b10),S3(2’b11) Target(1 bit): A(1’b0), B(1’b1)
Q(4 bit): 4’b0000-4’b1111
4.12. 设置 Query 参数
4.12.1.命令帧定义
设置 Query 命令中的相关参数。参数为 2 字节,有下面的具体参数按位拼接而成:
DR(1 bit): DR=8(1’b0), DR=64/3(1’b1). 只支持 DR=8 的模式
M(2 bit): M=1(2’b00), M=2(2’b01), M=4(2’b10), M=8(2’b11). 只支持 M=1 的模式
TRext(1 bit): No pilot tone(1’b0), Use pilot tone(1’b1). 只支持 Use pilot tone(1’b1)模式
Sel(2 bit): ALL(2’b00/2’b01), ~SL(2’b10),
SL(2’b11) Session(2 bit): S0(2’b00), S1(2’b01),
S2(2’b10), S3(2’b11) Target(1 bit): A(1’b0),B(1’b1)
Q(4 bit): 4’b0000-4’b1111
如果 DR=8, M=1, TRext=Use pilot tone, Sel=00, Session=00, Target=A, Q=4,则指令如下:
AA(帧头)00(帧类型)0E(指令代码)0002(指令代吗参数长度PL)1020(指令参数)C6(校验位)8E(结束标志)
4.12.2.响应帧定义
AA(帧头)01(帧类型)0E(指令代码)0001(指令代吗参数长度PL)00(指令参数)10(校验位)8E(结束标志)
4.13. 设置工作地区
AA(帧头)00(帧类型)07(指令代码)0001(指令代吗参数长度PL)01(地区)09(校验位)8E(结束标志)
不同国家地区代码如下表:
Region Parameter
中国 900MHz 01
中国 800MHz 04
美国 02
欧洲 03
韩国 06
4.13.2.响应帧定义
AA(帧头)01(帧类型)07(指令代码)0001(指令代吗参数长度PL)00(指令参数)09(校验位)8E(结束标志)
4.14. 设置工作信道
如果是中国 900MHz 频段,设置读写器工作信道 920.125MHz,如下:
AA(帧头)00(帧类型)AB(指令代码)0001(指令代吗参数长度PL)01(地区)AC(校验位)8E(结束标志)
中国 900MHz 信道参数计算公式,Freq_CH 为信道频率:
CH_Index = (Freq_CH-920.125M)/0.25M
中国 800MHz 信道参数计算公式,Freq_CH 为信道频率:
CH_Index = (Freq_CH-840.125M)/0.25M
美国信道参数计算公式,Freq_CH 为信道频率:
CH_Index = (Freq_CH-902.25M)/0.5M
欧洲信道参数计算公式,Freq_CH 为信道频率:
CH_Index = (Freq_CH-865.1M)/0.2M
韩国信道参数计算公式,Freq_CH 为信道频率:
CH_Index = (Freq_CH-917.1M)/0.2M
4.14.2.响应帧定义
如果信道设置执行正确,则响应帧为:
AA(帧头)01(帧类型)AB(指令代码)0001(指令代吗参数长度PL)00(指令参数)AD(校验位)8E(结束标志)
4.15. 获取工作信道
4.15.1.命令帧定义
在当前的读写器工作地区,获取读写器工作信道,如下:
AA(帧头)00(帧类型)AB(指令代码)0000(指令代吗参数长度PL)AA(校验位)8E(结束标志)
4.15.2.响应帧定义
AA(帧头)00(帧类型)AB(指令代码)0001(指令代吗参数长度PL)00(指令参数)AC(校验位)8E(结束标志)
中国 900MHz 信道参数计算公式,Freq_CH 为信道频率:
Freq_CH = CH_Index * 0.25M + 920.125M
中国 800MHz 信道参数计算公式,Freq_CH 为信道频率:
Freq_CH = CH_Index * 0.25M + 840.125M
美国信道参数计算公式,Freq_CH 为信道频率:
Freq_CH = CH_Index * 0.5M + 902.25M
欧洲信道参数计算公式,Freq_CH 为信道频率:
Freq_CH = CH_Index * 0.2M + 865.1M
韩国信道参数计算公式,Freq_CH 为信道频率:
Freq_CH = CH_Index * 0.2M + 917.1M
4.16. 设置自动跳频
4.16.1.命令帧定义
设置为自动跳频模式或者取消自动跳频模式,如下:
AA(帧头)00(帧类型)AD(指令代码)0001(指令代吗参数长度PL)FF(指令参数)AA(校验位)8E(结束标志)
4.16.2.响应帧定义
AA(帧头)01(帧类型)AD(指令代码)0001(指令代吗参数长度PL)00(指令参数)AF(校验位)8E(结束标志)
4.17. 获取发射功率
AA(帧头)00(帧类型)AD(指令代码)0000(指令代吗参数长度PL)AA(校验位)8E(结束标志)
4.17.2.响应帧定义
如果获取信道执行正确,则响应帧为:
AA(帧头)01(帧类型)B7(指令代码)0002(指令代吗参数长度PL)07D0(功率参数)91(校验位)8E(结束标志)
4.18. 设置发射功率
4.18.1.命令帧定义:
AA(帧头)01(帧类型)B6(指令代码)0001(指令代吗参数长度PL)00(功率参数)B8(校验位)8E(结束标志)
4.19. 设置发射连续载波
4.19.1.命令帧定义
设置发射连续载波或者关闭连续载波,如下:
AA(帧头)00(帧类型)B0(指令代码)0001(指令代吗参数长度PL)FF(FF为打开连续波,00为关闭连续波)B0(校验位)8E(结束标志)
4.19.2.响应帧定义
如果设置执行正确,则响应帧为:
AA(帧头)01(帧类型)B0(指令代码)0001(指令代吗参数长度PL)00(FF为打开连续波,00为关闭连续波)B2(校验位)8E(结束标志)
4.20. 获取接收解调器参数
4.20.1.命令帧定义
获取当前读写器接收解调器参数。解调器参数有 Mixer 增益,中频放大器 IF AMP 增益和信号解调阈值。例如:
AA(帧头)00(帧类型)F1(指令代码)0000(指令代吗参数长度PL)F1(校验位)8E(结束标志)
4.20.2.响应帧定义
如果获取信道执行正确,则响应帧为:
AA(帧头)01(帧类型)F1(指令代码)0004(指令代吗参数长度PL)03(混频器增益)06(中频放大器增益)01B0(信号解调阈值)BO(校验位)8E(结束标志)
信号解调阈值:信号解调阈值越小能解调的标签返回 RSSI 越低,但越不稳定,低于一定值完全不能解调;相反阈值越大能解调的标签返回信号 RSSI 越大,距离越近,越稳定。0x01B0 是推荐的最小值
混频器 Mixer 增益表
Type Mixer_G(dB)
0x00 0
0x01 3
0x02 6
0x03 9
0x04 12
0x05 15
0x06 16
中频放大器 IF AMP 增益表
Type IF_G(dB)
0x00 12
0x01 18
0x02 21
0x03 24
0x04 27
0x05 30
0x06 36
0x07 40

4.21. 设置接收解调器参数
4.21.1.命令帧定义
设置当前读写器接收解调器参数。解调器参数有 Mixer 增益,中频放大器 IF AMP 增益和信号解调阈值。例如:
AA(帧头)00(帧类型)F0(指令代码)0004(指令代吗参数长度PL)03(混频器增益)06(中频放大器增益)01B0(信号解调阈值)AE(校验位)8E(结束标志)
4.21.2.响应帧定义
如果获取信道执行正确,则响应帧为:
AA(帧头)01(帧类型)F0(指令代码)0001(指令代吗参数长度PL)00(指令参数)F2(校验位)8E(结束标志)
4.22. 测试射频输入端阻塞信号
4.22.1.命令帧定义
测试射频输入端阻塞信号 Scan Jammer,用于检测读写器天线在当前地区每个信道的阻塞信号大小。例如:
AA(帧头)00(帧类型)F2(指令代码)0000(指令代吗参数长度PL)F2(校验位)8E(结束标志)
4.22.2.响应帧定义
如果在中国 900MHz 频段下,一共 20 个信道,测试射频输入端阻塞信号 Scan Jammer 道执行正确,则响应 帧为:
AA(帧头)01(帧类型)F2(指令代码)0016(指令代吗参数长度PL)00(测试起始信道)13(测试结束信道)F2F1F0EFECEAE8EAECEEF0F1F5F5F5F6F5F5F5F5(信道阻塞信号)DD(校验位)8E(结束标志)
4.23. 测试信道 RSSI
AA(帧头)00(帧类型)F3(指令代码)0000(指令代吗参数长度PL)F3(校验位)8E(结束标志)
4.23.2.响应帧定义
AA(帧头)01(帧类型)F3(指令代码)0016(指令代吗参数长度PL)00(测试起始信道)13(测试结束信道)BABABABABABABABABABABABABABABABABABABABA(信道阻塞信号)DD(校验位)8E(结束标志)
4.24. 控制 IO 端口
4.24.1.命令帧定义
AA(帧头)00(帧类型)1A(指令代码)0003(指令代吗参数长度PL)000401(指令参数0x00 0x04 0x01)22(校验位)8E(结束标志)
参数说明:
编号 描述 长度 说明
0 参数0 1 byte 0x00:设置IO 方向;
0x01:设置 IO 电平;
0x02:读取 IO 电平。
1 参数1 1 byte 参数值范围为 0x01~0x04,分别对应要操作的端口
2 参数1 1 byte Parameter0 Parameter2 描述(参数值为 0x00 或 0x01。)
0x00 0x00 IO 配置为输入模式
0x00 0x01 IO 配置为输出模式
0x01 0x00 设置 IO 输出为低电平
0x01 0x01 设置 IO 输出为高电平
4.24.2.响应帧定义
响应帧为:
AA(帧头)01(帧类型)1A(指令代码)0003(指令代吗参数长度PL)000401(指令参数0x00 0x04 0x01)23(校验位)8E(结束标志)
编号 描述 长度 说明
0 参数0 1 byte 0x00:设置IO 方向;
0x01:设置 IO 电平;
0x02:读取 IO 电平。
1 参数1 1 byte 参数值范围为 0x01~0x04,分别对应要操作的端口
2 参数1 1 byte Parameter0 Parameter2 描述(参数值为 0x00 或 0x01。)
0x00 0x00 表示 IO 配置失败
0x00 0x01 表示 IO 配置成功
0x01 0x00 表示设置 IO 输出失败
0x01 0x01 表示设置 IO 输出失败
0x02 0x00 表示对应端口为低电平
0x02 0x01 表示对应端口为高电平
4 . 25 NXP ReadProtect/Reset ReadProtect 指令
NXP G2X 标签支持 ReadProtect/Reset ReadProtect 指令。当标签执行 ReadProtect 指令成功,标签的 ProtectEPC and ProtectTID 位将会被设置为’1’,标签会进入到数据保护的状态。如果让标签从数据保护状态 回到正常状态,需要执行 Reset ReadProtect 指令。这条指令之前应先设置 Select 参数,以便选择指定的标 签进行操作。
4.25.1. 命令帧定义
ReadProtect/Reset ReadProtect 指令帧定义如下:
AA(帧头)00(帧类型)E1(指令代码)0005(指令代吗参数长度PL)0000FFFF00(指令参数0x00 0x04 0x01)22(校验位)8E(结束标志)
DigitalPlatform commented 5 years ago

https://blog.csdn.net/wlwl0071986/article/details/48394297

ISO/IEC14443 识别卡无触点集成电路卡——邻近卡 第一部分:物理特性 1.范围 ISO/IEC14443的这一部分规定了邻近卡(PICC)的物理特性。它应用于在耦合设备附近操作的ID-1型识别卡。 ISO/IEC14443的这一部分应与正在制定的ISO/IEC14443后续部分关联使用。 2.标准引用 下列标准中所包含的条文,通过在本标准中引用而构成为本标准的条文。本标准出版时,所示版本均为有效。所 有标准都会被修订,使用ISO/IEC14443这一部分的各方应探讨使用下列最新版本标准的可能性。ISO和IEC的成 员修订当前有效国际标准的纪录。 ISO/IEC7810:1995,识别卡——物理特性。 ISO/IEC10373,识别卡——测试方法。 3.定义,缩略语和符号 3.1定义 下列定义适用于ISO/IEC14443的这一部分: 3.1.1集成电路Integrated circuit(s)(IC): 用于执行处理和/或存储功能的电子器件。 3.1.2无触点的Contactless: 完成与卡的信号交换和给卡提供能量,而无需使用微电元件(即:从外部接口设备到卡上的集成电路之间没有直 接路径)。 3.1.3无触点集成电路卡Contactless integrated circuit(s)card: 一种ID-1型卡类型(如ISO/IEC7810中所规定),在它上面有集成电路,并且与集成电路的通信是用无触点的方 式完成的。 3.1.4邻近卡Proximity card(PICC) 一种ID-1型卡,在它上面有集成电路和耦合工具,并且与集成电路的通信是通过与邻近耦合设备电感耦合完成的。 3.1.5邻近耦合设备Proximity coupling device(PCD) 用电感耦合给邻近卡提供能量并控制与邻近卡的数据交换的读/写设备。 4.物理特性 4.1一般特性 邻近卡应有根据ISO/IEC7810中规定的ID-1型卡的规格的物理特性。 4.2尺寸 邻近卡的额定尺寸应是ISO/IEC7810中规定的ID-1型卡的尺寸。 4.3附加特性 4.3.1紫外线 ISO/IEC14443的这一部分排除了大于海平面普通日光中的紫外线的紫外线水平的防护需求,超过周围紫外线水平 的防护应是卡制造商的责任。 4.3.2X-射线 卡的任何一面曝光0.1Gy剂量,相当于100KV的中等能量X—射线(每年的累积剂量),应不引起卡的失效。 注1:这相当于人暴露其中能接受的最大值的年累积剂量的近似两倍。 4.3.3动态弯曲应力 按ISO/IEC10373中描述的测试方法(短边和长边的最大偏移为hwA=20mm,hwB=10mm)测试后,邻近卡应能 继续正常工作。 4.3.4动态扭曲应力 按ISO/IEC10373中描述的测试方法(旋转角度为15°)测试后,邻近卡应能继续正常工作。 4.3.5可变磁场 a)在下表给出的平均值的磁场内暴露后,邻近卡应能继续正常工作。 f—频率(MHz) 磁场的最高值被限制在平均值的30倍。 b)在12A/m、13.56MHz的磁场中暴露后,邻近卡应能继续正常工作。 频率范围(MHz)平均磁场强度(A/m)平均时间(minutes) 0.3——3.01.636 3.0——304.98/f6 30——3000.1636 频率范围(MHz)平均电场强度(V/m)平均时间(minutes) 0.3——3.0 0.6146 3.0——30 1842/f6 30——300 61.46 4.3.6可变电场 在下表给出的平均值的电场内暴露后,邻近卡应能继续正常工作。 f—频率(MHz) 电场的最高值被限制在平均值的30倍。 4.3.7静态电流 按ISO/IEC10373(IEC1000-4-2:1995)中描述的测试方法(测试电压为6KV)测试后,邻近卡应能继续 正常工作。 4.3.8静态磁场 在640KA/m的静态磁场内暴露后,邻近卡应能继续正常工作。 警告:磁条上的数据内容将被这样的磁场擦去。 4.3.9工作温度 在0℃到50℃的环境温度范围内,邻近卡应能正常工作。 附录A(提示的附录) 标准兼容性和表面质量 A.1标准的兼容性 本标准并不排斥现存其它的标准中涉及PICC的部分,这里的限制只是为了突出PICC。 A.2用于印制的表面质量 如果对印制生产出的PICC有特殊的要求,就应注意保证供印制的区域的表面质量能够适应印制的技术或采用的打印机。 附录B(提示的附录) 其它ISO/IEC卡标准参考书目 ISO/IEC7811-1:1995,识别卡——记录技术——第一部分:凸印。 ISO/IEC7811-2:1995,识别卡——记录技术——第二部分:磁条。 ISO/IEC7811-3:1995,识别卡——记录技术——第三部分:ID-1型卡上凸印字符的位置。 ISO/IEC7811-4:1995,识别卡——记录技术——第四部分:ID-1型卡上只读磁道——磁道1和2的位置。 ISO/IEC7811-5:1995,识别卡——记录技术——第五部分:ID-1型卡上读写磁道——磁道3的位置。 ISO/IEC7811-6:1995,识别卡——记录技术——第六部分:磁条——高矫顽磁性。 ISO/IEC7812-1:1993,识别卡——发卡人的识别——第一部分:编码体系。 ISO/IEC7812-2:1993,识别卡——发卡人的识别——第二部分:应用和注册过程。 ISO/IEC7813:1995,识别卡——金融交易卡。 ISO/IEC7816-1:1998,识别卡——接触式集成电路卡——第一部分:物理特性。 ISO/IEC7816-2:1998,识别卡——接触式集成电路卡——第二部分:接触的尺寸和位置。 ISO/IEC7816-3:1997,识别卡——接触式集成电路卡——第三部分:电信号和传送协议。 ISO/IEC10536-1:1992,识别卡——无触点集成电路卡——第一部分:物理特性。 ISO/IEC10536-2:1995,识别卡——无触点集成电路卡——第二部分:耦合区域的尺寸和位置。

第二部分:频谱功率和信号接口

1.范围 ISO/IEC14443的这一部分规定了需要供给能量的场的性质与特征,以及邻近耦合设备(PCDs)和邻近卡
(PICCs)之间的双向通信。 ISO/IEC14443的这一部分应与ISO/IEC14443的其他部分关联使用。 ISO/IEC14443的这一部分并不规定产生耦合场的方法,也没有规定如何符合因国家而异的电磁场辐射和人体辐射 安全的条例。 2.标准引用 下列标准中所包含的条文,通过在本标准中引用而构成为本标准的条文。本标准出版时,所示版本均为有效。所 有标准都会被修订,使用ISO/IEC14443这一部分的各方应探讨使用下列标准最新版本的可能性。ISO和IEC的成 员修订当前有效国际标准的纪录。 ISO/IEC14443-1:识别卡——无触点集成电路卡——邻近卡——第一部分:物理特性。 ISO/IEC10373,识别卡——测试方法。 3.术语和定义 ISO/IEC14443-2中给出的定义和下列定义适用于本国际标准: 3.1位持续时间Bit duration 一个确定的逻辑状态的持续时间,在这段时间的最后,一个新的状态位将开始。 3.2二进制相移键控Binary phase shift keying 相移键控,此处相移180°,从而导致两个可能的相位状态。 3.3调制系数Modulation index 定义为(a-b)/(a+b),其中a,b分别是信号幅度的最大,最小值。 3.4不归零NRZ-L 在位持续时间内,一个逻辑状态的位编码方式,它以在通信媒介中的两个确定的物理状态之一来表示。 3.5副载波Subcarrier 以载波频率fc调制频率fs而产生的RF信号。 4.缩略语和符号 ASK移幅键控 BPSK二进制移相键控 NRZ-L不归零,(L为电平) PCD邻近耦合设备 PICC邻近卡 RF射频 fc工作场的频率(载波频率) fs副载波调制频率 Tb位持续时间 5.邻近卡的初始化对话 邻近耦合设备和邻近卡之间的初始化对话通过下列连续操作进行: —PCD的射频工作场激活PICC —邻近卡静待来自邻近耦合设备的命令 —邻近耦合设备命令的传送 —邻近卡响应的传送 这些操作使用下面段落中规定的射频功率和信号接口。 6.功率传输 邻近耦合设备产生一个被调制用来通信的射频场,它能通过耦合给邻近卡传送功率。 6.1.1频率 射频工作场频率(fc)是13.56MHz7kHz。 6.1.2工作场 最小未调制工作场的值是1.5A/mrms,以Hmin表示。 最大未调制工作场的值是7.5A/mrms,以Hmax表示。 邻近卡应持续工作在Hmin和Hmax之间。 从制造商特定的角度说(工作容限),邻近耦合设备应产生一个大于Hmin,但不超过Hmax的场。 另外,从制造商特定的角度说(工作容限),邻近耦合设备应能将功率提供给任意的邻近卡。 在任何可能的邻近卡的状态下,邻近耦合设备不能产生高于在ISO/IEC14443-1中规定的交变电磁场。 邻近耦合设备工作场的测试方法在国际标准ISO/IEC10373中规定。

  1. 信道接口 耦合IC卡的能量是通过发送频率为13.56MHz的阅读器的交变磁场来提供。由阅读器产生的磁场必须在 1.5A/m~7.5A/m之间。国际标准ISO14443规定了两种阅读器和近耦合IC卡之间的数据传输方式:A型和B型。一张 IC卡只需选择两种方法之一。符合标准的阅读器必须同时支持这两种传输方式,以便支持所有的IC卡。阅读器 在”闲置“的状态时能在两种通信方法之间周期的转换。

阅读器(PCD)到卡(PICC)的数据传输

PCD--->PICC

A 型

B 型

调制

ASK 100%

ASK 10%(健控度8%~12%)

位编码

改进的Miller编码

NRZ编码

同步

位级同步(帧起始,帧结束标记)

每个字节有一个起始位和一个结束位

波特率

106kdB

106kdB

卡(PICC)到阅读器(PCD)的数据传输

PICC--->PCD

A 型

B 型

调制

用振幅键控调制847kHz的负载调制的负载波

用相位键控调制847kHz的负载调制的负载波

位编码

Manchester编码

NRZ编码

同步

1位”帧同步“(帧起始,帧结束标记)

每个字节有1个起始位和1个结束位

波特率

106kdB

106kdB

第三部分:初始化和防碰撞算法 1.范围 ISO/IEC14443的这一部分规定了邻近卡(PICCs)进入邻近耦合设备(PCDs)时的轮寻,通信初始化阶段的字符 格式,帧结构,时序信息。REQ和ATQ命令内容,从多卡中选取其中的一张的方法,初始化阶段的其它必须的参 数。这部分规定同时适用于A型PICCs和B型PICCs. 2.标准引用 下列标准中所包含的条文,通过在本标准中引用而构成为本标准的条文。本标准出版时,所示版本均为有效。所 有标准都会被修订,使用ISO/IEC14443这一部分的各方应探讨使用下列标准最新版本的可能性。ISO和IEC的成 员修订当前有效国际标准的纪录。 ISO/IEC 3309:1993 信息技术 系统间的远程通信和信息交换 数据链路层的控制帧结构 ISO/IEC 7816-3:1997 识别卡 接触式集成电路卡第三部分 电信号和传输协议 ISO/IEC 14443-2 识别卡 非接触式集成电路卡 第二部分 频谱功率和信号接口 ITU-T 推荐 V.41 3.术语和定义 ISO/IEC14443-3中给出的定义和下列定义适用于本国际标准: 3.1防碰撞循环(Anticollisionloop) 在多个PICCs中,选出需要对话的卡的算法 3.2可适用的(Applicative) 属于应用层或更高层的协议,将在ISO/IEC 1443-4中描述。 3.3位碰撞检测协议(Bitcollision detetion protocol) 帧内的位检测防碰撞算法。 3.4数据块(Block) 一系列的数据字节构成数据块。 3.5异步数据块传输(Block-asynchronoustransmission) 在异步数据块传输,数据块是包括帧头和帧尾的数据帧。 3.6字节(Byte) 八个bits构成一个字节。 3.7字符串 在异步通信中,一个字符串包括一个开始位,8位的信息,可选的寄偶检验位,结束位和时间警戒位。 3.8碰撞 两个PICCs和同一个PCD通信时,PCD不能区分数据是属于那一个PICC。 3.9能量单位 在ISO/IEC14443的这个部分中,1 etu=128/fc 容差为1% 3.10时间槽协议 PCD建立与一个或多个PICCs通信的逻辑通道,它利用时间槽处理PICC的响应,与时间槽的ALOHA相似。 4.缩略语和符号 ATQ 对请求的应答 ATQA 对A型卡请求的应答 ATQB 对B型卡请求的应答 ATR 对重新启动的请求的应答 ATS 对选择请求的应答 ATQ-ID 对ID号请求的应答 CRC 环检验码 RATS 对选择应答请求 REQA 对A型卡的请求 REQB 对B型卡的请求 REQ-ID 请求ID号 RESEL 重新选择的请求

  1. 轮讯 为了检测到是否有PICCs进入到PCD的有效作用区域,PCD重复的发出请求信号,并判断是否有响应。请求信号 必须是REQA和REQB,附加ISO/IEC14443其它部分的描述的代码。A型卡和B型卡的命令和响应不能够相互干 扰。

  2. A型卡的初始化和防碰撞
    当一个A型卡到达了阅读器的作用范围内,并且有足够的供应电能,卡就开始执行一些预置的程序后,当一个A型 卡到达了阅读器的作用范围内,并且有足够的供应电能,卡就开始执行一些预置的程序后,IC卡进入闲置状态。 处于“闲置状态”的IC卡不能对阅读器传输给其它IC卡的数据起响应。IC卡在“闲置状态”接收到有效的REQA命令, 则回送对请求的应答字ATQA。当IC卡对REQA命令作了应答后,IC卡处于READY状态。阅读器识别出:在作用 范围内至少有一张IC卡存在。通过发送SELECT命令启动“二进制检索树”防碰撞算法,选出一张IC卡,对其进行 操作。 6.1PICC的状态集 6.1.1调电状态 由于没有足够的载波能量,PICC没有工作,也不能发送反射波。 6.1.2闲置状态 在这个状态时,PICC已经上电,能够解调信号,并能够识别有效的REQA和WAKE-UP命令。 6.1.3准备状态 本状态下,实现位帧的防碰撞算法或其它可行的防碰撞算法。 6.1.4激活状态 PCD通过防碰撞已经选出了单一的卡。 6.1.5结束状态 6.2命令集 PCD用于管理与PICC之间通信的命令有: REQA 对A型卡的请求 WAKE-UP 唤醒 ANTICOLLISION 防碰撞 SELECT 选择 HALT 结束

  3. B型卡的初始化和防碰撞 当一个B型卡被置入阅读器的作用范围内,IC卡执行一些预置程序后进入“闲置状态”,等待接收有效的REQB命 令。对于B型卡,通过发送REQB命令,可以直接启动SlottedALOHA防碰撞算法,选出一张卡,对其进行操作。 7.1PICC状态集 7.1.1调电状态 由于载波能量低,PICC没有工作。 7.1.2闲置状态 在这个状态,PICC已经上电,监听数据帧,并且能够识别REQB信息。 当接收到有效的REQB帧的命令,PICC定义了单一的时间槽用来发送ATQB。 如果是PICC定义的第一个时间槽,PICC必须发送ATQB的响应信号,然后进入准备—已声明子状态。 如果不是PICC定义的第一个时间槽,PICC进入准备—已请求子状态。 7.1.3准备—已请求子状态 在本状态下,PICC已经上电,并且已经定义了单一的时间槽用来发送ATQB。 它监听REQB和Slot-MARKER数据帧。 7.1.4准备—已声明子状态 在本状态下,PICC已经上电,并且已经发送了对REQB的ATQB响应。 它监听REQB和ATTRIB的数据帧。 7.1.5激活状态 PICC已经上电,并且通过ATTRIB命令的前缀分配到了通道号,进入到应用模式。 它监听应用信息。 7.1.6停止状态 PICC工作完毕,将不发送调制信号,不参加防碰撞循环。 7.2命令集 管理多极点的通信通道的4个基本命令 REQB 对B型卡的请求 Slot-MARKER ATTRIB PICC选择命令的前缀 DESELECT 去选择

第四部分:传输协议 1.范围 ISO/IEC14443的这一部分规定了非接触的半双工的块传输协议并定义了激活和停止协议的步骤。这部分传输协议 同时适用于A型卡和B型卡。
2.标准引用 下列标准中所包含的条文,通过在本标准中引用而构成为本标准的条文。本标准出版时,所示版本均为有效。所 有标准都会被修订,使用ISO/IEC14443这一部分的各方应探讨使用下列标准最新版本的可能性。ISO和IEC的成 员修订当前有效国际标准的纪录。 ISO/IEC 7816-4: 识别卡 接触式集成电路卡 第四部分 产业内部交换命令 3.术语和定义 3.1数据块(Block) 特殊格式的数据帧。符合协议的数据格式,包括I-blocks,R-blocks和S-blocks. 3.2帧格式(frameformat) ISO/IEC 1444303定义的。A型PICC使用A类数据帧格式,B型PICC使用B类数据帧格式。 4.缩略语和符号 PPS 协议和参数的选择 R-block 接收准备块 R(ACK) R-block包含正的确认 R(NAK) R-block包含负的确认 RFU 保留将来使用 S-block 管理块 SAK 选择确认 WUPA A型卡的唤醒命令 WTX 等待时间扩展

  1. A型PICC的协议激活

  2. B型PICC的协议激活

  3. 半双工的传输协议

  4. A型和B型PICC的协议去激活


    作者:布列瑟农的秋天 来源:CSDN 原文:https://blog.csdn.net/wlwl0071986/article/details/48394297 版权声明:本文为博主原创文章,转载请附上博文链接!

DigitalPlatform commented 4 years ago

https://www.gs1.org/services/epc-encoderdecoder

https://www.gs1.org/sites/default/files/docs/epc/GS1_EPC_TDS_i1_10.pdf EPC Tag Data Standard defines the Electronic Product Code™ and specifies the memory contents of Gen 2 RFID Tags Release 1.10, Ratified, Mar 2017

https://www.epc-rfid.info/sgtin

DigitalPlatform commented 4 years ago

GitHub 上的有关代码

https://github.com/sarme/node-epc 解析 EPC Gen-2 Tag 的 js 代码