EEPROM 阵列是直接从 SRAM 阵列映射的非易失性存储器。
将寄存器设置写入 SRAM 后(通过方法 1 或 2),可以按照以下顺序对 EEPROM 进行编程:
- 将 0xEA 写入 R164 (NVMUNLK)。这会解锁 EEPROM 以允许编程。
- 将 0x03 写入 R157(NVM_ERASE_PROG 位)。这会使用 SRAM 的所有内容对 EEPROM 进行编程。总擦除/编程周期大约需要 230ms。
- 注意:步骤 1 和 2 必须是原子写入,中间没有任何其他寄存器事务或 I2C 中断。在这些步骤之间对另一个 I2C 器件进行写入会导致 EEPROM 写入序列失败。
- 轮询 R157[2](NVMBUSY 位)或提供开环延迟。当此位清零时,EEPROM 编程完成。
- 将 0x00 写入 R164。这会锁定 EEPROM 以防止意外编程。
下次上电或硬复位时,器件可以使用新编程的配置在 EEPROM 模式下自启动。此外,NVMCNT 寄存器值在上电或硬复位后会递增 1,以反映成功完成的 EEPROM 编程周期总数。