CSR配置字典之AbnormalFan类
更新时间:2025/7/22
在Gitcode上查看源码📋 文档信息
项目 | 内容 |
---|---|
文档标题 | AbnormalFan类配置字典 |
版本 | v1.0 |
创建日期 | 2025-01-27 |
最后更新 | 2025-01-27 |
维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
---|---|---|---|---|---|
v1.0 | 2025-01-27 | 初始版本 | 创建AbnormalFan类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
AbnormalFan 类
属性 | 值 |
---|---|
类名称 | AbnormalFan |
功能描述 | 风扇异常调速配置 |
所属SIG组 | thermal |
所属组件 | CLU |
责任人 | 热设计组 |
最后更新 | 2025-01-27 |
状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
FanGroup | U32[] | 空数组 | - | - | 异常风扇组 1,2,3,4是指风扇id序列 Group是如何配置的?1,2,3,4是什么意思? | 风扇异常调速策略配置 | "FanGroup": [1,2,3,4] | CSR配置 | 热设计 |
FanIdx | U32 | 0 | - | - | 该策略对应的风扇id 1代表该策略对应的风扇id为1,即风扇id为1时的异常调速策略 | 风扇异常调速策略配置 | "FanIdx": 1 | CSR配置 | 热设计 |
Id | U32 | 0 | - | - | 风扇异常调速策略id | 风扇异常调速策略配置 | "Id": 1 | CSR配置 | 软件 |
Status | String | "" | "AbnormalRotation"/"NotInPosition" | - | 风扇异常类型 取值范围为: "AbnormalRotation"-转速异常 "NotInPosition"-风扇不在位 | 风扇异常调速策略配置 | "Status": "AbnormalRotation" | CSR配置 | 热设计 |
可选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
SpeedPercentage | U8 | 80 | 0-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
}
}
🔧 使用指南
配置步骤
- 确定风扇组:通过FanGroup数组配置受影响的风扇ID列表
- 设置目标风扇:通过FanIdx指定具体的风扇索引
- 分配策略ID:设置唯一的Id标识此异常调速策略
- 选择异常类型:根据实际情况配置Status(转速异常/不在位)
- 调整转速占空比:根据散热需求配置SpeedPercentage
- 验证配置:确保风扇ID在系统中存在且可控
注意事项
- 风扇ID映射:FanGroup和FanIdx中的数字必须对应实际存在的风扇
- 异常类型选择:根据实际故障情况选择合适的Status值
- 转速范围:SpeedPercentage取值范围为0-100,建议不低于最小安全转速
- 策略唯一性:每个异常调速策略的Id必须唯一
- 组合逻辑:FanGroup和FanIdx应该保持逻辑一致性
性能建议
- 转速设置:异常情况下建议适当提高转速以保证散热
- 分组策略:合理分组可以提高散热效率和系统稳定性
- 监控机制:建议配合温度监控和告警机制使用
- 冗余设计:考虑多风扇冗余,避免单点故障
常见问题
- Q: FanGroup中的数字含义?
- A: 数字代表风扇ID序列,对应系统中的具体风扇编号
- Q: SpeedPercentage为什么默认80?
- A: 80%是经过热设计验证的安全转速,既能保证散热又避免过度噪音
- Q: 如何处理风扇不在位的情况?
- A: 设置Status为"NotInPosition",系统会自动提高其他风扇转速进行补偿