在 MCx 器件中,EEPROM 写入程序(也在 图 2-1 中显示)如下:
- 停止驱动电机,以将器件置于空闲/待机状态。在 MCF 器件中,可以通过将 0x8000000 写入位于 0xEC 的 ALGO_DEBUG1 寄存器来停止电机。在 MCT 器件中,可以通过将 0x00008000 写入位于 0xE8 的 DEVICE_CTRL 寄存器来停止电机。
- 发出清除故障命令以清除故障,以防器件在电机停止运行期间遇到故障。在 MCF 器件中,可以通过将 0x30000000 写入位于 0xEA 的 ALGO_CTRL1 寄存器来清除故障。在 MCT 器件中,可以通过将 0x30000000 写入位于 0xE6 的 ALGO_CTRL1 寄存器来清除故障。
- 将 EEPROM 寄存器所需的值写入 0x80-0xAE 之间的相应影子/RAM 位置
- 通过将 0x8A500000 写入 ALGO_CTRL1 寄存器(位于 MCF 中的 0xEA 和 MCT 器件中的 0xE6),以将影子/RAM 寄存器的内容(位于 0x000080-0x0000AE 之间)写入相应的 EEPROM 寄存器,从而发出 EEPROM 写入命令。
- 在发出 EEPROM 写入命令之后等待 750ms。
- 750ms 后,读取 ALGO_CTRL1 寄存器值;读回值 0x00000000 表示 EEPROM 写入成功。
注: EEPROM 写入的注意事项
- 仅当器件处于空闲状态(不驱动电机/不为电机供电)时,才需要发出 EEPROM 写入命令
- 器件电源 (VM) 需要为 ≥6V,所有电源轨(AVDD、FB_BK 和 DVDD)需要在整个 EEPROM 写入过程中保持在数据表规定的工作限值范围内。EEPROM 写入过程中,任何电源轨上的欠压故障都会使 EEPROM 写入不完整,从而导致后续上电/唤醒时出现意外的器件行为。
- 由于 EEPROM 写入次数存在老化/写入周期限制,TI 不建议在每次上电/唤醒时都对 EEPROM 进行写入。有关允许的最大 EEPROM 写入周期数,请参阅器件数据表。重复的寄存器设置更改可在影子/RAM 位置上完成(不写入 EEPROM);只有默认配置需要写入 EEPROM(仅在首次上电时)。
- 成功完成 EEPROM 写入后,需要进行电源复位才能使所有 EEPROM 设置更改生效。