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:ETSI 300 330 Linux NFC 子系统

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

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1094816/trf7970a-etsi-300-330-linux-nfc-subsystem

器件型号:TRF7970A

您好!  

我正在寻找有关 Linux 操作系统上 TRF7970A 射频认证(EN 300 330)的一些信息。

我们使用 Linux NFC 子系统 (不带 Neard)与读取器通信、因此我们有 netlink 命令、例如:

为了符合 EN 300 330标准、我们需要将读取器配置为连续输出并设置所需的调制方案和数据速率:

一.e:

TX、10% mod、106k、最大 TX 功率和

TX、100% mod、106k、最大 TX 功率等

我已经看到、当您可以直接读取/写入寄存器时、这是一种直接的方法、但在 Linux 用户空间中、trf7970a.c 驱动程序不会提供这种较低级的功能。

是否有任何推荐的方法来测试/认证采用 Linux 的 trf7970a 的 EN 300 330?  

我尝试通过将读取器配置为使用 spidev 来绕过 NFC 子系统、然后我可以尝试直接使用 R/W 寄存器、但我遇到了问题(我认为这与驱动程序以前处理的 SS 和 EN 线路的时序有关)

欢迎提供任何提示或建议。 谢谢!

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

    Matthew、您好!

    很抱歉耽误你的回答。 上周我不在办公室、不幸的是、我在接下来的3天里很忙。 然后、我将查看您的请求。

    此致、

    Andreas。

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

    谢谢你。

    一个更新:我已使 spidev 用于读取/写入寄存器、但我在持续传输调制信号时遇到问题(只是尝试发送随机字节、没有任何特定内容)。 寻找一种更简单的方法来实现这一点、因为我们的接口是 NFC 网络连接、但这完全不同

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

    Matthew、您好!

    我很高兴看到您已经能够写入和读取寄存器。

    请在 常见问题解答文档的第5.6章中找到针对连续射频输出的寄存器设置。

    您似乎可以使用测试寄存器0x1A 启用调制器控制、但我从未尝试过。

    还可以选择启用直接模式0 (请参阅 数据表中的第6.10.6章)。

    这样、您就可以在 MOD 引脚上进行调制。

    此致、

    Andreas。

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

    是否可以在不使用 MOD 引脚的情况下完成此操作、而是将调制器和 SYS_CLK 控制寄存器设置为所需的值?

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

    Matthew、您好!

    不可以、该寄存器设置只是准备发送、它仍然需要发送数据。 在正常操作中、数据来自 ISO 编码器、在直接模式0中、您必须通过 MOD 引脚调制数据。

    此致、

    Andreas。

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

    谢谢 Andreas。

    我希望可以将调制器和 Sys_Clk 控制寄存器设置为所需的调制、并将 ISO 控制寄存器设置为所需的数据速率。  

    然后、我按照6.10.4中的以下说明操作:

      

    我从传输结束处获得中断、读取 IRQ 状态将返回 0x80。 我希望在只看到0x80之前看到一个低 FIFO 水平的 IRQ、以便在缓冲区完全清空前重新填充缓冲区、以便持续传输。

    这是否不能按预期工作? 我们没有连接 MOD 引脚、因此我尝试使用我们的器件。

    感谢你的帮助,再次感谢

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

    Matthew、

    您可以设置 IRQ 电平寄存器(0x14)、以便在达到 TX 结束前触发中断。

    此致、

    Andreas。

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

    我已将0x03写入寄存器0x14、希望在 FIFO 中保留32个字节时接收中断、但不会触发此类中断。 这是我需要为此配置的唯一设置? 不确定为什么我会在 FIFO 低电平中断之前收到 TX 完成中断

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

    Matthew、您好!

    据我所知、FIFO 深度中断不需要任何其他设置。

    您是否有机会检查数据是否按预期传输?

    如果是、则可以轮询 IRQ 状态寄存器中的 IFG (Bit5)以进行双校验。

    如果否、那么您是否已在寄存器0x1D 和0x1E 中正确设置 TX 长度?

    此致、

    Andreas。

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

    您好!

    我已经听过你的回声了一段时间,所以我会关闭这条路。 如果您希望继续讨论、请在下面发布包含更新的回复(或创建新主题帖)。

    此致、
    Andreas。