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:SPI 写入后无法获取触发信号

Guru**** 2589300 points
Other Parts Discussed in Thread: TDC7200, TDC1000

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/604067/tdc7200-unable-to-get-trigger-signal-after-spi-write

器件型号:TDC7200
主题中讨论的其他器件: TDC1000

您好!

我将 TDC7200与 STM32F4搭配使用。 我能够通过 SPI 读取和写入 TDC7200寄存器(CONFIG1和 CONFIG2)、而不会出现任何问题。 问题是、在我将0x01或0x03写入 CONFIG1寄存器后、我不会获得任何触发信号。 我能够读回相同的 CONFIG1寄存器、并看到寄存器值已更改为我配置的任何值。 其他寄存器的值保持默认值、仅修改 CONFIG1寄存器。 我已经检查了时钟-它的8MHz。 SPI 时钟- SCLK 也为8MHz。 一开始也有一个使能引脚由低电平变为高电平。

出于我的目的、我不使用 TDC1000。 TDC7200的触发器和 INTB 作为中断连接到 MCU (STM32F4)。 接收到触发中断后、我将先向 TDC7200发送 START 信号、然后发送 STOP 信号、以获取 INTB 中断、然后继续计算 ToF。

问题出在哪呢? 为什么我无法从 TDC7200获取触发中断? 我是否错过了什么? 有人能帮忙吗?

提前感谢。

Ananth

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

    您好!

    找到问题。 它是硬件。 有一个未组装的电阻器(DNP)、该电阻器应该被组装。 填充后、问题得到解决。

    现在、我也能够读取校准寄存器1和2、时间寄存器、clock_count 寄存器。 基于此、我将根据数据表计算 ToF。

    但现在我面临另一种问题。 我收到一个触发信号、在1ms 后我将发送一个 START 脉冲、在(另一个) 1ms 后、我将发送一个 STOP 脉冲。 我正在将0x03 (模式2)写入 CONFIG1寄存器。 我已经尝试将0x41写入 CONFIG2寄存器、我也尝试将 CONFIG2寄存器保持为默认值。 所有其他寄存器保持默认值。 在获得停止中断后、我读取校准1和2寄存器、Time1和2寄存器以及 Clock_Count1寄存器。

    校准1和2寄存器分别显示2137和21350。 这两个寄存器的值几乎每次都相同。 由于这些寄存器不为零、因此时钟或粗计数器中没有溢出。 (我甚至检查了 INT_STATUS 寄存器-它提供0x19、这意味着测量已完成、测量已开始并检测到中断)。

    Time1、Time2和 Clock_Count1寄存器每次都保持不变。 有些时间 Time1 > Time2,有些时间 Time1 < Time2。 当 Time1 < Time2时、TOF 值为负。

    我保持了启动和停止之间的延迟恒定- 1ms。

    ToF 变化和负值的原因可能是什么? 有人可以提供帮助吗? 卡在这里一段时间。

    提前感谢、

    Ananth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    您能否详细说明哪些因素阻止了触发器引脚更改以及如何解决此问题?
    我在这里遇到同样的问题、并且在解决这个问题上花费了相当长的时间
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在我的案例中、这是一个硬件问题。 必须组装一个电阻器、而不是组装该电阻器。 我检查了原理图并找到了这个。 然后填充该电阻器。 这是我的修复方法。

    如果这不是您的问题、则可能是 TDC7200的时钟问题、也可能是在写入 TDC7200寄存器之前初始未设置 SPI 写入或使能引脚故障。 请验证所有这些。

    1.在执行任何操作之前、请确保使能引脚中存在从低到高的转换。 探测 TDC7200的使能引脚、查看该引脚是否持续为高电平。

    2.探测 TDC7200的时钟引脚、并在 TDC 启用后检查是否有连续时钟。

    3.读回寄存器并检查它们是否与您所写的内容相匹配。

    Ananth