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.

[参考译文] TMS320F28335:eCAN 时间戳精度?

Guru**** 2589280 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1202237/tms320f28335-ecan-time-stamp-precision

器件型号:TMS320F28335

我想(高精度)通过 CAN 同步某些 DSP (28335)。 我看到了 eCAN"定时器管理单元"的时间戳特性。  但是、关于 "eCAN 参考指南"(SPRUEU1)的这些注释、我想知道这些内容有多准确

  • CANTSC :这是一个自由运行的32位定时器 ,由 CAN 总线的位时钟计时。  µs、在1Mbps 的比特率时、CANTSC 会每1 μ s 递增一次。
  • ..
  • 当访问寄存器时、这个状态机的优先级低于 CAN 状态机 。 因此、其他正在进行的操作可能会延迟时间控制功能。
  • ...
  • MOTS 当相应的邮箱数据成功时,该寄存器保存 TSC 的值
    正常操作状态。
  • ...
  •  邮箱16被发送或接收时、TSC 寄存器也可以被清零

µs、CANTSC 和 MOTS 的分辨率为1 μ A/位(对于1Mbit/s CAN 总线)、但我的问题是:

  1. 如果它可能被"其它操作"(环绕的抖动)延迟、那么 CANTSC 会递增多准确?  
  2. 传输:电机到底是什么时候流动的? (在成功的总线仲裁后? 多少字节的数据?)
  3. 接待方面:摩托车何时是免费的? (MBX 过滤器成功后? 复制所有字节了吗? 在最终 CRC 或 END 位之后出现什么情况?

如果有人能分享一些这方面的经验、那将是很好的。 提前!

拉尔夫

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

    Ralf、

                   该模块已经使用了近25年了、因此我们没有太多的设计分析功能。

    Unknown 说:
    如果"其他操作"(环绕的抖动)导致 CANTSC 增量的精度有多高?  [/报价]

    这是一个32位计数器。 因此、即使在1us 位时钟时、溢出也需要大约4295秒。

    david xu 说:
    用于传输:机器人到底是什么时候免费的? (在成功的总线仲裁后? 在发送最终 CRC 或结束位之后?)

    应该是 ACK 定界符。

    david xu 说:
    接收:机器人到底是什么时候免费的? (MBX 过滤器成功后? 复制所有字节了吗? 在最终 CRC 或结束位之后?

    邮箱中的所有字节都被复制时。

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

    感谢您对这款旧设备的支持-但它仍然是一个强大的机器。 也许我的问题也适用于使用相同 eCAN 内核的其他(更新的) CPU?

    RX 和 TX MOTS 时间戳现在已经很清楚了、谢谢!

    对于 TSC 我的问题(1)也许是不精确:我想知道短语"。 因其他行动而延误。" 我假定 TSC 确保对每个 CAN 总线位时钟进行计数(没有错过时钟)、但是:

    • 这里意味着什么类型的延迟?
      • TSC 计数器增量是否延迟?
      • 或者电机的复制例程是否延迟?
      • 或者其它与 TSC 和 MOTS 的使用无关的东西?
    • 在最坏的情况下、这里预计会有多大的延迟?
      • 只支持一些 CPU 或外设时钟周期?
      • 某些 CAN 总线时钟是单个微秒?
      • 或更多? (例如、被更长的 DMA 传输暂停?)

    抱歉还有其他问题。 我只是想了解如果我使用这个 eCAN 时间戳功能、同步两个 DSP 的精度将是多高的级别。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您对这款旧设备的支持-但它仍然是一台功能强大的机器。 [/报价]

    澄清一下:器件在15年前投入生产。 但是、eCAN 模块本身大约有25年的历史。  

    也许我的问题也适用于使用相同 eCAN 内核的其他(较新的) CPU?

    我们较新的器件不再使用 eCAN。 它们使用 DCAN、该 CAN 与 eCAN 的代码不兼容。 具有 eCAN 功能的最后一个器件于10年前投入生产。

    [报价 userid="554646" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1202237/tms320f28335-ecan-time-stamp-precision/4534734 #4534734"]我假定 TSC 确保计算每个 CAN 总线位时钟(没有时钟丢失)[/quote]

    可以。

    或者用于 MOTS 的复制例程是否延迟?

    我很确定这是会延迟的东西。 同样、正如我在第一篇文章中提到的、我们不具备此模块的设计分析功能、因此我无法确定这一点。

    仅限某些 CPU 或外设时钟周期?

    应该如上所述。 自动提升 TSC 的发生与一切无关。 即使在1Mbps 时、一个位时钟(1us)也相当于30个 CPU 时钟周期(33.33ns)。 更新 MOTS 寄存器所需的 CPU 周期不应超过几个。