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

📋 文档信息

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

📋 变更历史记录

文档变更记录

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

🎯 类概览

Fan 类

属性
类名称Fan
功能描述风扇对象,提供风扇硬件信息管理和控制功能,包括转速、状态、调速等
所属SIG组thermal
所属组件风扇对象
责任人热设计组
最后更新2025-01-27
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
CoefficientU80U8-风扇转速系数
风扇前转子转速(或后转子转速)* Coefficient得到风扇当前的实际转速
风扇转速计算1软件配置硬件
FanIdU160U16-风扇ID风扇管理基础信息1CSR配置硬件
FrontPresenceU80U8"<=/Scanner_Fan1_Presence.Value"前转子在位状态
1:在位;0:不在位
风扇管理基础信息"<=/Scanner_Fan1_Presence.Value"硬件读取硬件
FrontSpeedU160U16"<=/Scanner_Fan1_FSpeed.Value"前转子转速风扇管理基础信息"<=/Scanner_Fan1_FSpeed.Value"硬件读取硬件
HardwarePWMDouble0Double"#/Accessor_Fan1_PWM.Value"硬件转速百分比风扇管理基础信息,用于风扇调速"#/Accessor_Fan1_PWM.Value"硬件读取硬件
IdentifySpeedLevelU80U8-识别风扇转速级别
通过设置特定转速,判断风扇型号
风扇型号识别35CSR配置硬件(热设计)
MaxSupportedPWMU320U32-支持的最大占空比用于计算风扇占空比255CSR配置硬件
PositionString""String-容器信息,风扇的位置
格式:"CLU${Slot}",Slot取值范围为U8
北向接口风扇位置信息"CLU1"CSR配置硬件
PowerGoodU80U8"#/Scanner_PowerGood.Value"上下电信息风扇状态检测项,下电后不进行风扇状态检测"#/Scanner_PowerGood.Value"硬件读取硬件
RearPresenceU80U8"<=/Scanner_Fan1_Presence.Value"后转子在位状态
1:在位;0:不在位
风扇管理基础信息"<=/Scanner_Fan1_Presence.Value"硬件读取硬件
RearSpeedU160U16"<=/Scanner_Fan1_RSpeed.Value"后转子转速风扇管理基础信息"<=/Scanner_Fan1_RSpeed.Value"硬件读取硬件
SlotU80U8-风扇槽位号风扇管理基础信息1CSR配置硬件
SystemIdU80U8-系统ID该风扇所属system1CSR配置硬件

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
FrontStatusU80U8-前转子状态
1:异常;0:正常
风扇状态检测,与风扇告警相关0软件刷新软件
RearStatusU80U8-后转子状态
1:异常;0:正常
风扇状态检测,与风扇告警相关0软件刷新软件

🔗 动态关联机制

语法规范

使用多种动态关联语法:

yaml
# 硬件读取关联
FrontPresence: "<=/Scanner_Fan1_Presence.Value"
FrontSpeed: "<=/Scanner_Fan1_FSpeed.Value"
RearPresence: "<=/Scanner_Fan1_Presence.Value"
RearSpeed: "<=/Scanner_Fan1_RSpeed.Value"

# 寄存器访问关联
HardwarePWM: "#/Accessor_Fan1_PWM.Value"
PowerGood: "#/Scanner_PowerGood.Value"

# 静态配置
FanId: 1
Slot: 1
Coefficient: 1
Position: "CLU1"

关联说明

  • Scanner关联: 通过Scanner对象获取硬件状态
  • Accessor关联: 通过Accessor对象访问硬件寄存器
  • 动态命名: Position支持动态命名模式"CLU${Slot}"

📂 分类标准

硬件属性

  • 定义:与风扇硬件直接相关的参数
  • 特点:转速、在位状态、PWM控制、硬件配置等
  • 示例FanId, FrontPresence, FrontSpeed, HardwarePWM, Position, Slot

软件属性

  • 定义:由软件管理和维护的风扇状态参数
  • 特点:状态检测、告警处理等
  • 示例FrontStatus, RearStatus

热设计属性

  • 定义:与热设计和风扇识别相关的参数
  • 特点:风扇型号识别等
  • 示例IdentifySpeedLevel

📝 配置示例

基础风扇配置

json
{
  "Fan_1": {
    "Coefficient": 1,
    "FanId": 1,
    "FrontPresence": "<=/Scanner_Fan1_Presence.Value",
    "FrontSpeed": "<=/Scanner_Fan1_FSpeed.Value",
    "FrontStatus": 0,
    "HardwarePWM": "#/Accessor_Fan1_PWM.Value",
    "IdentifySpeedLevel": 35,
    "MaxSupportedPWM": 255,
    "Position": "CLU1",
    "PowerGood": "#/Scanner_PowerGood.Value",
    "RearPresence": "<=/Scanner_Fan1_Presence.Value",
    "RearSpeed": "<=/Scanner_Fan1_RSpeed.Value",
    "RearStatus": 0,
    "Slot": 1,
    "SystemId": 1
  }
}

双转子风扇配置

json
{
  "Fan_2": {
    "Coefficient": 1,
    "FanId": 2,
    "FrontPresence": "<=/Scanner_Fan2_Presence.Value",
    "FrontSpeed": "<=/Scanner_Fan2_FSpeed.Value",
    "FrontStatus": 0,
    "HardwarePWM": "#/Accessor_Fan2_PWM.Value",
    "IdentifySpeedLevel": 40,
    "MaxSupportedPWM": 255,
    "Position": "CLU2",
    "PowerGood": "#/Scanner_PowerGood.Value",
    "RearPresence": "<=/Scanner_Fan2_RearPresence.Value",
    "RearSpeed": "<=/Scanner_Fan2_RSpeed.Value",
    "RearStatus": 0,
    "Slot": 2,
    "SystemId": 1
  }
}

多系统风扇配置

json
{
  "Fan_System2_1": {
    "Coefficient": 1,
    "FanId": 5,
    "FrontPresence": "<=/Scanner_Fan5_Presence.Value",
    "FrontSpeed": "<=/Scanner_Fan5_FSpeed.Value",
    "FrontStatus": 0,
    "HardwarePWM": "#/Accessor_Fan5_PWM.Value",
    "IdentifySpeedLevel": 35,
    "MaxSupportedPWM": 255,
    "Position": "CLU1",
    "PowerGood": "#/Scanner_PowerGood.Value",
    "RearPresence": "<=/Scanner_Fan5_Presence.Value",
    "RearSpeed": "<=/Scanner_Fan5_RSpeed.Value",
    "RearStatus": 0,
    "Slot": 1,
    "SystemId": 2
  }
}

🔧 使用指南

配置步骤

  1. 硬件调研: 了解风扇硬件规格和接口
  2. Scanner配置: 配置对应的Scanner对象
  3. Accessor配置: 配置对应的Accessor对象
  4. Fan配置: 创建Fan对象配置
  5. 测试验证: 验证风扇功能是否正常

风扇ID和槽位号说明

  • FanId: 系统内唯一的风扇标识符
  • Slot: 风扇的物理槽位号
  • SystemId: 风扇所属的系统ID
  • 关系: 不同系统的风扇可以有相同的Slot,但FanId必须唯一

转速系数说明

  • Coefficient: 转速计算系数
  • 计算公式: 实际转速 = 前转子转速(或后转子转速)× Coefficient
  • 用途: 校正转速读数,适配不同类型的风扇

风扇型号识别

  • IdentifySpeedLevel: 识别转速级别
  • 工作原理: 设置特定转速,通过转速响应判断风扇型号
  • 配置方法: 根据风扇规格设置合适的识别转速

动态关联配置

  • Scanner关联: 用于读取硬件状态
  • Accessor关联: 用于控制硬件寄存器
  • 命名规则: 根据风扇编号动态生成关联名称

使用场景

  • 风扇管理: 监控和控制风扇运行状态
  • 转速调节: 根据温度调节风扇转速
  • 故障检测: 检测风扇故障和异常
  • 型号识别: 自动识别风扇型号

注意事项

  • 硬件匹配: 确保配置与实际硬件匹配
  • 关联正确: 确保Scanner和Accessor关联正确
  • ID唯一: 确保FanId在系统中唯一
  • 转速合理: 确保转速系数和识别转速合理

故障排除

  1. 风扇状态异常

    • 检查Scanner对象是否正确配置
    • 确认硬件连接是否正常
    • 验证电源供应是否正常
  2. 转速读数错误

    • 检查Coefficient是否正确设置
    • 确认Scanner转速读取是否正常
    • 验证硬件转速传感器是否正常
  3. 调速不生效

    • 检查HardwarePWM关联是否正确
    • 确认Accessor对象是否正确配置
    • 验证PWM控制电路是否正常

性能优化

  • 状态缓存: 缓存风扇状态,减少硬件访问
  • 批量操作: 批量处理多个风扇的操作
  • 异步处理: 异步处理风扇状态更新

扩展功能

  • 智能调速: 基于AI算法的智能风扇调速
  • 故障预测: 基于历史数据预测风扇故障
  • 自适应控制: 根据环境自适应调整风扇策略

📚 相关文档