NFC:APDU 和 SNEP 长度限制
NFC : APDU and SNEP length limitation
我正在做一个项目,目的是通过 NFC 将大量数据从 PC 交换到 Android 设备。我正在使用 ACR122。
以下是发送数据的一般示例:
// ADPU
FF FF 00 00 00 nn // CLA, INS, P1, P2, Le, Lc
D4 40 // TFI, PD0
01 // (Mi), Target
// LLCP
13 20 // DSAP, PTYPE, SSAP
00 // Sequence
D4 40 // TFI, PD0
// SNEP
10 02 // Protocol Version, Action
nn nn nn nn // Total SNEP Length
// NDEF Header
A2 // First byte (MB = 1, ME = 0, Cf = 1, SR = 0, Il, TNF)
22 // Type length
mm mm mm mm // Payload length
// NDEF Content
61.....65 // Type (34 bytes in that case)
01.....01 // Payload (mm mm mm mm bytes)
在这里,我发送了一条记录(不是短记录)。所以 NDEF header 允许输入 4 字节的有效负载长度。
最后,我的问题是我们如何发送关于 1 字节 APDU Lc 的如此大的有效负载?
如果此限制仅是由于 pn532 芯片或 PS/SC,您会建议使用什么替代硬件?
感谢您的澄清
编辑:
我在这里找到了我要找的东西:
Sending Extended APDU to Javacard
硬件问题,PN532不支持扩展APDU
您已经知道,由于 PN532 芯片的限制,ACR122 不支持扩展 APDU。
然而,没有必要将整个 SNEP 传输打包到单个 APDU 中。您可以将有效负载拆分为多个较小的帧,然后一个接一个地发送。唯一重要的是 NDEF header 在第一帧中作为一个整体传输。
我正在做一个项目,目的是通过 NFC 将大量数据从 PC 交换到 Android 设备。我正在使用 ACR122。
以下是发送数据的一般示例:
// ADPU
FF FF 00 00 00 nn // CLA, INS, P1, P2, Le, Lc
D4 40 // TFI, PD0
01 // (Mi), Target
// LLCP
13 20 // DSAP, PTYPE, SSAP
00 // Sequence
D4 40 // TFI, PD0
// SNEP
10 02 // Protocol Version, Action
nn nn nn nn // Total SNEP Length
// NDEF Header
A2 // First byte (MB = 1, ME = 0, Cf = 1, SR = 0, Il, TNF)
22 // Type length
mm mm mm mm // Payload length
// NDEF Content
61.....65 // Type (34 bytes in that case)
01.....01 // Payload (mm mm mm mm bytes)
在这里,我发送了一条记录(不是短记录)。所以 NDEF header 允许输入 4 字节的有效负载长度。
最后,我的问题是我们如何发送关于 1 字节 APDU Lc 的如此大的有效负载?
如果此限制仅是由于 pn532 芯片或 PS/SC,您会建议使用什么替代硬件?
感谢您的澄清
编辑:
我在这里找到了我要找的东西:
Sending Extended APDU to Javacard
硬件问题,PN532不支持扩展APDU
您已经知道,由于 PN532 芯片的限制,ACR122 不支持扩展 APDU。
然而,没有必要将整个 SNEP 传输打包到单个 APDU 中。您可以将有效负载拆分为多个较小的帧,然后一个接一个地发送。唯一重要的是 NDEF header 在第一帧中作为一个整体传输。