CSR配置字典之PowerPoint类
更新时间: 2026/05/12
在Gitcode上查看源码📋 文档信息
| 项目 | 内容 |
|---|---|
| 文档标题 | PowerPoint类配置字典 |
| 版本 | v1.0 |
| 创建日期 | 2026-05-12 |
| 最后更新 | 2026-05-12 |
| 维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
| 版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
|---|---|---|---|---|---|
| v1.0 | 2026-05-12 | 初始版本 | 创建PowerPoint类配置字典 | 全新文档 | 汪航 |
🎯 类概览
PowerPoint 类
| 属性 | 值 |
|---|---|
| 类名称 | PowerPoint |
| 功能描述 | 功耗点对象,即功耗封顶中功耗点数据信息管理类 |
| 所属SIG组 | hardware |
| 所属组件 | power_strategy |
| 责任人 | 能效管理组 |
| 最后更新 | 2026-05-12 |
| 状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
| 属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
|---|---|---|---|---|---|---|---|---|---|
| Id | U64 | 0 | U64 | "${GroupId} |> expr($1 << 16 | 8 << 8 | 1)" | 功耗点Id,配置格式为:"GroupId << 16 | DeviceTypeId << 8 | Id",其中DeviceTypeId取值如下: 1: CPU, 2: NPU, 3: GPU, 4: DPU, 5: SDI, 6: Memory, 7: Fan, 8: Disk, 9: NPU_CPLD, 11: BOARD, 21: Power, 22: PowerSensor | 部分模组不由电源进行供电,系统整机功耗组成需包含该模组,并且功耗封顶功能需计算此类模组功耗值后进行封顶 | "${GroupId} |> expr($1 << 16 | 8 << 8 | 1)" | CSR配置 | 软件 |
| SystemId | U8 | 1 | U8 | - | 系统Id | 系统Id | "${SystemId}" | CSR配置 | 软件 |
| PowerType | U8 | 0 | 1/2/3 | - | 功耗点类型: 1:功耗点的实时功耗; 2:功耗点额定功耗; 3:功耗点损失功耗; | 整机功耗计算,功耗封顶值计算 | 1 | CSR配置 | 软件 |
| PowerWatts | Double | 0 | Double | "<=/Scanner_HddPower.Value" | 功耗点功耗值,单位:瓦特 | 功耗点功耗值,单位:瓦特 | "<=/Scanner_HddPower.Value" | CSR配置 | 硬件 |
| Status | U8 | 0 | 0/1/2/3/4 | "<=/Scanner_PowerGood.Value;<=/Scanner_HddPower.Status |> expr($1 == 1 ? ($2 == 0 ? 0 : 1) : 3)" | 功耗点状态: 0:正常获取值; 1:获取值失败; 2:获取值失败,正在进行防抖; 3:无效状态; 4:初始状态,暂未开始扫描 | `"<=/Scanner_PowerGood.Value;<=/Scanner_HddPower.Status |> expr($1 == 1 ? ($2 == 0 ? 0 : 1) : 3)" | CSR配置 | 硬件 |
🔗 动态关联机制
语法规范
使用基础语法以及 <=/xxx 和表达式语法实现动态关联:
yaml
# 编号配置
Id: "${GroupId} |> expr($1 << 16 | 8 << 8 | 1)" # Disk类型功耗点
SystemId: ${GroupId}
PowerType: 1 # 额定功耗
# 功耗点功耗值动态关联
PowerWatts: "<=/Scanner_HddPower.Value"
# 功耗点功耗状态动态关联
Status: "<=/Scanner_PowerGood.Value;<=/Scanner_HddPower.Status |> expr($1 == 1 ? ($2 == 0 ? 0 : 1) : 3)"关联说明
- 传感器关联: 通过Scanner值获取功耗值和功耗点状态
- 表达式计算: 使用expr函数计算功耗点状态值
- 状态映射: 将传感器值映射为功耗点具体状态
📂 分类标准
硬件属性
- 定义:与功耗点硬件直接相关的参数
- 特点:可观测功耗点功耗值和状态
- 示例:PowerWatts,Status
软件属性
- 定义:由软件管理和维护的功耗点管理配置参数
- 特点:静态配置,用于区分不同功耗点
- 示例:Id,SystemId,PowerType
📝 配置示例
硬盘实时功耗点
json
{
"PowerPoint_DiskReal": {
"Id": "${GroupId} |> expr($1 << 16 | 8 << 8 | 1)",
"SystemId": "${GroupId}",
"PowerType": 1,
"PowerWatts": "<=/Scanner_HddPower.Value",
"Status": "<=/Scanner_PowerGood.Value;<=/Scanner_HddPower.Status |> expr($1 == 1 ? ($2 == 0 ? 0 : 1) : 3)"
}
}硬盘额定功耗点
json
{
"PowerPoint_DiskReal": {
"Id": "${GroupId} |> expr($1 << 16 | 8 << 8 | 1)",
"SystemId": "${GroupId}",
"PowerType": 2,
"PowerWatts": 240,
"Status": "<=/Scanner_PowerGood.Value |> expr($1 == 1 ? 0 : 3)"
}
}CPU实时功耗点
json
{
"PowerPoint_CPUReal": {
"Id": "${GroupId} |> expr($1 << 16 | 1 << 8 | 1)",
"SystemId": "${GroupId}",
"PowerType": 1,
"PowerWatts": "<=/CPUMetrics_1.ConsumedPowerWatt",
"Status": "<=/Scanner_PowerGood.Value |> expr($1 == 1 ? 0 : 3)"
}
}功耗传感器损失功耗点
json
{
"PowerPoint_PowerSensorLoss": {
"Id": "${GroupId} |> expr($1 << 16 | 22 << 8 | 1)",
"SystemId": "${GroupId}",
"PowerType": 2,
"PowerWatts": 180,
"Status": 0
}
}🔧 使用指南
配置步骤
- 功耗点设备类型: 根据功耗点设备类型确认Id适配
- 功耗点功耗值类型: 配置功耗点类型
- 功耗点功耗值和状态: 若为实时功耗点,明确功耗点对应Scanner值进行适配,否则为固定值
使用场景
- 整机功耗: 部分模组不由电源进行供电,系统整机功耗组成需包含该模组
- 功耗封顶: 功耗封顶功能需根据功耗点类型计算实际封顶值
注意事项
- 功能依赖: 系统整机功耗受功耗点影响