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.

[参考译文] AM2432:EtherCAT CRC 错误

Guru**** 2692745 points

Other Parts Discussed in Thread: AM2432

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1594393/am2432-ethercat-crc-errors

器件型号: AM2432

尊敬的 TI 专家:

在我们的终端客户方面、他们面临 CRC 错误。

如您所见、从节点 113-119 (XMC 4800)、端口中的 CRC 错误计数全部为 21。 从节点 128 - 118 开始、输出端口的 CRC 错误计数为 28。 但对于节点 127 (AM2432)、IN 端口的 CRC 错误仅为 4。 节点 129 (XMC 4800) 为 0。

从 ETG 1000.3 中、如果从站检测到错误、则不应修复 CRC 代码、通过的帧也应传递不正确的 CRC。 节点 113-119 (XMC 4800) 似乎遵循此标准。 但 AM2432 似乎没有。

ETG1000.3_CRCerror.png

我们的 PRU 版本是 0x532、适用于客户端的驱动器。

我的问题是 PRU 是否与 1000.3 一起实施。 当前实现可能会导致混淆、使我们定位错误节点、从而导致 CRC 错误。

 

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

    为了澄清随附的映像、Omron 读取 ESC reg 300h 和 302h、以了解输入和输出端口 CRC 错误。

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

    您好、建宇:

    因为我在外面呆了几天,所以对答复的延迟表示歉意。 您能否分享此场景的完整 Wireshark 日志?

    但对于节点 127 (AM2432)、端口中的 CRC 错误仅为 4。 节点 129 (XMC 4800) 为 0。

    您是否看到这些节点的转发错误递增?

    此致、
    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以看到、从节点 113-119 (XMC 4800) 中、端口中的 CRC 错误计数全部为 21。 从节点 128 - 118 开始、输出端口的 CRC 错误计数为 28。 但对于节点 127 (AM2432)、IN 端口的 CRC 错误仅为 4。 节点 129 (XMC 4800) 为 0。

    如果可能,您是否还可以共享拓扑图,因为屏幕截图中不清楚 — 网络中是否有任何 EtherCAT 连接点或集线器?

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

    您好、建宇:

    还需要澄清一下 、enable_multiple_SM_ACCESS_IN_SINGLE_DAPLAISE 宏是否设置为 1、即应用程序的 TX_START_DELAY 是否设置为 0x98?

    此致、
    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否分享此场景的完整 Wireshark 日志

    这是在客户现场、插入嗅探器会停止生产、这是不可能的。

    如果可能,您是否还可以共享拓扑图,因为屏幕截图中不清楚 — 网络中是否有任何 EtherCAT 连接点或集线器

    是的、有。 屏幕截图仅是 EtherCAT 集线器的一侧分支。 下图显示了拓扑的总体视图。 它应该相似但不完全相同。

    我还需要一个说明、 enable_multiple_SM_ACCESS_IN_SINGLE_DUCATLE 宏是否设置为 1、即应用程序中的 TX_START_DELAY 是否设置为 0x98?

    enable_multiple_SM_ACCESS_IN_SINGLE_DATARATUTE 为 0。  

    这让我想起了我们正在测试的内容。 当 enable_multiple_SM_ACCESS_IN_SINGLE_DATAG电报 为 1 时、AM2432 不断 拾取 CRC 错误。 但是、XMC 4800 会收集 CRC 错误。

    我想知道大家是否可以进行测试。 假设您有 1 个主 节点和 9 个从节点、则第一个从节点是意向性不良节点、每秒通过一个具有随机 CRC 的帧。 发生错误的从器件后的前 4 个从器件正在使用 ET1100 解决方案、例如 P65、最后 4 个从器件是正常的 AM2432。

    如果我的猜测正确、从器件 2-5 的 IN 端口的 CRC cnt 每秒增加 1、从器件 6-9 的 CRC cnt 将保持 0。

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

    您好、建宇:

    这是在客户的站点、插入一个监听器将停止其生产、这是不可能的。

    我懂了。 客户是否 能够重现此问题?

    下图显示了拓扑的总体视图。 它应该相似但不完全相同。

    这是否意味着节点 113-119 和节点 127-135 位于不同的分支中、即所有节点都没有按顺序连接?

    此致、
    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是否意味着节点 113 - 119 和节点 127-135 位于不同的分支中、也就是说、所有节点都不是按顺序连接的

    它们按顺序连接。

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

    因此、Omron 使用左侧的黄色线来显示 拓扑、 节点 113 - 119 和节点 127-135 依次连接到次级分层机的 X3 端口。 您可以在图像中看到该示波器的 X4 和 X5 端口。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我猜对了、则从器件 2-5 的 IN 端口的 CRC cnt 每秒增加 1 个、从器件 6-9 的 CRC cnt 将保持为 0。

    您能否澄清一下此处所指的 ESC 错误计数器? 0x300 和 0x302 单独使用、还是它还包括转发的错误计数器 0x308 和 0x30a?

    在您与 AM243 一起的设计中使用了哪个 PHY? 是否在 PHY 中启用奇半字节检测?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否说明您在这里提到的是哪些 ESC 错误计数器? 0x300 和 0x302 单独使用、或者它是否还包括转发的错误计数器 0x308 和 0x30a?

     仅 0x300 和 0x302

    ]在您与 AM243
    的设计中使用了哪个 PHY

    DP83826

    在 PHY 中启用奇半字节检测

    是否建议启用? 我需要检查硬件设计

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“622144" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1594393/am2432-ethercat-crc-errors/6157752 ]0x300 和 0x302 单独

    这些错误计数器跟踪由给定 ESC 产生的 CRC 错误

    0x308 和 0x30a 将跟踪转发的错误计数器 — 假设前一个器件检测到 CRC、那么它将在数据包的 FCS 之后添加奇半字节、ESC 将在此处计数转发的 CRC 错误。  您是否也可以 在 AM243 中检查这些计数器?

    是否建议启用? 我需要检查硬件设计[/报价]

    是的。 位 1(奇半字节检测禁用)需要设置为 1、以便将奇半字节转发到 PRU 固件、并使 PRU 固件在传出数据包中插入奇半字节。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在 PHY 中是否启用了奇半字节检测?

    禁用

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

    您能否检查转发的错误计数器 (0x308 和 0x30a) 是否在 AM243 ESC 中递增、因为如果前一个子器件引入了错误、这是符合规范的预期行为。

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

    您好、

    我想更新问题的状态。 在终端客户方面、由于其他问题、我们更新了 AM2432 驱动器的固件。 令人惊讶的是、更新后没有 CRC 错误。 它可能是相关的、或者不相关。

    在当前状态下、终端客户让我们通过测试。 但我们也无法重现问题。  

    因此、我想问一下标准情况是什么、故障节点持续生成 CRC 错误。 当再次发生该情况时、我们将仔细查看这些寄存器 (0x300、0x302、0x308 和 0x30A)

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

    您好、建宇:

    我想更新问题的状态。 在终端客户方面、由于其他问题、我们更新了 AM2432 驱动器的固件。 令人惊讶的是、更新后没有 CRC 错误。 它可能相关或不相关。

    感谢您的更新。 很高兴迁移到最新 EtherCAT 固件解决了问题。  

    o 我想问一下、当故障节点不断产生 CRC 错误时、标准场景是什么。 当这再次发生时、我们将仔细查看这些寄存器 (0x300、0x302、0x308 和 0x30A)

     分别由于 CRC 错误和 PHY RX_ERR 而导致 0x300/301 递增。 ESC 会在将此数据包转发到下一个器件时添加奇半字节来标记错误源。 这会导致以下节点递增转发的错误计数器 0x308/309。

    此致、
    Aaron