NFC控制器NXP PN548标签检测停止工作

时间:2017-06-16 09:28:00

标签: controller serial-port nfc polling hal

我一直在将PN544设置直接搞乱到串行接口,没有使用任何代码包装器或驱动程序。我的问题是我必须为某些我不知道的寄存器设置一些值,这导致了这个问题:

每当我将其置于轮询模式中进行读卡时,它都不会检测到任何标签,除非我将2个标签放在靠近设备的位置。 (!)

在我这样做之前,我收到了#34; 61 05 17 01 01 02 00 ff [其余标签信息]"的串口的通知。对于每个单独的标签。

[TX]: 20 00 01 00 (RESET_NCI)
[RX]: 40 00 03 00 10 00 (OK)
[TX]: 20 01 00 (INIT_NCI)
[RX]: 40 01 16 00 03 0E 02 00 05 00 01 02 03 80 02 80 02 FF 02 00 04 0D 02 01 23 (OK)
[TX]: 2f 02 00 (PROPR_FEATURES)
[RX]: 4F 02 05 00 00 00 B1 AE (OK)
.... Default init packets used as before the issue
.... Enter polling mode:
[TX]: 20 02 05 01 a0 39 01 01
[RX]: 40 02 02 00 00 (OK)
[TX]: 20 02 0e 04 18 01 01 32 01 20 50 01 00 00 02 2c 01
[RX]: 40 02 02 00 00 (OK)
[TX]: 21 03 0d 06 00 01 01 01 02 01 80 01 81 01 82 01 
[RX]: 41 03 01 00 (OK)

^ At this point it should receive notifications when a tag approaches, 
like it used to before I messed up.

我必须设置一些寄存器来设置发送通知所需的最小标签数量,或者可能与天线设置混乱且功率不足。

我已经设法从另一个设备读取并获取所有寄存器,但仅用于寄存器0x00到0xff和A0 00-AO FF。我必须有另一个寄存器范围。

我不能仅仅针对PN548找到关于此的更多信息,但是对于具有类似寄存器的544/547也是如此。我试图找到我设置的所有更改并将其设置回来,但仍然只检测到两个标签,一个是不够的。

有没有人知道我可以尝试更改所需的寄存器? 我对实际数据包感兴趣,而不是库中的任何函数。任何提示都是受欢迎的,比如更改天线功率,设置标签技术检测,或者可能需要多少个标签?

返回所有寄存器的命令也很有用,我有另一个可以复制所有设置的工作设备,但我只知道如何读/写NCI_CONFIG_PARAM(0x00-0xff)和NXP_CONFIG_PARAM寄存器,(0xA000-0xA0FF )。如果你知道如何获得所有其他寄存器,它也会有所帮助。

我只对可以发送/接收到串口的数据包感兴趣,而不是任何库或驱动程序功能。

提前谢谢

1 个答案:

答案 0 :(得分:0)

最终,这是天线RF_TRANSITION_CMD设置。

我从其他设备读取所有值并将它们传递给我,现在工作正常。