2024年-IC卡的读写过程详解_第1页
2024年-IC卡的读写过程详解_第2页
2024年-IC卡的读写过程详解_第3页
2024年-IC卡的读写过程详解_第4页
2024年-IC卡的读写过程详解_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ISO14443-3

TypeA初始化和防冲突算法

应用系统事业部测试组

2010.71

2

22内容介绍ISO/IEC14443-3包括:PCD不断轮寻进入能量场的PICC;在PCD与PICC之间进行通信的初始化阶段用的字节格式、帧和时序;初始化REQA和ATQA(命令和应答)的内容;多张卡中检出1张卡并与之通信的方法;PCD与PICC进行初始化通信的其他参数;加速从多卡中选出1张卡的可选方法。

32

PCD不断轮寻进入能量场的PICC

PCD:为实时检出进入PCD能量场的PICC,PCD重复发出请求命令REQA,并查寻应答ATQA,这一过程称为“轮寻”。

PICC:在进入PCD能量场的5ms内,PICC应能接受到REQA。

42位、字节、时序和帧格式位、字节和帧格式

1.1FrameDelayTime(FDT):相反方向的相邻两帧之间的间隔

1.2FrameGuardTime(FGT):保证通信正常的最小FDT

1.3PCD帧传输完毕到PICC响应帧开始之间的FGT见图一及表一;

1.4PICC帧传输完毕到PCD帧之间的FGT至少为1172/fc.(fc载波频率)

52图1:FramedelaytimePICCtoPCD

62表一:FramedelaytimePICCtoPCD1.5RequestGuardTime(RGT):定义为两个连续Request命令的起始位间的最小时间。它的值为7000/fc。

72

1.6Request和Wake-Up帧用来初始化通信并按以下次序组成:起始位

7个数据位发送,LSB首先发送。(标准REQA的数据内容是‘26’,WAKE-UP请求的数据内容是‘52’)终止位

不加奇偶校验位。起始位命令:26(Request)或52(Wake-Up)图二

821.7标准帧用于数据交换并按以下次序组成:起始位n*(8个数据位+奇数奇偶校验位),n≥1。每个数据字节的LSB首先被发送。每个数据字节后面跟随一个奇数奇偶校验位。终止位

92面向比特的防冲突

当至少两个PICC同时发送不同比特到PCD时PCD将检测到比特冲突。这种情况下,至少一个比特的整个位持续时间内,载波以副载波进行调制。面向比特的防冲突帧仅在防冲突循环期间使用,并且事实上该帧是带有7个数据字节的标准帧,它被分离成两部分:第1部分从PCD到PICC传输,第2部分从PICC到PCD传输。

102面向比特的防冲突下列规则应适用于第1部分和第2部分的长度:规则1:数据位之和应为56规则2:第1部分的最小长度应为16个数据位规则3:第1部分的最大长度应为55个数据位从而,第2部分的最小长度应为1个数据位,最大长度应为40个数据位。

112面向比特的防冲突

从而,第2部分的最小长度应为1个数据位,最大长度应为40个数据位。由于该分离可以出现在一个数据字节范围内的任何比特位置,故定义了两种情况:FULLBYTE情况:在完整数据字节后分离。在第1部分的最后数据位之后加上一个奇偶校验位。SPLITBYTE情况:在数据字节范围内分离。在第1部分的最后数据位之后不加奇偶校验位。下面全字节情况和分离字节情况的例子定义了位的组织结构和位传输的次序。对于SPLITBYTE,PCD应忽略第二部分的第一个奇偶校验位。

122

132

142CRC_ACRC_A编码和校验过程在ITU-T建议的V.41第2段中定义。用来生成校验位的生成多项式为x16+x12+x5+1。初始值应为‘6363’。CRC_A应被添加到数据字节中并通过标准帧来发送。

152

PICC各状态

(1)POWEROFFPICC由于缺少载波能量而处于断电状态,也不发射副载波。(2)IDLE(闲置)状态

电磁场激活后,PICC进入IDLE状态。

162(3)READY(就绪)状态当收到一个有效的REQA或WAKE-UP命令,就进入READY状态。当PICC的UID(唯一标识符)被PCD发来的Selection命令选中时,就退出本状态。(4)ACTIVE(激活)状态

当PICC的UID被PCD选中时就进入本状态。在激活状态,完成本次应用的全部操作。

172(5)HALT(停止)状态该状态通过HALT命令或本部分中未定义的应用特定命令来进入。在这种状态中,PICC应仅响应使PICC转换为READY状态的WAKE-UP命令。

182PICC状态图(图1)POWEROFFIDLE状态HALT状态REQA命令READY状态ACTIVE状态防冲突循环Select命令HALT命令应用Wake-up命令

192命令集PCD管理进入能量场的多张卡的命令REQAWAKE-UPANTICOLLISIONSELECTHALT

202(1)REQA命令和WAKE-UP命令

这两条命令都是使卡进入Ready状态,差别是REQA命令从IDLE进入Ready状态,而Wake-up从Halt进入Ready状态。PICC接收到REQA命令或WAKE-UP命令后,在PCD能量场范围内的所有PICC同步发出ATQA应答,长度为2字节。b7b6b5b4b3b2b1说明“26”=REAQ01001101010010“52”=Wake-up

212-用于防冲突循环,组成如下:SELNVBUIDCLn数据位BCC校验位(2)ANTICOLLISION命令与SELECT命令选择代码SEL(1字节)有效位数量NVB(1字节)由NVB指定的UIDCLn(0~40位)

命令格式:1字节1字节0~4字节1字节校验位仅当UID的数据位为4字节时(完整)才有。PCD发出防冲突命令的目的是想从PICC得到卡的UIDCLn的一部分或全部,从而选出一张卡。

222只要NVB没有规定40个有效位,若PICC保持在READY状态中,该命令就被称为ANTICOLLISION命令。如果NVB规定了UIDCLn的40个数据位(NVB=‘70’),则应添加CRC_A。该命令称为SELECT命令。如果PICC已发送了完整的UID,则它从READY状态转换到ACTIVE状态并在其SAK-响应中指出UID完整。否则,PICC保持在READY状态中并且该PCD应以递增串联级别启动一个新的防冲突环。

232S5000CRC(循环校验码)E(3)HALT命令HALT命令由4个字节组成:1字节1字节2字节如果PICC在HALT帧结束后1ms周期期间以任何调制表示响应,则该响应应解释为‘不确认’。

242ATQA-请求应答

所有PICC以其在两个数据字节中编码了可用防冲突类型的请求应答(ATQA)表示同步地进行响应。 如果有多个卡应答,冲突可能出现。PCD应把ATQA内的冲突解码为一个(1)b,其结果是所有ATQA的逻辑“或”。

252b16~b9b8b7b6b5b4b3b2b1RFU置0UID大小比特帧RFU比特帧防冲突(只有1位置1)ATQA的编码ATQ的b8b7UID的大小最大级联CLUID的字节数0001101231234710UID的大小

262Select过程Select过程的目的是获得来自PICC的UID以及选择该PICC以便进一步通信,见下图。下面算法应适用于防冲突环:步骤1:PCD赋值编码了串联级别的SEL。SEL的编码b8b7b6b5b4b3b2b1说明100100111001010110010111“93”选择UIDCL1“95”选择UIDCL2“97”选择UIDCL3

272Select过程步骤2:PCD分配了带有值为‘20’的NVB。注:该值定义了该PCD将不发送UIDCLn的任何部分。因此该命令迫使工作场内的所有PICC以其完整的UIDCLn表示响应。步骤3:PCD发送SEL和NVB。步骤4:工作场内的所有PICC应使用它们的完整的UIDCLn响应。步骤5:假设场内的PICC拥有唯一序列号,那么,如果一个以上的PICC响应,则冲突发生。如果没有冲突发生,则步骤6到步骤10可被跳过。

282Select过程步骤6:PCD应识别出第一个冲突的位置。步骤7:PCD分配了带有值的NVB,该值规定了UIDCLn有效比特数。这些有效位应是PCD所决定的冲突发生之前被接收到的UIDCLn的一部分再加上(0)b或(1)b。典型的实现是增加(1)b。

NVB编码(1字节): 较高4位称为字节计数,规定所有被8分开的有效数据位的数,包括被PCD发送的NVB和SEL。这样,字节计数的最小值是2而最大值是7。 较低4位称为比特计数,规定由PCD发送的所有有效数据位模8后的数。

292Select过程步骤8:PCD发送SEL和NVB,后随有效位本身。步骤9:只有PICC的UIDCLn中的一部分等于PCD所发送的有效位时,PICC才应发送其UIDCLn的其余部分。步骤10:如果出现进一步的冲突,则重复步骤6~9。最大的环数目是32。步骤11:如果不出现进一步的冲突,则PCD分配带有值为‘70’的NVB。 注:该值定义了PCD将发送完整的UIDCLn。

302Select过程步骤12:PCD发送SEL和NVB,后随UIDCLn的所有40个位,后面又紧跟CRC_A校验和。步骤13:它的UIDCLn与40个比特匹配,则该PICC以其SAK表示响应。SAK的编码b8b7b6b5b4b3b2b1RFUb6=1,PICC兼容14443RFUb3=0,UID完整b3=1,还有部分UIDCLn需确认RFU

312步骤14:如果UID完整,则PICC应发送带有清空的串联级别位的SAK,并从READY状态转换到ACTIVE状态。步骤15:PCD应检验SAK的串联比特是否被设置,以决定带有递增串联级别的进一步防冲突环是否应继续进行。 如果PICC的UID是已知的,则PCD可以跳过步骤2~10来选择该PICC,而无需执行防冲突环。

322

开始发送REQA接收ATQA选择UIDCL1完成比特帧防冲突检测ATQA专用帧和协议CL+1定义在ISO/IEC14443-4中命令专用防冲突比特帧防冲突UID完整UID不完整检测SAKPCD初始化和防冲突

332UID内容和串联级别UID由4、7或10个UID字节组成。因此,PICC最多应处理3个串联级别,以得到所有UID字节。在每个串联级别内,由5个数据字节组成的UID的一部分应被发送到PCD。根据最大串联级别,定义了UID长度的三个类型。

342UID内容和串联级别UIDCLn:根据串联级别n,UID的一部分,由5个字节组成,3≥n≥1UIDn:UID的字节#n,n≥0BCC:UIDCLn校验字节,4个先前字节的“异或”值CT:串联标记,‘88’UID是一固定的唯一数或由PICC动态生成的随机数。UID的第一个字节(uid0)分配后随UID字节的内容。

352UID内容和串联级别单个长度的UID

两个和三个长度的UID注:串联标记CT的值‘88’应不用于单个长度UID中的uid0。在ISO/IEC7816-6/AM1中为“私用”标出的值‘81’到‘FE’在本上下文中应不予允许。

362UID内容和串联级别图:串联级别的使用注:串联标记的用途是迫使造成与具有较小UID长度的PICC冲突。因此,UID0或UID3都不应具有串联标记的值。

372例题1:假设在PCD场中有2张PICC卡,试说明初始化和防冲突过程。已知:PICC#1的UID大小:1,UID0=“10”PICC#2的UID大小:2约定:PCDtoPICCPICCtoPCD(×××‥×)b发送的第1位(最低位)

382

比特帧防冲突选择时序如图所示,操作分三阶段:(1)Request(PCD发送请求命令)REQAATQAPICC#1b1(1000000000000000)b16卡#1采用比特防冲突,b8b7=00,∴UID=1ATQAPICC#2b1(1000001000000000)b16卡#2采用比特防冲突,b8b7=01,∴UID=2’26’所有卡PICC应答ATQA

392

(3)Anticollisionloop,cascadelevel2(防冲突循环CL2)’95’SELNVB’20’PICC#2UID

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论