HCI -- NFCEE discover & Mode Set

1 概述

术语:

           DH :  主机

           NFCEE : NFC 可执行环境

           NFCC: NFC控制器,可以理解为NFC芯片(比如NXP 的sn100, pn80T等)

分类:

  •     DH-NFCEE: 集成在DH上
  •     USIM-NFCEE:  唯一USIM上,一般通过SWP协议与NFCC相连
  •     eSE-NFCEE:  一般集成在NFCC上面
  •  

2  NFCEE ID

NFCEE ID: 由NFCEE discover过程中产生,ID为00固定分配给DH-NFCEE, ID为0x10-0x7F 分配给HCI网络外的NFCEE,ID为0x80-0xFE分配给HCI网络内的NFCEE(当前不支持)

NCI规范中NFCEE IDs定义如下:

3 NFC Discovery 过程

        DH -----> NFCC:   发送NFCEE_DISCOVER_CMD命令发现NFCC上连接的NFCEE

        NFCC----->DH:  NFCC收到NFCEE_DISCOVER_CMD后,向DH返回NFCEE_DISCOVER_RSP

NFCEE_DISCOVER_CMD 格式:

NFCEE_DISCOVER_RSP 格式:

  

 

       如果至少有一个NFCEE连接到NFCC上,那么对于每一个连接的NFCEE,NFCC都会向DH发送NFCEE_DISCOVER_NTF消息,如表10-49所示。该通告消息中包含NFCEE ID、NFCEE的状态、NFCEE所支持的协议,以及NFCEE的一些额外信息。在NFCEE发现过程中,如果NFCEE发现过程被开启,任何NFCEE的重新连接或移除都会通过NFCEE_DISCOVER_NTF消息通告给DH。如果NFCEE_DISCOVER_NTF中的NFCEE状态为0x02(NFCEE移出),NFCEE协议信息数将被设置为0,并且DH到该NFCEE的逻辑连接也将被自动关闭,相应的NFCEE接口(协议)立即被去激活。如果NFCEE发现过程被关闭,任何NFCEE状态的变化都不会向DH通知。

   NFCEE_DISCOVER_NTF 格式:           

 

NFCEE发现NTF中TLV
TLV
0x00nHardware / Registration Identification 
0x01nATR bytes
0x029-169T3T Command Set Interface Supplementary Information
0x031Host ID in the HCI Network
Indicates the Host ID assigned by the NFCC/Host Controller to this
NFCEE/Host, as defined in [ETSI_102622].
0x046
0x05-0x9F RFU
0xA0-0xFF  For proprietary use

On receipt of a valid NFCEE_DISCOVER_CMD, if the NFCC has not yet sent all the expected
NFCEE_ DISCOVER_NTFs for a previous NFCEE_DISCOVER_CMD, the NFCC SHALL
respond with NFCEE_DISCOVER_RSP with a Status of STATUS_SEMANTIC_ERROR.
Otherwise, the NFCC SHALL respond with NFCEE_DISCOVER_RSP with a Status of
STATUS_OK

如果NFCC 再次受到NFCEE_DISCOVER_CMD命令, 如果上一次的全部NFCEE_ DISCOVER_NTFs没有发送完成,NFCC将返回STATUS_SEMANTIC_ERROR

比如说: NFCC NFCEE_DISCOVER_RSP 说有3个NFCEE, 实际上报了2个NFCEE_ DISCOVER_NTF, 这时如果DH再次发送NFCEE_DISCOVER_CMD, 将报语法错误;

NFCEE 发现序列:

 

图片来源: https://docs.microsoft.com/zh-cn/windows-hardware/drivers/nfc/nfcee-discovery-sequence

éæ å nci nfcee åç°åºå

 

4 NFCEE 状态

After the NFCC has performed NCI initialization, the initial state of all NFCEEs SHALL be
disabled (NFCEE Status value set to 0x01).

NCI 初始化时,初始化所有的NFCEEs 状态(全部禁止)


If a new NFCEE is connected to the NFCC, the initial state of this NFCEE SHALL be disabled
(NFCEE Status value set to 0x01), or unresponsive (NFCEE Status value set to 0x02).

新的NFCEE链接到, 初始值也将设置为禁止状态或者unresponsive 状态

 

 

NFCEE状态转换:

5 NFCEE 供电与通信连接控制

DH可以通过NFCEE_POWER_AND_LINK_CNTRL_CMD指令设置NFCC与NFCEE之间的供电和连接控制

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值