我正在尝试让我的 ACR122 (usb) 设备模拟无源 NFC 标签,但无法正常进行通信。我希望有人能看到我在这里做错了什么,并帮助我指出正确的方向。
对另一个问题ACR122 - Card Emulation的响应指向http://code.google.com/p/nfcip-java/source/browse/trunk/nfcip-java/doc/ACR122_PN53x.txt的文档,但是当我们关注从字面上看,它的行为并不像预期的那样。
我们正在使用三星 Galaxy S3 Android 4.3 设备进行测试,并看到以下行为:
Transmit (TgInitAsTarget)
....'......4V@.. FF 00 00 00 27 D4 8C 00 08 00 12 34 56 40 01 FE
................ A2 A3 A4 A5 A6 A7 C0 C1 C2 C3 C4 C5 C6 C7 FF FF
...wfUD3"... AA 99 88 77 66 55 44 33 22 11 00 00
Receive
..%....7.5<...w. D5 8D 25 1E D4 00 08 37 D9 35 3C BF D5 AE 77 9C
...2Ffm......... 00 00 00 32 46 66 6D 01 01 11 03 02 00 13 04 01
... 96 90 00
Transmit (GetData)
....... FF 00 00 00 02 D4 86
Receive
..).. D5 87 29 90 00
TgInitAsTarget 命令似乎正在工作,返回一个 0x25 的模式,我们理解它的意思是“活动模式,DEP,424kbps”。
但随后“GetData”命令立即失败,返回状态代码 0x29“配置为目标的 PN532 已被其发起者释放”。
我们尝试使用不同的模式(而不是 0x00 “All”模式)更改 TgInitAsTarget 命令,尝试以下所有仍为以下 GetData 命令返回 0x29 的命令:
- 模式 0x01“被动”,导致响应模式 0x04“DEP”
- 模式 0x02 “DEP”,导致响应模式 0x25(与“All”相同)
- 模式 0x03“DEP Passive”导致响应模式为 0x04“DEP”
在所有情况下,似乎 Android 都没有保持连接,尽管我对 NFC DEP 协议的熟悉程度不足以知道我在这里做错了什么。我已经阅读了 PN532 芯片参考,这似乎表明我做的一切都是正确的。
我也尝试过 Windows Phone NFC 设备,它在 GetData 上遇到了相同的问题和相同的错误代码。
任何熟悉 NFC 的人的帮助将不胜感激。
戴夫