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.

[参考译文] LAUNCHXL-F280049C:CAN 传输问题

Guru**** 2782625 points

Other Parts Discussed in Thread: LAUNCHXL-F280049C

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1612633/launchxl-f280049c-can-transmission-issue

器件型号: LAUNCHXL-F280049C

大家好、E2E 专家:

我们使用三个 LAUNCHXL-F280049C 将其 CAN 总线组合在一起。 一个或 CAN 总线将被关闭。 可以使用轮询通信而不使用中断。配置 CAN 时、设置 ABO=0。 如果我们设置 ABO=1、通信是正常的。没有总线关闭。 我们想知道当禁用“自动总线开启“时 CAN 总线是否会关闭。在我们设计的 F280049 PCB 上、也存在同样的问题。 起初,我们怀疑这是一个硬件问题。后来,当我们切换到 LAUNCHXL-F280049C 时,这个问题仍然存在。 它似乎与软件配置有关。
我们使用 LAUNCHXL-F280049C 调试器展示了 CAN 的错误寄存器会引入过多的 TEC (CAN_ERRC)。
 
 
附件中提供了 CAN 部分的相关代码。  
 
 
此致、
公务员制度委员会
 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 E2E 专家、我希望您能帮助我们。 非常感谢

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

    您好、王

    位时序设置显示了 125Kbps 下的波特率。  您能否提供有关问题/设置的更多详细信息:

    1.) 器件时钟的主要来源是什么(内部振荡器或外部时钟)?SYSCLK 配置是什么?  什么是时钟配置?

    2.) 传输错误导致节点总线断开。  当节点开始传输帧时、您能否提供 CAN 帧波形?

    谢谢、

    Joseph

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

    您好、王

    感谢您发送 CAN 帧。  我在波形中没有看到任何异常、但无法看到接收节点是否根据图片发送了 ACK。  您能否放大 CRC 字段附近并查看是否有 ACK 位?  此外、在发送节点发送第一帧后、您是否可以立即停止(断点)并显示 CAN_ES 寄存器内容?

    为了澄清一下、失败的用例是 SYCLK = 100MHz、CAN 位时序设置为 125Kbps、对吧?

    我没有看到为芯片生成 100MHz SYSCLK 的外部时钟配置有任何问题。

    谢谢。此致、

    Joseph

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

    我今天不能及时答复,因为我不得不处理一些其他问题。

    我想知道您是否执行了复制测试? 我们在开机和开始通信后不会立即出现故障。 相反、CAN 总线将在一段时间后关闭。

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

    尊敬的 Wang:

    我们的验证测试通过 CAN 总线将多个 C28x(包括 f28004x 芯片)连接在一起、测试运行数小时而没有出现问题。   您使用的 CAN 总线的长度是多少?  根据您之前共享的 CAN_ES 日志、看起来传输错误突然增加。  您是否能够连接到调试器以检查 RESC(复位原因寄存器)等其他寄存器、从而查看复位是否可能已切换?  您是否还可以检查 SYSCLK 是否仍在 100MHz 上配置?  目前还没有可疑的原因,为什么可以通信失败后,为你的案例,所以只是寻找线索,什么可能导致这种情况发生.

    此致、

    Joseph

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

    CAN 总线的长度约 为 1m。CAN 总线匹配电阻为。因为使用 CAN_ES_TXOK 来确定传输是否在三台计算机 中完成。我们在函数 vEcan Drive_Tx DataBufferProcess 中使用 CAN_IF1CMD_BUSY 判断是没问题的。因此我们毫无疑问地重置或 60Ω。 在 Use  CAN_IF1CMD_BUSY 中、如果我们在多个帧中一次性使用 vEcan Drive_Push 2TxDataBuffer 的函数 、则帧将丢失。 在所有测试中、自动总线开启被禁用。 如果启用了“自动总线打开  “、则无法看到 CAN 总线关闭。  CAN 总线实际上处于  开关的状态。

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

    了解您对 RESR 和 SYSCLK 问题的观点。  自动总线开启 (ABO) 启用的行为适合您的情况。  启用后、可以由于传输错误而自动从总线关闭状态恢复。  启用 ABO 位是否会导致应用出现问题?

    了解总线误差的来源。  您是否可以查看 CAN 日志以查看总线关闭情况发生之前总线中发生的事件?