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.

[参考译文] TDC7200:TDC7200交付的时间不合理1/SPI 传输不合理

Guru**** 2548830 points
Other Parts Discussed in Thread: TDC7200

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/828776/tdc7200-tdc7200-delivers-implausible-time1-spi-transfer-is-not-reasonable

器件型号:TDC7200

大家好

我的 TDC7200配置如下:
-在加电时校准一次、40个周期
- 2个停止信号
16取平均值模式
-时钟计数器 OVF 设置(大约3us)
-未设置粗略计数器 OVF
- TDC 的时钟频率为16MHz

当我现在开始测量时、我等待 TDC 中断、然后读取 Time1、Clock_Count1、Time2、Clock_COUNT2、Time3寄存器。
有时我会在 Time1寄存器中得到不合理的高值、大约是 SYSCLOCK (16MHz)周期的3.5倍、据我所知、该周期不能是(Time1永远不能超过1/sysclock)。

对裸 SPI 通信进行了如下观察:

Time1正常、值为0x29A:

TIME1不正常、值为0xF87:

这大约发生在10次中的1次。 然后、Time1始终具有0x0Fxx、其中0x02xx 将使该值进入合理的区域。
在我看来、Time1的第二个字节(位8 - 11)被 TDC 破坏了。 我不知道如何解释这一点。 或者我是否错过了一个点?

谢谢 Benjo

编辑:

我发现 Time1不是0x0Fxx 而是0x10XX 的情况:

我还检查了 TDC 的16MHz 时钟、它看起来不错。 时钟上没有干扰或噪声。

谢谢 Benjo

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

    Benjo、

    我将研究这个问题、在下周周三之前与您再次联系。

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

    你(们)好,Bharat

    感谢您的通知。

    此外、经过进一步的思考、我认为故障时钟不太可能导致这种行为、如所示

    1) 1)我使用16个周期的平均值计算
    2) 2)此外、Time2和 Time3也会不时受到同等影响

    等待您的回复

    谢谢、Benjo

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

    有任何有关这方面的新闻吗?

    谢谢、Benjo

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

    Benjo、

    我已使用我们的 TDC7200 EVM 检查了 Timex 寄存 器、无法重新创建 Time1寄存器大约是时钟的3.5倍的场景。  

    同样、如 数据表中的图18所示:时间1发生在起始边沿到第一个时钟边沿之间。 时间2发生停止边沿到下一个时钟边沿。 因此、如果您的时间1是循环的、那么 ti 可能是 由于开始发生在第一个时钟边沿附近的变化所致。 请注意、时钟计时和信号计时将始终保持同步、这可能会导致此更改。

    请检查 INTBx 引脚和 Trigg 引脚在每个测量周期中是否同时启动。

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

    您好 Bharat、

    感谢您的回答。 但是,我认为我需要对你的发言作出一些澄清。

    [引用 user="Bharat Aravamudhan "]因此,如果您的时间1是循环的,则 ti 可能是 由于开始的变化发生在第一个时钟边沿附近。
    "更接近第一个边沿的开始变化"是什么意思?

    [引用 user="Bharat Aravamudhan"]请注意,时钟计时和信号计时将始终保持同步,这可能会导致此更改。[/引用]
    为什么它们始终保持同步? TDC 时钟(16MHz)由一个外部振荡器创建、而我的信号(我猜您是指 START)由另一个微控制器创建。 因此、在我看来、它们不一定是同步的...

    [引用 USER="Bharat Aravamudhan "]请检查 INTBx 引脚和 Trigg 引脚在每个测量周期中是否同时启动。[/quot]
    这两个引脚都是输出、其中 Trigg 引脚未连接到我的电路中。 我仅利用 INTB 引脚获得完成的多周期平均值通知。
    此外、在数据表的图19  中、Trigg 和 INTB 信号不会同时启动。

    谢谢、Benjo

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

    Benjo

    很抱歉我迟到了。  

    请注意、时钟计时和信号计时不会始终同步、这将导致开始边沿和后续时钟上升沿之间的时间差异、因此 Time1值将随周期变化。 我在键入时就想到了这一点、但我错过了"不"。  

    因此、START 信号和时钟边沿之间的时间变化将提供不同的值。 最好检查 INTB 或 Trigg 引脚、以检查测量周期是否完成。

    请注意、TDC7200在模式1下可测量12ns 至500ns 的 ToF、在模式2下可测量250ns 至8ms 的 ToF。

    如果您正在测量的实际 ToF 在区域中大于500ns、但您已将器件配置为以模式1测量、则整个 Timex 值都累积存储在时间1寄存器中、这会为我们提供大于1个时钟周期的值。

    请验证您尝试测量的飞行时间、并选择适当的模式。   

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

    如前所述、我们将 TDC7200配置为等待两个 STOP 信号并使用测量模式2。 现在问题就进来了-第一个问题是不到500ns、第二个问题是~1.7us。

    在这种情况下、您建议使用哪种测量模式? 您认为这可能会导致问题吗?

    同时、我将尝试将第一个 STOP 信号移出500ns 以上、并告知您。

    更新:

    我将第一个 STOP 信号移出500ns 以上至~800ns。 问题仍然存在。 在这种情况下、Time1显然不能有大于1个时钟周期的值。
    我还想再次指出、太大的 Time1值大约只发生10次中的1次。 因此、如果它是错误的测量模式、我假设每次都会影响 Time1。

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

    Benjo、

    正如我之前所说的、在我们的 TDC7200-ZA EVM 设置中、我无法重现此问题。 如果器件配置为比如说模式1、但实际测量的 ToF 处于模式2、则我们唯一会遇到此问题。

    让我再次尝试一下您刚才提到的两站方案、我们很快就会回来。

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

    Benjo、

    是的、我终于能够重复你的2个站点(1个站点@ 800ns 和2个 STOP @ 1.7us)的问题。 我使用 TDC720x-ZAX EVM 进行工作、并且在该 EVM 中使用内部8MHz 时钟、即使在运行 ToF 多次的情况下、也无法复制您的故障。

    虽然您计划测量800ns、但您可以使用模式2进行更多测量、但即使您计划使用频率为1.7us 的第二个停止点、您也应仅使用模式2。

    很难对这个问题进行调试、这一问题通常会发生10次。 当平均周期和校准周期减少且外部时钟降低至8MHz 时、请检查读数是否一致。