ZHCAER9 December 2024 BQ27Z746 , BQ27Z758
使用保护器调优方法,可以通过写入寄存器来设置保护值。这对于简化大规模生产特别有吸引力。开发完成后,输出黄金映像文件中不包含保护值。以下是在生产中设置保护措施所需的额外步骤。
第 1 步:发送 CALIBRATION 模式命令 0x002D 以寻址 AA 并在开发期间使用的测量仪表上启动寄存器 3E。该开发测量仪表在上述“保护器调优”部分中设置了最终保护值。
读取和写入保护值寄存器需要校准模式。
第 2 步:读取 ProtectorImage2 命令 0xF0A2 以寻址 AA 并在开发期间使用的测量仪表上启动寄存器 3E。
这显示了设置的保护器值的十六进制值步长。请注意,这些值并不直接对应于十进制值,而是保护器步长设置的十六进制值。
从命令读取的寄存器值如下所示:
A2 F0 01 00 17 2C 20 08 08 08 09 08 27 1F 1B 5B 2E 04 5B 5C 5C 5C 08 08 10 17 07 08 09 11 09 11
位 10-19 是保护步骤值。请记下这些值,用于在生产中对测量仪表进行编程。要查看 ProtectorImage2 的位映射,请参阅 BQ27Z746 技术参考手册中的第 15.2.70 节。
第 3 步:发送 CALIBRATION 模式命令 0x002D 以寻址 AA 并在生产中的测量仪表上启动寄存器 3E。
读取和写入保护值寄存器需要校准模式。
第 4 步:读取 ProtectorImage2 命令 0xF0A2 以寻址 AA 并在生产中启动电量计上的寄存器 3E。
这些值可能因 TI 制造测量仪表期间所做的修整而异,可能如下所示:
A2 F0 01 23 17 2C 10 08 09 10 09 08 22 10 32 5A 3E 04 5B 4C 5C 5C 08 08 10 17 07 08 09 11 09 11
粗体显示的值是保护功能的精度修整值,不得在测量仪表上更改。这样可以保持与数据表一致的保护跳闸精度。
第 5 步:将开发测量仪表中的保护值与从生产测量仪表读取的超级元件修整值合并。从上面的示例中,如下所示:
A2 F0 01 23 17 2C 10 08 09 10 09 08 27 1F 1B 5B 2E 04 5B 5C 5C 5C 08 08 10 17 07 08 09 11 09 11
第 6 步:将上述组合值写入生产中的测量仪表,以寻址 AA 和启动寄存器 3E。
第 7 步:写入将校验和(后跟长度)写入生产中的测量仪表,以寻址 AA 并启动寄存器 0x60。
若要计算校验和,请取所写入命令+数据十六进制值之和的按位非的最低有效字节。长度为命令大小 + 数据大小 + 校验和大小 + 长度大小。
上述示例校验和的计算方式如下:
校验和 =A2+F0+01+23+17+2C+10+08+09+10+09+08+27+1F+1B+5B+2E+04+5B+5C+5C+5C+08+08+10+17+07+08+09+11+09+11=485
校验和 = NOT(485) = FB7A
校验和 = 7A
长度 = 2 个命令字节 + 30 个数据字节 + 1 个校验和字节 + 1 个长度字节 = 34 个字节
34(十进制转换为十六进制)= 22,因此写入 0x60 的值为 7A 22。
第 8 步:然后,需要从步骤 6 开始针对位于 0xF0A1 中的保护延迟重复该过程。在这种情况下,无需保留任何位,可以将寄存器完全写入。
例如,从开发测量仪表读取 0xF0A1 值会读回:
A1 F0 00 00 00 00 00 00 00 00 00 00 05 41 04 6C 07 41 07 04 00 00 00 00 00 00 00 00 00 00 00 00
可以将完整寄存器写入生产测量仪表,而不会出现任何问题。
保护器延迟 0xF0A1 ProtectorImage1 的位映射如下:
| 偏移 | 名称 | 说明 |
|---|---|---|
| 0-9 | RSVD | 保留 |
| 10 | SCD_Delay | 放电短路保护延迟 |
| 11 | OCD_Delay | 放电过流保护延迟 |
| 12-13 | OVP_Delay | 过压保护延迟 |
| 14 | OCC_Delay | 充电过流保护延迟 |
| 15 | UVP_Delay | 欠压传播延迟 |
| 16 | IWK_Delay | I-Wake 触发延迟 |
| 17 | BSENSE_Delay | 电池检测保护延迟、BDP、BCP、BDN、BCN |
| 18-29 | RSVD | 保留 |
第 8 步:发送 ProtectorImageSave 命令 0xF0A3 后跟 0x00 以寻址 AA 并启动寄存器 3E。
第 9 步:读取 MACData() 0x40/0x5F
ProtectorImageSave 命令将保护器硬件寄存器的当前状态保存到安全存储器中的配置映像。读取 MACData() 时,写入后,读取值为 00,否则,出现错误。请查看技术参考手册 15.2.71 节,调试该错误。
第 9 步:发送 ProtectorImageLock 命令 0xF0A4 后跟 0x83de(以小端字节顺序)0xdE + 0x83 以寻址 AA 并启动寄存器 3E
第 10 步:读取 MACData() 0x40/0x5F
ProtectorImageLock 命令将整个保护器配置映像锁定在安全存储器中,以防止进一步修改。请注意,这是永久锁定,不能解锁或反向。在读取 MACData() 时,写入后的值为 00,如果不是,则表明出现错误。请查看技术参考手册第 15.2.72 节,调试此错误。