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:测量有时不能完成!#39;t 完成

Guru**** 1206470 points
Other Parts Discussed in Thread: TDC7200, SN74LVC3G17, SN74LVC1G74, ADS1248, TDC1000
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1023955/tdc7200-measurement-sometimes-doesn-t-complete

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

我遇到了一个奇怪的问题:

-我开始测量(config1=c3h、所有其他寄存器的默认值、时钟为16MHz)
为此,Trigg 从低电平转换为高电平
- 500ns 后、INTB 从低电平转换为开路(如果尚未打开)
- 3000ns 后、开始从低电平到高电平的转换(并在测量的剩余时间内保持高电平)
为此、Trigg 会立即从高电平转换为低电平(即 TDC7200确实会看到开始边沿)
- 10000ns 后、停止从低电平到高电平的转换(并保持高电平)
-在5种情况中,大约有4种情况下,测量成功终止(INTB 变为低电平)
-在大约5种情况中的1种情况下、不会发生任何情况:INTB 保持打开、寄存器表示 TDC7200仍在测量、没有溢出。

由于没有发生溢出、我认为 TDC7200错过了启动边沿、尽管它使 Trigg 变为低电平。 也就是说、TDC7200都能看到并忽略起始边沿。

有什么想法、有什么问题吗? TRIG 和 START 之间的时间是否有最大值(数据表仅列出标称值、无最大值)? 是否存在起始脉冲持续时间的最大值(数据表仅列出最小值)? 是否必须将 START 置为低电平才能检测到 STOP?

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

    克劳斯、您好!

    感谢您的提问。 我使用与上述条件相同的条件进行了测试、但无法重现问题。

    虽然数据表仅提供了从 Trigg 开始所需的最短时间、但它没有最大值、 我确实测试了几个条件、比您在上面提到的测试用例要长得多、20us 后器件仍在等待启动脉冲、并且在保持时间之后将停止脉冲发送到器件时产生了正确的结果。  

    我注意到的一件事是、无论立即接收到启动脉冲还是等待20us、Trigg 都将切换为低电平。 这可能不是器件是否接收到 START 脉冲的最佳指示器。 我在下面附加了一张图片、展示了这一点、紫色信号是 Trigg、黄色是 START、青色是 STOP、绿色是 INTB。

    要回答第二个问题、在检测到 STOP 脉冲之前、没有 START 信号必须为低电平。 即使在接收到 STOP 时 START 脉冲仍然为高电平、下图也会产生正确的结果。

    需要检查的一点是、您的起始脉冲和停止脉冲宽度是否满足所需的长度、它们至少需要10ns 的脉冲。 如果它们不符合所需的脉冲宽度、那么这可能是器件无限期尝试完成测量的原因。

    测试是在定制板上完成还是在我们的 EVM 上完成?

    最棒的

    Isaac

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

    感谢您对此进行深入研究。 START 和 STOP 脉冲的持续时间均约为5秒、远高于10ns。 测试在定制板上完成(具有大量去耦电容器、但我会在情况下添加更多电容器)。 同时、我正在绝望地尝试使用 SN74LVC3G17 "锐化"时钟的边缘、启动和停止。 没有区别。 我还尝试在 STOP 到达时重置 START (SN74LVC1G74)。 这确实改变了情况:现在我有一个众所周知的未解决的问题:在测量模式2中、Time1有时是完全错误的(远高于 CALIBRATION2)。 该问题在本论坛上多次提出。 但测量始终完成、尽管结果不可用。

    可能会尝试使用单触发器进行下一步的启动和停止(希望它们在最终产品中不会使信号偏斜太大)。

    顺便说一下、随着 START 和 STOP 之间的距离的减小、Time1完全超出范围的概率似乎会增加、这是很奇怪的、因为 STOP 不应影响 Time1!

    我还将尝试了解在测量产生影响之前、让开始和停止保持低电平的时间是否会更长。 我认为数据表没有指定该时间的最小值、但肯定必须有最小值。

    我还将尝试另一个 TDC7200芯片、因为我要测试的芯片可能有故障。

    还有其他想法吗?

    P.S.:在启动仍然很高的情况下、您执行了多少次提升停止的实验?

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

    克劳斯、您好!

    为了确保我正确理解这一点、确保 STOP 到达时 START 脉冲结束即可解决您缺少测量值的问题、但这会导致您遇到另一个 Time1值不正确的问题。 是这样吗?

    我确实认为5秒脉冲宽度听起来有点长、因此可能会减小脉冲的大小以确保在下一次测量开始之前有足够的时间、这可能会产生影响。 正如您提到的、没有规格、但我没有测试过如此长的脉冲宽度、我们通常遇到不同用户尝试运行非常小的脉冲宽度的相反的问题。

    我没有遇到 Time1提供错误值的问题,我不确定这是在您的系统上设置的多么容易,但可能会尝试生成两个 STOP 信号,并查看 Time2是否生成正确的结果。 如果您在停止1和停止2之间输入已知延迟、这可能是一种可用的权变措施。

    返回到未完成测量的原始问题、似乎该用户有相同的问题、因此可能值得检查您的 SPI 线路、如下所述: https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/581273/tdc7200-time1-register-calibration-registers-remain-zero-measurement-doesn-t-occur

    我进行了多次将 STOP 切换为高电平的实验、而 START 仍然处于高电平、几个月前、我有一位用户问过这一情况。 我可以对您的设置进行仔细检查、以查看它是否按预期运行。 您期望的 ToF 是什么?

    最棒的

    Isaac

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

    您好 Isaac、

    是的、使用 STOP 的上升沿结束 START 脉冲会使测量终止、但在测量模式2下、Time1的值不可用。 时间1超出范围的频率似乎取决于开始和停止的上升沿之间的距离(在这种情况下等于开始脉冲宽度)。 对于3微秒的 ToF、Time1几乎总是完全不可用(超过100、000、CALIBRATION2大约为12、000)。 我不是第一个遇到这种情况的人、请参阅、例如 https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/828776/tdc7200-tdc7200-delivers-implausible-time1-spi-transfer-is-not-reasonable/3117130。 是的、这是测量模式2。 已通过读取 CONFIG1进行确认。

    仅时间1受影响、时间2到 TIVE6始终合理(但我尚未检查它们是否正确)。

    预期 ToF 介于5和100微秒之间。

    我将添加一个小型 FPGA (或 GreenPAK)、以使用传入信号生成的不同启动/停止脉冲模式来简化测试。 这可能需要一些时间。 我可以生成虚拟启动脉冲、并将两个传入脉冲转换为停止脉冲(而不是开始脉冲和停止脉冲)、以便我可以测量两个停止脉冲之间的时间。 不过、我更愿意解决最初的问题。

    感谢您提供 SPI/CSB 问题的链接! 这看起来很有希望、我可能会先尝试一下。 我的 SPI 速度为562.5 kHz。

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

    克劳斯、您好!

    感谢您提供信息。 我将尝试查看我是否可以在我的设置上复制此内容、但今天可能无法访问、因此我将在明天尝试更新您的设置。

    是的、我会首先检查 SPI/CSB 问题、以确保这不是导致您错过读取的问题的原因。 然后尝试更换 TDC7200、以确保您的产品没有故障。

    如果您使用了正常预期的实际开始时间、然后在中创建几纳秒的虚拟停止时间来克服错误的 Time1读数、并让第二个停止像预期的那样自然地生成正确的 Time2结果、是否会更容易实现? 只是一个想法、但正如我提到的、我将尝试测试此问题、看看我是否可以在我的末尾重新创建此问题

    如果您有机会收集不良测量的 START、STOP、INTB 和 TRIG 脉冲的屏幕截图、可能会帮助我更轻松地重现问题、并希望找到解决方案或更好的解决方法。 我假设您的设置与此主题开头提到的相同、因此如果有任何更改、请告知我。

    最棒的

    Isaac

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

    您好 Isaac、

    我不认为添加虚拟停止脉冲会有所帮助、因为我最终会使用无法使用的启动到停止1测量和正确的停止1到 STOP2测量、无法从中计算启动到 STOP2。 一个虚拟 STOP2的 Ditto。 这就是我考虑使用虚拟启动脉冲并从启动和停止输入生成两个停止脉冲的原因、即、启动输入生成一个长度合适的停止脉冲、而停止输入生成另一个停止脉冲。

    我有一个逻辑分析仪捕获、其中包含 Trigg、START、STOP 和 INTB 时序、我在原始帖子中将其转录为英语。 很遗憾、我没有保存屏幕截图。

    如果 Csb (和/或第二种情况的起始下降沿)被证明是问题原因:您认为这是 TDC7200中的逻辑错误还是一些交流干扰? 如果是后者、平滑边缘可能会有所帮助(而不是像我那样磨锐边缘)。 ADS1248数据表建议在所有数据线路上使用47欧姆电阻器。

    足够满足今天的需求。 谢谢!

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

    您好 Isaac、

    我对原始电路进行了几次实验(START 保持高电平5秒):
    -新型 TDC7200芯片:没有区别
    -1.125Mbit/s SPI 时钟:无差异
    -2.25Mbit/s SPI 时钟:无差异
    -4.5Mbit/s SPI 时钟:无差异
    -9Mbit/s SPI 时钟:无差异
    -18Mbit/s SPI 时钟:无差异
    - 36Mbit/s SPI 时钟(超出规格):完全不工作
    - CSB 为47欧姆:无差异
    - CSB 为100欧姆:无差异
    - 47欧姆起动电阻:无差异
    -100欧姆起动电阻:不工作
    -停止时为47欧姆:无差异
    -100欧姆限位:不工作
    -调整代码以尽快将 CSB 设置为高电平:没有差异
    -设置 CONFIG1后保持 CSB 为低电平:不起作用、因为 TDC7200在 CSB 变为高电平之前不加载写入的值
    -确保测量开始前的 START 和 STOP 低电平500ms:无差异
    -写入 CONFIG1两次(首先写入 START_MEAS=0、然后写入 START_MEAS=1):无差异
    - TDC7200的 VDD 的附加旁路电容器:无差异
    在组合这些实验时、结果是显而易见的。

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

    更多实验:
    - VREG 的另一个去耦电容:无差异
    -读回寄存器以确保它们被正确写入:它们是。
    测量 VDD:3.26V
    测量 VREG:1.66V

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

    克劳斯、您好!

    感谢您提供我很快将要介绍的信息、您在 CONFIG2上的设置是什么?

    最棒的

    Isaac

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

    您好 Isaac、

    CONFIG2处于其复位值40h。

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

    我再看一下数据表:TDC7200数据表未指定启动和停止的最长上升时间、仅指定一个标称值、即1ns。 我在开始和停止前使用的 SN74LVC 栅极似乎具有大约3ns 的上升时间。 TDC1000数据表指定了 START 和 STOP 输出的典型上升时间为0.25ns。 差异很大。  我将尝试 SN74ALVC 门。

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

    用于驱动 TDC7200的启动和停止输入的 SN74ALVC 栅极不起作用。 但是、我现在在试验电路板上进行测试、这会增加电容、使边缘平滑。

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

    克劳斯、您好!

    感谢您提供信息。 我已经能够复制错误、但我仍在尝试弄清楚导致错误的原因。 您在系统上获得的 Clock_Count1值是多少?

    最棒的

    Isaac

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

    克劳斯、您好!

    当奇偶校验的奇偶校验位设置为1时、似乎我只能重复这个问题。 将其设置回0后、我将获得 Timex 和 Clock_COUNTX 的稳定可用值。 当该位被使能时、我能够在某些停止时间间歇性地获得可用值、而其他停止时间则根本不会产生任何可用值。 请告诉我这是否会对您的系统产生影响。

    最棒的

    Isaac

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

    因为我的系统当前连线为"开始保持高电平5秒"(即测量并不总是完成)、而是"停止使开始下降到低电平"(时间1通常超出范围)、所以必须等待明天。 您在显示这些值之前、是否已将奇偶校验位设置为零? ;-)

    在我当前的系统中、Clock_Count1为160。

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

    听起来不错、如果可以、请随时向我发布。 幸好我使用的是 GUI、它似乎为我提供了相应的解决方案。(:

    但这听起来像是一个合理的 clock_count 值、当我启用奇偶校验位时、有时我会得到一个明显高于该值的值。

    最棒的

    Isaac

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

    您好 Isaac、

    Clock_Count1始终是合理的。 Time1是问题(在第二种情况下)。

    如果您的 GUI 显示大于8388607(7fffh)的值,则无法清除用于显示的奇偶校验位。

    回到最初的问题:我添加了一些逻辑、将开始和停止转换为100ns 脉冲、这远高于 TDC7200所需的最小脉冲宽度、远低于我的 ToF。 其他时间安排与我的第一个帖子中的情况相同。 现在、我得到同一电路的两个问题:测量有时无法完成而 Time1有时完全超出范围。 奇偶校验_EN 位的值不会产生影响。 所有寄存器均为其默认值(当然、START_MEAS 位除外)。

    在 CALIBRATION2为11186的情况下、我得到的最差值为2293676、即振铃器运行了超过20个时钟周期(如果我们可以信任 TDC7200报告的 Time1值)。

    您上面指向的线程(https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/581273/tdc7200-time1-register-calibration-registers-remain-zero-measurement-doesn-t-occur)可能是一个红色的错误。 由于 TDC7200在 CSB 变为高电平之前不会注册 START_MEAS 位、因此 SPI 速度是完全无关的。 除非使用寄存器轮询、否则所有 SPI 通信都在 CSB 为低电平时发生、测量发生在 CSB 升至高电平之后。

    BTW、使用8MHz 而不是16MHz 作为时钟输入不会产生影响。

    我的想法已经用完了

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

    再增加两个(最后?) 实验:
    - MAX22344用于缩短启动和停止的上升时间(5pF 时最大为1.1ns):无差异
    -不同的电源:没有差异

    看起来我必须放弃并选择一个实际工作的芯片。

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

    克劳斯、您好!

    很遗憾听到没有为您解决问题。 在当时的所有情况下、GUI 似乎都没有处理奇偶校验位。 因此、减小脉冲宽度会导致测量未完成、或者当 STOP 到达时、您是否恢复为未重置开始?

    当您获得最大的 Time1值时、您的 Time2值会得到什么?

    但我相信您对该主题的理解是正确的:https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/581273/tdc7200-time1-register-calibration-registers-remain-zero-measurement-doesn-t-occur 在本例中、似乎用户在测量触发读取期间意外切换 CSB、但这在您的案例中似乎不是问题。 我以前没有遇到过这个问题、因此我想知道是什么原因会导致您的测量无法正常开始或无法正常停止。

    我累了较慢的上升时间、看我是否可以重现问题、但我仍然没有看到问题。

    最棒的

    Isaac

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

    您好 Isaac、

    时间2始终合理、即小于(CALIBRATION2-CALIBRATION1)/10。 下面是我得到的寄存器值示例(十六进制寄存器编号、十六进制值、十进制值):

    10:1f8a53 2067027
    11:00009f 159
    12:000106 262
    13:000000 0
    14:000000 0
    15:000000 0
    16:000000 0
    17:000000 0
    18:000000 0
    19:000000 0
    1A:000000 0
    1b:00047f 1151
    1C:002ce5 11493

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

    新实验:
    -在发送 CONFIG1并设置 START_MEAS 和提高 CSB 之间等待1ms:测量永远不会完成!
    这是一个提示。

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

    更多实验:
    -将 SPI 时钟极性更改为空闲低电平:无差异
    -将最后一个 SPI 时钟脉冲和 CSB 上升沿之间的时间缩短至2微秒(通过开启完全优化):成功率有所增加
    -将最后一个 SPI 时钟脉冲和 CSB 上升沿之间的时间缩短至2微秒、将 SPI 时钟极性更改为空闲低电平、并将 SPI 时钟速率提高至1.125 Mbit/s:成功率提高得更多

    您指出的这条线程毕竟可能是成功的途径!

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

    在发送 CONFIG1并设置 START_MEAS 后、我更改了代码以将 CSB 保持在低电平、并查看了 TRIGG 输出:TDC7200在收到 START_MEAS 位后立即开始测量、而无需等待 CSB 上升!

    START_MEAS 位恰好是发送的 CONFIG1的最后一位。

    实际上、数据表显示"当 CSB 为低电平时、串行数据使用最后一个数据位 SCLK 上升沿加载到寄存器中。"

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

    现在、一个将所有这些测量值组合在一起的实验:

    -将最后一个 SPI 时钟脉冲和 CSB 上升沿之间的时间缩短至2微秒
    -将 SPI 时钟极性更改为空闲低电平
    -将 SPI 时钟速率提高至2.25Mbit

    这看起来是赢家。 到目前为止、已成功进行700次测量、Time1的最大值为1259!
    感谢您推荐我使用该主题!

    结论:为了成功测量(INTB 信号传输完成且时间1合理)、在针对 START_MEAS 位的 SCLK 下降沿之后的2微秒或更短时间内、SCLK 必须为低电平、CSB 必须为高电平。

    TDC7200数据表显示:"SPI 时钟可能处于高电平或低电平空闲状态。" 这是错的。

    成功测量的 SCLK 条件可能是:对于 START_MEAS、SCLK 不得在 SCLK 下降沿之后的 x ns 切换、也就是说、如果时钟速率足够高、SCLK 可能会使用空闲高电平。

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

    坏消息:我回到了具有长启动和停止脉冲的原电路板、这两个问题都得到了解决:测量有时(2%)不完成、而计时1有时是垃圾 即使启动不随停止一起切换、也会发生后一个问题。 可能测量最初挂起得太频繁、无法看到第二个问题。 我至少从20%下降到2%。 提高 SPI 时钟速率可能会有所帮助。

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

    我将 SPI 时钟更改为18Mbit/s、并将这些5秒缩短为100ms、以加快测试速度:到目前为止、测量成功5000次、且时间值合理。 这2ms 可能仍然过长。

    这一周已经足够了。

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

    您好 Isaac、

    在整个周末、成功执行了近一百万次测量、且值合理、为 Time1。 我还在 CPOL=1时进行了一些测试 、我将把这些测试输入到这个线程的总结中。

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

    以下是我对该主题的总结:

    间歇性出现两种症状:

    (1) TDC7200将 Trigg 设置为高电平、在合适的距离处有用于开始和停止的上升沿、但测量永远不会完成(INTB 保持高电平)

    (2) Time1具有不可重新分配的值、远高于 CALIBRATION1。

    这两个问题都是由测量期间 SCLK 或 CSB 变化引起的。 我尚未检查 DIN 是否也受到影响。 在 CSB 仍为低电平时、测量从 SCLK 的 START_MEAS 位下降沿开始。 如果 CSB 保持低电平、测量永远不会完成。 因此、我们必须在 SCLK 的下降沿之后非常快地将 CSB 强制为高电平。 当 CPOL=1 (SCLK 空闲、高电平)时、我们还有一个额外的问题、就是测量开始后、SCLK 还有另外一个(上升)边沿。

    由于我选择的 MCU 没有用于 SPI 的硬件 CS (否、NSS 不起作用)、因此我创建了自己的具有可编程延迟的硬件 CS、用于驱动 TDC7200的 CSB 引脚。 我测量到、如果在 SCLK 的最终下降沿之后 CSB 升高1160 ns 或更高、则会出现这两个问题。 间隔越长、问题发生的概率就越高。 超过10000ns 时、测量永远不会完成。 低于330ns 时、测量始终完成、时间1始终合理。 由于硬件限制、我没有330ns 至1160 ns 之间的间隔结果。 (所有这些值都用于16MHz 时钟。)

    建议:
    -将 TDC7200放在其自己的 SPI 总线上
    -写入 CONFIG1且 START_MEAS=1后、尽快升高 CSB
    -如果可能,请为 CSB 使用硬件 CS
    -使用 CPOL=0 (SCLK 空闲)、因为在开始测量后、您不必等待 SCLK 的最终上升沿、该上升沿会在 CPOL=1时浪费半个 SCLK 周期
    -如果您仍然使用 CPOL=1 (SCLK 空闲时为高电平)、则必须由 SPI 硬件自动控制 CSB、因为 MCU 太慢、无法在软件中足够快地提高 CSB
    -如果无法使用硬件 CS,请禁用中断,以避免写入 CONFIG1和提升 CSB 之间出现任何意外延迟
    -使用尽可能高的 SCLK 频率(TDC7200支持高达20Mbit/s)。 在最后一位之后可能会有额外的半个 SCLK 周期延迟、以强制为背靠背传输设置最小 SCLK 脉冲宽度
    -根据数据表的建议、使用 INTB 而不是轮询 INT_STATUS 寄存器(请记住、在测量期间 SCLK 和 CSB 不得更改)

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

    克劳斯、您好!

    感谢你们的尽职调查和大量的建议。 您似乎能够很清楚地识别问题。 我很高兴该主题帮助确定了问题、我将研究在测量过程中导致测量无法完成的 SCLK 变化、并尝试根据需要更新数据表。  

    如果可以、请将其标记为已解决、以便其他用户在遇到此问题时可以使用此主题!

    最棒的

    Isaac

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

    SCLK 可能是我错的。 另一方面、CsB 当然不能在特定间隔内切换、该间隔在针对 START_MEAS 位的 SCLK 下降沿之后大约100ns (对于16MHz 时钟)开始。 时间间隔结束时、我还没有尝试找出。 可能是当 Trigg 变为活动状态时、或者更糟糕的是当 INTB 变为活动状态时。 如果 CSB 在 START 脉冲之后被切换、则可能会占用 Time2等时间。 研究的时间太少了。