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.

[参考译文] AM3352:CAN 总线短路恢复

Guru**** 2587365 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/592942/am3352-can-bus-short-recovery

器件型号:AM3352

只是想知道是否有人可以在 CAN 短接总线 H 和 L 长时间(2到10分钟)时点亮任何灯、那么校正短路不会自动恢复。 如果我们短接一段较短的时间、它将恢复。 经进一步调查、CAN0至 IP -d -s 链路显示 CAN0显示错误被动、不会进入总线关闭状态并自动恢复。

通过以下方式将其配置为自动恢复:

IP 链路设置 CAN0 UP 类型 CAN 比特率500000重新启动 ms 1000

这绝对是我每秒都会得到的结果:

C_CAN_platform 481cc000.can CAN0:设置 BTR=1c02 BRPE=0000

它最终会停止打印、然后我会得到:

发送失败:没有可用的缓冲区空间

ip -d -s 链接显示 CAN0  

CAN0: MTU 16 qdisc pfifo_fast 状态向上 qlen 128
链接/CAN
CAN 状态错误被动(错误计数器 TX 248 Rx 0)重新启动 ms 1000
比特率50000采样点0.875
TQ 125 prop-g 6 phase–seg1 7 phase–seg2 SJW 1.
c_can:tseg1 2..16 tseg2 1..8 SJW 1..4 BRP 1.1024 BRP-inc 1.
时钟24000000
重新启动总线错误 arbit-lost error-warn error-pass bus-off
2707 0 2709 2709 2707
RX:字节数据包错误丢失溢出 mcast
91897 11554 0 0 0 0
TX:字节数据包错误丢失了载波整理
1524 198 0 2707 0 0

据此、BERR TX 为248、所以它进入总线关闭并重新启动(248-127次)。 但在本例中、它会卡在(248 - 127次)。

在命令行上、IP 链路 CAN0 UP 将重新启动总线。

是否有人看到类似的问题? 我已经研究了插座层、现在正在研究 DCAN 层。 有人会问您在哪里? 还是在器件级别?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是什么 Linux 版本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它是适用于 AM335x 的 TI Linux 处理器 SDK。 返回位 ti-processor-sdk-linux-am335x-evm-01.00.00.03

    它是一个生产板、不需要进行必要的切换。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们使用的是 ti linux。 这是一款较旧的 ti-processor-sdk-linux-am335x-evm-01.00.00.03

    这只是因为它是一个生产板、并且不想更改、因为它需要一些工作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢。 我已通知软件团队。 他们将在这里作出回应。