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.

[参考译文] IND-COMMS-SDK:写入 EtherCAT EEPROM 中的供应商信息空间。

Guru**** 2568565 points
Other Parts Discussed in Thread: IND-COMMS-SDK, AM2432

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1554347/ind-comms-sdk-writing-to-vendor-info-space-in-ethercat-eeprom

部件号:IND-COMMS-SDK
主题中讨论的其他器件:AM2432

工具/软件:

您好:

我使用的是:

  • 定制硬件上的 AM2432
  • IND_COMMS_SDK_am243x_09_02_00_24
    • 固件版本 6.5.54 用于 ICSSG1 上的 EtherCAT 控制器
    • 基于 EtherCAT_SLAVE_Beckhoff ssc_demo 的自定义工程

我尝试通过 EtherCAT (TwinCAT) 写入 EEPROM 中的供应商信息 spcae(字偏移量 0x0020)。 参见 ETG2010。 以下图片来自 ETG2010:

很遗憾、这不起作用。 可以向 EEPROM 的其他空间写入、例如写入序列号(字偏移 0x000E)。

在调试过程中、它似乎具有以下行为:

  • 通过 EtherCAT 写入从站的 TwinCAT 中的 EEPROM 内容最初存储在 ICSSG1 存储器中的 ESC_EEPROM_DATA_OFFSET (0x0508) 处。
  • Beckhoff SSC 将其从此处读取到内部 EEPROM 缓冲器。
  • 这发生在文件 ecatappl.c 中
  • 在硬件版本 (0x0021) 等的字偏移处、始终返回 0x0000、即使 TwinCAT 更改了此值也是如此。

因此、ICSSG1 中的 ESC 固件是否可能有意阻止从字偏移量 0x0020 开始访问供应商信息空间?

因为使其正常工作的一种方法是:

  • 使用所需数据直接通过 I2C 对 EEPROM 进行编程。
  • 现在、使用 EtherCAT 应用程序启动 AM243x 后、修改后的供应商空间会按预期读取到 R5 中的 EEPROM 缓冲区、例如修改后的硬件版本会按预期显示在 TwinCAT 中。

感谢您的支持。

此致、

Martin

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

    尊敬的 Martin:

    感谢您指出这种行为。 我将回顾通过 TwinCAT 进行 EEPROM 更新的流程、并查看是否存在任何意外阻塞。

    此致、
    Aaron