10.1 Overview
本章详述了如何在HCI核心上仿真一个支持多种RF technology的非接读卡器。 支持的RF technology有:
? Type A:ISO/IEC 14443-2,14443-3,14443-4 ? Type B:ISO/IEC 14443-2,14443-3,14443-4
Reader mode的非接平台的实现方式是:两个host组成的host network:host controller和host(如UICC host)。在host network中CLF是host controller。另外还有host的话,对CLF的使用方式不在本文档范围。
Read mode和card emulation mode在一个平台上可以共同存在。
Host操作contactless reader application,CLF处理跟外部非接读卡器的通信。
对每个它支持的RF技术,host controller都对应一个reader RF gate,对每个要使用的reader RF gate,host都对应有一个reader application gate。对于每个reader RF gate,host最多只能创建一个pipe。
CLF处理ISO/IEC 14443-2中定义的RF层通信。
ISO/IEC 14443-3中定义的防冲突和初始化操作由CLF在host的控制下处理完成。 ISO/IEC 14443-4中定义的RF协议由CLF处理完成。
Read RF gate和reader application gate通过pipe来交换符合ISO/IEC 7816-4的APDU。 在被通知发现目标、到对目标的操作结束期间,host允许电流消耗达到host controller的identity management gate registry中定义的最大值,除非低层(如ETSI TS 102 613)中进行了限制:即low-power mode和power saving mode的中对电流的限制。
图16描述了一个有效的非接平台。
10.2 Reader RF gates
10.2.1 Overview
Reader RF gate控制RF technology的操作。Reader RF technology相关的协议和参数设
置在reader RF gate的registry中。reader RF gate会接受场中一个跟读卡器无关的RF technology的目标(target)。
以下章节定义了除7.2节generic gate支持的command和event以外,reader RF gate支持的其他command和event。
表38列出了为reader RF gate定义的GID。
10.2.2 Command
10.2.2.1 WR_XCHG_DATA
该命令允许reader application gate给reader RF gate发送数据,用此命令传送的数据,是准备发往RF的。外部设备将给reader application gate回应一个该命令的response。
该命令有以下参数:
CTR域的定义如下: b8...b6:RFU
b5:激活超时(Time-out activation)。如果b5为0,应用级的超时将不启用。如果b5为1,超时时间在b4...b1中给出。
b4...b1:超时时间(Time-out)。这个值(0-14)被用来通过以下公式计算应用级别的超时。
Time?out?(256?16/13.56MHz)?2value
如果b5为1,且该command通过CLF无错传输给目标(target)开始,在time-out时间段内CLF都没有收到来自目标的response,CLF将回应一个不带参数的ANY_E_TIMEOUT的response给host,并丢弃之后接收到的来自目标的任何数据。
如果CLF检测到RF传输错误,且ISO/IEC 14443-4中定义的错误检测和恢复机制没有成功,CLF将回应一个error indicator设置为‘01’的ANY_OK。
当成功时,host将回应一个带如下参数的ANY_OK:(这个地方规范是不是写错了,表41的参数应该是host controller回应的ANY_OK中带的)
RF error indicator的编码: ? ‘00’= 无错误;
? ‘01’= 不可恢复的错误; ? 所有其他值:RFU
注意:从非接界面接收到消息后,在进行完整性检查之前,host controller可能已经将一个长的分割消息的第一个片段发送给host。如果在非接界面传输response过程被打断,将回一个同样的response。
10.2.3 Registries
10.2.3.1 Type A reader RF gate
表42定义了符合ISO/IEC 14443 Type A的reader RF gate的registry。这个Registry不是固定不变的。在每次目标激活后,‘02’到‘06’的值都将被更新。当操作状态改变时,‘07’的值将被更新。
DATARATE_MAX编码:
仅支持不同方向使用相同的除数:
? ‘00’=支持的最大divisor是1(~106kbit/s); ? ‘01’=支持的最大divisor是2(~212kbit/s); ? ‘02’=支持的最大divisor是4(~424kbit/s); ? ‘03’=支持的最大divisor是8(~848kbit/s); ? 其他值=RFU;
注意:实际最大支持的divisor,是取以下最小值: ? 这个registry中指出的值和限制; ? CLF中实现的最大divisor。 OPERATING_STATUS编码: ? b8-b2:RFU ? b1:读卡器状态
当Type A reader mode对host不可用时,CLF将其设置为0。(比如,CLF正被其他host独占)。
当Type A reader mode对host不可用时,CLF将其设置为1。 STATUS_EVENT_EN编码: ? b8-b2:RFU
? b1:读卡器状态事件使能位 读卡器状态事件使能位(b1)向CLF指示了当读卡器状态改变时,host请求CLF发event。用同样的方法,也可以向CLF指示host不希望接收类似event,具体细节见10.3.4.2。
10.2.3.2 Type B reader RF gate
表43定义了符合ISO/IEC 14443 Type B的reader RF gate的registry。这个Registry不是固定不变的。在每次目标激活后,‘01’,‘03’,‘04’和‘02’(读值)的值都将被更新。当操作状态改变时,‘07’的值将被更新。
AFI编码:
这个值写进registry被读卡器用来轮询目标。
一旦目标被激活,registry中的这个值将影响目标的AFI的值。 OPERATING_STATUS编码: ? b8-b2:RFU ? b1:读卡器状态
当Type A reader mode对host不可用时,CLF将其设置为0。(比如,CLF正被其他host独占)。
当Type A reader mode对host不可用时,CLF将其设置为1。 STATUS_EVENT_EN编码: ? b8-b2:RFU
? b1:读卡器状态事件使能位 读卡器状态事件使能位(b1)向CLF指示了当读卡器状态改变时,host请求CLF发event。用同样的方法,也可以向CLF指示host不希望接收类似event,具体细节见10.3.4.2。
10.2.4 Events