6.1.2 I2C3 寄存器配置表
| 模块 | 寄存器名称 | 地址(十六进制) | 配置值(十六进制) | 说明 |
|---|---|---|---|---|
| I2C3 | CR1 | 0x40005C00 | 0x00000001 | 使能 I2C3,禁止 PEC,禁止时钟拉伸(根据 BQ34Z100 时序) |
| CR2 | 0x40005C04 | 0x00000000 | 7 位地址模式,禁止自动 end 模式,默认传输长度 0 字节 | |
| OAR1 | 0x40005C08 | 0x00000000 | 主机模式,不设置自身地址 | |
| OAR2 | 0x40005C0C | 0x00000000 | 禁用双地址模式 | |
| TIMINGR | 0x40005C10 | 0x00707CBB | 400kHz 时序配置:tSU (STA)=600ns,tW (H)=600ns,tW (L)=1.3μs,tBUF=66μs | |
| ICER | 0x40005C28 | 0x00000000 | 禁用所有 I2C 中断 | |
| DMACR | 0x40005C38 | 0x00000003 | 使能 TX DMA 和 RX DMA | |
| CR1 | 0x40005C00 | 0x00000001 | 最终使能 I2C3 |
6.1.3 DMA1 寄存器配置表
| 模块 | 寄存器名称 | 地址(十六进制) | 配置值(十六进制) | 说明 |
|---|---|---|---|---|
| DMA1_Stream0(I2C3 RX) | CR | 0x40020000 | 0x00000000 | 初始禁用,后续通过 HAL 库配置 |
| NDTR | 0x40020018 | 0x00000002 | 传输长度 2 字节(BQ34Z100 数据多为 2 字节) | |
| PAR | 0x4002001C | 0x40005C24 | 外设地址:I2C3_DR 寄存器 | |
| M0AR | 0x40020020 | 0x24000000 | 内存地址:bq34z100_dma_rx_buf(示例地址,实际为缓冲区首地址) | |
| CR | 0x40020000 | 0x00000023 | 使能 Stream0,循环模式,外设到内存,字节对齐,中等优先级 | |
| DMA1_Stream1(I2C3 TX) | CR | 0x40020040 | 0x00000000 | 初始禁用 |
| NDTR | 0x40020058 | 0x00000003 | 传输长度 3 字节(命令 + 数据,如 Control 命令需 3 字节) | |
| PAR | 0x4002005C | 0x40005C24 | 外设地址:I2C3_DR 寄存器 | |
| M0AR | 0x40020060 | 0x24000008 | 内存地址:bq34z100_dma_tx_buf(示例地址) | |
| CR | 0x40020040 | 0x00000021 | 使能 Stream1,正常模式,内存到外设,字节对齐,中等优先级 | |
| DMA1 | LIFCR | 0x40020000 | 0x00000000 | 清除 Stream0/1 中断标志 |
6.1.4 ADC1 寄存器配置表(冗余温度采样)
| 模块 | 寄存器名称 | 地址(十六进制) | 配置值(十六进制) | 说明 |
|---|---|---|---|---|
| ADC1 | CR1 | 0x58000000 | 0x00000000 | 初始配置 |
| CR2 | 0x58000004 | 0x00000000 | 禁用 ADC,单次转换模式 | |
| SMPR1 | 0x5800000C | 0x00000003 | 通道 0 采样时间:2.5 周期(快速采样,适配 NTC 变化) | |
| SQR1 | 0x58000020 | 0x00000000 | 转换序列长度 1 | |
| SQR3 | 0x58000030 | 0x00000000 | 转换通道 0(PA0,冗余 NTC 采样) | |
| CR2 | 0x58000004 | 0x00000001 | 使能 ADC1 |
6.2 BQ34Z100 核心寄存器配置表
6.2.1 标准命令寄存器(Standard Data Commands)
| 寄存器名称 | 命令码(十六进制) | 数据长度 | 访问权限(SEALED) | 访问权限(UNSEALED) | 单位 | 说明 |
|---|---|---|---|---|---|---|
| Control() | 0x00/0x01 | 2 字节 | R/W(部分子命令) | R/W | - | 控制命令,需配合子命令(如 Unseal、IT_ENABLE、Reset) |
| StateOfCharge() | 0x02 | 1 字节 | R | R | % | SOC 值(0~100),核心寄存器 |
| MaxError() | 0x03 | 1 字节 | R | R | % | SOC 估算最大误差(1~100) |
| RemainingCapacity() | 0x04/0x05 | 2 字节 | R | R | mAh | 剩余容量 |
| FullChargeCapacity() | 0x06/0x07 | 2 字节 | R | R | mAh | 满电容量(FCC),SOH 计算核心参数 |
| Voltage() | 0x08/0x09 | 2 字节 | R | R | mV | 电池总电压(12S 总电压 36V~50.4V 对应 36000~50400mV) |
| AverageCurrent( |