[EtherCAT]从设备EEPROM数据说明

一、EEPROM数据内容说明

EtherCAT从设备使用EEPROM器件存储设备相关的信息, 包括设备配置,设备描述等数据。

先楫MCU和ESC支持使用Flash模拟EEPROM器件进行数据存储,可以省掉实际的EEPROM器件。

EEPROM所存储的数据是从设备xml中内容的子集:

从设备xml会描述ESC需要的EEPROM配置数据,如下:

二、EEPROM配置数据说明

ESC上电时会从EEPROM读取前8个word(16个字节)对ESC的功能进行配置,这8个wrod的数值会加载到ESC对应的寄存器中实现对ESC的配置,所以要根据对应寄存器的描述理解EEPROM配置数据。

ESC会对EEPROM前8个word的数据会进行checsum校验, 如果checksum校验不过,会出现EEPRROM未正确加载状态0x110[0],影响ESC的部分功能运行,当出现EEPRROM checksum问题时,要优先解决EEPROM数据的问题。

如上EEPROM配置数据800C8166000000001234, 第一个字节0x80会加载到ESC的寄存器0x140中,其作用是配置ESC的PDI接口类型, 第二个字节0x0c会加载到ESC的寄存器0x141, 配置ESC是否使能DC和使能Enhance Link detection功能。

注意:对于先楫的ESC外设,部分寄存器值是在IC设计时即设置了固定值,不会被EEPROM配置数据更改。 例如先楫的ESC外设的PDI接口类型是固定的0x80: On-Chip bus类型, 所以即使EEPROM配置数据的第一个字节修改成其他值,也无法修改ESC寄存器的0x140的值,与此相同的情况还有多处。

注意:Enhance Link detection功能用于在端口断联或者RX_ER短时间快速增加的情况下, 关闭对应端口和硬件触发PHY重新自协商,在PHY地址设置不合理的情况下,不可使用该功能。通常应该关闭该功能。

主站设备扫描从站设备时读取EEPROM

TwinCAT主站扫描从站设备时会读取EEPROM存储的Vendor ID/Product Code/Revision Number/Serial Number数据,与存放在主站的从设备xml进行匹配,进而识别出从站。

EEPROM数据修改

使用TwinCAT等主站工具以及EEPROMProgrammer等工具,可以更新EEPROM的数据。EEPROM数据修改后,ESC需要重新上电,才会加载新的EEPROM配置数据到寄存器中。另外先楫HPM_SDK中的EtherCAT从站例程支持对EEPROM数据进行初始化,详见:[EtherCAT]EEPROM数据存储与烧录,先楫特色解决方案!

0
0

订阅

发表回复 0

Your email address will not be published. Required fields are marked *