[EtherCAT]EEPROM数据存储与烧录, 先楫特色解决方案!
在EtherCAT从站开发与使用过程中, 常常绕不过去的一个环节是EEPROM数据存储与烧录。
EtherCAT从站控制器(ESC)使用EEPROM来存储设备相关信息,用于描述从站设备。在设备上电或复位时,ESC会自动从EEPROM中的ESC寄存器配置区读取数据写入相应寄存器完成ESC配置。使用过程中可以使用主站如TwinCAT读取和写入EEPROM数据。EEPROM数据缺失或者不正确, 会造成设备工作不正常,ESC不能正确被配置或不能被主站准确识别等情况。
传统方案
- 在传统的EtherCAT设备中,设备需要使用EEPROM器件用于存储设备相关信息。需要增加器件成本和布板面积。
- 在设备开发和升级过程中,更新设备固件的同时还需要对EEPROM数据进行重新烧录,而EEPROM的烧录需要借助相应的工具完成,如TwinCAT或者EEPROM Programmer等。这个过程费时不利于提高效率。
先楫方案
针对以上两点,先楫的产品HPM6E00和HPM5E00系列与配套的HPM_SDK完美的解决了这两个需求。
-
首先HPM6E00和HPM5E00支持ESC的flash模拟eeprom功能, 允许在Flash中分出一块合适大小的区域, 使用软件模拟EEPROM功能, 满足EtherCAT从站设备的数据存储和读取需求, 能够省掉EEPROM器件,节省器件成本和布板面积。
-
其次在更新EEPROM数据方面, HPM_SDK支持将EEPROM数据集成在MCU的程序固件中, 由MCU程序实现对EEPROM数据内容写入。 该方式在兼容传统的EEPROM更新方式的基础上, 能够实现更加灵活的EEPROM数据更新, 增加使用的便利性和提高效率。其EEPROM数据更新流程如下:
该方案能够实现的效果:
- 全新的设备初次运行程序时, MCU固件会写入EEPROM数据, 无须使用TwinCAT烧录EEPROM数据。
- 设备重复上电, 不会重复写EEPROM数据。
- 设备运行中通过TwinCAT等工具主动更新EEPROM, 更新的数据会被保留,掉电不会丢失。
- 设备固件升级时, 新的固件中包含新的EEPROM数据, 则固件升级后会使用新固件中的EEPROM数据, 无须使用TwinCAT更新EEPROM数据。
以上方式解决了产品出厂时需要烧录EEPROM的需求, 解决了产品升级过程中, 更新了程序固件后还要重新烧录EEPROM的需求。
注意:
- EEPROM数据更新规则默认为检查EEPROM数据中的Product Code和Revision Number,在Product Code相同的情况下, Revision Number按照递增规则更新。 用户可以修改更新规则。
- 将EEPROM数据集成在MCU的程序固件中, 由MCU程序实现对EEPROM数据更新的功能是自HPM_SDK V1.8.0引入