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:可变 ToF 值

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

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/608390/tdc7200-varying-values-for-tof

器件型号:TDC7200

您好!

我将 TDC7200与 MCU 配合使用。 我在配置开始时启用了使能引脚。 SPI 读取和写入工作正常。 我将0x03 (测量模式2)写入 CONFIG1寄存器。 其他寄存器值未修改。 我得到一个触发信号、在1ms 后、我发送一个启动脉冲。 2ms 后、我发送一个停止脉冲。 我在停止后获得 INTB 中断。 我读取校准1和2寄存器、Time1和2寄存器以及 Clock_Count1寄存器。

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


Clock_Count1寄存器也显示相同的值-介于3620和3630之间。

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

日志如下所示:

秘书长的报告
接收到触发信号

接收到中断信号

CALIBRATION1_Data_Received = 2136
CALIBRATION2_Data_Received = 21338

时间1 = 1752
时间2 = 1585
Clock_Count1 = 3631

calCount = 2133.555556
NORM_LSB = 0.000000000058764712
TOF = 0.00000000978413706906
秘书长的报告

秘书长的报告
接收到触发信号

接收到中断信号

CALIBRATION1_Data_Received = 2137
CALIBRATION2_Data_Received = 21348

时间1 = 865
时间2 = 1186
Clock_Count1 = 3630

calCount = 2134.555556
NORM_LSB = 0.00000000005856019989
TOF =-0.00000001879782416324
秘书长的报告

秘书长的报告
接收到触发信号

接收到中断信号

CALIBRATION1_Data_Received = 2137
CALIBRATION2_Data_Received = 21346

时间1 = 1732
时间2 = 1216
Clock_Count1 = 3628

calCount = 2134.3333
NORM_LSB = 0.00000000005856629705
ToF = 0.00000003022020927690
秘书长的报告

秘书长的报告
接收到触发信号

接收到中断信号

CALIBRATION1_Data_Received = 2135
CALIBRATION2_Data_Received = 21333

时间1 = 794
时间2 = 328
Clock_Count1 = 3626

calCount = 2133.111111
NORM_LSB = 0.00000000005859985415
TOF = 0.00000002730753203459
秘书长的报告

秘书长的报告
接收到触发信号

接收到中断信号

CALIBRATION1_Data_Received = 2136
CALIBRATION2_Data_Received = 21337

时间1 = 1312
时间2 = 934
Clock_Count1 = 3628

calCount = 2133.444444
NORM_LSB = 0.00000000005859069840
ToF = 0.00000002214728399563
秘书长的报告

秘书长的报告
接收到触发信号

接收到中断信号

CALIBRATION1_Data_Received = 2135
CALIBRATION2_Data_Received = 21334

时间1 = 1255
时间2 = 1356
Clock_Count1 = 3629

calCount = 2133.222222
NORM_LSB = 0.00000000005859680192
TOF =-0.0000591827699359
秘书长的报告

秘书长的报告
接收到触发信号

接收到中断信号

CALIBRATION1_Data_Received = 2135
CALIBRATION2_Data_Received = 21335

时间1 = 889
时间2 = 1853
Clock_Count1 = 3627

calCount = 2133.3333
NORM_LSB = 0.00000000005859375000
TOF =-0.00000005648437500000
秘书长的报告

秘书长的报告
接收到触发信号

接收到中断信号

CALIBRATION1_Data_Received = 2136
CALIBRATION2_Data_Received = 21338

时间1 = 2075
时间2 = 1046
Clock_Count1 = 3630

calCount = 2133.555556
NORM_LSB = 0.000000000058764712
ToF = 0.00000006028668888657
秘书长的报告



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

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

提前感谢、

Ananth

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

    很抱歉、大家。

    这是我最后一个愚蠢的错误 分配 Time1 Time2变量的数据类型时出错。 负值是这种情况的结果。 问题现已解决。

    Ananth