寄存器手册
UPS HAT (E) 主要通过 I2C 通信读取模块信息,操作简单,使用方便。模块从机地址为:0x2D。
寄存器表
ID 寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x00 | R | 0x0a | 0000 1010 | |||||||
来电启动触发寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x01 | R/W | 0x0b | 0000 1011 | |||||||
注意
0x01 是一次性关机触发寄存器,不是来电自动启动配置寄存器。向 0x01 写入 0x55 后,模块会启动延时关机流程,约 30 s 后切断树莓派供电,并在约 60 s 后开始检测充电;检测到来电后,模块会重新为树莓派供电并启动。来电自动启动配置由 0x40 的 BIT0 控制,默认值为 1。执行写入前必须保存数据并准备安全关机。
充电状态寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x02 | R | 1:充电 0:非充电 | 1:快充 0:非快充 | 1:VBUS 有电 0:VBUS 没电 | 固定:00 | 000:待机,001:涓流,010:恒流充电,011:恒压充电,100:充电等待中,101:充满状态,110:充电超时 | ||||
通信状态寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x03 | R | 固定:000000 | 1:BQ4050 通信正常;0:BQ4050 通信错误 | 1:IP2368 通信正常;0:IP2368 通信错误 | ||||||
Type-C VBUS 电压寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x10 | R | VBUS 电压数据的低 8 bit(mV) | ||||||||
| 0x11 | R | VBUS 电压数据的高 8 bit(mV) | ||||||||
Type-C VBUS 电流寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x12 | R | VBUS 电流数据的低 8 bit(mA) | ||||||||
| 0x13 | R | VBUS 电流数据的高 8 bit(mA) | ||||||||
Type-C VBUS 功率寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x14 | R | VBUS 功率数据的低 8 bit(mW) | ||||||||
| 0x15 | R | VBUS 功率数据的高 8 bit(mW) | ||||||||
电池电压寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x20 | R | 电池总电压数据的低 8 bit(mV) | ||||||||
| 0x21 | R | 电池总电压数据的高 8 bit(mV) | ||||||||
电池电流寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x22 | R | 电池电流数据的低 8 bit(mA) | ||||||||
| 0x23 | R | 电池电流数据的高 8 bit(mA),有符号十六位;正数表示充电电流,负数表示输出电流 | ||||||||
电池剩余百分比寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x24 | R | 电池剩余百分比数据的低 8 bit(%) | ||||||||
| 0x25 | R | 电池剩余百分比数据的高 8 bit(%) | ||||||||
电池剩余电量寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x26 | R | 电池剩余电量数据的低 8 bit(mAh) | ||||||||
| 0x27 | R | 电池剩余电量数据的高 8 bit(mAh) | ||||||||
电池剩余放电时间寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x28 | R | 电池剩余放电时间数据的低 8 bit(min) | ||||||||
| 0x29 | R | 电池剩余放电时间数据的高 8 bit(min) | ||||||||
电池剩余充电时间寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x2a | R | 电池剩余充电时间数据的低 8 bit(min) | ||||||||
| 0x2b | R | 电池剩余充电时间数据的高 8 bit(min) | ||||||||
电池 1 电压寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x30 | R | 电池 1 电压数据的低 8 bit(mV) | ||||||||
| 0x31 | R | 电池 1 电压数据的高 8 bit(mV) | ||||||||
电池 2 电压寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x32 | R | 电池 2 电压数据的低 8 bit(mV) | ||||||||
| 0x33 | R | 电池 2 电压数据的高 8 bit(mV) | ||||||||
电池 3 电压寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x34 | R | 电池 3 电压数据的低 8 bit(mV) | ||||||||
| 0x35 | R | 电池 3 电压数据的高 8 bit(mV) | ||||||||
电池 4 电压寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x36 | R | 电池 4 电压数据的低 8 bit(mV) | ||||||||
| 0x37 | R | 电池 4 电压数据的高 8 bit(mV) | ||||||||
控制寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x40 | R/W | 0x01 | 保留 | 1:启动看门狗;0:关闭看门狗(默认) | 1:来电自动启动(默认);0:禁用来电自动启动 | |||||
自定义 UPS I2C 地址
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x41 | R/W | 0x2d | I2C 地址范围:0x08~0x77,默认:0x2d | |||||||
看门狗超时时间寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x42 | R/W | 0xFF | 时间区间:0~255,单位:s,默认:0xFF | |||||||
看门狗延时启动时间寄存器
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x43 | R/W | 0xFF | 时间区间:0~255,单位:s,默认:0xFF | |||||||
软件版本
| Register | R/W | 默认值 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0x50 | R | 软件版本,小数点左移一位即表示软件版本,0x14 = 20 = V2.0 | ||||||||