1、第2章 RFID协议体系 1 1第2章 RFID协议体系 2.1 ISO/IEC 14443标准 2.2 ISO/IEC 18000-6标准 第2章 RFID协议体系 2 22.1 ISO/IEC 14443标准标准ISO/IEC 14443标准是近耦合非接触式IC卡的国际标准,可用于身份证和各种智能卡、存储卡。ISO/IEC 14443标准由四部分组成,即ISO/IEC 14443-1/2/3/4。在ISO/IEC 14443标准中,阅读器称为PCD(Proximity Coupling Device,近耦合设备),应答器称为PICC(Proximity IC Card,近耦合IC卡)。本书
2、配套的高频RFID阅读器,即是符合ISO/IEC 14443 TYPEA协议的PCD设备。第2章 RFID协议体系 3 32.1.1 ISO/IEC 14443-1ISO/IEC 14443-1部分是ISO/IEC 14443的物理特性。协议中对近耦合卡做了相关规定,具体内容如下:PICC的机械性能。PICC尺寸应满足ISO 7810中的规范,即85.72 mm54.03 mm0.76 mm。对PICC进行弯曲和扭曲实验及紫外线、X射线和电磁射线的辐射实验的附加说明。第2章 RFID协议体系 4 42.1.2 ISO/IEC 14443-2ISO/IEC 14443-2部分主要规定了ISO/I
3、EC 14443的射频能量和信号接口。1.射频能量射频能量阅读器(PCD)产生耦合到应答器(PICC)的射频电磁场,用以传送能量。PICC通过耦合获取能量,并转换成芯片工作直流电压。PCD和PICC间通过调制与解调实现通信。射频频率为13.56 MHz,阅读器产生的磁场强度为1.5 A/mH7.5 A/m(有效值)。若PICC的动作场强为1.5 A/m,那么PICC在距离PCD为10 cm时能正常不间断地工作。第2章 RFID协议体系 5 52.信号接口信号接口 信号接口也称为空中接口。协议规定了两种信号接口:TYPE A和TYPE B。我国第二代身份证就是采用TYPE B型的应答器,但是TY
4、PE B更多应用在特殊场合,通常需加密。相对而言,TYPE A型应用更加广泛和简单。因此,本书仅详细介绍TYPE A型协议的相关内容,而对TYPE B型只作简要介绍。PICC仅需采用两者之一的方式,但PCD最好对两者都能支持并可任意选择其中之一来适配PICC。第2章 RFID协议体系 6 61)TYPE A型 PCD向PICC通信:载波频率为13.56 MHz,数据传输速率为106 kb/s,采用修正密勒码的100%ASK调制。为保证对PICC的不间断能量供给,载波间隙的时间约为23 s。PICC向PCD通信:以负载调制方式实现,用数据曼彻斯特码的副载波调制(ASK)信号进行负载调制。副载波频
5、率为载波频率的16分频,即847 kHz。第2章 RFID协议体系 7 72)TYPE B型 PCD向PICC通信:数据传输速率为106 kb/s,用数据的NRZ码对载波进行ASK调制,调制幅度为10%(8%14%)逻辑1时,载波高幅度(无调制);逻辑0时,载波低幅度。PICC向PCD通信:数据传输速率为106 kb/s,用数据的NRZ码对副载波(847 kHz)进行BPSK(二进制相移键控)调制,然后再用副载波调制信号进行负载调制实现通信。第2章 RFID协议体系 8 82.1.3 ISO/IEC 14443-3ISO/IEC 14443-3标准中提供了TYPE A和TYPE B两种不同的防
6、碰撞协议。TYPE A采用位检测防碰撞协议,TYPE B通过一组命令来管理防碰撞过程,防碰撞方案为时隙基础。限于实用角度和篇幅原因,本节只介绍TYPE A的防碰撞协议。1.帧结构帧结构TYPE A的帧有三种类型:短帧、标准帧和面向比特的防碰撞帧。第2章 RFID协议体系 9 91)短帧短帧的结构由起始位S、7位数据位b1b7和通信结束位E构成,其帧结构如图2-1所示。2)标准帧标准帧由起始位S、n个数据字节以及结束位E构成,每一个数据字节后面有一个奇校验位P,其帧结构如图2-2所示。第2章 RFID协议体系 10 10 图2-1 短帧 第2章 RFID协议体系 11 11图2-2 标准帧 第2
7、章 RFID协议体系 12 123)面向比特的防碰撞帧该帧仅用于防碰撞循环,它是由7个数据字节组成的标准帧。在防碰撞过程中,它被分裂为两部分:第一部分从PCD发送到PICC;第二部分从PICC发送到PCD。第一部分数据的最大长度为55位,最小长度为16位,第一部分和第二部分的总长度为56位。这两部分的分裂有两种情况:第一种情况是在完整的字节之后分开,并在完整字节后加检验位。第二种情况是在字节当中分开,在第一部分分开的位后不加校验位;对于分裂的字节,PCD对第二部分的第一个校验位不予检查。第2章 RFID协议体系 13 132.PICC的状态的状态在ISO/IEC 14443-3标准中PICC有
8、不同的状态,各状态之间又会受到不同操作或者数据的影响而进行互相转换。下述内容用于实现任务描述2.D.1,即用流程图描述TYPE A型PICC的状态及转换,如图2-3所示。TYPE A型PICC的状态转换说明如下:Power-off(断电)状态。任何情况下,PICC离开PCD有效作用范围即进入Power-off状态。Idle(休闲)状态。此时PICC加电,能对已调制信号进行解调,并可识别来自PCD的REQA命令。第2章 RFID协议体系 14 14图2-3 PICC状态转换 第2章 RFID协议体系 15 15 Ready(就绪)状态。在REQA或WUPA命令作用下PICC进入Ready状态,此
9、时进入防碰撞流程。Active(激活)状态。在SELECT命令作用下PICC进入Active状态,完成本次应用应进行的操作。Halt(停止)状态。当在HALT命令或在支持ISO/IEC 14443-4标准的通信协议时,在高层命令DESELECT作用下PICC进入此状态。在Halt状态,PICC接收到WUPA(唤醒)命令后返回Ready状态。第2章 RFID协议体系 16 163.防碰撞流程防碰撞流程在ISO/IEC 14443-3标准中,TYPE A采用位检测防碰撞协议来检测碰撞情况,需要有一系列的流程和相关命令。下述内容用于实现任务描述2.D.2,即用流程图描述PCD初始化和防碰撞流程,如图
10、2-4所示。防碰撞步骤如下(注意,在图2-4中仅给出了步骤(1)(13):(1)PCD选定防碰撞命令SEL的代码为93H、95H或97H,分别对应于UID CL1、UID CL2或UID CL3,即确定UID CLn的n值。第2章 RFID协议体系 17 17图2-4 PCD初始化和防碰撞流程 第2章 RFID协议体系 18 18(2)PCD指定NVB=20H,表示PCD不发出UID CLN的任一部分,而迫使所有在场的PICC发回完整的UID CLn作为应答。(3)PCD发送SEL和NVB。(4)所有在场的PICC发回完整的UID CLn作为应答。(5)如果多于一个PICC发回应答,则说明发生
11、了碰撞;如果不发生碰撞,则可跳过步骤(6)(10)。(6)PCD应认出发生第一个碰撞的位置。(7)PCD指示NVB值以说明UID CLn的有效位数目,这些有效位是接收到的UID CLn发生碰撞之前的部分,后面再由PCD决定加一位0或1,一般加1。第2章 RFID协议体系 19 19(8)PCD发送SEL、NVB和UID CLn。(9)只有PICC的UID CLn部分与PCD发送的有效数据位内容相等时,才发送出UID CLn的其余位。(10)如果还有碰撞发生,则重复步骤(6)(9),最大循环次数为32。(11)如果没有在发生碰撞,则PCD指定NVB=70H,表示PCD将发送完整的UID CLn。
12、(12)PCD发送SEL和NVB,接着发送40位UID CLn,后面是CRC-A校验码。(13)与40位UID CLn匹配的PICC以SAK作为应答。第2章 RFID协议体系 2020(14)如果UID是完整的,则PICC将发送带有Cascade位为0的SAK,同时从Ready状态转换到Active状态。(15)如果PCD检查到Cascade位为1的SAK,则将CLn的n值加1,并再次进入防碰撞循环。第2章 RFID协议体系 21 214.命令集命令集在PICC的状态转换及防碰撞过程中,定义了很多相关命令和相关数据,其具体定义如下:(1)REQA/WUPA命令。这两个命令为短帧。REQA命令的
13、编码为26H,WUPA命令的编码为52H。(2)ATQA应答。PCD发出REQA命令后,处于休闲(Idle)状态的PICC都应同步地以ATQA应答PCD,PCD检测是否有碰撞。ATQA的编码结构如表2-1所示。第2章 RFID协议体系 2222表表2-1 ATQA结构结构 第2章 RFID协议体系 2323(3)ANTICOLLISION和SELECT命令。PCD接收ATQA应答,PCD和PICC进入防碰撞循环。ANTICOLLISION和SELECT命令格式如表2-2所示。在NVB字节中,高4位为字节数编码,是PCD发送的字节数,包括SEL和NVB,因此字节数最小为2,最大为7,编码范围00
14、100111;低4位表示命令的非完整字节最后一位的位数,编码00000111对应的位数为07位,位数为0表示没有非完整字节。第2章 RFID协议体系 2424表表2-2 ANTICOLLISION和和SELECT命令格式命令格式 第2章 RFID协议体系 2525SEL和NVB的值指定了在防碰撞循环中分裂的位。若NVB指示其后有40个有效位(NVB=70H),则应添加CRC-A(2字节)。该命令为SELECT命令,是标准帧。若NVB指定其后有效位小于40,则为ANTICOLLISION命令。ANTICOLLISION命令是比特防碰撞帧。UID CLn为UID的一部分,n为1、2、3。ATQA的
15、b8、b7表示UID的大小,UID由4、7或10个字节组成。UID CLn域为4字节,其结构如表2-3所示。表中CT为级联标志,编码为88H。第2章 RFID协议体系 2626表表2-3 UID CLn结构结构 第2章 RFID协议体系 2727UID可以是一个固定的唯一序列号,也可以是由PICC动态产生的随机数。当UID CLn为UID CL1时,编码如表2-4所示。UID CLn为UID CL2或UID CL3时,编码如表2-5所示。(4)SAK应答。PCD发送SELECT命令后,与40位UID CLn匹配的PICC以SAK作为应答。SAK为1字节,它的结构和编码如表2-6所示。第2章 R
16、FID协议体系 2828表表2-4 UID CL1编码编码 表表2-5 UID CL2编码编码 第2章 RFID协议体系 2929表表2-6 SAK结构结构 第2章 RFID协议体系 3030b3为Cascade位。b3=1表示UID不完整,还有未被确认部分;b3=0表示UID已完整。b6=1表示PICC遵守ISO/IEC 14443-4标准的传输协议。b6=0表示传输协议不遵守ISO/IEC 14443-4标准。SAK的其他位为RFU,置0。(5)HALT命令。HALT命令为在2字节(0050H)的命令码后跟CRC-A(2字节)一共4字节的标准帧。第2章 RFID协议体系 31 312.1.
17、4 ISO/IEC 14443-4 ISO/IEC 14443-4是用于非接触环境的半双工分组传输协议,定义了PICC的激活过程和解除激活的方法。下述内容用于实现任务描述2.D.3,即用流程图描述TYPE A型PICC激活的协议操作过程,如图2-5所示。当系统完成了ISO/IEC 14443-3中定义的请求、防碰撞和选择并由PICC发回SAK后,PCD必须检查SAK字节,以核实PICC是否支持对ATS(Answer to Select)的使用。若SAK说明不支持ISO/IEC 14443-4协议,则PCD应发送HALT命令使PICC进入Halt状态。第2章 RFID协议体系 3232 若SAK
18、字节说明支持ISO/IEC 14443-4协议,表明可以回应ATS,那么PCD发出RATS(请求ATS)命令,PICC接收到RATS后以ATS回应。若PICC在ATS中表明支持PPS(Protocol and Parameter Selection)并且参数可变,则PCD发送PPS请求命令,PICC以PPS应答。PICC不需要一定支持PPS。第2章 RFID协议体系 3333图2-5 TYPE A型PICC激活 第2章 RFID协议体系 3434下述内容为ISO/IEC 14443-4协议命令的详细解释。1.RATS(请求请求ATS)RATS命令的格式如表2-7所示。上表中,第一个字节是指命令
19、开始,编码为E0H。第二个字节是参数字节:高4位为FSDI,用于编码PCD可接收的FSD(最大的帧长),FSDI编码值为0Fh时,对应的FSD为16,24,32,256,256(备用)字节;低4位为编码CID(卡标识符),定义了对PICC寻址的逻辑号,编码值为014,值15为备用(Reserved for Future,RFU)。第2章 RFID协议体系 3535表表2-7 RATS命令命令 第2章 RFID协议体系 36362.ATSATS的结果如表2-8所示。1)长度字节TL长度字节TL用于给出ATS响应的长度,包括TL字节,但不包含两个CRC字节。ATS的最大长度不能超出FSD的大小。2
20、)格式字节T0格式字节T0是可选的,只要它出现,长度字节TL的值就大于1。T0的组成如表2-9所示。FSCI用于编码FSC,FSC为PICC可接收的最大帧长,FSCI编码和FSDI编码定义的最大帧长(字节)相同。FSCI的默认值为2H(FSC=32字节)。第2章 RFID协议体系 3737表表2-8 ATS 表表2-9 T0组成组成 第2章 RFID协议体系 38383)接口字节TA(1)TA(1)用于决定参数因子D,确定PCD至PICC和PICC至PCD的数据传输速率。TA(1)编码的结构如表2-10所示。D=2时比特率为212 kb/s,其余D值对应的比特率可类推。上表中Dr(称为接收因子
21、)表示PCD向PICC通信时PICC的数据传输速率能力;Ds(称为发送因子)表示PICC向PCD通信时PICC的数据传输速率能力。第2章 RFID协议体系 3939表表2-10 TA(1)结构结构 第2章 RFID协议体系 40404)接口字节TB(1)TB(1)由两部分组成,分别定义了帧等待时间和启动帧的保护时间。高半字节为FWI,用于编码帧等待时间FWT。FWT定义为PCD发送的帧和PICC发送的应答帧之间的最大延迟时间,表示为FWT=(25616/fc)2FWI其中,fc为载波频率;FWI值的范围为014,15为RFU。当FWI=0时,FWT=FWTmin=302 s;当FWI=14时,
22、FWT=FWTmax=4949 ms。如果TB(1)是默认的,则FWI的默认值为4,相应的FWT为4.8 ms。第2章 RFID协议体系 41 41PCD可用FWT值来检测协议错误或未应答的PICC。若在FWT时间内,PCD未从PICC接收到响应,则可重发帧。TB(1)的低半字节为SFGI,用于编码SFGT(启动帧保护时间),这是PICC在它发送ATS以后,到准备接收下一帧之前所需要的特殊保护时间。SFGI编码值为014,15为RFU。SFGI值为0表示不需要SFGT,SFGI=114对应的SFGT计算式为SFGT=(25616/fc)2SFGI其中,fc为载波频率,SFGI的默认值为0。第2
23、章 RFID协议体系 42425)接口字节TC(1)TC(1)描述协议参数,它由两部分组成。第一部分从b8至b3,置为0,其他值作为RFU。第二部分的b2和b1用于编码PICC对CID(卡标识符)和NAD(节点地址)的支持情况,b2位为1时支持CID;b1位为1时支持NAD;b2b1位默认值为(10)b,表示支持CID而不支持NAD。6)历史字符历史字符T1至Tk是可选项,它的大小取决于ATS的最大长度。第2章 RFID协议体系 43433.PPS(协议和参数选择协议和参数选择)请求请求PPS请求的结构如表2-11所示。它由一个起始字节后跟两个参数字节加上两字节CRC组成。起始字节PPSS。P
24、PSS的高4位编码为1101,其他值时为RFU。低4位定义CID,即对PICC寻址的逻辑号。PPS0。PPS0用于表明可选字节PPS1是否出现。当该字节b8b7b6=000b,b5=1b,b4b3b2b1=0001b时,表示后面出现PPS1字节。PPS1。PPS1字节b8b7b6b5=0000b,b4b3为DSI(设置发送因子Ds的值),b2b1为DRI(设置接收因子Dr的值)。DSI和DRI的两位编码“00、01、10、11”对应的D值为1、2、4、8。第2章 RFID协议体系 4444表表2-11 PPS请求的结构请求的结构第2章 RFID协议体系 45454.PPS响应响应它为PICC接
25、收PPS请求后的应答,由3字节组成,第一字节为PPSS(同PPS请求的PPSS),后两字节为CRC字节。第2章 RFID协议体系 46462.2 ISO/IEC 18000-6标准标准ISO/IEC 18000-6标准定义了工作频率在860930 MHz的阅读器和应答器之间的物理接口、协议、命令和防碰撞机制。它包含TYPE A、TYPE B和TYPE C三种无源标签的接口协议,通信距离最远可以达到10m。目前,TYPE A和TYPE B发展已停滞,而TYPE C是EPC Class1 Gen2所采用的协议并且发展较快。基于上述原因和篇幅限制,本节只简要介绍TypeC。本书配套的超高频RFID阅
26、读器,即是符合ISO/IEC 18000-6B/C协议的阅读器。第2章 RFID协议体系 47472.2.1 EPC C1 G2标准标准ISO/IEC 18000-6标准中的TYPE C与EPC Class1 Gen2(简称EPC C1 G2)协议相同,本书对两者不加区分,下述内容将从接口参数、存储器结构等方面对其进行介绍。本节内容为EPC C1 G2的简要说明,以帮助用户对该标准有一个了解。详细说明请参考EPC C1 G2标准。1.系统介绍系统介绍EPC系统是一个针对电子标签的应用规范,一般包括读写器、电子标签、天线以及上层应用接口程序等部分。每家厂商提供的产品应符合相关标准,虽然所提供的设
27、备性能不同,但功能是相似的。第2章 RFID协议体系 48482.操作说明操作说明读写器向一个或一个以上的电子标签发送信息,发送方式是采用无线通信的方式来调制射频载波信号。而标签通过相同的调制射频载波接收功率。读写器通过发送未调制射频载波和接收由电子标签反射(反向散射)的信息来接收电子标签中的数据。EPC C1 G2 UHF段标准规定的无线接口频率为860 MHz960 MHz。但每个国家在使用时,会根据情况选择其中某段频率作为自己的使用频段。用户在选用电子标签和读写器时,应选用符合国家标准的电子标签及读写器。一般来说,电子标签的频率范围较宽,而读写器在出厂时会严格按照国家标准规定的频率来限定
28、。第2章 RFID协议体系 49493.频道工作模式频道工作模式读写器将有效的频段分为20个频道,在某个时刻读写器与电子标签的通信只占用一个频道。为防止占用某个频道时间过长或该频道被其他设备占用而产生干扰,读写器会自动跳到下一个频道。用户在使用读写器时,如发现某个频道已被其他的设备占用或某个频道上的信号干扰很大,可在读写器系统参数设定中先将该频道屏蔽,这样读写器在自动跳频时,会自动跳过该频道,以避免与其他设备应用冲突。第2章 RFID协议体系 50504.发射功率发射功率读写器的发射功率是一个很重要的参数。读写器对电子标签的操作距离主要由该发射功率来确定,发射功率越大,则操作距离越远。我国的暂
29、定标准为2 W,读写器的发射功率可以通过系统参数的设置来进行调整,可分为几级或连续可调。用户需根据自己的应用调整该发射功率,使读写器能在用户设定的距离内完成对电子标签的操作。对于满足使用要求的,将发射功率调到较小,以减少能耗。第2章 RFID协议体系 51 515.天线天线天线作为RFID系统中非常重要的一部分,它对读写器与电子标签的操作距离有很大的影响。天线的性能越好,则操作距离越远。用户在选用时需要多加关注。读写器与天线的连接有两种情况:一种是读写器与天线装在一起,称为一体机;另一种是通过50 的同轴电缆与天线相连,称为分体机。天线的指标主要有使用效率(天线增益)、有效范围(方向性选择)、
30、匹配电阻(50)和接口类型等。用户在选用时,应根据自己的需要选用相关的天线。一个读写器可以同时连接多个天线,在使用这种读写器时,用户需先设定天线的使用序列。第2章 RFID协议体系 52526.密集读写器环境密集读写器环境(DRM)在实际应用场合,可能会存在多个读写器同时运行的情况,称为密集读写器环境。在这种情况下,各个读写器会占用各自的操作频道对自己的某类电子标签进行操作。用户在使用时,应根据需要选用可在DRM环境下可靠运行的读写器。7.数据传输速率数据传输速率数据传输速率有高、低两种,一般的厂商都会选择高速数据传输速率。第2章 RFID协议体系 53532.2.2 存储器结构存储器结构本节
31、介绍的电子标签是指EPC C1 G2中定义的标签,对于每个厂商生产的电子标签,其存储器结构是相同的,但容量大小会有差别。1.电子标签存储器电子标签存储器从逻辑上来说,一个电子标签分为四个存储体,每个存储体可以由一个或一个以上的存储器组成。电子标签存储器结构图如图2-6所示。第2章 RFID协议体系 5454图2-6 电子标签存储器结构图 第2章 RFID协议体系 5555从上图中可以看到,一个电子标签的存储器分成四个存储体,分别是存储体00、存储体01、存储体10和存储体11。1)存储体00存储体00为保留内存。保留内存为电子标签存储口令(密码)的部分,包括灭活口令和访问口令。灭活口令和访问口
32、令都为4字节。其中,灭活口令的地址为00H03H(以字节为单位);访问口令的地址为04H07H。第2章 RFID协议体系 56562)存储体01存储体01为EPC存储器。EPC存储器用于存储电子标签的EPC号、PC(协议控制字)以及CRC-16校验码。CRC-16为本存储体中存储内容的CRC校验码。PC为电子标签的协议控制字,表明本电子标签的控制信息。PC为2字节,16位,其每位的定义如表2-12所示。EPC号是识别标签对象的电子产品码,由PC的值来指定若干个字。EPC存储在以20 H存储地址开始的EPC存储器内,MSB优先。第2章 RFID协议体系 5757表表2-12 PC组成组成 第2章
33、 RFID协议体系 58583)存储体10存储体10是TID存储器,该存储器是指电子标签的产品类识别号,每个生产厂商的TID号都会不同。用户可以在该存储器中存储其自身的产品分类数据及产品供应商的信息。一般来说,TID存储器的长度为4个字。但有些电子标签的生产厂商提供的TID会为2个字或5个字。用户在使用时,应根据自己的需要选用相关厂商的产品。第2章 RFID协议体系 59594)存储体11存储体11是用户存储器,该存储器用于存储用户自定义的数据。用户可以对该存储器进行读、写操作。该存储器的长度由各个电子标签的生产厂商确定。相对来说,存储长度大的电子标签价格会高一些。用户应根据自身应用的需要来选
34、择相关长度的电子标签,以降低标签的成本。第2章 RFID协议体系 60602.存储器的操作存储器的操作由电子标签供应商提供的标签为空白标签,用户首先会在电子标签的发行时,通过读写器将相关数据存储在电子标签中(发行标签);然后在标签的流通使用过程中,通过读取标签存储器的相关信息,或将某状态信息写入到电子标签中完成系统的应用。对于电子标签的四个存储体,读写器提供的存储命令都能支持对它们的读写操作。但有些电子标签在出厂时就已由供应商设定为只读,而不能由用户自行改写,这点在选购电子标签时需特别注意。第2章 RFID协议体系 61 612.2.3 命令集命令集本节描述应用电子标签的命令集,用户若需详细了
35、解,可参考EPC C1 G2 UHF的标准资料。在对电子标签的操作中,有三组命令集用于完成相关的操作。这三组命令集是选择、盘存及访问,分别由一个或多个命令组成。1.选择选择(SELECT)选择命令集由一条命令组成。读写器对电子标签的读写操作前,需应用选择命令集来选择符合用户定义的标签,使符合用户定义的标签进入相应的状态;而其他不符合用户定义的标签仍处于非活动状态,这样可有效地先将所有的标签按各自的应用分成几个不同的类,以利于进一步的标签操作命令。第2章 RFID协议体系 62622.盘存盘存(INVENTORY)盘存命令集由多条命令组成。盘存是将所有符合选择条件的标签循环扫描一遍,标签将分别返回其EPC号。用户利用该操作可以首先将所有符合条件标签的EPC号读出来,并将标签分配到各自的应用块中。3.操作操作(ACCESS)操作命令集包括电子标签的密码校验、读标签、写标签、锁定标签及灭活标签等。用户应用该组命令完成对电子标签的各项读取或写入操作。