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.

[参考译文] TMS570LS1224:canEnableloopback HALCoGen API 未等待 CAN 电芯测试模式转换

Guru**** 2658175 points

Other Parts Discussed in Thread: HALCOGEN, TMS570LS1224

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1588619/tms570ls1224-canenableloopback-halcogen-api-not-waiting-for-can-cell-test-mode-transition

器件型号: TMS570LS1224
主题中讨论的其他器件: HALCOGEN

尊敬的:

我已根据安全手册的建议对 CAN 接口实施了环回测试。 这在我们当时的硬件版本中起作用。  

现在、由于帧未被接收、环回测试偶尔失败。 奇怪的是、CAN1 的发生频率高于 CAN3。

我已经调查过,我发现,在调用 API canEnableloopback () 和 canDisableloopback () 之后,我不得不增加 20us 的延迟,这样才能可靠地工作。 我假设 CAN 单元需要一些时间来按照这些 API 的命令进行测试模式转换、但 API 会立即返回、而不是等待。

虽然引入这些等待时间后问题得到了解决、但我担心随着我们的新硬件版本而发生的时序行为变化。 因此我想知道:

  • 你能否证实我对这一意见的解释?
  • 如果是、TI 建议等待多久?
  • 是否有外部因素会影响 CAN 电池时序行为?
  • 如果是、哪个(电源电压稳定性,温度等)?
  • 在这方面是否缺少 API 或其文档?

感谢您的支持。

Julian

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

    您好 Julian:

    我们以前从未遇到过这个问题。

    1. HALCoGen 驱动程序 API(和)canEnableLoopback()canDisableLoopback()似乎没有记录模式更改后所需的任何延迟

    2. TMS570LS1224 技术参考手册介绍了环回模式功能、但未指定模式转换的时序要求

    此外、没有其他位影响环回启用、只有相应的环回位处于启用状态、因此没有其他标志可轮询环回启用。

    因此、我们建议 将 20µs 延迟保留在您的代码中。

    --
    此致、
    Jagadish。