如何通过 NFC API 更改 ISO 14443 比特率?
How to change ISO 14443 bit rate via the NFC API?
由于NFC/ISO 14443支持从106kbps到至少424的各种通信速度(例如参见here),我想知道如何通过Android API 以缩短读取 ISO 14443A 标签的整个内存所需的时间。
我查看了 Android NFC Basics and Advanced NFC 文档以及各种标签技术页面(恕我直言,其中一些理论上应该支持一些更高的速度),但我找不到任何提示改变比特率。
我还查看了一些标签数据表,其中许多支持 ISO14443-4 机制以通过 ATS 响应和 PPS 命令更改比特率,我想可以通过通用 transceive(byte[] data)
方法,但我认为这实际上不会改变 Android 设备的 NFC 芯片组的比特率......在这种情况下,当它切换到比标签更高的速度时,我会失去与标签的连接我猜是默认的 106kbps。
ISO14443 支持使用 ISO14443-4 中定义的 PPS 命令从 106 到 848,
但 NFC(使用 14443 协议)仅定义 106kb/s 并且 PPS 程序超出范围(NFC 论坛数字规范中未描述 PPS 命令)。
NFC支持从106kb/s到424的定义是因为:
- ISO14443部分支持106kb/s
- Felica部分支持212kb/s和424kb/s
因此我认为无法使用 Android API 更改比特率。
编辑 1:
合并来自以下评论的附加信息:
管理 NFC 控制器的协议是 NFC Controller Interface (NCI),现代 NFC 控制器遵循该协议。
最新的Android智能手机多采用NFC控制芯片NXP PN547(带NXP PN7120). While the NCI protocol does not "officially" support the use of higher bit rates in technology NFC-A & NFCB, the PN7150 User Manual表示
the PN7120 MAY send the PPS command if PI_BIT_RATE was set by the DH to an allowed value higher than 0x00.
Android source code defines PI_BIT_RATE = 0x21,因此理论上 NFC 控制器最多可以发送 212 kbit/s(在 NCI 规范中定义)的 PPS,但这取决于 NFC 控制器,不能Android API 确实改变了。
platform/system/nfc/halimpl includes the HAL implementations for NXP's PN54x family and Broadcom's BCM2079x family of controllers (which was apparently used in Nexus 4 and Nexus 10 devices 下的 Android 源树。
由于NFC/ISO 14443支持从106kbps到至少424的各种通信速度(例如参见here),我想知道如何通过Android API 以缩短读取 ISO 14443A 标签的整个内存所需的时间。
我查看了 Android NFC Basics and Advanced NFC 文档以及各种标签技术页面(恕我直言,其中一些理论上应该支持一些更高的速度),但我找不到任何提示改变比特率。
我还查看了一些标签数据表,其中许多支持 ISO14443-4 机制以通过 ATS 响应和 PPS 命令更改比特率,我想可以通过通用 transceive(byte[] data)
方法,但我认为这实际上不会改变 Android 设备的 NFC 芯片组的比特率......在这种情况下,当它切换到比标签更高的速度时,我会失去与标签的连接我猜是默认的 106kbps。
ISO14443 支持使用 ISO14443-4 中定义的 PPS 命令从 106 到 848, 但 NFC(使用 14443 协议)仅定义 106kb/s 并且 PPS 程序超出范围(NFC 论坛数字规范中未描述 PPS 命令)。
NFC支持从106kb/s到424的定义是因为:
- ISO14443部分支持106kb/s
- Felica部分支持212kb/s和424kb/s
因此我认为无法使用 Android API 更改比特率。
编辑 1:
合并来自以下评论的附加信息:
管理 NFC 控制器的协议是 NFC Controller Interface (NCI),现代 NFC 控制器遵循该协议。
最新的Android智能手机多采用NFC控制芯片NXP PN547(带NXP PN7120). While the NCI protocol does not "officially" support the use of higher bit rates in technology NFC-A & NFCB, the PN7150 User Manual表示
the PN7120 MAY send the PPS command if PI_BIT_RATE was set by the DH to an allowed value higher than 0x00.
Android source code defines PI_BIT_RATE = 0x21,因此理论上 NFC 控制器最多可以发送 212 kbit/s(在 NCI 规范中定义)的 PPS,但这取决于 NFC 控制器,不能Android API 确实改变了。
platform/system/nfc/halimpl includes the HAL implementations for NXP's PN54x family and Broadcom's BCM2079x family of controllers (which was apparently used in Nexus 4 and Nexus 10 devices 下的 Android 源树。