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:Omron NX701 在驱动器下电上电时将驱动器设置回初始化

Guru**** 2376610 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/1513662/am2432-omron-nx701-set-drive-back-to-init-if-the-drive-is-power-cycled

器件型号:AM2432

工具/软件:

尊敬的 TI 专家:

我们遇到了 AM2432 驱动器的 Omron PLC 问题、而 XMC4800 驱动器正常。

以下是简化的连接:

Omron NX701 -网络分析器 — XMC4800 (ADP 2)- AM2432 (ADP 1)

1.首次加电/PLC 程序下载后,驱动器可正常运行。  

2.发出清除故障命令时不会发生任何情况

3. XMC4800 断电、通电、清除 PLC 故障以将所有驱动器设置回 OP。

4、 发出“清除故障“命令后,什么也不会发生。

 AM2432 断电 (drive_power_off.pcap)、 上电、清除故障以将所有驱动器设置为 OP (drive_power_on_reset_to_op.pcap)

6.发出第二个清除故障命令时、AM2432 被设置回 Init (after_power_on_reset_to_Init.pcap)。

7.发出第 3 个清除故障命令时、AM2432 设置为 OP(在_POWER_ON_Init_reset_to_op.pcap 之后)

8.可以重复步骤 6 和 7 以重现问题。

9.如果 AM2432 和 XMC4800 之间的电缆断开并连接、重复步骤 6 和 7 将不再重现该问题。

e2e.ti.com/.../TI_5F00_SDK.zip

我认为 AM2432 的连接行为 与断电和上电、电缆断开和重新连接等不同。

AM2432 的代码简化为从 SDK 构建的 Beckhoff 从站协议栈、问题仍然存在。

一个值得注意的问题是、当 AM2432 供电时、软件包丢失 150ms。

我们认为 PHY 可能在 PRU 未激活时仍然处于活动状态。

现在、当检测到交流丢失故障时、PHY 将复位(这不会解决 Omron 问题)。

PHY 复位也应用于 First Time Init 到 PreOP(可以解决问题)。

但是、我们正在考虑是否可以在上电时进行复位(经过测试但无法正常工作)、以及是否有人能够了解导致该问题的根本区别

谢谢。

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

    PHY 为 DP83826

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

    您好、

    因此、我认为 AM2432 的连接行为 与断电和上电到电缆断开和重新连接不同。
    • 您能否详细介绍一下步骤 6 和 7。 将必须在器件进入初始化状态时查看 DL 状态是否显示为活动链路或 PHY 进入复位状态、因为您提到在重新连接电缆后、问题已解决。

    如何在子器件中实现 PHY 复位逻辑? 建议的顺序是在启动期间仅执行一次 PHY 复位。 请注意、PHY 复位是一个很昂贵的步骤、在预期的时间执行此操作可能会导致链路中断。

    PHY 复位也适用于 First Time Init to PreOP(这可以解决问题)。
    • 不建议这样做、因为上述情况、可能会出现问题。 PHY 复位应在堆栈初始化或状态转换之前完成、因为 EtherCAT 主机器件期望子器件在状态转换期间做出响应、而通过复位、此链接可能会断开。
    一个值得注意的问题是、当 AM2432 供电时、软件包会丢失 150ms。
    • 这一点需要牢记、PHY 初始化和 EtherCAT 固件初始化将需要一些时间才能建立有效链路。 这可以通过记录 MDIO 通信成功、EtherCAT 协议栈初始化等条件下 PHY 复位和初始化的时间来确认
    [引用 userid=“622144" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1513662/am2432-omron-nx701-set-drive-back-to-init-if-the-drive-is-power-cycled ]但我们正在考虑是否可以在加电时进行复位(已测试但无法正常工作)
    • 是这是建议的顺序。 如果不工作、您是否表示链路未建立或链路已建立、但子器件不会过渡到 OP(步骤 6)?  

    此致、
    Aaron  

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

    您好 Aaron、

    很抱歉延迟回复、因为客户确实花了很多时间来调试它。 让我分享最新信息并在此处回答您的问题。

    • 如何在子器件中实现 PHY 复位逻辑? 建议的顺序是在启动期间仅执行一次 PHY 复位。 请注意、PHY 复位是一个很昂贵的步骤、在预期的时间执行此操作可能会导致链路中断。

    未执行硬复位、或仅尝试软复位。 我们尝试了修改下拉配置并在初始化期间拉至高电平、但这两种方法都导致 OP 丢失问题。 该解决方案是在首次进入 OP 模式后执行一次软复位、从而显著减少了后续 PLC 复位期间的链路中断。

    • 是这是建议的顺序。 如果不工作、您是否表示链路未建立或链路已建立、但子器件不会过渡到 OP(步骤 6)?  

    上电后、第一次 PLC 复位可进入 OP 模式、但再次触发 PLC 复位将使其回初始模式

    根据数据包捕获分析、PLC 发送一条命令将从器件转换为 INIT 状态、但随后不会执行任何后续操作。 相比之下、使用 TI DSP 的客户或配备 XMC4800 微控制器的客户的其他驱动器不会从 PLC 接收此 init 命令 PLC 报告专门针对 AM2432 模型的器件 WDT 错误。 值得注意的是、采用 TI DSP 和基于 XMC4800 的驱动器的系列运行时未出现此问题。 只有 AM2432 有 该问题。

    您能否为客户提供更多建议?

    谢谢、

    Kevin

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

    您好 Aaron、

    在进一步调试后添加更多详细信息。

    目前有一种特殊的现象。 我们注意到、问题在某种程度上与有关  第一个节点 。 如果同时重新启动所有的第一个节点、则会重新启动  OP 状态丢失  确保其不会发生。 但是、如果第一个节点在之后保持未重新启动状态  第一次 PLC 复位 、系统可以正常进入 OP 状态、但在期间  第二次 PLC 重置 、OP 状态将丢失。

    谢谢、

    Kevin

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

    尊敬的 Kevin:

    该解决方案是在首次进入 OP 模式后执行一次软复位、从而在后续 PLC 复位期间显著减少链路中断。
    • 我理解此权变措施有助于解决这个问题、但如前所述、不建议这样做、因为在 SAFEOP 至 OP 期间执行软复位时、数据包可能会被丢弃。  
    我们注意到该问题与有关  第一个节点 .
    • 第一个节点 AM2432 是否在运行 EtherCAT 子设备?
    如果同时重新启动所有第一个节点、则  OP 状态丢失  不会出现。
    • 这意味着 AM2432 在多次 PLC 复位后不会从 OP 回退到 INIT。 看起来第一个器件没有正确启动? 并且 AM2432 中的复位逻辑与其他节点相比是否不同?

    此致、
    Aaron

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

    您好 Aaron、

    [引述 userid=“550875" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1513662/am2432-omron-nx701-set-drive-back-to-init-if-the-drive-is-power-cycled/5835589 #5835589“]
    • 第一个节点 AM2432 是否在运行 EtherCAT 子设备?
    [/报价]

    我们尝试了一些不同类型的模型作为第一个节点,结果都是相同的。

    您的意思是、AM2432 在多次 PLC 复位后不会从 OP 回退到初始化? 看起来第一个器件没有正确启动? 并且 AM2432 中的复位逻辑与其他节点相比是否不同?

    是的。 如果第一个节点与其他 AM2432 节点一起进行下电上电、则 AM2432 在多次 PLC 复位后不会从 OP 恢复到 INIT。

    但是、如果第一个节点在之后保持未重新启动状态  第一次 PLC 复位 、系统可以正常进入 OP 状态、但在期间  第二次 PLC 重置 、OP 状态将丢失。 问题是网络中只有 AM2432 失去了 OP。 其它驱动器测试正常。

    今天、我们 在网络中通过 TI 的 Beckhoff SSC 演示工程对 AM243 LaunchPad 进行了测试。 它也有这个问题。

     它似乎与 phy 复位无关。

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

    我想补充一个解释。

    PLC 复位 这里指的是 Sysmac 中的“RESET ALL(重置全部)“按钮、它是 PLC 的上部计算机软件。 这是一种清除所有故障的方法。

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

    你(们)好

    我们现在更好地定义了问题的行为、现在我们看到了 AM243x-LP 与“EtherCAT_SLAVE_Beckhoff ssc_demo“示例中的相同问题。

    重现此问题的方法如下:

    1.当第二个节点使用 AM243x 和 TI 的 EtherCAT 协议栈运行时、至少有 2 个节点(第一个节点可以相同,但不必相同)、连接到 Omron NX701     控制器。

    2.打开节点并设置网络 — 所有节点均处于 OP 状态。

    3.重启第二个节点( LP 或我们的驱动器,取决于测试设置)。

    4.点击 Omron Sysmac 软件中的“全部重置“按钮 — 两个节点都进入 OP、控制器日志中的所有错误都被清除。

    5.再次点击“重置全部“按钮,第二个节点将只从 OP 下降到初始化 — 将出现处理数据通信错误。

    6.再次点击“全部重置“按钮,节点将进入 OP , 控制器日志中的所有错误都将被清除。

    重复执行步骤 5 和 6。

    可以通过以下两种方法之一来解决问题:

    1.从端口中的第二个节点断开并连接 ECAT 电缆。

    2.重启 首先 振铃。

    我已从同一驱动器连接了一个 ESC 寄存器 (0x3001000 - 0x30010ECF) 转储、一次是问题“解决“时、另一次是问题发生时。

    您能否根据上述说明帮助确定是否存在您认为会导致此问题的值?

    谢谢您、

    Sahar Schwartz  

    e2e.ti.com/.../0x30010000_5F00_0x30010ECF_5F00_no_5F00_issue.date2e.ti.com/.../0x30010000_5F00_0x30010ECF_5F00_with_5F00_issue.dat

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

    尊敬的 Sahar:

    比较 Wireshark 日志、确保没有问题、有问题、 我看到 0x0442 寄存器值为 1((PD 看门狗已过期)、而对于工作情况、该值为 0:


    0x0443(PDI 看门狗过期计数)在这两种情况下均递增。 除此之外、我没有看到 ESC 寄存器出现任何其他问题。

    此外、我们希望从 PLC 的角度了解 PLC 何时发出哪种类型的框架  全部复位 以及 ESC 如何处理该帧/数据报。 那么、您能否在步骤 4 至步骤 6 中共享 Wireshark 日志?

    此致、
    Aaron  

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

    e2e.ti.com/.../79_5F00_clearfault_5F00_drives_5F00_lose_5F00_OP.rar

    您好 Aaron、

    我试图在主器件将 AL 控制 INIT 发送到 AM2432 之前、发现 AM2432 与 EtherCAT 数据包中其他类型的从器件之间存在一些差异。

    附加的文件是第二次 PLC 重置期间的监听器数据包。 从器件 0x4F 为 AM2432。

    确实存在一些差异。 但我不确定哪些因素会影响结果。

    AM2432 使用 8 字节访问、PDI 模拟 EEPROM、而其他器件 使用 2 字节地址

     2. AM2432 在 ESC 功能中没有 MII 外部链路检测位。

     ...

    我想知道我们是否可以更改这些 ESC 寄存器值?  

    似乎主器件读取 0xA 0xC 0xE 0x40 0x910、然后将预操作发送到其他正常驱动器、但将 FPWR 0x600 和 INIT 发送 到 AM2432。

    您能帮助查看监听器数据包吗?

     

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

    e2e.ti.com/.../3515.79_5F00_clearfault_5F00_drives_5F00_lose_5F00_OP.rar

    您好 Aaron、

    我试图在主器件将 AL 控制 INIT 发送到 AM2432 之前、发现 AM2432 与 EtherCAT 数据包中其他类型的从器件之间存在一些差异。

    附加的文件是第二次 PLC 重置期间的监听器数据包。 从器件 0x4F 为 AM2432。

    确实存在一些差异。 但我不确定哪些因素会影响结果。

    AM2432 使用 8 字节访问、PDI 模拟 EEPROM、而其他器件使用 2 字节地址


    2. AM2432 在 ESC 功能中没有 MII 外部链路检测位。

    我想知道我们是否可以更改这些 ESC 寄存器的值?


    似乎主器件读取 0xA 0xC 0xE 0x4 0x910、然后将预处理发送到其他正常驱动器、但将 FPWR 0x600 和 INIT 发送到 AM2432。

    您能帮助 分析监听器数据包吗?

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

    e2e.ti.com/.../3515.79_5F00_clearfault_5F00_drives_5F00_lose_5F00_OP.rar

    您好 Aaron、

    我试图在主器件将 AL 控制 INIT 发送到 AM2432 之前、发现 AM2432 与 EtherCAT 数据包中其他类型的从器件之间存在一些差异。

    附加的文件是第二次 PLC 重置期间的监听器数据包。 从器件 0x4F 为 AM2432。

    确实存在一些差异。 但我不确定哪些因素会影响结果。

    AM2432 使用 8 字节访问、PDI 模拟 EEPROM、而其他器件使用 2 字节地址


    2. AM2432 在 ESC 功能中没有 MII 外部链路检测位。

    我想知道我们是否可以更改这些 ESC 寄存器的值?


    似乎主器件读取 0xA 0xC 0xE 0x4 0x910、然后将预处理发送到其他正常驱动器、但将 FPWR 0x600 和 INIT 发送到 AM2432。

    您能帮助 分析监听器数据包吗?

    AM2432 0x141 PDI 控制器没有增强型链路检测。 启用直流同步输出、启用直流锁存输入位

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

    您好 Aaron、

      另一个问题是 AM2432 节点的系统时间。

    在主器件将 INIT 发送到 AM2432 之前、主器件读取 0x910 DC systime。

    它显示 Am2432 的 DC systime 要大一点。

    这会产生影响吗?

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

    嗨、Aaron

    附件是 Wireshark 日志、用于记录何时“重置全部“导致无法初始化的情况。

    此外,我连接了 链中两个驱动器的 PHY 寄存器值,一个处于“良好“状态,另一个处于“不良“状态。

    Sahar  

    e2e.ti.com/.../wireshark_5F00_rec.zipe2e.ti.com/.../PHY_5F00_Compare.xlsx

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

    在 Wireshark 记录中、您可以找到 2 个节点。

    第一个节点是 0x002c、第二个节点也是 init 的节点 0x000d

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

    你(们)好

    尽管我们启用了增强型链路指示、但 ESC 寄存器 0x141 仍为 0。

    一旦我向该寄存器写入 1、问题似乎已经解决。

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

    尊敬的 Sahar:

    我写 1 本注册表后、问题似乎已经解决。
    • 也就是说、如果您设置了 0x0110.bit2、那么 AM243x 在 Omron PLC 发出的“Reset All“(重置全部)期间不会进入 init?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我上传了错误的图片。 该寄存器为 0x0141

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

    但我们正在实现增强型链路指示。

    寄存器的值一开始不应该是 0x1 吗?

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

    尊敬的 Sahar:

    0x0141 由 EEPROM 更新:

    从 bsp_cbsp.c 中的 bsp_eeprom_load_esc_registers() API 获取的快照:

     EEPROM_CACHE[1]的内容将写入 0x0141 ESC 寄存器。

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

    我昨天误导了你—抱歉。

    我本来打算将 1 写入位 1、但实际上我将 1 写入位 0。 因此、这与增强型链路检测无关。

    它实际上与以下所述的行为相关:“AL 状态将设置为写入 AL 控制寄存器的值。“

    有什么想法、为什么这样做会有所不同?
    此外、我们记录了 AL 状态和 AL 控制值、它们似乎不会一起变化、这与位 0 的描述所表明的相反。

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

    尊敬的 Sahar:

    我们将审查 ESC Reg0x141.bit0 = 1 的固件行为、并返回给您提供更多详细信息。  

    此致、
    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、我们记录了 AL 状态值和 AL 控制值、它们似乎没有一起变化、与位 0
    的描述相反。

    这是合理的、目前固件不使用 141.Bit0、其值无关紧要。 遗憾的是、我们这里没有很好的解释、为什么它会有所帮助。 您是否需要写入 0x141 来查看改进或任何其他寄存器写入是否有所帮助?

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

    我没有尝试其他寄存器。

    我尝试写入寄存器 0x141 位 1、但没有任何帮助。 此外、当我将位 0 设置回 0 时、会返回问题。

    我也尝试连续写 0 几次,这没有帮助。

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

    尊敬的团队:

    您之前已提供 ESC 寄存器空间。 除此之外、您能否为非工作用例和工作用例(当 0x141.bit0 = 1 时)提供完整的 ICSS 存储器转储? 我指的是 AM64x/AM243x 处理器技术参考手册中的以下寄存器

    此致、
    Aaron