CSR配置字典之CoolingPolicy类
更新时间:2025/7/22
在Gitcode上查看源码📋 文档信息
项目 | 内容 |
---|---|
文档标题 | CoolingPolicy类配置字典 |
版本 | v1.0 |
创建日期 | 2025-01-27 |
最后更新 | 2025-01-27 |
维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
---|---|---|---|---|---|
v1.0 | 2025-01-27 | 初始版本 | 创建CoolingPolicy类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
CoolingPolicy 类
属性 | 值 |
---|---|
类名称 | CoolingPolicy |
功能描述 | 线性调速策略对象,提供基于环境温度的风扇线性调速策略配置,支持温度区间和转速区间的对应关系 |
所属SIG组 | thermal |
所属组件 | 散热策略 |
责任人 | 热设计组 |
最后更新 | 2025-01-27 |
状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
PolicyIdx | U8 | 0 | U8 | - | 线性调速策略CoolingPolicy的ID | 环温调速策略配置:环温调速策略ID | 6 | CSR | 软件 |
ExpCondVal | String | "" | String | - | 调速策略生效的预期条件 | 环温调速策略配置:环温调速策略生效条件 | "EnergySaving" | CSR | 热设计 |
ActualCondVal | String | "" | String | CoolingConfig_1 | 调速策略实际条件 | 环温调速策略配置:环温调速策略实际条件,当生效条件和实际条件相同时该调速策略生效且FanType满足时生效 | "<=/CoolingConfig_1.SmartCoolingMode" | CSR | 热设计 |
TemperatureRangeLow | S16[] | [] | S16[] | - | 线性调速策略温度区间低门限 | 环温调速策略配置:环温调速策略温度区间和转速区间对应关系 | [-127, 20, 30, 40, 50] | CSR | 热设计 |
TemperatureRangeHigh | S16[] | [] | S16[] | - | 线性调速策略温度区间高门限 | 环温调速策略配置:环温调速策略温度区间和转速区间对应关系 | [20, 30, 40, 50, 127] | CSR | 热设计 |
SpeedRangeLow | S16[] | [] | S16[] | - | 线性调速策略转速区间低门限 | 环温调速策略配置:环温调速策略温度区间和转速区间对应关系 | [20, 32, 70, 100] | CSR | 热设计 |
SpeedRangeHigh | S16[] | [] | S16[] | - | 线性调速策略转速区间高门限 | 环温调速策略配置:环温调速策略温度区间和转速区间对应关系 | [20, 32, 70, 100] | CSR | 热设计 |
FanType | String[] | [] | String[] | - | 风扇类型列表,环境风扇类型为列表之一时,风扇条件生效 | 环温调速策略配置:风扇类型,当风扇类型与之相同时环温调速策略生效 | ["02314BLG 8038+"] | CSR | 热设计 |
可选属性
无可选属性
🔗 动态关联机制
语法规范
使用标准配置语法和动态关联:
yaml
# 调速策略基础配置
PolicyIdx: 6
ExpCondVal: "EnergySaving"
ActualCondVal: "<=/CoolingConfig_1.SmartCoolingMode"
# 温度区间配置
TemperatureRangeLow: [-127, 20, 30, 40, 50]
TemperatureRangeHigh: [20, 30, 40, 50, 127]
# 转速区间配置
SpeedRangeLow: [20, 32, 70, 100]
SpeedRangeHigh: [20, 32, 70, 100]
# 风扇类型配置
FanType: ["02314BLG 8038+"]
关联说明
- 条件匹配: ExpCondVal和ActualCondVal必须匹配才能生效
- 动态关联: ActualCondVal通过CoolingConfig对象获取实际调速模式
- 温度转速对应: 温度区间和转速区间一一对应
- 风扇类型匹配: 只有匹配的风扇类型才应用此策略
📂 分类标准
硬件属性
- 定义:当前版本无硬件属性
- 特点:所有属性都是热设计相关
- 示例:无
软件属性
- 定义:由软件管理的调速策略配置参数
- 特点:策略ID、条件配置等
- 示例:
PolicyIdx
热设计属性
- 定义:与热设计和散热策略直接相关的参数
- 特点:温度区间、转速区间、风扇类型等热管理参数
- 示例:
ExpCondVal
,ActualCondVal
,TemperatureRangeLow
,TemperatureRangeHigh
,SpeedRangeLow
,SpeedRangeHigh
,FanType
📝 配置示例
节能模式调速策略
json
{
"CoolingPolicy_EnergySaving": {
"PolicyIdx": 6,
"ExpCondVal": "EnergySaving",
"ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
"TemperatureRangeLow": [-127, 20, 30, 40, 50],
"TemperatureRangeHigh": [20, 30, 40, 50, 127],
"SpeedRangeLow": [20, 32, 70, 100],
"SpeedRangeHigh": [20, 32, 70, 100],
"FanType": ["02314BLG 8038+"]
}
}
高性能模式调速策略
json
{
"CoolingPolicy_HighPerformance": {
"PolicyIdx": 7,
"ExpCondVal": "HighPerformance",
"ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
"TemperatureRangeLow": [-127, 15, 25, 35, 45],
"TemperatureRangeHigh": [15, 25, 35, 45, 127],
"SpeedRangeLow": [40, 60, 80, 100],
"SpeedRangeHigh": [40, 60, 80, 100],
"FanType": ["02314BLG 8038+", "02314BLG 9038+"]
}
}
低噪音模式调速策略
json
{
"CoolingPolicy_LowNoise": {
"PolicyIdx": 8,
"ExpCondVal": "LowNoise",
"ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
"TemperatureRangeLow": [-127, 25, 35, 45, 55],
"TemperatureRangeHigh": [25, 35, 45, 55, 127],
"SpeedRangeLow": [15, 25, 45, 80],
"SpeedRangeHigh": [15, 25, 45, 80],
"FanType": ["02314BLG 8038+"]
}
}
自定义模式调速策略
json
{
"CoolingPolicy_Custom": {
"PolicyIdx": 9,
"ExpCondVal": "Custom",
"ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
"TemperatureRangeLow": [-127, 18, 28, 38, 48],
"TemperatureRangeHigh": [18, 28, 38, 48, 127],
"SpeedRangeLow": [25, 40, 65, 90],
"SpeedRangeHigh": [25, 40, 65, 90],
"FanType": ["02314BLG 8038+", "02314BLG 9038+", "02314BLG 7038+"]
}
}
🔧 使用指南
配置步骤
- 策略ID配置:设置PolicyIdx为唯一的策略ID
- 生效条件配置:设置ExpCondVal和ActualCondVal
- 温度区间配置:设置TemperatureRangeLow和TemperatureRangeHigh
- 转速区间配置:设置SpeedRangeLow和SpeedRangeHigh
- 风扇类型配置:设置FanType支持的风扇类型列表
- 策略验证:验证策略配置的合理性和有效性
线性调速原理
- 温度区间: 定义不同的温度范围
- 转速区间: 对应每个温度区间的风扇转速
- 线性插值: 在温度区间内进行线性插值计算转速
- 分段控制: 不同温度段采用不同的转速控制策略
温度转速对应关系
- 数组对应: 温度区间和转速区间数组一一对应
- 区间定义: TemperatureRangeLow[i] <= 温度 < TemperatureRangeHigh[i]
- 转速计算: 转速在SpeedRangeLow[i]和SpeedRangeHigh[i]之间线性插值
- 边界处理: 超出范围的温度使用边界转速
调速模式说明
- EnergySaving: 节能模式,优先降低功耗
- HighPerformance: 高性能模式,优先保证散热
- LowNoise: 低噪音模式,优先降低噪音
- Custom: 自定义模式,用户自定义策略
风扇类型管理
- 类型匹配: 只有匹配的风扇类型才应用策略
- 型号识别: 通过风扇型号字符串进行匹配
- 多类型支持: 支持多种风扇类型使用同一策略
注意事项
- 区间合理性: 确保温度区间和转速区间配置合理
- 数组长度: 温度区间和转速区间数组长度必须一致
- 条件匹配: ExpCondVal和ActualCondVal必须匹配才能生效
- 风扇兼容: 确保风扇类型配置与实际硬件匹配
故障排除
策略不生效:
- 检查ExpCondVal和ActualCondVal是否匹配
- 确认风扇类型是否在FanType列表中
- 验证CoolingConfig对象是否正确配置
转速异常:
- 检查温度区间和转速区间配置是否合理
- 确认数组长度是否一致
- 验证线性插值计算是否正确
温度响应异常:
- 检查温度传感器是否正常工作
- 确认温度区间设置是否合理
- 验证温度读取是否准确
性能优化
- 策略切换: 优化不同调速模式的切换效率
- 温度采样: 优化温度采样频率和精度
- 转速控制: 优化风扇转速控制的响应速度