图表 7-11:串联级别的使用
注:串联标记的用途是迫使造成与具有较小UID长度的PICC冲突。因此,UID0或UID3都不应具有串联标记的值。
下列算法应适用于PCD以获得完整UID: 步骤1:PCD选择串联级别1 步骤2:应执行防冲突环
步骤3:PCD应检验SAK的串联比特
步骤4:如果设置了串联比特,PCD应增加串联级别并初始化一个新的防冲突环
步骤5:当使用其完整UID来选择PICC时,PICC应发送带有清空串联比特的SAK,并从READY状态转换到ACTIVE状态 7.3 类型B 初始化和防冲突 7.3.1 比特、字节和帧的定时
本章定义了类型B PICC防冲突和通信初始化期间使用的字节、帧和命令的定时。关于比特表示和编码参考第6 章。 7.3.1.1 字符传输格式
PICC和PCD之间的数据字节通过字符来发送和接收,在防冲突序列期间,字符的格式如下:
一个低电平起始位
8个数据位发送,首先发送LSB 一个高电平停止位
因此,用一个字符执行一个字节的发送需要10etu,如下图所示
图表 7-12:字符格式
一个字符范围内的比特边界应出现在(n–0.125)etu和 (n+0.125)etu之间,其中n是起始比特的下降沿之后的比特边界数(1≤N≤9)。 7.3.1.2 字符间距
一个字符与下一个发送的字符利用额外的保护时间(EGT)来隔开。
由PCD发送给PICC的两个连续字符之间的EGT应为0到57μs之间的任何值。 由PICC发送给PCD的两个连续字符之间的EGT应具有0到19μs之间的任何值。 7.3.1.3 帧定界符
PCD和PICC按帧发送字符。帧通常用SOF(帧的起始)和EOF(帧的结束)定界。
26
关于异常情况见7.3.10.2。 SOF 字符 图表 7-13:帧格式
7.3.1.4 SOF SOF包括: 一个下降沿,
后面紧跟10个etu的逻辑0,
后面紧跟位于下一个etu内任何地方的一个上升沿, 后面紧跟至少为2个etu(但不超过3个etu)的逻辑1。
EOF 图表 7-14:SOF
7.3.1.5 EOF
EOF包括: 一个下降沿,
后面紧跟10个etu的逻辑0,
后面紧跟位于下一个etu内任何地方的一个上升沿,
图表 7-15:EOF标识符
注:收到假EOF的概率很低,并且对应于在错误收到停止位的情况下传输的‘00’字符。
7.3.1.6 PICC到PCD的副载波和SOF
在PCD数据传输之后,PICC开始的通信应遵守下图中定义的定时。
最小延迟TR0(在PCD EOF与PICC副载波接通之间的)和TR1(在PICC副载波接通和第一个比特传输之间的)可在防冲突会话开始时定义(见ATTRIB命令的编码)。TR0和TR1的最小值在第6章中定义。TR1的最大值为200/fs。TR0的最大值在7.3.10中定义。
图表 7-16:PICC副载波SOF
仅当PICC打算开始发送信息时,它才可以接通副载波。 7.3.1.7 PICC到PCD的副载波和EOF
在PICC数据传输和EOF之后,PCD开始的通信应遵守下图中的定时。
27
在EOF传输之后,PICC应断开它的副载波。副载波信号应 在EOF结束之前不能停止
在EOF结束之后的2个etu内被停止。
PICC EOF开始(下降沿)和PCD SOF开始(下降沿)之间的最小延迟为14etu。
图表 7-17:PICC到PCD的EOF
7.3.2 CRC_B Data字节 (N 字节) CRC_B (2字节) 图表 7-18:帧范围内CRC_B的位置
如果接收到的帧带有一个有效的CRC_B值,该帧才应被认为是正确的。
帧CRC_B是k个数据位的函数,该k个数据位由帧中的所有数据位组成,但不包括起始位、停止位、字节间的延迟、SOF和EOF以及CRC_B本身。由于数据按字节编码,因此比特数k是8的倍数。
对于差错校验,帧包括了两个CRC_B字节,在数据字节之后,EOF之前。CRC_B在ISO/IEC 3309中定义。寄存器初始内容为全1:?FFFF‘。这两个CRC_B字节出现在k/8个数据字节之后和在EOF之前。
举例参考附 录 D。 7.3.3 防冲突序列
PCD通过在本章中详述的命令集合对防冲突序列进行管理。
PCD是与一个或多个PICC通信时的主控方,它通过发出REQB命令来启动卡的通信活动,以便提示PICC进行响应。
在防冲突序列期间,可能发生两个或两个以上的PICC同时响应:这就是冲突。命令集和允许PCD处理冲突序列以便及时分离PICC传输。
在完成防冲突序列后,PICC通信将完全处于PCD的控制之下,每次只允许一个PICC通信。
防冲突方案以时间槽的定义为基础,要求PICC在时间槽内用最小标识数据进行应答。时间槽数被参数化,范围从1到某一整数。在每一个时间槽内,PICC响应的概率也是可控制的。在防冲突序列中,PICC仅被允许应答一次。从而,即便在PCD场中有多个卡,在一个时间槽内也仅有一个卡应答,并且PCD在这个时间槽内能捕获标识数据。根据标识数据,PCD能够与被标识的卡建立一个通信信道。
防冲突序列允许选择一个或多个PICC以便在任何时候进行进一步的通信。
命令集合允许在PCD级实现不同的防冲突管理策略。这个策略处在应用设计者的控制下,并且可包括:
概率的(响应概率小于或等于1的重复性单个时间槽提示), 伪确定性的(扫描所有多个时间槽,以便在防冲突序列期间使所有在场的卡应答的概率最大),
可动态进行的这些方法的组合。
28
7.3.4 PICC状态描述
在防冲突序列期间,PICC具体的行为是根据不同的状态及状态间的转换条件确定的。 7.3.4.1 状态转换图
图表 7-19:PICC状态转换流程图举例(提示的)
注1:R是PICC在1到N(N的编码见7.3.7.4)范围内选择的一个数。 注2:选项1-对于PICC不支持Slot-MARKER命令(概率方法)。
选项2-对于PICC支持Slot-MARKER命令(时间槽方法) 7.3.4.2 状态描述和转换的概述
下述退出条件和转换适用于任何状态:
如果RF场消失,则PICC返回到POWER-OFF状态。
29
下列备注适用于专门针对防冲突序列的任何状态(除ACTIVE状态外): 使用前几节中定义的缺省通信参数。
除发送前几节中规定的响应帧, PICC应不发射副载波。
当PICC加电并正确复位时,它收听从PCD收到的任何命令帧。 若来自PCD的帧是有效的(正确的CRC_B),则PICC执行要求的动作和/或根据其状态进行响应。注意,在防冲突命令中,帧中数据的前三位是(101)b(防冲突前缀字节的前三位)。
PICC不应答任何不以(101)b(防冲突前缀字节的前三个位)开始的命令帧。 PICC仅对收到的有效帧进行反应(当检测到传输差错时不发送响应)。 7.3.4.3 POWER-OFF状态 描述:
在POWER-OFF状态下,PICC因缺乏载波能量而不加电。 状态退出条件和转换:
如果PICC处于一个能量大于Hmin(见第6章)的激励磁场,则它应在不大于tORB的延迟范围内进入其IDLE状态。 7.3.4.4 IDLE状态 描述:
在IDLE状态下,PICC是加电的,它收听帧并应识别REQB信息。 状态退出条件和转换:
一旦收到一个有效REQB命令帧,如果有ATQB的话,PICC就定义一个唯一的时间槽用来发送它的ATQB(有效的请求意味着具有REQB命令和正确AFI的有效帧。见REQB命令规范)。
如果定义的时间槽是第一个时间槽,则PICC应发送一个ATQB响应帧。 PICC的ATQB一被发送,它就进入READY-DECLARED状态。
如果定义的时间槽不是第一个时间槽,则PICC进入READY-REQUESTED状态。 7.3.4.5 READY-REQUESTED状态 描述:
在READY-REQUESTED状态下,PICC是加电的,并且定义了一个唯一的时间槽用来发送其ATQB(如果有)。
它收听帧并应识别REQB和Slot-MARKER报文。 状态退出条件和转换:
一旦收到一个有效Slot-MARKER帧,如果PICC定义的时间槽与时间槽标记匹配。则它应对ATQB进行响应。在特定时间槽内,应答的概率应不大于1/N(N是收到的最后一个REQB的参数)。
PICC的ATQB一被发送,它就进入READY-DECLARED状态。
如果PICC定义的时间槽与时间槽标记不匹配,则该PICC就保持在READY-REQUESTED状态。
一旦收到有效REQB命令帧,状态退出条件和转换按在IDLE状态下接收到有效REQB命令帧。
7.3.4.6 READY-DECLARED状态 描述:
在READY-DECLARED状态下,PICC是加电的,并且发送了与收到的最后一个有效REQB报文相对应的其ATQB。
它收听帧并应识别REQB和ATTRIB报文。 状态退出条件和转换:
一旦收到带有ATTRIB命令的有效帧,当且仅当ATTRIB命令中的PUPI与PICC的PUPI匹配时,PICC才应进入ACTIVE状态。
若ATTRIB命令中的PUPI与PICC的PUPI不匹配,则PICC仍保持在READY-DECLARED状态。
一旦收到有效REQB命令帧,状态退出条件和转换按在IDLE状态下接收到有效REQB命令帧。
30