This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TRF7970A:IRQ_STATUS_register 只为0x80 (TX 完成)-从不会由于 RX 启动而获得 IRQ

Guru**** 2455560 points
Other Parts Discussed in Thread: TRF7970A, DLP-7970ABP

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1033107/trf7970a-irq_status_register-is-only-0x80-tx-complete---never-gets-irq-due-to-rx-start

器件型号:TRF7970A
主题中讨论的其他器件: DLP-7970ABP

您好!

我正在与 TRF7970ABP 合作、遇到从标签获取响应的问题。 由于我不断接收一个显示 TX 已完成的中断0x80、读取器似乎在轮询标签、但是 RX 开始时从未有中断(0x40、标签响应)。

一个类似的帖子 (应该链接到此帖子)、讨论了一个被认为是由硬件故障引起的类似问题。 这是已知问题吗?

这是我的当前状态:

连接:具有 SS 的 SPI、EN2连接到 BP 上的接地端。

TRF7970ABP 引脚 iMX6ULL + Iris 载板引脚
VCC 由稳压器提供5V 电压
DATA_CLK SCLK
MISO MISO
MOSI MOSI
英文 GPIO 引脚
SS GPIO 引脚
IRQ GPIO 引脚(可中断)
很好 很好

看起来工作正常的情况:

  • 我正在使用 Linux NFC 子系统的 netlink API 与驱动程序进行通信(使用 Neard 作为指南)。 除了添加调试打印语句之外、我没有修改驱动程序。
    • NFC_CMD_DEV_UP 会引起 EN 线路升高、器件上电
    • NFC_CMD_START_POLLING 在 Linux NFC 数字内核中开始轮询过程。
  • 我已经通过写入和读取寄存器测试了 SPI 通信-这按预期工作
    • 用于初始化的命令会产生 数据表中表6-21中的预期寄存器值
  • 读取 器似乎处于轮询环路中、为所选的每种技术配置硬件/组帧、发送 TX 命令、然后在没有标签响应时超时进入下一个标签技术。

根据数据表、这里的一切看起来都很好(除非我缺少一些东西)、问题是从不存在标签响应(或除0x80之外的任何中断)

当 RF 场中有一个标签时、我需要一个中断0x40。

使用逻辑分析器并在 tf7970a.c 中启用调试、我可以看到预期的命令传输顺序:
下面的所有图片都与 ISO15693标签的轮询相关

这是 trf7970a.c 调试的重复输出:

此过程重复执行、直至轮询停止。 我希望在轻扫标签时除了0x80之外还有一个中断、但这种情况永远不会发生。

所有这些命令/响应都可以在逻辑分析仪输出中查看-与上图中的内容相匹配。

逻辑分析仪中的单个库存命令:


该中断遵循上述命令。

这是我接收到的唯一中断:

在这个 TX 中断之后、我希望看到一个来自标签响应的 RX 中断。

在此轮询环路中、我已读取相关寄存器值、所有值似乎都与数据表匹配、因此我不确定问题是什么。 我已经订购了另一个 Booster Pack、希望它能正常工作、但我正在寻找任何建议。

我已附加整个调试输出和逻辑分析仪数据(.csv、因为我无法上载.Sal、抱歉)、两者都是 long.e2e.ti.com/.../debug_5F00_output.txte2e.ti.com/.../trf7970a-logic-analyzer-data.csv

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Matthew、

    检查寄存器设置后、我注意到寄存器0x9 、调制器和 SYS_CLK 控制设置为0x81。 当 TRF7970A 与一个27.12MHz 晶振一起使用时、位7 ='1'的设置被使用。 DLP-7970ABP 使用的是需要位7 ="0"的13.56MHz 晶体。

    请检查这是否能解决您的问题。

    此致、

    Helfried  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这很有效! 更改了器件树中的频率并从标签获取 RX 数据。

    非常感谢。