ZHCSJU6C March 2019 – October 2019 TPS23881
PRODUCTION DATA.
命令 = 60h,带 1 个数据字节,读取/写入
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PROG_SEL | CPU_RST | - | PAR_EN | RAM_EN | PAR_SEL | R/WZ | CLR_PTR |
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 = 复位后的值 |
位 | 字段 | 类型 | 复位 | 说明 |
---|---|---|---|---|
7 | PROG_SEL | R/W | 0 | I2C 编程选择位。
1 = 启用 SRAM I2C 读取/写入 0 = 禁用 SRAM I2C 读取/写入。 |
6 | CPU_RST | R/W | 0 | CPU 复位位
1 = 内部 CPU 保持在复位状态 0 = 内部 CPU 处于活动状态 严格来说,这是 CPU 复位。切换此位仅复位 CPU,不会更改 I2C 寄存器的任何内容 |
5 | 保留 | R/W | 0 | 保留 |
4 | PAR_EN | R/W | 0 | SRAM 奇偶校验使能位:
1 = 将会启用 SRAM 奇偶校验 0 = 将会禁用 SRAM 奇偶校验 建议使用 SRAM 时务必启用奇偶校验功能 |
3 | RAM_EN | R/W | 0 | SRAM 使能位
1 = 将会启用 SRAM,内部 CPU 将从 SRAM 和内部 ROM 运行 0 = 内部 CPU 仅从内部 ROM 运行 在 SRAM 编程之后,为了能够使用 SRAM 代码,该位需要设置为 1 |
2 | PAR_SEL | R/W | 0 | SRAM 奇偶校验选择位:将此位设置为 1 并与 RZ/W 位结合使用可支持访问 SRAM 奇偶校验位。
1 = 启用奇偶校验位读取/写入 0 = 禁用奇偶校验位读取/写入 |
1 | R/WZ | R/W | 0 | SRAM 读取/写入选择位:
0 = SRAM 写入 – 将 SRAM 数据写入 0x61h 1 = SRAM 读取 – 从 0x61h 读取 SRAM 数据 可通过 I2C 连续读取/写入 SRAM 数据,直到发送停止位为止。 |
0 | CLR_PTR | R/W | 0 | 清除地址指针位:
1 = 复位存储器地址指针 0 = 释放指针以供使用 为了确保正确编程,应将该位切换 (0-1-0) 为写入或读取 SRAM 或奇偶校验存储器。 |
SRAM 编程:
加电时,建议将 TPS23881 的 SRAM 编程为最新版本的代码(可通过 TI mySecure 软件 网页进行下载)。除了下列用于 SRAM 编程的命令之外的所有 I2C 流量都应推迟到以下 SRAM 编程序列完成之后。
NOTE
对于选择不加载 SRAM、仅从内部 ROM 运行的 TPS23881 应用, 请 参阅 SRAM 发行说明和 ROM 咨询文档(可通过 TI mySecure 软件 网页获取)。
NOTE
必须在较低的 I2C 地址(通道 1-4)完成 SRAM 编程控制。对较高的 I2C 器件地址(通道 5-8)配置该寄存器不会对 SRAM 进行编程
NOTE
SRAM 编程需要从器件的初次加电(VPWR 和 VDD 高于 UVLO)后延迟至少 50ms,让器件完成其内部硬件初始化过程
用于 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 位
• 器件将以“安全模式”运行,直到完成另一次编程尝试
空白
空白