代码仓
中
Get BBU Power Info
更新时间: 2025/06/26
在AtomGit上查看源码

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]+电池包放电次数uint16(不支持改写)Block4W/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 1531
bit 16外部故障寿命到期容量小于阈值或电池包出厂时间超过阈值,持续3s告警;大于回差,持续3s恢复33
bit 17外部故障一级高温任意温度点大于阈值,持续1s告警;低于回差,持续1s恢复35
bit 18外部故障二级高温任意温度点大于阈值,持续10s告警;不恢复37
bit 19外部故障低温未使用39
bit 20外部故障硬盘5V故障未使用41
bit 2143
bit 2245
bit 2347
bit 24外部预警寿命预到期容量小于阈值或电池包出厂时间超过阈值,持续3s告警;大于回差,持续3s恢复49
bit 2551
bit 2653
bit 2755
bit 2857
bit 2959
bit 3061
bit 3163

附表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预留--

返回到索引 ​