55h-获取BBU-电源信息(Get-BBU-Power-Info)
修订记录
| openUBMC版本号 | 修订日期 | 修订内容 |
|---|---|---|
| 25.06 | 2025/06/26 | 初稿,新增命令详情 |
基本信息
功能说明
获取BBU信息
权限
USERROLE_POWERMGNT
适用机型
三大洋不支持
命令信息
请求信息
| 字节顺序 | 域取值说明 |
|---|---|
| NetFn | 30h |
| CMD | 93h |
| 1:3 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 4 | Sub command,子命令=55h |
| 5 | ID:BBU的ID |
| 6 | Parameter Selector,参考 表1 |
| 7:8 | Reading offset 偏移参数只能从BBU pmbus命令字中选取,详见 表2 的BBU pmbus命令字表 |
| 9 | Reading length 随Reading offset而变,详见BBU pmbus命令字表 |
响应信息
| 字节顺序 | 域取值说明 |
|---|---|
| 1 | Completion Code |
| 2:4 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 5:N | Data |
命令样例
获取BMC上BBU的模块通信状态
请求:
ipmicmd -k "0f 00 30 93 db 07 00 55 00 01 c0 00 01" smi 0响应:
0f 31 00 93 00 db 07 00 00附表1 BBU/电源配置参数表
| 功能描述 | Parameter Selector | Parameter data-get | Parameter data-set |
|---|---|---|---|
| 使用pmbus命令字访问BBU信息 | 0x01 | 请求: Read offset: byte7 = CMD(参考BBU pmbus协议表),byte8=0 Lenth:byte9=读取BBU数据长度 响应: Data: 从BBU回读的数据 | 请求: Write offset:byte7=CMD(参考BBU pmbus协议表), byte8=0 Length: byte9=写入BBU数据长度 Data: 写入给BBU的数据(参考BBU pmbus协议表) |
| 停止BBU备电功能 | 0x02 | NA | 请求: Write offset: 0x0000, Length: 0x00, Data: 0x01: 代表停止备电 |
| 启停BBU在线测试功能 | 0x03 | NA | 请求: Write offset: 0x0000, Length: 0x00 Data: 0xAA: 启动在线测试功能; 0x55: 停止在线测试功能 |
| 使用pmbus命令字访问电源信息 | 0x04 | 请求: Read offset:byte7=CMD(参考Power pmbus协议表),byte8=0 Length: byte9=读取电源数据长度 响应: Data: 从电源回读的数据 | 请求: Write offset:byte7=CMD(参考Power pmbus协议表), byte8=0 Length: byte9=写入电源数据长度 Data:写入给电源的数据(参考Power pmbus协议表) |
| 使用pmbus命令字访问电源转接板信息 | 0x05 | 请求: Read offset:byte7=CMD(参考电源转接板pmbus协议表),byte8=0 Length: byte9=读取电源转接板数据长度 响应: Data:从电源转接板回读的数据 | NA |
附表2 命令字定义
| 命令类别 | CMD_ID | 命令名 | 命令定义 | 数据内容 | 数据类型 | 长度 | W/R |
|---|---|---|---|---|---|---|---|
| 实时数据接口 | 0xC0 | READ_CML | 模块通信状态 | 通信状态[uint8,参考标准PMBUS1.2规范定义] | Byte | 1 | R |
| 0xC1 | READ_WORK_STATE | 模块工作状态 | 工作状态[uint8 bit0~3:0未使用、1初始、2空闲、3充电、4满充、5放电、6在线测试、7保护、8关机;bit4~7:次状态] | Byte | 1 | R | |
| 0xC2 | READ_TEMP | 模块温度 | 单板温度1+单板温度2+电芯温度1+电芯温度2+预留温度1+预留温度2,统一格式[LINEAR11(-2)-℃] | Block | 14 | R | |
| 0xC3 | READ_VOLT | 模块电压 | 母线电压+放电电压+充电电压+电池电压++预留电压 统一格式[LINEAR16(-9)-V] | Block | 12 | R | |
| 0xC4 | READ_CURR | 模块电流 | 充电电流+放电电流+电池电流+预留电流1+预留电流2 统一格式[LINEAR11(-4)-A] | Block | 10 | R | |
| 0xC5 | READ_CELL_VOLT | 模块电芯电压 | 电芯1电压+电芯2电压+电芯3电压+电芯4电压+电芯电压预留1+电芯电压预留2 统一格式[LINEAR16(-9)-V] | Block | 12 | R | |
| 0xC6 | READ_ALARM_BIT | 模块告警状态 | 告警状态[uint32:按字节定义类别,详见 表3 ] | Block | 4 | R | |
| 0xC7 | READ_BATT_CAPABILITY | 模块备电能力 | 瞬态能力[uint16-W]+稳态能力[uint16-10mWh]+满电容量[uint16-10mWh]+剩余容量[uint16-10mWh]+RSOC[uint8-%]+SOH[uint8-%] | Block | 10 | R | |
| 0xC8 | READ_BATT_STATUS | 模块电池状态 | SafetyAlert+SafetyStatus+PFAlert+PFStatus+OperationStatus+ChargingStatus+GaugingStatus+Resv 统一格式[uint32] | Block | 32 | R | |
| 功能控制接口 | 0xCC | CTRL_FORCE_ALM | 强制告警 | 掩码[uint8 bit0:5V故障,bit1~7预留]+命令[0-清零,非0-置位] | Word | 2 | W/R |
| 0xCD | CTRL_FUNCTION | 功能控制 | 掩码[uint8 bit0:关机,bit1:预充,bit2:在线测试,bit3:bit4~7预留]+命令[0-DISABLE,非0-ENABLE] | Word | 2 | W/R | |
| 固有参数接口 | 0xD0 | ATTR_VER | 软硬件版本 | 模块标志码[uint8]+PCB版本[uint8]+软件版本[ASCII*11byte,"ab.cd.ef(g)Txy"] | Block | 13 | R |
| 0xD1 | ATTR_E_LABLE_FRAME_ID | 模块电子标签帧序号 | 帧序号[uint16,从0开始] | Word | 2 | W/R | |
| 0xD2 | ATTR_E_LABLE | 模块电子标签 | 帧序号[uint16]+帧数据[uint8*Len] | Block | 130 | W/R | |
| 0xD3 | ATTR_SN | 模块序列号 | 序列号[ASCII*32] | Block | 32 | R | |
| 0xD4 | ATTR_BATT_INFO | 电池包标签信息 | 厂商名称[ASCII16]+产品名称[ASCII16]+生产日期[uint8*3] | Block | 35 | R | |
| 0xD5 | ATTR_BATT_SN | 电池包序列号 | 序列号[ASCII*32] | Block | 32 | R | |
| 0xD6 | ATTR_DIE_ID | 芯片DieID | 芯片DieID(uint8*20) | Block | 20 | R | |
| 参数配置接口 | 0xD9 | CONF_RTC | 时钟同步 | 实时时间[uint8*6-年(2000起始)月日时分秒] | Block | 6 | W/R |
| 0xDA | CONF_WORK_TIME | 运行时间 | 运行时间[uint32-hour] | Block | 4 | W/R | |
| 0xDB | CONF_DISCHAR_TIMES | 读取放电次数 | 模块放电次数[uint16]+电池包放电次数uint16 | Block | 4 | W/R | |
| 0xDC | CONF_LEARNING_TIME | 最近测试结束时间 | 结束时间[uint8*6] | Block | 6 | R | |
| 0xDD | CONF_DISCHAR_PARA | 最近放电参数 | 放电时间[uint8*6]+放电时长[uint16-s]+放电电量[uint16-10mWh]+平均电流[LINEAR11(-4)-A]+截止电压[LINEAR16(-9)-V] | Block | 14 | R | |
| 日志读取接口 | 0xE0 | LOG_READ_FORMAT | 日志格式-保留 | 日志格式[ASCII*n]-"数据名1[类型]+空格+数据名2[类型]+…",eg."Vout[U16-%d] Iout[L11%d] Safety[U32%X]" | Block | Variable | R |
| 0xE1 | LOG_READ_ROM | 内存日志读取 | 日志数据1+日志数据2,当无日志数据时,全为0xFF | Block | 128 | R | |
| 0xE2 | LOG_READ_FLASH_NUM | 日志重读 | 日志重读数量[uint16] | Word | 2 | W/R | |
| 0xE3 | LOG_READ_FLASH | 历史日志读取 | 日志数据1+日志数据2,当无日志数据时,全为0xFF | Block | 128 | R | |
| 装备调测接口 | 0xE5 | EQUIP_MODE | 装备模式 | 控制命令[0xAA: ENABLE, 0x55: DISABLE],默认关闭 | Byte | 1 | W/R |
| 0xE6 | EQUIP_CTRL | 接口控制 | 掩码[uint8 bit0: LED_R, bit1: LED_G, bit2: bbu_ok, bit3: bbu_alm, bit4: bbu_run, bit5: bbu_kill, bit6: HDD_5V_PG, bit7预留]+命令[0-DISABLE, 非0-ENABLE] | Word | 2 | W/R | |
| 0xE7 | EQUIP_CALIBRATION | 校准控制 | 控制命令[0xAA: 重新校准, 0x55: 清除校准] | Byte | 1 | W | |
| 校准结果查询 | AD基准源[LINEAR16(-9)-V]+充电电流偏置[LINEAR11(-4)-A]+放电电流偏置[LINEAR11(-4)-A]+预留[uint16*12] | Block | 32 | R | |||
| 0xE9 | DCIP_STATE | 芯片CRACK查询 | Bit1~7:预留 Bit0:Crack Fault 1有效 | Byte | 1 | R | |
| 自动化测试接口 | 0xEA | TEST_MODE | 测试模拟 | 控制命令[0xAA: ENABLE, 0x55: DISABLE], 默认关闭 | Byte | 1 | W/R |
| 0xEB | TEST_STATUS_SIMU | 状态模拟 | 掩码[uint8 0: 不控制, 1: 控制]+命令[uint8 bit0: 满电, bit1~7], 1置位; 0清零 | Word | 2 | W/R | |
| 0xEC | TEST_ALM_THRESHOLD | 数据模拟 | 数据类型[uint8]+数据值[uint16],详见 表4 | Block | 3 | W | |
| 数据[uint16*16],详见 表4 | Block | 32 | R | ||||
| 软件加载接口---详见《二次电源软件升级PMBUS通信规范1.5》 | 0xFB | SOFT_LOAD_INFO | 加载信息查询 | 加载信息[uint8*36] | Block | 36 | R |
| 0xFC | SOFT_LOAD_CTRL | 加载过程控制 | 控制命令action[uint8]+软件ID[uint8] | Word | 2 | W | |
| 0xFC | SOFT_LOAD_RESULT | 加载结果查询 | 执行结果[uint16] | Word | 2 | R | |
| 0xFD | SOFT_LOAD_DATA | 加载数据传输 | 帧序号[uint16]+帧数据[uint8*Len] | Block | 130 | W |
附表3 告警bit位定义
|bit 00|单板故障|缓启短路|缓启关闭时,检测缓启Vout>(Vin*0.68-0.5V)(压差小于2V)持续1s,触发故障告警|1| |bit 01|缓启断路|缓启使能后,检测缓启Vout>Vin+2V持续1s,触发故障告警|3| |bit 02|合路断路|检测到ORING Vin>Vout+0.3V持续3s,关闭功率,触发故障告警(锁死)|5| |bit 03|功率故障1|第一相抬压过程中,功率Vout∉(Vref-0.05V,Vref+0.05V)持续1s,触发故障告警|7| |bit 04|功率故障2|第一相抬压过程中,功率Vout∉(Vref-0.05V,Vref+0.05V)持续1s,触发故障告警|9| |bit 05|充电过流OST|检测充电CHG_OC硬件OST信号,关闭功率,触发故障告警(锁死)|11| |bit 06|充电过压OST|检测充电CHG_OV硬件OST信号,关闭功率,触发故障告警(锁死)|13| |bit 07|放电过流OST|检测到放电DSG_OC硬件OST信号(约135A),关闭功率,触发故障告警(锁死)|15| |bit 08|放电过压OST|检测到放电DSG_OV硬件OST信号(约14.7V),关闭功率,触发故障告警(锁死)|17| |bit 09|放电慢过流|检测放电Idsg>60A,持续3s,触发故障告警(锁死)|19| |bit 10|-|-|-|21| |bit 11|-|-|-|23| |bit 12|电池故障|通信故障|MCU与电池包通信故障|25| |bit 13|失效故障|BQ芯片返回的PF类永久故障|27| |bit 14|保护故障|BQ芯片返回的保护类故障|29| |bit 15||||31| |bit 16|外部故障|寿命到期|容量小于阈值或电池包出厂时间超过阈值,持续3s告警;大于回差,持续3s恢复|33| |bit 17|一级高温|任意温度点大于阈值,持续1s告警;低于回差,持续1s恢复|35| |bit 18|二级高温|任意温度点大于阈值,持续10s告警;不恢复|37| |bit 19|低温|未使用|39| |bit 20|硬盘5V故障|未使用|41| |bit 21||||43| |bit 22||||45| |bit 23||||47| |bit 24|外部预警|寿命预到期|容量小于阈值或电池包出厂时间超过阈值,持续3s告警;大于回差,持续3s恢复|49| |bit 25||||51| |bit 26||||53| |bit 27||||55| |bit 28||||57| |bit 29||||59| |bit 30||||61| |bit 31||||63|
附表4 数据模拟定义
| 编号 | 定义 | 格式 | 单位 |
|---|---|---|---|
| 0 | 寿命预到期能量告警门限 | uint16 | 10mWh |
| 1 | 寿命到期能量告警门限 | uint16 | 10mWh |
| 2 | 寿命到期时间告警门限 | uint16 | month |
| 3 | 寿命预到期时间告警门限 | uint16 | month |
| 4 | 一级高温告警门限 | int16 | ℃ |
| 5 | 二级高温告警门限 | int16 | ℃ |
| 6 | 低温告警门限 | int16 | ℃ |
| 7 | 电芯温度模拟 | int16 | ℃ |
| 8 | 单板温度模拟 | int16 | ℃ |
| 9 | 电池包电压模拟 | uint16 | mV |
| 10 | 预留 | - | - |
| 11 | 预留 | - | - |
| 12 | 预留 | - | - |
| 13 | 预留 | - | - |
| 14 | 预留 | - | - |
| 15 | 预留 | - | - |
| 16 | 预留 | - | - |