Get BBU Power Info
更新时间: 2025/06/26
在Gitcode上查看源码

55h-获取BBU-电源信息(Get-BBU-Power-Info)

修订记录

openUBMC版本号修订日期修订内容
25.062025/06/26初稿,新增命令详情

基本信息

功能说明

获取BBU信息

权限

USERROLE_POWERMGNT

适用机型

三大洋不支持

命令信息

请求信息

字节顺序域取值说明
NetFn30h
CMD93h
1:3Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。
4Sub command,子命令=55h
5ID:BBU的ID
6Parameter Selector,参考 表1
7:8Reading offset
偏移参数只能从BBU pmbus命令字中选取,详见 表2 的BBU pmbus命令字表
9Reading length
随Reading offset而变,详见BBU pmbus命令字表

响应信息

字节顺序域取值说明
1Completion Code
2:4Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。
5:NData

命令样例

获取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 SelectorParameter data-getParameter 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备电功能0x02NA请求:
Write offset: 0x0000,
Length: 0x00,
Data:
0x01: 代表停止备电
启停BBU在线测试功能0x03NA请求:
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
实时数据接口







0xC0READ_CML模块通信状态通信状态[uint8,参考标准PMBUS1.2规范定义]Byte1R
0xC1READ_WORK_STATE模块工作状态工作状态[uint8 bit0~3:0未使用、1初始、2空闲、3充电、4满充、5放电、6在线测试、7保护、8关机;bit4~7:次状态]Byte1R
0xC2READ_TEMP模块温度单板温度1+单板温度2+电芯温度1+电芯温度2+预留温度1+预留温度2,统一格式[LINEAR11(-2)-℃]Block14R
0xC3READ_VOLT模块电压母线电压+放电电压+充电电压+电池电压++预留电压
统一格式[LINEAR16(-9)-V]
Block12R
0xC4READ_CURR模块电流充电电流+放电电流+电池电流+预留电流1+预留电流2
统一格式[LINEAR11(-4)-A]
Block10R
0xC5READ_CELL_VOLT模块电芯电压电芯1电压+电芯2电压+电芯3电压+电芯4电压+电芯电压预留1+电芯电压预留2
统一格式[LINEAR16(-9)-V]
Block12R
0xC6READ_ALARM_BIT模块告警状态告警状态[uint32:按字节定义类别,详见 表3 ]Block4R
0xC7READ_BATT_CAPABILITY模块备电能力瞬态能力[uint16-W]+稳态能力[uint16-10mWh]+满电容量[uint16-10mWh]+剩余容量[uint16-10mWh]+RSOC[uint8-%]+SOH[uint8-%]Block10R
0xC8READ_BATT_STATUS模块电池状态SafetyAlert+SafetyStatus+PFAlert+PFStatus+OperationStatus+ChargingStatus+GaugingStatus+Resv
统一格式[uint32]
Block32R
功能控制接口
0xCCCTRL_FORCE_ALM强制告警掩码[uint8 bit0:5V故障,bit1~7预留]+命令[0-清零,非0-置位]Word2W/R
0xCDCTRL_FUNCTION功能控制掩码[uint8 bit0:关机,bit1:预充,bit2:在线测试,bit3:bit4~7预留]+命令[0-DISABLE,非0-ENABLE]Word2W/R
固有参数接口




0xD0ATTR_VER软硬件版本模块标志码[uint8]+PCB版本[uint8]+软件版本[ASCII*11byte,"ab.cd.ef(g)Txy"]Block13R
0xD1ATTR_E_LABLE_FRAME_ID模块电子标签帧序号帧序号[uint16,从0开始]Word2W/R
0xD2ATTR_E_LABLE模块电子标签帧序号[uint16]+帧数据[uint8*Len]Block130W/R
0xD3ATTR_SN模块序列号序列号[ASCII*32]Block32R
0xD4ATTR_BATT_INFO电池包标签信息厂商名称[ASCII16]+产品名称[ASCII16]+生产日期[uint8*3]Block35R
0xD5ATTR_BATT_SN电池包序列号序列号[ASCII*32]Block32R
0xD6ATTR_DIE_ID芯片DieID芯片DieID(uint8*20)Block20R
参数配置接口0xD9CONF_RTC时钟同步实时时间[uint8*6-年(2000起始)月日时分秒]Block6W/R
0xDACONF_WORK_TIME运行时间运行时间[uint32-hour]Block4W/R
0xDBCONF_DISCHAR_TIMES读取放电次数模块放电次数[uint16]+电池包放电次数uint16Block4W/R
0xDCCONF_LEARNING_TIME最近测试结束时间结束时间[uint8*6]Block6R
0xDDCONF_DISCHAR_PARA最近放电参数放电时间[uint8*6]+放电时长[uint16-s]+放电电量[uint16-10mWh]+平均电流[LINEAR11(-4)-A]+截止电压[LINEAR16(-9)-V]Block14R
日志读取接口0xE0LOG_READ_FORMAT日志格式-保留日志格式[ASCII*n]-"数据名1[类型]+空格+数据名2[类型]+…",eg."Vout[U16-%d] Iout[L11%d] Safety[U32%X]"BlockVariableR
0xE1LOG_READ_ROM内存日志读取日志数据1+日志数据2,当无日志数据时,全为0xFFBlock128R
0xE2LOG_READ_FLASH_NUM日志重读日志重读数量[uint16]Word2W/R
0xE3LOG_READ_FLASH历史日志读取日志数据1+日志数据2,当无日志数据时,全为0xFFBlock128R
装备调测接口0xE5EQUIP_MODE装备模式控制命令[0xAA: ENABLE, 0x55: DISABLE],默认关闭Byte1W/R
0xE6EQUIP_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]Word2W/R
0xE7
EQUIP_CALIBRATION
校准控制控制命令[0xAA: 重新校准, 0x55: 清除校准]Byte1W
校准结果查询AD基准源[LINEAR16(-9)-V]+充电电流偏置[LINEAR11(-4)-A]+放电电流偏置[LINEAR11(-4)-A]+预留[uint16*12]Block32R
0xE9DCIP_STATE芯片CRACK查询Bit1~7:预留
Bit0:Crack Fault 1有效
Byte1R
自动化测试接口0xEATEST_MODE测试模拟控制命令[0xAA: ENABLE, 0x55: DISABLE], 默认关闭Byte1W/R
0xEBTEST_STATUS_SIMU状态模拟掩码[uint8 0: 不控制, 1: 控制]+命令[uint8 bit0: 满电, bit1~7], 1置位; 0清零Word2W/R
0xECTEST_ALM_THRESHOLD数据模拟数据类型[uint8]+数据值[uint16],详见 表4Block3W
数据[uint16*16],详见 表4Block32R
软件加载接口---详见《二次电源软件升级PMBUS通信规范1.5》0xFBSOFT_LOAD_INFO加载信息查询加载信息[uint8*36]Block36R
0xFCSOFT_LOAD_CTRL加载过程控制控制命令action[uint8]+软件ID[uint8]Word2W
0xFCSOFT_LOAD_RESULT加载结果查询执行结果[uint16]Word2R
0xFDSOFT_LOAD_DATA加载数据传输帧序号[uint16]+帧数据[uint8*Len]Block130W

附表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寿命预到期能量告警门限uint1610mWh
1寿命到期能量告警门限uint1610mWh
2寿命到期时间告警门限uint16month
3寿命预到期时间告警门限uint16month
4一级高温告警门限int16
5二级高温告警门限int16
6低温告警门限int16
7电芯温度模拟int16
8单板温度模拟int16
9电池包电压模拟uint16mV
10预留--
11预留--
12预留--
13预留--
14预留--
15预留--
16预留--

返回到索引