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.

[参考译文] PROCESSOR-SDK-AM335X:IGH EtherCAT 主站存在问题

Guru**** 2823045 points

Other Parts Discussed in Thread: AM3357, AMIC110

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/666649/processor-sdk-am335x-issues-with-igh-ethercat-master

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:AM3357AMIC110

您好!

我们在伺服逆变器中的 AM3357上使用 PRU-ICSS-EtherCAT_Slave。
该设计最初基于 TI 的代码、但多年来已在功能上进行了大幅增强。
该器件自两年以来便可正常工作、不会出现一些拥有 TwinCAT、Acontis、3S 等多种主器件的客户的问题。

现在、我们的一位客户坚持使用具有 IGH 主器件的伺服逆变器、发现了严重的通信问题。
我们再现了 IGH EtherCAT 主站 v1.4.2的问题、并遇到了 PRU 挂起问题。
我们检查了主器件配置并得出结论、这是内部 PRU 问题。

一旦主器件配置了 SM2/3和 FMMU 并开始设置 DCcycle 再进行通信中断。 即使读取 SII EPROM 或邮箱通信也会中断。
可以在附加的主日志中看到此行为:
(笑声)
[464.9065] EtherCAT 调试0-0:成功配置了 SM3的 PDO 分配。
[464.9069] EtherCAT 调试0-0:SM2:Addr 0x1800、大小 10、Ctrl 0x64、en 1.
[464.9070] EtherCAT 调试0-0:SM3:Addr 0x1C00、大小 12、Ctrl 0x60、en 1
[464.910075] EtherCAT 调试0:0:FMMU:LogAddr 0x00000000、大小 10、PhysAddr 0x1800、SM2、Dir 输出
[464.910077] EtherCAT 调试0:0:FMMU:LogAddr 0x0000000A、大小 12、PhysAddr 0x1C00、SM3、Dir In
[464.911082] EtherCAT 调试0-0:将直流周期时间设置为500000 / 0。
(笑声)
[464.913378] EtherCAT 调试0:超时数据报 ff8800d93be678、索引 EC 等待2000 us。
[464.982475] EtherCAT 错误0-0:无法接收 SII 读取数据报:数据报超时。
[464.982478] EtherCAT 错误0-0:无法确定 SII 内容大小:读取字偏移0x0040失败。 假设为64个字。
(笑声)
[465.001531] EtherCAT 调试0:0:从站0没有与配置(0x0000088F)匹配的供应商 ID (0x00000000)。
(笑声)
[465.018586] EtherCAT 调试0-0:从站不支持邮箱通信。
[465.020593] EtherCAT 错误0-0:设置 PREOP 状态失败、从站拒绝状态更改(INIT +错误)。
[465.021598] EtherCAT 错误0-0:AL 状态消息0x0016:"无效的邮箱配置"。
[465.023604] EtherCAT 0-0:确认状态初始化。
[465.023606] EtherCAT 调试0-0:已为请求做好准备。
[465.837522] EtherCAT 警告0:34数据报超时!

从站堆栈是最新的(PRU-ICSS-EtherCAT_Slave_01.00.05.00)、TI-ESC 报告构建04EC。

我们要求 EtherCAT 团队查看随附的 Wireshark 日志(和主日志)、以确定并有望解决此问题。


谢谢你。

e2e.ti.com/.../3250.dmesg.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    PS:遗憾的是、挂接后、鲨鱼线日志被拒绝
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../wireshark_5F00_r8169.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、此处还提供了 Wireshark 日志。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dirk、

    是否仅在最新的 PRU-ICSS-EtherCAT_Slave_01.00.05.00版本中发现问题、而不是以前的1.0.4版本?
    您是否在没有功能增强的情况下测试版本?
    我们不熟悉 IGH EtherCAT 主站、但会查看 Wireshark 日志、并告知您是否有任何有趣的事情。

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

    Hallo Garrett、

    >>最新 PRU-ICSS-ETHERCAT_Slave_01.00.05.00版本中是否仅出现问题、而不是以前的1.0.4版本?
    我在 TI 网站上搜索下载版本1.0.4以按照您的要求进行测试。
    很遗憾、我没有找到任何链接来下载版本1.0.4。 TI 仅提供版本01.00.05.00。
    所以我不能回答这个问题。

    >>您是否在没有功能增强的情况下测试版本?
    否 我们更改了很多高级功能、例如电机控制。 TI-ESC 和 SSC 5.11保持不变。
    我将尝试展开我们的所有增强功能、但这需要大量时间。

    在检查通信日志时、我发现通信中断的地方。
    在系统时间调整之前有一个数据包、一切正常:

    然后调整系统时间(通信仍在运行、请参阅 WKC=3):

    几次滴答之后、通信最终中断、无法恢复:


    实际上、我无法想象在 A8上运行的空间矢量 PWM 和位置/速度控制器等高级代码如何迫使依赖处理器 PRU 在主器件调整系统时间时中断通信。
    主从器件(PRU)之间似乎更有可能出现不符合情况。
    为了更好地进行诊断、我附加了一个经过过滤的通信日志。
    e2e.ti.com/.../5123.wireshark_5F00_r8169_5F00_gefiltert6.zip

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

    您好!

    一周以上就结束了。
    TI 方面是否有任何进展?
    您是否查看过 Wireshark 日志?
    是否有任何解释说明为什么 PRU 会从调整系统时间的那一时刻阻止任何通信?

    >>最新 PRU-ICSS-ETHERCAT_Slave_01.00.05.00版本中是否仅出现问题、而不是以前的1.0.4版本?
    正如我一周前所写的、我在 TI 网页上找不到任何下载版本1.0.4的链接。
    我可以从何处下载此版本?

    在过去4年的发展过程中、我们仍在按照您的要求展开功能改进。
    我们可能会在一周内完成、但很明显-正如我之前说过的- EtherCAT 功能不受影响。
    因此、我认为这一问题不会随着回滚而消失。



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

    很抱歉耽误你的时间。 我上周出差、只是想为您提供最新信息。 下面是我们的分析和可能的解决方案:

    从数据包跟踪中:
    1)1)主器件将 AL_CTRL 设置为"init"–帧18325
    2)2)从机将状态设置为"init"–帧18326
    3)主设备清除 FMMU 和 SMS–帧18330和18332
    4)主器件将 AL_CTRL 设置为"pre-OP"–帧18336
    5)5)从机以 AL_STATUS 作为"初始化、错误"进行响应–帧18338
    因此、当从 INIT 变为 PRE-OP 时、从器件看起来会给出错误。

    当应用程序中的 PDO 条目与 IGH 主控方 main.c 文件不匹配时、很可能会观察到该错误、可以通过使用从命令获取的条目修改 IGH 主控方的 main.c 文件中的函数"ecrT_SLAVE_CONFIG_REG_PDO_entry"来解决该错误
    $>sudo EtherCAT cstruct
    然后重建主设备。

    您能否尝试一下并告诉我们它是否有用?

    (您不需要在 v1.0.4上花费时间、因为这不是产品升级问题)。

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

    您好、Garret、

    非常感谢您的回答。

    2017年12月开始使用 IGH 主站时、我们已使用工具"EtherCAT cstruct"为主站的 PDO 和 SM 配置生成代码片段。
    为了节省一切、我们还咨询了 IGH。
    如果这些设置正确、则下一级别的检查为:

    1) 1)检查主日志是否显示正确的 PDO 和 SM 配置

      [230.635956] EtherCAT 调试0:0:ecrt_slave_config_sdo (SC = 0xff880101dc7000、索引= 0x3A00、子索引= 0x06、数据= 0xff88002f5db7a0、大小= 2)
      [230.635963] EtherCAT 调试0:0:ecrt_slave_config_sdo (SC = 0xff880101dc7000、索引= 0x6060、子索引= 0x00、数据= 0xff88002f5db7a0、大小= 1)
      [230.635973] EtherCAT 调试0:0:0:ecrt_slave_config_sync_manager (SC = 0xff880101dc7000、SYNC_INDEX = 0、dir = 1、watchdog_mode = 2)
      [230.635975] EtherCAT 调试0:0:0:ecrt_slave_config_sync_manager (SC = 0xff880101dc7000、SYNC_INDEX = 1、dir = 2、watchdog_mode = 2)
      [230.635978] EtherCAT 调试0:0:ecrt_slave_config_sync_manager (SC = 0xff880101dc7000、SYNC_INDEX = 2、dir = 1、watchdog_mode = 1)
      [230.635980] EtherCAT 调试0:0:0:ecrt_slave_config_PDO_assign_clear (SC = 0xff880101dc7000、SYNC_INDEX = 2)
      [230.635983] EtherCAT 调试0:0:ecrt_slave_config_PDO_assign_add (SC = 0xff880101dc7000、SYNC_INDEX = 2、PDO_INDEX = 0x1601)
      [230.635986] EtherCAT 调试0:0:0:ecrT_SLAVE_CONFIG_PDO_MAPPING 清除(SC = 0xff880101dc7000、PDO_INDEX = 0x1601)
      [230.635988] EtherCAT 调试0:0:0:ecrT_SLAVE_CONFIG_PDO_MAPPING 添加(SC = 0xff880101dc7000、PDO_INDEX = 0x1601、Entry_index = 0x6040、entry_subindex = 0x00、entry_bit_length = 16)
      [230.635991] EtherCAT 调试0:0:ecrT_SLAVE_CONFIG_PDO_MAPPING 添加(SC = 0xff880101dc7000、PDO_INDEX = 0x1601、Entry_INDEX = 0x607A、entry_subINDEX = 0x00、entry_bit_length = 32)
      [230.635994] EtherCAT 调试0:0:0:ecrt_slave_config_PDO_MAPPING 添加(SC = 0xff880101dc7000、PDO_INDEX = 0x1601、entry_INDEX = 0x60B1、entry_subINDEX = 0x00、entry_bit_length = 32)
      [230.635997] EtherCAT 调试0:0:0:ecrt_slave_config_sync_manager (SC = 0xff880101dc7000、SYNC_INDEX = 3、dir = 2、watchdog_mode = 1)
      [230.635999] EtherCAT 调试0:0:0:ecrt_slave_config_PDO_assign_clear (SC = 0xff880101dc7000、SYNC_INDEX = 3)
      [230.636001] EtherCAT 调试0:0:ecrt_slave_config_PDO_assign_add (SC = 0xff880101dc7000、SYNC_INDEX = 3、PDO_INDEX = 0x1A01)
      [230.636003] EtherCAT 调试0:0:0:ecrT_SLAVE_CONFIG_PDO_MAPPING 清除(SC = 0xff880101dc7000、PDO_INDEX = 0x1A01)
      [230.636005] EtherCAT 调试0:0:ecrT_SLAVE_CONFIG_PDO_MAPPING 添加(SC = 0xff880101dc7000、PDO_INDEX = 0x1A01、Entry_INDEX = 0x6041、entry_subINDEX = 0x00、entry_bit_length = 16)
      [230.636007] EtherCAT 调试0:0:0:ecrt_slave_config_PDO_MAPPING 添加(SC = 0xff880101dc7000、PDO_INDEX = 0x1A01、Entry_index = 0x6064、entry_subindex = 0x00、entry_bit_length = 32)
      [230.636010] EtherCAT 调试0:0:0:ecrT_SLAVE_CONFIG_PDO_MAPPING 添加(SC = 0xff880101dc7000、PDO_INDEX = 0x1A01、Entry_index = 0x606C、entry_subindex = 0x00、entry_bit_length = 32)
      [230.636013] EtherCAT 调试0:0:0:ecrT_SLAVE_CONFIG_PDO_MAPPING 添加(SC = 0xff880101dc7000、PDO_INDEX = 0x1A01、Entry_INDEX = 0x6077、entry_subINDEX = 0x00、entry_bit_length = 16)
      [230.636016] EtherCAT 调试0:ecrt_master_slave_config (master = 0xff8801069de000、alias = 0、Position = 0、fender_id = 0x0000088f、product_code = 0x4d490002)
      [230.636019] EtherCAT 调试0:0:0:ecrt_slave_config_reg_PDO_entry (SC = 0xff880101dc7000、索引= 0x6040、子索引= 0x00、域= 0xff880106859d40、bit_Position = 0xff8801143f9e24)
      [230.636022] EtherCAT 调试0:域0:添加了10个字节、总计10个字节。
      [230.636023] EtherCAT 调试0:ecrt_master_slave_config (master = 0xff8801069de000、alias = 0、Position = 0、fender_id = 0x0000088f、product_code = 0x4d490002)
      [230.636026] EtherCAT 调试0:0:0:ecrt_slave_config_reg_PDO_entry (SC = 0xff880101dc7000、索引= 0x607A、子索引= 0x00、域= 0xff880106859d40、bit_Position = 0xff8801143f9e24)
      [230.636028] EtherCAT 调试0:ecrt_master_slave_config (master = 0xff8801069de000、alias = 0、Position = 0、fender_id = 0x0000088f、product_code = 0x4d490002)
      [230.636031] EtherCAT 调试0:0:0:ecrt_slave_config_reg_PDO_entry (SC = 0xff880101dc7000、索引= 0x60B1、子索引= 0x00、域= 0xff880106859d40、bit_Position = 0xff8801143f9e24)
      [230.636033] EtherCAT 调试0:ecrt_master_slave_config (master = 0xff8801069de000、alias = 0、Position = 0、fender_id = 0x0000088f、product_code = 0x4d490002)
      [230.636036] EtherCAT 调试0:0:0:ecrt_slave_config_reg_PDO_entry (SC = 0xff880101dc7000、索引= 0x6041、子索引= 0x00、域= 0xff880106859d40、bit_Position = 0xff8801143f9e24)
      [230.636038] EtherCAT 调试0:域0:添加了12个字节、总共22个字节。
      [230.636039] EtherCAT 调试0:ecrt_master_slave_config (master = 0xff8801069de000、alias = 0、Position = 0、fender_id = 0x0000088f、product_code = 0x4d490002)
      [230.636042] EtherCAT 调试0:0:0:ecrt_slave_config_reg_PDO_entry (SC = 0xff880101dc7000、索引= 0x6064、子索引= 0x00、域= 0xff880106859d40、bit_Position = 0xff8801143f9e24)
      [230.636044] EtherCAT 调试0:ecrt_master_slave_config (master = 0xff8801069de000、alias = 0、Position = 0、fender_id = 0x0000088f、product_code = 0x4d490002)
      [230.636047] EtherCAT 调试0:0:0:ecrt_slave_config_reg_PDO_entry (SC = 0xff880101dc7000、索引= 0x606C、子索引= 0x00、域= 0xff880106859d40、bit_Position = 0xff8801143f9e24)
      [230.636049] EtherCAT 调试0:ecrt_master_slave_config (master = 0xff8801069de000、alias = 0、Position = 0、fender_id = 0x0000088f、product_code = 0x4d490002)
      [230.636052] EtherCAT 调试0:0:0:ecrt_slave_config_reg_PDO_entry (SC = 0xff880101dc7000、索引= 0x6077、子索引= 0x00、域= 0xff880106859d40、bit_Position = 0xff8801143f9e24)
      [230.636055] EtherCAT 调试0:0:ecrt_slave_config_dc (SC = 0xffffff880101dc7000、assign_activate = 0x0300、synctic 0_cycle = 500000、synctic 0_shift = 4000、synctic 1_cycle = 0、 sync1_shift = 0
      [230.636068] EtherCAT 调试0:ecrt_domain_external_memory (domain = 0xff880106859d40、mem= 0xffc90005756000)
      [230.636070] EtherCAT 调试0:ecrt_master_callback (master = 0xff8801069de000、send_CB = 0xffffa049a750、receive_CB = 0xffffffa0498d20、CB_DATA = 0xff8801069de000)
      [230.636072] EtherCAT 调试0:ecrt_master_activate (master = 0xff8801069de000)
      [230.636074] EtherCAT 调试0:使用预期的 WC 添加数据报对3.
      [230.636076] EtherCAT 0:domain0:逻辑地址0x00000000、22字节、预期工作计数器3。
      [230.636077] EtherCAT 0:  数据报域名0-0-main:逻辑偏移量0x00000000、22字节、类型为 LRW。

    2) 2)检查 Wireshark 日志是否正确设置了0x1A01 & 1601 & 1C32 & 1C33

    3)检查从器件内部(我们有一个调试端口、我们可以在其中访问所有对象)是否设置正确

    4) 4)检查主从两侧的 PDO 输入和 PDO 输出大小是否正确计算为10和12字节。

    一切看起来都非常完美。

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

    您是否能够在 EtherCAT v1.0.5版本的 AM335x ICE 板上重现此问题? 因此、我们可以在本地根本原因该问题。
    我将与团队合作、看看是否有任何想法出现。

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

    1月份、我们尝试让 ICEv2.1A 板与 IGH 主器件一起工作、但失败了。
    这是由另一位团队成员完成的。 他面临着类似的问题。

    接下来的步骤是:

    1) 1)完成从器件到 TI 演示代码的反向移植。
    最后、这将不是完全相同的代码、正弦我们具有不同的 RAM、RAM 时序、闪存、处理器引脚分配、引导加载程序和 CPU 频率。
    但是、EtherCAT 功能代码将仍然相同。

    2) 2)我将从基于 Beckhoff ASIC 的竞争对手处获取 EtherCAT 驱动器、并将其连接到 IGH 主站。
    这将证明(或不)我们的 IGH 主应用程序是否正常工作。

    要获取驱动器、需要几天时间。 我将发布我的结果。

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

    您好、Garret、

    最近、我们将一个简单的 Beckhoff 从器件连接到了 IGH 主器件、并且能够将其设置为 OP、而不会出现任何问题。
    因此、这并不意味着我们的 TI ESC 出现了什么问题、但我认为我们不能完全错误地操作 IGH 主器件。
    接下来、我将尽可能将我们的应用移植回 TI CiA402演示。
    行为没有任何变化。
    当 IGH 主器件尝试将从器件设置为 OP 时、通信最终在 ESC 侧下降。

    您还记得通信停止时的主输出吗?
    [465.018586] EtherCAT 调试0-0:从站不支持邮箱通信。
    [465.020593] EtherCAT 错误0-0:设置 PREOP 状态失败、从站拒绝状态更改(INIT +错误)。
    [465.021598] EtherCAT 错误0-0:AL 状态消息0x0016:"无效的邮箱配置"。

    我在 Sitara 内部调试了这个案例。
    首先、主器件是正确的!
    此外、ecatslv.c 中的 SSC 信号、即他使用 AlStatusCode 0x16从 Preop 转到 Init、这意味着 ALSTATUSCDE_INVALIDMBXCFGINPREOP。
    我还调试了发生这种情况的行:

    静态 UINT8检查平滑设置(UINT8最大通道)

      (笑声)
      pSyncMan = GetSyncMan (mailbox_write);
      (笑声)
      如果(!(pSyncMan->Settings[sm_setting_active_offset]& sm_setting_enable_value))
      {
        结果= ALSTATUSCODE_INVALIDMBXCFGINPREOP;
      }


    接下来、我调试了 ESC 内部发生的情况、SyncMan 位于工作点、当通信停止时、代码行位于上面。

    工作点:
    主器件能够通过邮箱与从器件通信。
    此时、我可以读取邮箱的 SynMan-Settings。
    PhysicalStartAddress、Length、在 SM_setting_control_offset 上的设置和在 SM_setting_active_offset 上的激活是正确的。

    通信失败:
    当从器件应转到 OP 且通信中断时、所有 SM (MailBoxRead 和 MailBoxWrite)都会被擦除!
    PhysicalStartAddress 为0、设置 SM_setting_control_offset 为0、并禁用 SM_setting_active_offset 处的激活。

    由于 SM 设置完全在 TI ESC 内部处理、SSC 只能读取它们、启用和禁用 SM、因此这应是 TI ESC 内部的故障。
    我不知道为什么 ESC 会突然从他的鞋中掉下来、并在正在进行的通信中从 SM 中脱下。
    但是、我们使用的是原始 SSC (带有 TI 补丁)、不会在低级别的操作任何东西。
    我实际上可以在应用端看到没有故障。

    我仍然忙于使用 Beckhoff ASIC 获取驱动器。
    当我们将其连接到 IGH 主器件以供参考时、我将发布结果。

    此致 Dirk

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

    您是否可以共享您的简化版应用程序、以便我尝试重现您发现的问题? 我在本地 Ubuntu 计算机中运行了一个 IGH 主设备。

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

    您好、Garret、

    >>我在本地 Ubuntu 计算机上运行了一个 IGH 主设备。
    哦、听起来很好。 太棒了! 非常感谢您的承诺!

    >>您是否可以共享您的简化版应用程序、以便我尝试重现您发现的问题?
    我想、如果您尝试运行此应用程序、这毫无意义。
    我们在具有不同 DDR 类型、RAM 时序、CPU 频率、引脚映射、闪存类型和存储器布局以及不同 MLO 的不同电路板上运行。

    但是、如果您可以验证原始 TI CiA402演示是否与 您的 IGH 主设备一起在 ICEv2上工作、那将是一个非常好的帮助。
    如果这正常工作、您可以为我们提供这种 Sitara 二进制文件、这将是巨大的帮助!
    这就证明了 TI ESC 与 IGH 协同工作、我们可以通过比较 ICE 和平台的运行情况来重现和分析不同的工作原理。

    我们拥有 ICE 板、但交付的(预刷写)应用程序不能与 IGH 主器件配合使用。
    TI 建议更新到 PRU-ICSS-EtherCAT_Slave_01.00.05.00并从 LED 演示切换到 CiA402演示。
    另一名团队成员 Matthias 提出了这些步骤、但未能让 ICE 上的此 TI 演示与 IGH 大师一起运行。
    您可以在 此处阅读他的故事:e2e.ti.com/.../650754

    我认为测试 TI CiA402演示是您帮助我们最快、最简单的方法。


    非常感谢您的支持!

    此致 Dirk

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

    我可以使用我的 IGH 演示在 OP 中获取 CiA402 AM335x 演示。 它打印 AM57X-E、但实际上电路板是 AM335x ICEv2。

    a0132@uda0132:~$ sudo EtherCAT 从站
    0 0:0 OP + AM57x-E (PRU-ICSS v2.1) CiA402驱动器

    除了 TIESC_application=0、CiA402_Device=1之外、您在构建 CiA402时是否在 EtherCAT 包中应用了 PDK 补丁?

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

    您好、Garret、

    非常感谢您的支持!

    实际上、我不知道 Matthias 为构建演示所执行的步骤。
    Matthias 将再次构建和测试 CiA402演示、同时考虑您的技巧并发表他的结果。
    出于参考原因、您能否向我们提供您的 Sitara 二进制文件和 IGH 主代码?
    我对您通过 ecrt_slave_config_dc (...)激活 DC 感兴趣。

    非常感谢。

    我实际上参与了一个客户支持项目、已经有几天了。
    我很高兴您的 ICE 能够与 IGH 主器件一起工作、因为这证明了故障必须位于我们的 A8代码中、我们可以调试和修复这一部件、即使我仍然没有任何提示、指出出了什么问题。 但基本上我们将能够找到一个自我解决的办法。

    我们接下来的步骤是:
    首先、Matthias 应与 IGH 大师一起让 ICE 运行。
    第二、我将分析 TI ICE Cia402演示和我们的逆变器应用之间的差异。

    如果出现任何新问题、我会将此主题留待解决、并报告我们的结果。

    非常感谢您的努力。

    此致 Dirk

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

    您好、Garrett、

    我们已使用 PDK Thumb 模式补丁完全重建 Cia402示例(EtherCAT_SLAVE_FULL)。

    现在、ICE 由 EtherCAT 从站显示为"0 0:0 PREOP + AM57x-E (PRU-ICSS v2.1) CiA402驱动器"

    ICE 板载显示屏显示"EtherCAT app 1.05 | Rev 0190 | BLD 04EC"。

    手动切换到 OP 不起作用。 因此、我需要一个有效的 IGH main.c 文件、因为我的 main.c 显然不起作用。

    此致、
    Matthias

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

    您好、Matthias、

    我 应该更清楚地解释一下这个修补程序。 PDK Thumb 模式补丁仅适用于 AMIC110当前支持的无 DDR EtherCAT 从站、请参阅部分- processors.wiki.ti.com/.../PRU_ICSS_EtherCAT

    如果您使用 Processor SDK 4.1为 AM335x 构建 EtherCAT 从 站、则 PDK Thumb 模式补丁不适用。

    如果您要使用 Processor SDK 4.2构建适用于 AM335x 的 EtherCAT 从站、则  可以从此处应用补丁来简化迁移-

    IGH main.c 包含客户提供的一些代码。 我将对其进行清理、并检查是否可以向您发送源代码。

    此致、Garrett

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

    您好、Dirk、Matthias、

    我注意到 main.c i am 测试中有一个函数 ecrT_slave_config_overlap_pdos(),该函数基于 etherlabmaster/examples/dc_user_main.c 该功能可从  中获得。

    您能否尝试使用相同的 IGH 拨叉并像下面那样添加 ecrt_slave_config_overlap_PDOS(),以查看从站是否可以处于 OP 中?

     如果(!(SC = ecrt_master_slave_config (主器件、

              TIESC_0_Pos、TIESC))){

        fprintf (stderr、"无法获取从器件配置。\n");

        返回-1;

      }

      ecrt_slave_config_overlap_PDOS (SC、1);

      OFF_INPUT_DATA_0 = ecrt_SLAVE_CONFIG_REG_PDO_Entry (SC、0x6040、0、

        DOMAIN1、NULL);

      如果(OFF_INPUT_DATA_0 < 0)

        返回-1;

      OFF_OUTPUT DATA_0 = ecrt_SLAVE_CONFIG_REG_PDO_Entry (SC、0x60ff、0、

        DOMAIN1、NULL);

      如果(OFF_OUTPUT DATA_0 < 0)

        返回-1;

    此致、Garrett

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

    您好、Garret、

    我可以确认激活重叠 PDOS 是主要诀窍。  

    还有一些  其他要点很重要:

    • 激活重叠 PDOS 也会导致域存储器区域内的重叠数据。 因此、必须在写入域之前读取整个域。
    • 用手调用 ecrt_slave_config_reg_PDO_entry 不是必需的。  
    • EtherCAT cstruct 会在 EC_SYNC_INFO_t 中创建不起作用的看门狗值 对于 ME、仅 EC_WD_DEFAULT 有效。  

    您好!
    Matthias

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

    非常感谢您的支持!
    由于 ICE 现在与 IGH 主器件一起运行、我认为我们的逆变器也可以工作。 今天我将进行测试。

    此致 Dirk