9.3.4.3.3 EVT_CARD_ACTIVATED
该event表明CLF按照ISO/IEC 14443-3定义的type B或ISO/IEC 14443-4定义的type A方式激活。
该event没有参数。
9.3.4.3.4 EVT_FIELD_OFF
该event表明CLF检测到RF载波从外部读卡器上消失。 该event没有参数。
9.3.4.3.5 EVT_SEND_DATA
该event允许CLF发送数据给host。该event的参数如下:
RF error indicator的编码如下: ? ‘00’= 没有错误; ? ‘01’= 有错误; ? 其他值:RFU 注意:数据的结束和RF error indicator的开始可以清楚的从message大小来获取。RF error indicator是最后一个参数,因为对一个分块的长消息,发送者(CLF)从非接界面接收到原始消息后,还未做完整性检查前就将第一个分块发送给了host。
当RF error indicator是‘01’时,host将丢弃该event。
9.3.4.4 Registry
Card application gate未定义registry。
9.4 Procedures
以下过程描述的是full power mode的情况,如果在low power mode下过程有不一样的情况,将会列出来。
只在当关联的card RF gate registry中的MODE参数值为‘02’(enabled)时,CLF才会给card application gate发送表35中的events,或者为相关的RF technology打开一个ETSI TS 102 613中定义的CLT会话。
9.4.1 非接卡片应用的使用
图15描述了当进入一个读卡器场时,type A/ type B card RF gate和一个card application gate如果交换消息。
序列流执行如下: 1)当CLF检测到一个RF场,card RF gate将发送一个EVT_FIELD_ON给card application gate。若有多个open状态的card RF gate,CLF将在GID最小的card RF gate上发送EVT_FIELD_ON。下一步CLF开始ISO/IEC 14443-3中定义的初始化和防冲突流程。
在low power mode,EVT_FIELD_ON将被忽略。
2)在ISO/IEC 14443-4定义的激活序列的最后,card RF gate将发送一个EVT_CARD_ACTIVATED给card application gate来指示可以进行APDU的交换了。
3)Card RF gate将从外部读卡器获取的C-APDU通过EVT_SEND_DATA发送给card application gate。
4)Host 将用EVT_SEND_DATA回应一个R-APDU给card RF gate。CLF也可能发送一个空的C-APDU,此时,Host将回应一个空的R-APDU或一个包含错误码的R-APDU。
5)第3步和第4步可能重复多次。 6)在去激活序列的最后,card RF gate将发送一个EVT_CARD_DEACTIVATED来通知没有更多的APDU要交换了。这个event仅在外部读卡器支持时才能被发送。
在任意时刻,当CLF检测到RF场不存在了,card RF gate将给card application gate发送一个EVT_FIELD_OFF。当有多个open状态的card RF gate时,CLF将用交易中使用card RF gate或GID最小的card RF gate来发送EVT_FIELD_OFF给card application gate。在low power mode,EVT_FIELD_OFF可能被忽略,因为host可能被下电(powered down)来代替。
9.4.2 非 ISO/IEC 14443-4 type A应用
对于type A非接卡片,当外部读卡器不使用ISO/IEC 14443-4定义的传输协议时,序列
流如下:
? Card RF gate将发送EVT_FIELD_ON。CLF处于初始化和防冲突。 在low power mode,EVT_FIELD_ON将被忽略。
? 其他的通信将使用ETSI TS 102 613中定义的CLT模式。
在任意时刻,当CLF检测到RF场不存在了,card RF gate将给card application gate发送一个EVT_FIELD_OFF。在low power mode,EVT_FIELD_OFF可能被忽略,因为host可能被下电(powered down)来代替。
建立CLT模式的规则在ETSI TS 102 613中定义。
9.4.3 Type B’ RF technology
对type B’的非接卡片应用,序列流如下:
? Card RF gate将发送EVT_FIELD_ON。在low power mode,EVT_FIELD_ON将被忽略。
? 从RF端来的原始帧(raw frames)将与参数PAT_IN中的模式匹配。匹配规则如下:
- PAT_IN有偶数个字节。前半部分是参照数据REF,后半部分是掩码M。如果RFIN代表了接收到的帧(SOF和CRC之间的数据字节),如果下面的按位计算的结果是全1则匹配成功:
? (RFIN XOR REF)OR M.
? 如果匹配成功了,CLF将接收到的帧的第一字节加到参数DAT_OUT的前面,再加上CRC,然后把结果发送给RF读卡器。从接收完RF帧,到开始对读卡器做出应答的处理时间不能超过1ms。
? 在匹配成功之前,CLF收到的的原始帧数据不能发送给host。
在任意时刻,当CLF检测到RF场不存在了,card RF gate将给card application gate发送一个EVT_FIELD_OFF。在low power mode,EVT_FIELD_OFF可能被忽略,因为host可能被下电(powered down)来代替。
9.4.4 Type F RF technology
对基于ISO/IEC 18092规范、并在已经广泛存在的基础设施中使用的212kbps/424kbps被动模式的非接卡仿真应用,应遵循以下规则:
1)Card RF gate将发送EVT_FIELD_ON。在low power mode,EVT_FIELD_ON将被忽略。
2)当数据链路层使用的是ETSI TS 102 613中定义的SWP协议时,如果接收到一个初始化命令,那么初始化的数据交换将使用ETSI TS 102 613中定义的CLT模式,host为初始化提供信息。
3)Card RF gate将从外部读卡器获取的ISO/IEC 18092 212kbps/424kbps帧通过EVT_SEND_DATA发送给card application gate。没有第2步的初始化操作,host和host controller也可以接收ISO/IEC 18092 212kbps/424kbps帧。如果host正要发送一个response,CLF将不能发送RF帧给host。Host如果在发送response时接收到一个RF帧,那么它将做丢弃处理。
HCP包的结构如下:
4)Host使用封装了ISO/IEC 18092 212kbps/424kbps帧的EVT_SEND_DATA将response发送给card RF gate。如果没有应用数据要发送,host将发送一个空的EVT_SEND_DATA给card RF gate。接收到空的EVT_SEND_DATA后,CLF不再发送数据给RF,但是仍能接收RF帧。
5)第3步和第4步可能重复执行。
在任意时刻,当CLF检测到RF场不存在了,card RF gate将给card application gate发送一个EVT_FIELD_OFF。在low power mode,EVT_FIELD_OFF可能被忽略,因为host可能被下电(powered down)来代替。
ISO/IEC 18092 212kbps/424kbps的帧,除了初始化command和response(命令代码为‘00’和‘01’),将按表37中对应的命令代码来使用适合的gate来进行交换。命令代码(CMD0)是ISO/IEC 18092定义的LEN后面的那个字节。NFCIP-1协议保留使用的命令代码将不被发送。
9.4.5 Update RF technology settings
为了避免参数设置的不一致性,当在CLF中为每个不同的RF technology更新设置时,推荐以下过程:
1) Host先将要设置的RF technology的MODE参数值更新为‘FF’,使CLF停止对Host使用这个RF technology。
2) 此时,host可以更新CLF中关于这个RF technology的所有其他参数。 3) 最后,host通过将CLF中MODE参数设置为‘02’来重新启用这个RF technology。
9.4.6 Identity check
以下检查规则适用于ETSI TS 102 613中的数据链路层:
除了8.4节定义的,一旦低层的identity check失败,host controller将禁止UICC host的card emulation mode。此时,host controller将不响应参数与UICC host相关的card emulation registries中的参数一致的外部读卡器。
10. Contactless reader