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:接收到中断、但 FIFO 中没有数据。

Guru**** 2454210 points
Other Parts Discussed in Thread: TRF7970A

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1112706/trf7970a-receive-interrupt-received-but-no-data-in-fifo

器件型号:TRF7970A

我正在寻找有关使用 TRF7970A 的帮助。  我有 Booster Pack 演示板、但没有 LaunchPad 板、因此我将其连接到 ESP32。  我正在尝试读取 UID 的 ISO14443A 卡。  我怀疑我的 SPI 驱动器不是等效的。  我已经验证了大多数 SPI 事务、它们看起来很好。

我遇到接收中断、但 FIFO 状态显示接收到0个字节。  如果没有工作平台进行比较、我不确定如何继续。

我怀疑我没有 正确实现 TRF79xxA_writeRaw ()函数。  数据表中的 SPI 信号很好、但希望提供更多示例。

谢谢、

Mike。

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

    尊敬的 Mike:

    这听起来像是一个已知问题。 请确保使用值0x00初始化 NFC 目标方侦测水平寄存器(0x18)。

    请参阅 TRF7970A 芯片勘误表中的勘误表"器件#B08"(修订版 b)

    请告诉我这是否有帮助。

    此致、

    Andreas。

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

    Andreas -感谢您的快速响应。

    在 sloc297c.zip  中 void TRF79xxA_initialSettings (void)函数中提供的代码中、最后一行执行此函数。

    #if (TRF79xxA_VERSION == 70)
    	TRF79xxA_writeRegister(TRF79XXA_NFC_TARGET_LEVEL, 0x00); 		// For TRF7970A Errata
    #endif

    我已经使用示波器中的 SPI 解码器验证了是否发生了该寄存器写入。  请看一下初始设置、如果您看到任何看起来不合适的内容、请告诉我。
    谢谢、
    Mike。
    SPI  时间  MOSI    MISO
    1 -7.02800us  0x83 0x00
    2. 8.94800us  0x80 0x00
    3. 966.492us  0x8F 0x00
    4. 988.704us  0x09 0x00
    5. 996.704us  0x01 0x00
    6. 1.01233ms  0x0B 0x00
    7. 1.02033毫秒  0x01 0x00
    8. 1.03594ms  0x18 0x00
    9. 1.04394ms  0x00 0x00
    10. 1.06252ms  0x00 0x00
    11. 1.07052ms  0x02 0x00
    12. 1.08598ms  0x99 0x00
    13. 1.15860ms  0x4F 0x00
    14. 1.16660ms  0x00 0x40
    15. 1.21344ms  0x83 0xFF
    16. 1.22884ms  0x80 0x00
    17. 1.96650ms  0x8F 0x00
    18 1.98285ms  0x09 0x00
    19. 1.99085ms  0x01 0x00
    20. 2.00647毫秒  0x0B 0x00
    21. 2.01447毫秒  0x01 0x00
    22. 2.03009ms  0x18 0x00
    23 2.03809ms  0x00 0x00
    24 2.05404ms  0x00 0x00
    25 2.06204毫秒  0x20 0x00
    26 2.09824ms  0x01 0x00
    27. 2.10624ms  0x88 0x00
    28. 2.12191毫秒  0x09 0x00
    29. 2.12991ms  0x01 0x00
    30 2.14555ms  0x14 0x00
    31. 2.15355ms  0x0C 0x00
    32 2.16918毫秒  0x18 0x00
    33. 2.17718ms  0x00 0x00
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mike:

    典型的初始化序列可在 数据表的第6.11章中找到。 芯片控制寄存器0x00的设置在您的序列中看起来太晚了。 此外、SPI 事件#2 (0x80)后的延迟接近建议的最小值(应至少为1ms)。

    请告诉我这些更改是否有帮助。

    此致、

    Andreas。

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

    这是很好的信息。  我成功选择了标签、但发现需要 SDM 来读取 MIFARE 卡。  我刚刚进入了一个新的深度的知识收集。  我现在查看的是 SLOA214。  有什么建议吗?

    似乎我的芯片接口需要更多3条 IO 线路、以便发送/接收位可以进行位拆裂。  这是正确的说法吗?

    您能否批准我对 MifareCryptoLibrary.lib 文件的源代码的请求、因为我需要在其他处理器上运行该请求。  您能不能让我了解一下这个库有多大?   

    谢谢、

    Mike。