您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > IC卡的读写过程详解
ISO14443-3TypeA初始化和防冲突算法应用系统事业部测试组2010.7内容介绍ISO/IEC14443-3包括:1.PCD不断轮寻进入能量场的PICC;2.在PCD与PICC之间进行通信的初始化阶段用的字节格式、帧和时序;3.初始化REQA和ATQA(命令和应答)的内容;4.多张卡中检出1张卡并与之通信的方法;5.PCD与PICC进行初始化通信的其他参数;6.加速从多卡中选出1张卡的可选方法。不断轮寻进入能量场的PICCPCD:为实时检出进入PCD能量场的PICC,PCD重复发出请求命令REQA,并查寻应答ATQA,这一过程称为“轮寻”。PICC:在进入PCD能量场的5ms内,PICC应能接受到REQA。位、字节、时序和帧格式1.位、字节和帧格式1.1FrameDelayTime(FDT):相反方向的相邻两帧之间的间隔1.2FrameGuardTime(FGT):保证通信正常的最小FDT1.3PCD帧传输完毕到PICC响应帧开始之间的FGT见图一及表一;1.4PICC帧传输完毕到PCD帧之间的FGT至少为1172/fc.(fc载波频率)图1:FramedelaytimePICCtoPCD表一:FramedelaytimePICCtoPCD1.5RequestGuardTime(RGT):定义为两个连续Request命令的起始位间的最小时间。它的值为7000/fc。和Wake-Up帧用来初始化通信并按以下次序组成:起始位7个数据位发送,LSB首先发送。(标准REQA的数据内容是‘26’,WAKE-UP请求的数据内容是‘52’)终止位不加奇偶校验位。起始位命令:26(Request)或52(Wake-Up)图二标准帧用于数据交换并按以下次序组成:起始位n*(8个数据位+奇数奇偶校验位),n≥1。每个数据字节的LSB首先被发送。每个数据字节后面跟随一个奇数奇偶校验位。终止位面向比特的防冲突当至少两个PICC同时发送不同比特到PCD时PCD将检测到比特冲突。这种情况下,至少一个比特的整个位持续时间内,载波以副载波进行调制。面向比特的防冲突帧仅在防冲突循环期间使用,并且事实上该帧是带有7个数据字节的标准帧,它被分离成两部分:第1部分从PCD到PICC传输,第2部分从PICC到PCD传输。面向比特的防冲突下列规则应适用于第1部分和第2部分的长度:规则1:数据位之和应为56规则2:第1部分的最小长度应为16个数据位规则3:第1部分的最大长度应为55个数据位从而,第2部分的最小长度应为1个数据位,最大长度应为40个数据位。面向比特的防冲突从而,第2部分的最小长度应为1个数据位,最大长度应为40个数据位。由于该分离可以出现在一个数据字节范围内的任何比特位置,故定义了两种情况:FULLBYTE情况:在完整数据字节后分离。在第1部分的最后数据位之后加上一个奇偶校验位。SPLITBYTE情况:在数据字节范围内分离。在第1部分的最后数据位之后不加奇偶校验位。下面全字节情况和分离字节情况的例子定义了位的组织结构和位传输的次序。对于SPLITBYTE,PCD应忽略第二部分的第一个奇偶校验位。编码和校验过程在ITU-T建议的V.41第2段中定义。用来生成校验位的生成多项式为x16+x12+x5+1。初始值应为‘6363’。CRC_A应被添加到数据字节中并通过标准帧来发送。各状态(1)POWEROFFPICC由于缺少载波能量而处于断电状态,也不发射副载波。(2)IDLE(闲置)状态电磁场激活后,PICC进入IDLE状态。(3)READY(就绪)状态当收到一个有效的REQA或WAKE-UP命令,就进入READY状态。当PICC的UID(唯一标识符)被PCD发来的Selection命令选中时,就退出本状态。(4)ACTIVE(激活)状态当PICC的UID被PCD选中时就进入本状态。在激活状态,完成本次应用的全部操作。(5)HALT(停止)状态该状态通过HALT命令或本部分中未定义的应用特定命令来进入。在这种状态中,PICC应仅响应使PICC转换为READY状态的WAKE-UP命令。状态图(图1)POWEROFFIDLE状态HALT状态REQA命令READY状态ACTIVE状态防冲突循环Select命令HALT命令应用Wake-up命令命令集PCD管理进入能量场的多张卡的命令REQAWAKE-UPANTICOLLISIONSELECTHALT(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-用于防冲突循环,组成如下:SELNVBUIDCLn数据位BCC校验位(2)ANTICOLLISION命令与SELECT命令选择代码SEL(1字节)有效位数量NVB(1字节)由NVB指定的UIDCLn(0~40位)命令格式:1字节1字节0~4字节1字节校验位仅当UID的数据位为4字节时(完整)才有。PCD发出防冲突命令的目的是想从PICC得到卡的UIDCLn的一部分或全部,从而选出一张卡。只要NVB没有规定40个有效位,若PICC保持在READY状态中,该命令就被称为ANTICOLLISION命令。如果NVB规定了UIDCLn的40个数据位(NVB=‘70’),则应添加CRC_A。该命令称为SELECT命令。如果PICC已发送了完整的UID,则它从READY状态转换到ACTIVE状态并在其SAK-响应中指出UID完整。否则,PICC保持在READY状态中并且该PCD应以递增串联级别启动一个新的防冲突环。(循环校验码)E(3)HALT命令HALT命令由4个字节组成:1字节1字节2字节如果PICC在HALT帧结束后1ms周期期间以任何调制表示响应,则该响应应解释为‘不确认’。请求应答所有PICC以其在两个数据字节中编码了可用防冲突类型的请求应答(ATQA)表示同步地进行响应。如果有多个卡应答,冲突可能出现。PCD应把ATQA内的冲突解码为一个(1)b,其结果是所有ATQA的逻辑“或”。~b9b8b7b6b5b4b3b2b1RFU置0UID大小比特帧RFU比特帧防冲突(只有1位置1)ATQA的编码ATQ的b8b7UID的大小最大级联CLUID的字节数0001101231234710UID的大小过程Select过程的目的是获得来自PICC的UID以及选择该PICC以便进一步通信,见下图。下面算法应适用于防冲突环:步骤1:PCD赋值编码了串联级别的SEL。SEL的编码b8b7b6b5b4b3b2b1说明100100111001010110010111“93”选择UIDCL1“95”选择UIDCL2“97”选择UIDCL3过程步骤2:PCD分配了带有值为‘20’的NVB。注:该值定义了该PCD将不发送UIDCLn的任何部分。因此该命令迫使工作场内的所有PICC以其完整的UIDCLn表示响应。步骤3:PCD发送SEL和NVB。步骤4:工作场内的所有PICC应使用它们的完整的UIDCLn响应。步骤5:假设场内的PICC拥有唯一序列号,那么,如果一个以上的PICC响应,则冲突发生。如果没有冲突发生,则步骤6到步骤10可被跳过。过程步骤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后的数。过程步骤8:PCD发送SEL和NVB,后随有效位本身。步骤9:只有PICC的UIDCLn中的一部分等于PCD所发送的有效位时,PICC才应发送其UIDCLn的其余部分。步骤10:如果出现进一步的冲突,则重复步骤6~9。最大的环数目是32。步骤11:如果不出现进一步的冲突,则PCD分配带有值为‘70’的NVB。注:该值定义了PCD将发送完整的UIDCLn。过程步骤12:PCD发送SEL和NVB,后随UIDCLn的所有40个位,后面又紧跟CRC_A校验和。步骤13:它的UIDCLn与40个比特匹配,则该PICC以其SAK表示响应。SAK的编码b8b7b6b5b4b3b2b1RFUb6=1,PICC兼容14443RFUb3=0,UID完整b3=1,还有部分UIDCLn需确认RFU步骤14:如果UID完整,则PICC应发送带有清空的串联级别位的SAK,并从READY状态转换到ACTIVE状态。步骤15:PCD应检验SAK的串联比特是否被设置,以决定带有递增串联级别的进一步防冲突环是否应继续进行。如果PICC的UID是已知的,则PCD可以跳过步骤2~10来选择该PICC,而无需执行防冲突环。开始发送REQA接收ATQA选择UIDCL1完成比特帧防冲突检测ATQA专用帧和协议CL+1定义在ISO/IEC14443-4中命令专用防冲突比特帧防冲突UID完整UID不完整检测SAKPCD初始化和防冲突内容和串联级别UID由4、7或10个UID字节组成。因此,PICC最多应处理3个串联级别,以得到所有UID字节。在每个串联级别内,由5个数据字节组成的UID的一部分应被发送到PCD。根据最大串联级别,定义了UID长度的三个类型。内容和串联级别UIDCLn:根据串联级别n,UID的一部分,由5个字节组成,3≥n≥1UIDn:UID的字节#n,n≥0BCC:UIDCLn校验字节
本文标题:IC卡的读写过程详解
链接地址:https://www.777doc.com/doc-7055350 .html