CSR配置字典之CoolingRequirement类
更新时间:2025/7/22
在Gitcode上查看源码

📋 文档信息

项目内容
文档标题CoolingRequirement类配置字典
版本v1.0
创建日期2025-01-27
最后更新2025-01-27
维护状态✅ 活跃维护

📋 变更历史记录

文档变更记录

版本发布日期变更类型变更内容影响范围维护人员
v1.02025-01-27初始版本创建CoolingRequirement类配置字典全新文档系统管理员

🎯 类概览

CoolingRequirement 类

属性
类名称CoolingRequirement
功能描述目标调速策略管理,提供基于温度点的智能调速控制,支持多种散热介质和调速模式,实现精确的热管理
所属SIG组thermal
所属组件cooling
责任人热管理组
最后更新2025-01-27
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
RequirementIdU640U64-目标调速策略Id
Id必须全局唯一,当前Id支持有效16位,前8位baseid,后8位槽位号,主要用于硬盘,卡等存在板子上可以插很多相同硬件的场景
目标调速策略配置:策略Id22CSR软件
TemperatureTypeU324294967295U32-目标调速温度点类型
1:Cpu 2:Outlet 3:Disk 4:Memory 5:PCH 6:VRD 7:VDDQ 8:NPUHbm 9:NPUAiCore 10:NPUBoard 11:Inlet 12:SoCBoardOutlet 13:SoCBoardInlet
目标调速策略配置:温度点类型11CSR硬件
ActiveInStandbyBooleanfalsetrue/false-Standby下调速是否生效
true:生效;false:不生效
目标调速策略配置:部分机型配置为true后standby下参与调速,即风扇存在转速,在standby保证散热trueCSR热设计
TargetTemperatureCelsiusU8127U8-当前调速目标值,默认配置EnergySaving模式目标值目标调速策略配置:目标温度值,PID会基于当前温度点的温度值和目标温度值进行转速计算50CSR热设计
MaxAllowedTemperatureCelsiusU80U8-温度额定值(满转温度)目标调速策略配置:目标调速满转温度,当前温度点达到该温度则触发满转100CSR热设计
CustomSupportedBooleanfalsetrue/false-是否支持自定义目标温度值
true:支持,false:不支持
目标调速策略配置:是否支持自定义温度,表明该调速策略是否支持自定义配置trueCSR热设计
CustomTargetTemperatureCelsiusU8255U8-用户自定义温度值,255为默认无效值目标调速策略配置:用户自定义温度值,在自定义调速模式下生效的目标温度值101CSR热设计
TargetTemperatureRangeCelsiusU8[]空数组U8[]-自定义温度允许范围,用于自定义目标值时的合法性判断目标调速策略配置:用户自定义温度允许的范围值,在自定义调速模式下使用[0, 90]CSR热设计
MonitoringStatusU80U8-温度点传感器状态
0:正常 1:异常
目标调速策略配置:当前温度点状态,若为异常(1)时,则触发异常调速,转速为FailedValue对应值0CSR硬件
MonitoringValueDouble0Double-温度值,关联硬件目标调速策略配置:当前温度点的温度值,PID会基于当前温度点的温度值和目标温度值进行转速计算50.2CSR硬件
FailedValueU640U64-温度状态异常后的异常调速转速,不配代表不触发异常调速;如果配置了值,温度点读取失败的时候,异常调速会固定下发这个转速值目标调速策略配置:异常调速转速值,当温度点状态为异常状态时触发异常调速,转速为FailedValue对应值80CSR热设计
EnabledMixedtruetrue/falseCoolingRequirement_1_56自定义温度点生效条件
true有效,false无效
目标调速策略配置:不需要额外条件判断则配置为true,默认生效,否则配置相关条件表达式`"<=/CoolingRequirement_1_56.MonitoringStatus> expr($1 == 0 ? true : false)"`CSR
BackupRequirementIdxU640U64-备份温度点索引目标调速策略配置:备用温度点索引,当主用温度点状态异常时通过备用温度点id对应的目标调速策略进行调速17CSR软件
IsBackupRequirementBooleanfalsetrue/false-是否作为备份温度点目标调速策略配置:是否作为备用温度点,即用于备用温度点目标调速策略。当前只有入风口涉及,若涉及备用温度点时,与BackupRequirementIdx同步适配trueCSR热设计
SmartCoolingTargetTemperatureS16[]空数组S16[]-EnergySaving/HighPerformance/LowNoise 三种模式下的目标温度值,不需要区分的话不配即可目标调速策略配置:智能模式下对应的调速目标值,即当模式切换至某模式后,目标温度值对应发生切换。涉及智能调速模式的才需要适配该属性[90, 85, 95]CSR热设计
ObtainTempFaildToValidBooleanfalsetrue/false-某些温度值获取不到时该调速策略生效目标调速策略配置:硬盘温度值获取不到时该调速策略生效,需要生效的调速策略该属性需配置为true(与硬盘相关)trueCSR热设计
CoolingMediumString"Air""Air"/"Liquid"-支持的散热介质(风/液)目标调速策略配置:该策略对应的散热介质"Air"CSR热设计
LiquidFailedValueU640U64-温度点失效液冷调速值目标调速策略配置:液冷环境中,涉及液冷调速的器件,在温度点状态异常时对应的泵流速。涉及液冷时同时适配CoolingMedium为Liquid60CSR热设计
SensorNameString""String-传感器名称目标调速策略配置:1.用于MPC智能调速算法中获取温度点器件名称 2.查询当前最大转速生效的传感器"PSU1 Temp"CSR软件

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
ThresholdValueU8[]空数组U8[]-告警阈值,用于告警调速,不需要告警调速不配即可当前已不使用[80, 90, 100]CSR硬件
AlarmSpeedU8[]空数组U8[]-告警调速对应的转速,不需要告警调速不配即可当前已不使用[30, 80, 100]CSR硬件

🔗 动态关联机制

语法规范

使用 <=/xxx 和表达式语法实现动态关联:

yaml
# 温度点状态关联
Enabled: "<=/CoolingRequirement_1_56.MonitoringStatus |> expr($1 == 0 ? true : false)"

# 温度值关联
MonitoringValue: "<=/Scanner_InletTemp.Value"
MonitoringStatus: "<=/Scanner_InletTemp.Status"

# 备份策略关联
BackupRequirementIdx: 17  # 关联备份温度点索引

关联说明

  • Enabled: 可关联其他CoolingRequirement的状态,支持条件表达式
  • MonitoringValue: 关联温度传感器的实际温度值
  • MonitoringStatus: 关联温度传感器的状态信息
  • BackupRequirementIdx: 关联备份温度点的索引ID

📂 分类标准

硬件属性

  • 定义:与硬件温度检测和物理特性直接相关的参数
  • 特点:通常与温度传感器和硬件热特性对应
  • 示例TemperatureType, MonitoringStatus, MonitoringValue, ThresholdValue, AlarmSpeed

热设计属性

  • 定义:与热管理策略和散热设计相关的参数
  • 特点:由热设计工程师根据散热需求配置
  • 示例ActiveInStandby, TargetTemperatureCelsius, MaxAllowedTemperatureCelsius, CustomSupported, CustomTargetTemperatureCelsius, TargetTemperatureRangeCelsius, FailedValue, Enabled, IsBackupRequirement, SmartCoolingTargetTemperature, ObtainTempFaildToValid, CoolingMedium, LiquidFailedValue

软件属性

  • 定义:用于逻辑控制和软件管理的参数
  • 特点:由CSR配置管理,用于调速策略逻辑控制
  • 示例RequirementId, BackupRequirementIdx, SensorName

📝 配置示例

标准风冷CPU调速配置

json
{
  "CoolingRequirement": {
    "RequirementId": 22,
    "TemperatureType": 1,
    "ActiveInStandby": false,
    "TargetTemperatureCelsius": 70,
    "MaxAllowedTemperatureCelsius": 95,
    "CustomSupported": true,
    "CustomTargetTemperatureCelsius": 255,
    "TargetTemperatureRangeCelsius": [50, 90],
    "MonitoringStatus": 0,
    "MonitoringValue": 65.5,
    "FailedValue": 80,
    "Enabled": true,
    "BackupRequirementIdx": 0,
    "IsBackupRequirement": false,
    "SmartCoolingTargetTemperature": [70, 65, 75],
    "ObtainTempFaildToValid": false,
    "CoolingMedium": "Air",
    "LiquidFailedValue": 0,
    "SensorName": "CPU1 Temp"
  }
}

进风口温度调速配置

json
{
  "CoolingRequirement": {
    "RequirementId": 256,
    "TemperatureType": 11,
    "ActiveInStandby": true,
    "TargetTemperatureCelsius": 50,
    "MaxAllowedTemperatureCelsius": 100,
    "CustomSupported": true,
    "CustomTargetTemperatureCelsius": 101,
    "TargetTemperatureRangeCelsius": [0, 90],
    "MonitoringStatus": 0,
    "MonitoringValue": 50.2,
    "FailedValue": 80,
    "Enabled": "<=/CoolingRequirement_1_56.MonitoringStatus |> expr($1 == 0 ? true : false)",
    "BackupRequirementIdx": 17,
    "IsBackupRequirement": true,
    "SmartCoolingTargetTemperature": [90, 85, 95],
    "ObtainTempFaildToValid": true,
    "CoolingMedium": "Air",
    "LiquidFailedValue": 0,
    "SensorName": "Inlet Temp"
  }
}

液冷NPU调速配置

json
{
  "CoolingRequirement": {
    "RequirementId": 512,
    "TemperatureType": 9,
    "ActiveInStandby": false,
    "TargetTemperatureCelsius": 60,
    "MaxAllowedTemperatureCelsius": 85,
    "CustomSupported": true,
    "CustomTargetTemperatureCelsius": 255,
    "TargetTemperatureRangeCelsius": [40, 80],
    "MonitoringStatus": 0,
    "MonitoringValue": 55.8,
    "FailedValue": 90,
    "Enabled": true,
    "BackupRequirementIdx": 0,
    "IsBackupRequirement": false,
    "SmartCoolingTargetTemperature": [60, 55, 65],
    "ObtainTempFaildToValid": false,
    "CoolingMedium": "Liquid",
    "LiquidFailedValue": 60,
    "SensorName": "NPU AiCore Temp"
  }
}

硬盘温度调速配置

json
{
  "CoolingRequirement": {
    "RequirementId": 768,
    "TemperatureType": 3,
    "ActiveInStandby": false,
    "TargetTemperatureCelsius": 45,
    "MaxAllowedTemperatureCelsius": 65,
    "CustomSupported": false,
    "CustomTargetTemperatureCelsius": 255,
    "TargetTemperatureRangeCelsius": [],
    "MonitoringStatus": 0,
    "MonitoringValue": 40.5,
    "FailedValue": 70,
    "Enabled": true,
    "BackupRequirementIdx": 0,
    "IsBackupRequirement": false,
    "SmartCoolingTargetTemperature": [45, 40, 50],
    "ObtainTempFaildToValid": true,
    "CoolingMedium": "Air",
    "LiquidFailedValue": 0,
    "SensorName": "Disk1 Temp"
  }
}

🔧 使用指南

配置步骤

  1. 设置策略ID:配置全局唯一的RequirementId,建议使用16位格式
  2. 选择温度类型:根据监控对象设置TemperatureType
  3. 配置目标温度:设置TargetTemperatureCelsius和MaxAllowedTemperatureCelsius
  4. 设置自定义支持:根据需求配置CustomSupported和相关参数
  5. 关联温度源:配置MonitoringValue和MonitoringStatus关联温度传感器
  6. 配置异常处理:设置FailedValue和异常调速策略
  7. 设置生效条件:配置Enabled条件和ActiveInStandby模式
  8. 配置备份策略:根据需要设置BackupRequirementIdx和IsBackupRequirement
  9. 智能调速配置:设置SmartCoolingTargetTemperature支持多模式
  10. 选择散热介质:配置CoolingMedium和LiquidFailedValue

注意事项

  • RequirementId唯一性:必须确保全局唯一,避免调速冲突
  • 温度类型匹配:TemperatureType需要与实际监控对象匹配
  • 目标温度合理性:TargetTemperatureCelsius应小于MaxAllowedTemperatureCelsius
  • 自定义范围:TargetTemperatureRangeCelsius需要合理设置上下限
  • 备份策略:BackupRequirementIdx必须指向有效的备份策略ID
  • 液冷适配:使用液冷时需要同时配置CoolingMedium和LiquidFailedValue
  • 传感器关联:MonitoringValue和MonitoringStatus需要关联有效的传感器
  • 表达式语法:Enabled表达式需要确保语法正确

性能建议

  • 合理设置目标温度:避免过低导致风扇高速运转
  • 优化异常处理:合理设置FailedValue避免过度调速
  • 智能模式配置:根据实际需求配置SmartCoolingTargetTemperature
  • 备份策略:关键温度点建议配置备份策略
  • 液冷优化:液冷环境下合理设置泵流速参数

故障排查

  • 调速不生效:检查Enabled条件和RequirementId唯一性
  • 温度读取异常:检查MonitoringValue和MonitoringStatus关联
  • 异常调速触发:检查FailedValue配置和温度传感器状态
  • 自定义温度无效:检查CustomSupported和TargetTemperatureRangeCelsius
  • 备份策略失效:检查BackupRequirementIdx和IsBackupRequirement配置
  • 液冷调速异常:检查CoolingMedium和LiquidFailedValue配置
  • 智能模式异常:检查SmartCoolingTargetTemperature数组配置

热设计指导

  • 温度目标设置:根据器件规格和散热能力设置合理目标温度
  • 满转温度:MaxAllowedTemperatureCelsius应设置为器件安全温度上限
  • Standby模式:服务器类产品建议ActiveInStandby设置为true
  • 自定义范围:TargetTemperatureRangeCelsius应覆盖正常工作温度范围
  • 异常转速:FailedValue应设置为保证散热安全的转速值
  • 多模式适配:SmartCoolingTargetTemperature应根据性能需求差异化设置