TPLD2001-Q1 包含一次性可编程 (OTP) 存储器位。这些存储器位在断电情况下保留设定的值,用于配置 TPLD 器件,并且最多可编程一次。发生 POR 事件后,TPLD2001-Q1 中所有配置寄存器的默认值都将从 OTP 加载。
临时设置配置寄存器的程序:
- 使用所需的串行通信协议启动器件后,从寄存器 0x000 和 0x001 中读取 DEVICE_ID,以验证与器件的通信已建立
- 然后:
- 对于 SPI,发送以下四个帧,各帧之间至少间隔 200µs:0x9000B9、0x90003E、0x9000AF、0x900058
- 对于 I2C,在四个写入事务中,发送以下内容且事务之间至少间隔 500µs:
- 事务 1:BYTE0 = ADDR,BYTE1 = 0x01,BYTE2 = 0xB9
- 事务 2:BYTE0 = ADDR,BYTE1 = 0x01,BYTE2 = 0x3E
- 事务 3:BYTE0 = ADDR,BYTE1 = 0x01,BYTE2 = 0xAF
- 事务 4:BYTE0 = ADDR,BYTE1 = 0x01,BYTE2 = 0x58
- 发送最后一帧后,等待 1ms。
- 通过读取寄存器 0x400 中的 0x10,验证是否正确输入了正确的配置模式。
- 将 0x02 写入寄存器 0x400。
- 将配置位发送到 0x200 - 0x3FF。
- 或者,在发送配置位后,可以使用读取命令来验证是否将正确的数据写入器件。
- 然后:
- 对于 SPI,发送以下帧:0x90004B
- 对于 I2C,发送以下写入事务:BYTE0 = ADDR、BYTE1 = 01、BYTE2 = 0x4B
- 最后,将 0x00 写入寄存器 0x400 以使配置生效。
- 器件现已完成临时配置。
注: 当在启用 I2C 宏单元的情况下临时配置 TPLD 时,目标地址的前四位设置为 0000b,接下来的三位来自配置位,或 ADDR =[0][0][0][0][A2][A1][A0]。为了更改目标地址的前四位或 MSB,需要进行 OTP 烧录。
若要更改临时配置,TI 建议对器件进行下电上电,并重复该过程以临时设置配置寄存器。
如果器件已经临时配置为启用 I2C 宏单元,则对 I2C_ADDR 寄存器 (SER_COMM_CFG1) 的写入立即生效。因此,后续 I2C 事务需要寻址到更新后的目标地址。
烧录 OTP 的过程:
- 如果已对器件进行临时配置,请对器件下电上电以清除配置寄存器,然后再继续操作。
- 按照过程中的步骤 1 - 7 临时设置配置寄存器。
- 将 VPP 施加于 GPI 引脚。
- 将 0x01 写入寄存器 0x401 以开始 OTP 编程。
- 等待 tpp,让编程完成。
- 从 GPI 引脚上移除 Vpp。
- 器件 OTP 现在已完成烧录。