3

使用 ACR122U,我知道您可以使用直接传输命令将直接消息传输到 NFC 控制器 (PN532) 0xff 0x00 0x00 0x00...:。

当我阅读 ACR1251U 的手册时,它说:阅读器的外围设备控制命令是通过使用 PC_to_RDR_Escape 实现的

这到底是什么意思?这是否意味着无法直接向 NFC 控制器发送消息?如果可能,您在哪里可以找到它使用的 NFC 控制器?

欢迎任何信息!

提前致谢。

4

1 回答 1

4

“直接传输命令”是一种 APDU 格式,允许您向嵌入在 ACR122U 阅读器设备中的 PN532 NFC 控制器发送本地命令。因此,这基本上定义了包装,以使本机命令适合您通过 PC/SC(和 CCID)与阅读器对话的基于 APDU 的协议:

 0xFF 0x00 0x00 0x00 <Lc> <DATA>

其中<DATA>实际上是 PN532 的命令。

PC_to_RDR_Escape是当您发送转义命令时由 PC/SC 堆栈调用的 CCID 消息(通过 USB 朗读的设备类/协议)。例如,如果您使用 Java SmartcardIO API 的方法,PC/SC 堆栈将通过 USBCard.transmitControlCommand()发送消息。PC_to_RDR_Escape读者通过RDR_to_PC_Escape响应来回答此消息。

同样,如果您使用 method方法,这会导致 PS/SC 堆栈通过 USBCardChannel.transmit()发出一个(或多个?)消息。PC_to_RDR_XfrBlock

正如您在此答案中发现的那样,您似乎将“直接传输命令”的 APDU 格式用于两种命令交换方法。

是否需要使用转义命令或传输命令似乎取决于阅读器的固件版本。例如,对于固件版本 101、102(和 103?),您通常只需要传输命令,但下一代版本(2xx)似乎更喜欢/需要(如果它们不模拟 ATR)转义命令方法.

于 2014-08-01T16:30:39.417 回答