以下是根据提供的示例对 TPS92664 的 EEPROM 进行编程的必要步骤:
- 向 MTP DEVID 地址处的目标 MTP 寄存器写入数据。请注意,该地址与易失性 DEVID 地址不同,有关映射,请参阅图 5-1。在此命令中,DEVID 字节来自图 5-1 中的 MTP 列。
- 通过 4 字节写入方式将程序代码写入易失性编程寄存器(起始地址为 MTP_PROG1)来烧录 EEPROM,数据为:CA 23 35 24。在此命令中,DEVID 字节来自上表中的易失性列。请注意,如果用户要对多个器件进行编程,此步骤必须以广播写入的形式执行,例如使用 DEVID = 0xBF。
- 然后,如果用户对器件进行断电重启循环,相应的易失性寄存器将加载您刚编程的 MTP 寄存器中的值,作为新的默认值。
以下是此流程的一个提供了具体命令的示例,其中对器件地址 0 上的 PWMTICK 寄存器编程了值 0x1C,并将其作为默认值烧录到器件 EEPROM 中。
- 因此,要执行单字节写入 (INIT = 0x87),将数据 (DATA = 0x1C) 写入 MTP 器件地址 0 (DEVID = 0x80) 上的 MTP_PWMTICK 寄存器 (REGADDR = 0x07),则带 CRC 的命令帧为: 87 80 07 1C 2A A5
- 然后,用户必须过通 4 字节写入形式将代码写入易失性编程寄存器(起始地址为 MTP_PROG1)来烧录 EEPROM,数据为:CA 23 35 24
因此,要执行 4 字节写入 (INIT = 0xAA),将十六进制编程代码 (DATA = 0xCA 0x23 0x35 0x24) 写入 易失性器件地址 (DEVID = 0x20) 上的 MTP_PROG1 寄存器 (REGADDR = 0xFB),则带 CRC 的十六进制命令帧为:
AA 20 FB CA 23 35 24 31 E7
- 对器件进行断电重启循环,并确认所需的值现在已载入 PWMTICK 寄存器中。