ZHCSW37 April 2024 TPS23881B
PRODUCTION DATA
命令 = 63h,带 1 个字节,读取/写入
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
SA_15 | SA_14 | SA_13 | SA_12 | SA_11 | SA_10 | SA_9 | SA_8 |
R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 |
说明:R/W = 读/写;R = 只读;-n = 复位后的值 |
位 | 字段 | 类型 | 复位 | 说明 | ||||
---|---|---|---|---|---|---|---|---|
15-0 | SA_15 - SA_0 | R/W | 0 | SRAM 和奇偶校验编程起始地址位: 在这些寄存器中输入的值用于设置 SRAM 或奇偶校验编程的起始地址位置 |
SRAM 编程:
上电时,建议通过 I2C 使用最新版本的 SRAM 代码对 TPS23881B 的 SRAM 进行编程,以确保正常运行和符合 IEEE 标准的性能。除了下列用于 SRAM 编程的命令之外的所有 I2C 流量都应推迟到以下 SRAM 编程序列完成之后。
必须在较低的 I2C 地址(通道 1-4,A0 = 0)完成 SRAM 编程控制。对较高的 I2C 器件地址(通道 5-8)配置该寄存器不会对 SRAM 进行编程
对于包含多个 TPS23881B 器件的系统,可以使用 0x7F“全局”广播 I2C 地址同时对所有器件进行编程。
SRAM 编程需要从器件的初次加电(VPWR 和 VDD 高于 UVLO)后延迟至少 50ms,让器件完成其内部硬件初始化过程
有关 SRAM 编程过程的更多详细说明,请参阅 TI.com 上的如何加载 TPS2388x SRAM 代码。
用于 SRAM 编程的 0x60h 设置:在编程/写入 SRAM 之前,需要在寄存器 0x60h 中完成以下位序列:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PROG_SEL | CPU_RST | - | PAR_EN | RAM_EN | PAR_SEL | R/WZ | CLR_PTR |
0 → 1 | 0 → 1 | 0 | 0 | 0 | 0 | 1 → 0 | 0 → 1 → 0 |
读取 SRAM 需要相同的序列,但 R/WZ 位需要设置为“1”。
如果设备处于“安全模式”,则可以使用与上述相同的序列重新编程 SRAM。
在此序列之后通过 I2C 向 0x61h 写入内容会从寄存器 0x62h 和 63h 中设置的地址开始主动对 SRAM 程序存储器进行编程。
用于 SRAM 奇偶校验编程的 0x60h 设置:在对 SRAM 程序存储器进行编程之后,为了配置器件以便对奇偶校验存储器进行编程,需要在寄存器 0x60h 中完成以下位序列:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PROG_SEL | CPU_RST | - | PAR_EN | RAM_EN | PAR_SEL | R/WZ | CLR_PTR |
0 → 1 | 0 → 1 | 0 | 0 | 0 | 0 → 1 | 1 → 0 | 0 → 1 → 0 |
读取奇偶校验需要相同的序列,但 R/WZ 位需要设置为“1”。
在此序列之后通过 I2C 向 0x61h 写入内容会从寄存器 0x62h 和 63h 中设置的地址开始主动对奇偶校验存储器进行编程。
从 SRAM 程序存储器运行的 0x60h 设置:完成编程后,为了让器件能够正常耗尽 SRAM,需要在寄存器 0x60h 中完成以下位序列:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PROG_SEL | CPU_RST | - | PAR_EN | RAM_EN | PAR_SEL | R/WZ | CLR_PTR |
1 → 0 | 1 → 0 | 0 | 0 → 1 | 0 → 1 | 1 → 0 | 0 | 0 |
在完成上述序列后的 1ms 内,器件将完成对 SRAM 的兼容性检查
如果确定 SRAM 加载“有效”:寄存器 0x41h 将具有 0x01h 和 0xFEh 之间的值,并且器件将恢复正常运行。
如果确定 SRAM 加载“无效”:
• 0x41h 将设置为 0xFFh
• 在内部将清除 RAM_EN 位
• 器件将以“安全模式”运行,直到完成另一次编程尝试