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

📋 文档信息

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

📋 变更历史记录

文档变更记录

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

🎯 类概览

AbnormalFan 类

属性
类名称AbnormalFan
功能描述风扇异常调速配置
所属SIG组thermal
所属组件CLU
责任人热设计组
最后更新2025-01-27
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
FanGroupU32[]空数组--异常风扇组
1,2,3,4是指风扇id序列
Group是如何配置的?1,2,3,4是什么意思?
风扇异常调速策略配置"FanGroup": [1,2,3,4]CSR配置热设计
FanIdxU320--该策略对应的风扇id
1代表该策略对应的风扇id为1,即风扇id为1时的异常调速策略
风扇异常调速策略配置"FanIdx": 1CSR配置热设计
IdU320--风扇异常调速策略id风扇异常调速策略配置"Id": 1CSR配置软件
StatusString"""AbnormalRotation"/"NotInPosition"-风扇异常类型
取值范围为:
"AbnormalRotation"-转速异常
"NotInPosition"-风扇不在位
风扇异常调速策略配置"Status": "AbnormalRotation"CSR配置热设计

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
SpeedPercentageU8800-100-转速占空比
占空比默认值为80
数据来源从硬件输入
风扇异常调速策略配置"SpeedPercentage": 70硬件热设计

🔗 动态关联机制

语法规范

使用 #/xxx 格式实现属性间的动态关联:

yaml
# 语法格式
属性名: "#/目标类.属性名"

# 实际示例
FanGroup: [1, 2, 3, 4]                     # 风扇组ID数组
FanIdx: 1                                  # 对应风扇ID
Status: "AbnormalRotation"                 # 异常状态类型

关联说明

  • FanGroup: 定义受影响的风扇组,数组中的数字对应具体风扇ID
  • FanIdx: 与FanGroup关联,指定具体的风扇索引
  • Status: 定义异常类型,影响调速策略的执行

📂 分类标准

热设计属性

  • 定义:与热管理和风扇控制直接相关的参数
  • 特点:影响系统散热性能和风扇运行策略
  • 示例FanGroup, FanIdx, Status, SpeedPercentage

软件属性

  • 定义:用于逻辑控制和软件管理的参数
  • 特点:策略标识和管理相关
  • 示例Id

📝 配置示例

标准异常风扇配置

json
{
  "AbnormalFan": {
    "FanGroup": [1, 2, 3, 4],
    "FanIdx": 1,
    "Id": 1,
    "Status": "AbnormalRotation",
    "SpeedPercentage": 70
  }
}

风扇不在位配置

json
{
  "AbnormalFan": {
    "FanGroup": [1, 2],
    "FanIdx": 1,
    "Id": 2,
    "Status": "NotInPosition",
    "SpeedPercentage": 80
  }
}

高转速补偿配置

json
{
  "AbnormalFan": {
    "FanGroup": [3, 4, 5, 6],
    "FanIdx": 3,
    "Id": 3,
    "Status": "AbnormalRotation",
    "SpeedPercentage": 90
  }
}

单风扇异常配置

json
{
  "AbnormalFan": {
    "FanGroup": [1],
    "FanIdx": 1,
    "Id": 4,
    "Status": "AbnormalRotation",
    "SpeedPercentage": 85
  }
}

🔧 使用指南

配置步骤

  1. 确定风扇组:通过FanGroup数组配置受影响的风扇ID列表
  2. 设置目标风扇:通过FanIdx指定具体的风扇索引
  3. 分配策略ID:设置唯一的Id标识此异常调速策略
  4. 选择异常类型:根据实际情况配置Status(转速异常/不在位)
  5. 调整转速占空比:根据散热需求配置SpeedPercentage
  6. 验证配置:确保风扇ID在系统中存在且可控

注意事项

  • 风扇ID映射:FanGroup和FanIdx中的数字必须对应实际存在的风扇
  • 异常类型选择:根据实际故障情况选择合适的Status值
  • 转速范围:SpeedPercentage取值范围为0-100,建议不低于最小安全转速
  • 策略唯一性:每个异常调速策略的Id必须唯一
  • 组合逻辑:FanGroup和FanIdx应该保持逻辑一致性

性能建议

  • 转速设置:异常情况下建议适当提高转速以保证散热
  • 分组策略:合理分组可以提高散热效率和系统稳定性
  • 监控机制:建议配合温度监控和告警机制使用
  • 冗余设计:考虑多风扇冗余,避免单点故障

常见问题

  • Q: FanGroup中的数字含义?
    • A: 数字代表风扇ID序列,对应系统中的具体风扇编号
  • Q: SpeedPercentage为什么默认80?
    • A: 80%是经过热设计验证的安全转速,既能保证散热又避免过度噪音
  • Q: 如何处理风扇不在位的情况?
    • A: 设置Status为"NotInPosition",系统会自动提高其他风扇转速进行补偿