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.

[参考译文] Linux/TRF7970A:RSSI 水平不是0

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

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/795904/linux-trf7970a-rssi-level-not-0

器件型号:TRF7970A

工具/软件:Linux

你(们)好

我目前正在测试一个原型批次、并且遇到了与 Steve 类似的问题:

http://e2e.ti.com/support/wireless-connectivity/other-wireless/f/667/t/787473?TRF7970A-TRF7970A

该板具有 IMX6 UL SOM 和4个 NFC 读取器(布局相同)。

启动后中止 neard 并尝试使用 nfctool 进行轮询我在四个 TRF 中的两个获得了"数字:digited_in_configure_HW:in_configure_HW Failed:-16"。 通过监听 SPI 线路、我在驱动程序初始化期间读取 RSSI 水平时得到了答案0x41:

时间[s]、分析器名称、解码协议结果
0.000017500000000、SPI、MOSI:0x83; MISO:0xFF
0001038333333、SPI、MOSI:0x80; MISO:0x00
0.000180333333333、SPI、MOSI:0x18; MISO:0x00
0.000186333333333、SPI、MOSI:0x00; MISO:0x00
0.00229791666667、SPI、MOSI:0x09; MISO:0x00
0.00230391666667、SPI、MOSI:0x00; MISO:0x00
0.002366766667、SPI、MOSI:0x14; MISO:0x00
0.0023731666667、SPI、MOSI:0x0F; MISO:0x00
0.002431666667、SPI、MOSI:0x10; MISO:0x00
0.0024376666667、SPI、MOSI:0x00; MISO:0x00
0.002500000000、SPI、MOSI:0x18; MISO:0x00
0.00250690000000、SPI、MOSI:0x00; MISO:0x00
0.0025620833333、SPI、MOSI:0x00; MISO:0x00
0.0025680833333、SPI、MOSI:0x02; MISO:0x00
0.002624500000000、SPI、MOSI:0x99; MISO:0x00
0.0028268333333、SPI、MOSI:0x4F; MISO:0x00
0.0028573333333、SPI、MOSI:0x00; MISO:0x41
0.0029243333333、SPI、MOSI:0x00; MISO:0xFF
0.0029303333333、SPI、MOSI:0x00; MISO:0xFF
0.0086045833333、SPI、MOSI:0x00; MISO:0xFF
0.0086105833333、SPI、MOSI:0x00; MISO:0xFF
0.0263630833333、SPI、MOSI:0x83; MISO:0xFF
0.02647866666667、SPI、MOSI:0x80; MISO:0x00
0.026555500000000、SPI、MOSI:0x18; MISO:0x00

我在良好模块和不良 NFC 模块上测量了电压@RX_IN1。 对我来说、噪声看起来类似:

错误:

好的一个(启动 RF @ 0ps):

使用0.9pF 探针测得。 我们看到的~90MHz 频率可能来自 SOM (我们通过135MHz 监听45MHz、... 谐波。

我们还尝试了(没有成功):

-在 MOD RESP 之间添加1k。 ASK/OOK 引脚和 GND

-添加更多的 UF @ 5V

-将匹配网络的线圈放在远离 TRF 的位置

RX_IN1和 GND 之间的-1.2nF 电容:将接地连接到平面、而不是连接到引脚7

-为 NFC 供电3.3V、而不是5

我们知道但不认为这是一个问题

- IO1和 IO2 10k Ω 电阻器连接到 VDD_IO、而不是短接

- Linux 驱动程序将芯片状态控制寄存器设置为0x02 -> B0:3V 操作

仍然不清楚为什么有4个 NFC 中的2个正在发挥作用、而我的想法却被淘汰了。

我们将感谢您的任何帮助。

路易

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

    e2e.ti.com/.../NFC_5F00_schem_5F00_layers.pdf

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

    如果您为 TRF7970A 提供5V 电压、则需要确保器件配置为在5V 模式下运行。 当具有5V 输入时、不应将其设置为3V 模式。 因此、内部稳压器和器件的其他部分可能会承受应力。 如果您需要有关如何调整 neard 设置的指导、我将询问有关该设置的详细信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我同意你的意见,我们正在进行这方面的工作。 驱动程序仍使用 VIN-电压覆盖、我们在处理 uboot 和 buildroot 以设置更改方面遇到了一些困难。

    您认为我们可能对电源单元过载了吗?

    不过、由于我们还使用3.3V 电源进行了测试、因此不能将 RSSI 值设置为1、除非电压过载损坏了芯片。

    同时、我在更安静的环境中并在更好的范围内测量了 BAD_GAP 和 RX_IN1 (90MHz 干扰从线路减少到示波器)。 CH2:RX_IN1、CH3:BAD_GAP

    我认为这是相当不错的。

    还要测量模拟和射频电源:CH2:VDD_A、CH3 VDD_RF 也看起来不错:

    我们仍然坚持使用0x41响应:

    统计数据:从我检查的7个新 PCB、我有2个 PCB、其中一个 NFC 读取器不工作。 这使28个读取器中的2个读取器达到了总数。

    外部 RSSI 测量值前面是否有一个13.56MHz 带通? 数据表中对此并不清楚。 如果是、很明显、我们测量的 RX_IN1低于图5-3中的30mVpp。 否则、嗯、可能不…… 对此有任何建议。

    非常感谢、祝您周末愉快

    路易

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

    我想从一位前专家那里获得一些波形的反馈、我将在周一尝试、因为他们今天不在。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Louis、

    几个注释、

    1) 1)向我指出、EN 不应上拉、因为器件需要看到从低到高的转换。 建议使用 EN 下拉电阻器、这样可在 MCU 断电时将其保持在低电平、然后在 MCU 打开 EN 时允许转换。

    2) 2)匹配网络以15pF 电容结束、但建议使用27pF 电容进行50欧姆匹配。 不匹配实际上可能会导致拾取一些噪声。 您能否尝试在出现读取器故障的电路板上进行此更改、并查看结果是否完全不同?

    至于器件过载、我不确定、因为它实际上不是我们测试的东西、这一点基本上未指定行为。 不过、如果仅受3.3V 电压影响的器件发生故障、则很容易排除。

    从稍微不同的角度来看、您是否尝试检测到存在另一个场? 如果是、最好了解您是否从寄存器0x18中的射频场级唤醒中获得了错误读取、这也是检查该错误的更好方法。 通常、外部 RSSI 检查更适合于主动 P2P 模式或检测已知存在的射频场强度。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    非常感谢您的评论。

    关于 Enable:我们不知道这一点。 因此、我将10k 连接到 GND、并在 EN 和5V 之间添加了一根跳线。 引导后、插入跳线并启动 nfctool:相同答案。

    关于匹配网络:今天下午绑架了网络分析器,并在 GND 和 TX_OUT 引脚所在位置之间将 TRF 替换为4欧姆。 13.56MHz 时的阻抗为43.8+j8.3欧姆。

    对15p 电容器和330n 电感器的值进行了一些比较:

    电容:6p8并联22p、电感器330n:43.2 + j6.5欧姆、因此略好

    电容:6p8并联22p、电感器330n 与56nH 串联:54.0 - j3.6欧姆

    电容:15P、与56nH 串联的电感器330n:54.0 - j3.6欧姆:55.9 - j0.7欧姆

    通过将电感器增加到390n、将绝对距离增加到50Ohm 约为5Ohm、振幅区域电容器对距离的影响很小(330nH 时、我大约10 Ohm 远)。

    在任何情况下、匹配都不会太差。  

    关于过载:我们在器件树中尝试过 VIN-电压改写、但驱动程序仍在向寄存器0x00发送0x02而不是0x03、我们明天将对此进行分析。 但是、对于您的测试、我们使用错误的设置为每个电路板供电、因此太晚了。

    不同的观点确实很有趣。 我们根本不想检测另一个字段、而是驱动程序的初始化序列(不是最新的、但初始化序列是相同的)。 因此、如果我们可以将其修补掉、这可能会使我们进一步了解 TRF 是否正常工作、甚至可能是我们一直在解决下一个问题、并可能会发现错误。 但我们可能需要软件支持。

    此致

    路易  

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

    我向我们的 Linux 软件开发人员发送了一个查询、以了解他是否可以就软件相关主题提供一些反馈。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Louis、

    我重新阅读了您的帖子、特别是关于网络匹配的帖子、并意识到我不太理解您在那里为测量做了什么。

    要替换4欧姆点、您还需要生成输出信号以正确查看所有内容。 TI 已为此收发器精心设计了4欧姆至50欧姆的匹配网络、并且我们的客户普遍使用该匹配网络。 无需更改其中的任何组件。 使用原理图中列出的方法。

    网络分析器最好用于测量连接到50欧姆点的天线、并确保其与50欧姆的天线匹配良好。 以下应用手册涵盖的内容如下: www.ti.com/.../sloa241
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ralph

    我仅使用4欧姆电阻器替换 TRF、并在 U.FL 连接器上测量 S11以检查网络匹配情况。 我唯一想说的是、15p 与建议的27p 相比的影响很小、并且可能对 RSSI 没有影响。

    e2e.ti.com/.../nfc_2D00_smith.zip

    我们可以在最终设计中轻松更改为27p 输出。 当然、我们将15p 替换为大约27p (22p 并联6p8)、对 RSSI 测量没有影响。

    您是否已经从软件开发人员那里获得了答案? 我们非常感兴趣、为什么 RSSI 测量位于驱动器的探测部分、以及我们应该如何将其移除以进行测试。

    顺便说一下、在这两者之间、我们调整了驱动程序以设置 TRF7970A_CHIP_STATUS_VRS5_3位。 正如预期的那样、RSSI 仍然停留在1、但至少 TRF 现在被驱动为它应该被驱动。

    此致

    路易

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

    仅用4欧姆电阻器替代它是不够的。 匹配网络是通过建模生成的、该建模在输入端包含有源13.56 MHz 传输源。 否则、测量将关闭。 我们的工程师花费了大量时间对网络进行微调、以便尽可能以最高效的方式工作。

    无论如何、正如您提到的、这似乎不是 RSSI 读数的根本原因。

    我与软件开发人员进行了几次交流、但我现在正在等待反馈、了解是否需要从 TI 编写的源代码或 neard 侧删除 RSSI 检查。

    RSSI 测量是为了检查是否存在另一个 NFC 发起设备、以便不会发生 RF 场冲突、但这仅是对等模式真正需要的、因此、如果您只读取/写入标签、 您可以完全放弃这一特性、这就是许多应用所做的事情、例如在读取器模式下的射频场冲突、只是意味着您无法读取标签、RSSI 检查的唯一优势是应用程序尝试在每个功率位之间进行通信 不必要地打开射频场是一个优势。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ralph

    非常感谢您的回答。 当然、对于匹配网络、我完全同意您的意见。 目的是查看我们是否在该范围内进行了近似计算。

    同时、在等待软件反馈时、有关 EN 输入的问题是:将所有4个读取器的 EN 输入连接到电压监控器的复位输出是否足够、该输出比 5V 电源晚得多(>6ms)? B'Cause 我们将无法为该功能释放4行 SOM。  

    谢谢、致以诚挚的问候

    路易

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

    关于 EN、这应该是可以的。 数据表中的上电序列图形的关键在于、它显示了所需的最小延迟、您可以在每个步骤中毫无问题地延迟更长的时间。 只需确保 SS 在 EN 之后打开、您就可以使用该设置了。

    就软件而言、我得到的反馈是、删除 RSSI 检查将需要黑客入侵内核驱动程序进行一些更改。

    如果您这样做、那么您就可以在 drivers/NFC/trf7970a.c:trf7970a_is_rf_field ()中注释掉 RSSI 检查。

    如果您无法做到这一点、我可以向帮助我们将此 Linux 示例整合在一起的第三方提供信息、以便您可以直接联系他们。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ralph

    我们对 RF 场检查进行了如下注释:

       if (!(TRF->CHIP_STATUS_CTRL & TRF7970A_CHIP_STATUS_RF_ON){
          RET = tf7970a_s_rf_field (trf、&s_rf_field);
          IF (RET)
             回程;);       
           //if (IT_RF_FIELD)
          //   返回-EBUSY;
       }

    错误信息忽略并且-这是一个好消息-读取标签也可以正常工作。 标签的检测距离与测量无 RF 场的 TRF 上的距离相同(RSSI 值为0)。 此变通办法效果良好。

    RSSI 值为1而被激发的0的原因仍然不清楚、并留下了一些不舒服的感觉。

    尽管如此,我仍将这个问题标记为已解决,并感谢你的宝贵支持。 非常感谢。

    此致

    路易

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

    您要用于 Linux 内核的设备树中是否存在'EN2-RF-quirk'属性?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Mark

    它确实存在。

    我刚才看到您两年前在提交邮件中写道:"...我们只应在指定了 EN2时检查'EN2-RF-quirk'。。。"

    输出。

    在加电例程中、"如果 GPIO_IS 有效"会阻止不存在 EN2引脚和等待的设置。 仅限化妆品?

    谢谢、致以诚挚的问候

    路易

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

    好的、谢谢 Louis。

    EN2-RF-quirk 很好。  提交消息证明了代码更改的合理性;它并未告知您不应指定它。  您是否在器件树中为 EN2指定了 GPIO?  您可以共享设备树吗?

    回复:GPIO_is_VALID ()-否、它不是仅装饰的、它可以正常工作。  但是、这些检查在最新版本的驱动程序中不存在、因此我想知道您使用的是哪个版本的驱动程序。  您在哪里获得了内核源代码和/或 tf7970a 驱动程序?

    谢谢、

    标记

    --

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    实际上、存在 EN2-RF-quirk 应该无关紧要、因为如果没有实际连接到 EN2、则器件树中不应该为 EN2指定 GPIO。 我想了解接下来的内容:a)为您提供更好的解决方案、b)修复任何驱动程序错误。 看到器件树会对这一点大有帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Mark

    打扰一下。 我这样解释、我们不应定义'EN2-RF-quirk'属性。 这就是我写化妆品的原因...

    对于驾驶员、我们必须承认、我们不知道它具有什么状态。 BuildRoot 会获取一些内容并应用某些修补程序。 构建过程的最终来源(带有我们难看的调试黑客-真的很丑、您被预先警告)以及反汇编的器件树。

    谢谢

    e2e.ti.com/.../trf7970a.ce2e.ti.com/.../dts_5F00_2ndETH_5F00_disabled.txt

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

    谢谢、Louis。

    我会看一下、但今天我没有太多时间、因此请耐心等待。

    标记

    --