NFC ACR122 TgInitAsTarget,启动器释放目标

NFC ACR122 TgInitAsTarget,启动器释放目标,nfc,hce,acr122,Nfc,Hce,Acr122,我正试图让我的ACR122(usb)设备模拟被动NFC标签,但很难让通信正常进行。我希望有人能看到我做错了什么,帮我找到正确的方向 对另一个问题的回答指向了一份位于的文件,但当我们不折不扣地遵循这一点时,它的行为并不符合预期 我们正在使用三星Galaxy S3安卓4.3设备进行测试,并看到以下行为: Transmit (TgInitAsTarget) ....'......4V@.. FF 00 00 00 27 D4 8C 00 08 00 12 34 56 40 01 FE ......

我正试图让我的ACR122(usb)设备模拟被动NFC标签,但很难让通信正常进行。我希望有人能看到我做错了什么,帮我找到正确的方向

对另一个问题的回答指向了一份位于的文件,但当我们不折不扣地遵循这一点时,它的行为并不符合预期

我们正在使用三星Galaxy S3安卓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)
....'......4V@..  FF 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
…wfUD3“…AA 99 88 77 66 55 44 33 22 11 00
接收
..%..7.5要使ACR122(或者更确切地说是其内部的PN532 NFC控制器芯片)进入卡仿真模式,您需要执行以下操作:

  • 读取寄存器:

    > FF000000 08 D406 6305 630D 6338
    < D507 xx yy zz 9000
    
  • 登记员:

    > FF000000 11 D408 6302 80 6303 80 6305 xx 630D yy 6338 zz
    < D509 9000
    
    其中,
    xx
    是状态代码(成功时应为
    0x00
    ),C-APDU是从读卡器发送的命令

    > FF000000 yy D48E <R-APDU>
    < D587 xx 9000
    
    >FF000000 yy D48E
    
    其中,
    yy
    为2+R-APDU(响应)的长度,
    xx
    为状态码(成功时应为
    0x00


  • 非常感谢Michael,这正好让我们走上了正确的道路。如果你不介意的话,有什么参考资料可以推荐我们阅读吗?看来关键是initastarget命令上的参数(设置为PICC模式),但我们找不到任何关于不同模式、它们如何工作等的参考资料。我建议您遵循PN532用户手册(您应该通过谷歌找到)和PN532数据表(不确定在没有NDA的情况下是否已经可用)。我们有手册(不是数据表),但尽管它描述了TgInitAsTarget命令的各个部分(例如,“MiFare params here”、“FeliCa params here”、“PICC/DEP/Passive mode”),当遵循这些示例时,我们最终知道我们正在设置什么,但不知道为什么要设置它,如果这有意义的话。我相信这会随着时间的推移而到来,我只是好奇是否有任何有用的参考资料可以帮助我们理解这些概念。我们现在肯定走在正确的轨道上;我们目前正在努力理解传入的C-APDU值。再次感谢,非常感谢。为了完整起见,万一有人和我们走同一条路,我们在中找到了NDEF标记的C-APDU/R-APDU序列的清晰描述。该协议基于ISO7816-4,我们发现该引用对理解所有内容都很有用。@gudenau TginitaTarget是一个阻塞命令(您将只接收ACK帧,但在发送命令后不会立即收到实际响应),因此在读取器实际连接到模拟标记之前,您不会得到任何响应。在帧之间接收垃圾并非意外。请确保仅解释正确的帧。
    > FF000000 03 D412 30
    < D513 9000
    
    > FF000000 27 D48C 05 0400 123456 20 000000000000000000000000000000000000 00000000000000000000 00 00
    < D58D xx ... 9000
    
    > FF000000 02 D486
    < D587 xx <C-APDU> 9000
    
    > FF000000 yy D48E <R-APDU>
    < D587 xx 9000