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.

[参考译文] TCAN337:TCAN337 -应用程序错误 — CAN 故障 — 确认错误

Guru**** 2668255 points

Other Parts Discussed in Thread: TCAN337

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1594142/tcan337-tcan337---application-error---can-failure---acknowledge-error

器件型号: TCAN337

您好:

我们在现场面临一个间歇性 CAN-FD 问题、并希望得到社区的指导。

我们的系统在总线上有两个使用请求 — 响应架构的器件(总线上没有其他器件)。 主器件每 30ms 发送一次请求、从器件做出响应。 此设置部署在数百个连续(24 小时)运行的装置中。 其中,大约 3 到 5 个单位每天显示  确认错误 、我们通过 CAN 协议错误计数器进行跟踪。

行为异常:

•任何设备上都随机出现此问题。
•否  总线关闭  任何时候报告状况。
•尽管没有总线关闭、两个节点之间的通信仍会暂时停止。
•通信会在几秒钟后自动恢复、无需任何干预。

最初、我们怀疑存在物理布线问题。 我们重新检查了所有连接器、甚至用胶水固定它们。 总线两端都具有 120 Ω 终端。 但是、问题仍然是随机出现的。

以下是系统详细信息:

收发器:  TCAN337
波特率:  125kbps
CAN 总线长度:  ~100cm
端接:  两端均为 120 欧姆
FD-CAN 内核时钟:  50MHz
时钟分频器:  1.
比特率切换:  禁用
自动重传:  禁用
传输暂停:  禁用
ProtocolException:  禁用

标称位时序:
•预分频器= 10
•SyncJumpWidth = 8
•TimeSeg1 = 31
•TimeSeg2 = 8

数据位时序(BRS 禁用,与标称值相同):
•预分频器= 10
•SyncJumpWidth = 8
•TimeSeg1 = 31
•TimeSeg2 = 8

滤波器:
•StdFiltersNbr = 1
•ExtFiltersNbr = 0

已执行故障排除步骤

  1. 物理接线检查
    •已验证接头是否固定和电缆状况
    •涂抹胶水以防止与振动相关的断开
    •已确认两端的正确 120 欧姆端接

  2. 错误计数器监控
    •在协议错误计数器中观察到 ACK 错误
    •未报告错误警告、错误被动或总线关闭状态

  3. 时序验证
    •已检查标称位时序设置
    •已确保两个节点使用相同的配置
    •两侧均禁用比特率切换

  4. 总线恢复逻辑
    •实现了总线关断恢复
    •在这些事件期间绝不会触发

  5. 环境因素
    •单元运行 24×7
    •在不同的器件和位置会随机发生错误

两端都有端接电阻器(120 欧姆)。 未连接其他节点。

如果您对哪些因素可能导致总线未关闭的间歇性 ACK 错误有任何见解或建议、我们将不胜感激。

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

    尊敬的 Tirthraj:

    由于时间不匹配(噪声或时间边缘性),在这种情况下,ACK 槽暂时被阻止拉显性,发射器不能检测到 ACK 槽中的显性位,信号错误,但会继续重新传输。 尽管发送错误计数器增加、但它会在 128 处停止出现错误、而在例如总线关闭的情况下永远不会达到 256。 因此、由于没有发生额外的错误、通信会停止、直到问题得到解决、并且计数器会自然减少、因此建议采用以下建议:

    • Re — 以间歇性方式评估您的位时序和采样点,可以发现在时钟源,温度或电缆阻抗的变化中位时序灵敏度出现裕度。 检查控制器的每位总时间量子。 我认为您的采样点大于 75%。 如果总线长度较长、较大的值可能会起作用、对于 1 米机箱、建议使用 75%的值。 这应该对信号反射更加稳健。 建议在网上使用 CAN 位计时计算器来优化数据速率设置和 1 米的总线长度。 您还可以对 TXD、RXD、CANH 和 CANL 引脚进行观察。
    • 验证两个器件上控制器的时钟精度。 尤其是在温度变化时。
    • 自全天候运行以来、您可能会考虑附近设备产生的 EMI。 考虑屏蔽对电缆或添加 CMC。
    • 仔细检查两个节点之间是否存在 GND 偏移、以确保正确接地。
    • 测量总线阻抗、确保其实际为 60 欧姆。 谢谢、确保连接器没有因温度或振动而开路的任何焊点问题、这些问题可能导致总线阻抗暂时变化、从而导致反射和 ACK 错误。

    此致、

    Michael。