功耗点配置简述
更新时间: 2026/02/09
在Gitcode上查看源码

场景: 对于某些节点机型,由于其xxx模组并不由其电源供电,故需配置xxx模组的功耗点才可正常显示系统总功耗。对于某些支持功率封顶的机型,由于其需要计算实际封顶器件的封顶值,故需配置相关的功耗点才可正常执行功率封顶。

功耗点配置简述

功耗点功能使用涉及PowerPoint、PowerPointMgmt两个类,需根据实际需求配置PowerPoint对象及其相应的PowerPointMgmt对象,才可生效。

PowerPoint功耗点类,描述功耗点信息 PowerPoint类:

属性名类型描述
IdU64功耗点Id, 其值为| GroupId << 16 | DeviceTypeId << 8 | Id
SystemIdU8系统Id
PowerTypeU8功耗点类型: 1:Real、2:Rated、3:Loss
PowerWattsDouble功耗点功耗
StatusU8功耗点状态, 0: 正常获取值, 1: 获取值失败, 2: 获取值预失败,正在进行防抖, 3: 处于无效状态, 4: 初始状态, 暂未开始扫描

PowerPointMgmt功耗点管理类,描述功耗点功能,配置在PSR PowerPointMgmt类:

属性名类型描述
FunctionU64功耗点管理对象功能Id 1:功耗统计, 2:录波, 3:功率封顶
DeviceTypeIdsU64[ ]功耗点管理对象使用功耗点设备类型

功耗点功能

功耗统计

需与系列化及硬件同事确认,机型所涉及的不为自身供电的且需加入系统总功耗的器件,并对齐功耗值获取来源后,再进行配置。 以某节点为例,其涉及的8个xxx模组均不为自身供电,可在xxx的CSR里配置PowerPoint对象,如下所示

json
        "PowerPoint_xxx_Power": {
            "Id": "${GroupId} |> expr($1 << 16 | 9 << 8 | ${Slot})",
            "SystemId": "${SystemId}",
            "PowerType": 1,
            "PowerWatts": "<=/Scanner_xxxPower.Value",
            "Status": "<=/Scanner_xxxPower.Status |> expr($1 == 0 ? 0 : 3)"
        },
        "PowerPoint_xxx_RatedPower": {
            "Id": "${GroupId} |> expr($1 << 16 | 9 << 8 | ${Slot})",
            "SystemId": "${SystemId}",
            "PowerType": 2,
            "PowerWatts": "#/xxx_1.MaxPowerCapWatts",
            "Status": 0
        }

然后在节点的PSR里配置PowerPointMgmt对象

json
        "PowerPointMgmt_1": {
            "Function": 1,
            "DeviceTypeIds": [
                9
            ]
        }

功率封顶

需与系列化及硬件同事确认,机型所涉及的封顶器件和不参与封顶的大功率器件,并对齐功耗来源及额定功耗后,再进行配置。 以某节点为例,其对齐的结论如下所示 1、参与封顶的xxx模组由机柜供电,每个模组的实时功率可获取,单个模组TDP功耗为900W,可将其视为额定功耗 2、不参与封顶的其他器件由节点上的电源供电,其他器件的实时功率之和可采用节点上电源砖功率,电源砖额定功率为300W,可视为其他器件的额定功率之和 3、需要配置的功耗点为

功耗点功耗点的功率值
xxx模组实时功率配置Scanner获取
xxx模组额定功率900W
不参与封顶的其他器件的实时功率节点上电源砖的输入功率
不参与封顶的其他器件的额定功率节点上电源砖的额定功率