【发布时间】:2014-01-10 18:05:57
【问题描述】:
我正在尝试让我的 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(与“全部”相同)
- 模式 0x03“DEP Passive”导致响应模式为 0x04“DEP”
在所有情况下,似乎 Android 都没有保持连接,尽管我对 NFC DEP 协议不够熟悉,无法知道我在这里做错了什么。我已经阅读了 PN532 芯片参考,这似乎表明我做的一切都是正确的。
我也尝试过 Windows Phone NFC 设备,它在 GetData 上遇到了同样的问题和错误代码。
如果任何熟悉 NFC 的人提供任何帮助,我们将不胜感激。
戴夫
【问题讨论】: