我有一个 ACR122U-A9,我想用它进行卡模拟。
请问谁做过这一点?你能给我一些建议吗?
现在我还有其他问题,当我将白色智能卡放在这个 NFC 读卡器上时,LED 仅闪烁一次。但是当我把手机放在上面时,LED 总是闪烁,直到手机拔出。
ACR122U 包含 PN532 NFC 控制器芯片。 PN532 通过其支持主机卡仿真TgInitAsTarget
命令(参见PN532 用户手册 http://www.nxp.com/documents/user_manual/141520.pdf)。为了将命令传递到 PN532,您需要连接到 ACR122U,就像它是普通智能卡读卡器一样(例如使用 PC/SC)。然后,您可以将 pack PN532 命令发送到以下形式的阅读器 APDU 中
> FF000000 <Lc> <Command>
并获得表单中的回复
< <Response> 9000
因此,为了使 ACR122 进入卡模拟模式,您需要执行以下操作:
-
阅读注册:
> FF000000 08 D406 6305 630D 6338
< D507 xx yy zz 9000
-
更新寄存器值:
xx = xx | 0x004; // CIU_TxAuto |= InitialRFOn
yy = yy & 0x0EF; // CIU_ManualRCV &= ~ParityDisable
zz = zz & 0x0F7; // CIU_Status2 &= ~MFCrypto1On
-
写入寄存器:
> FF000000 11 D408 6302 80 6303 80 6305 xx 630D yy 6338 zz
< D509 9000
-
设置参数:
> FF000000 03 D412 30
< D513 9000
-
TgInitAsTarget
> FF000000 27 D48C 05 0400 123456 20 000000000000000000000000000000000000 00000000000000000000 00 00
< D58D xx ... 9000
Where xx
应等于 0x08。
-
使用一系列 TgGetData 和 TgSetData 命令进行通信:
> FF000000 02 D486
< D587 xx <C-APDU> 9000
Where xx
是状态码(应该是0x00
表示成功),C-APDU 是读写器发送的命令。
> FF000000 yy D48E <R-APDU>
< D587 xx 9000
Where yy
是 2 + R-APDU(响应)的长度,并且xx
是状态码(应该是0x00
为了成功)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)