风扇占空比更新太慢问题分析
更新时间: 2026/05/29
在Gitcode上查看源码问题背景
- 单板类型:自研板;
- 软件版本:openUBMC 25.12;
- 涉及功能:风扇转速;
- 触发条件:设置手动调速,level设置为50,打开风扇信息页面实时刷新,查看占空比数值变化;
- 业务表现:预期快速更新至50%;实际长时间不更新时间上大概需要1分多钟;
问题复现步骤
- web页面设置手动调速模式,且设置50%转速;
- 开启实时刷新风扇信息;
- 确认占空比值变化;
关键日志信息
app.log日志信息如下:
web页面风扇占空比信息:
属性上硬件占空比信息:
定位过程
web界面的占空比数值来源是PWMPercentage属性,PWMPercentage是监听到HardwarePWM更新时才变化的,通过资源树发现HardwarePWM属性很快就变化了,但是PWMPercentage值一直未改变,查看代码,确认风扇占空比百分比更新方案,发现WMPercentage的值是在组件initial时获取一次占空比百分比,start时刷新一次占空百分比,设置占空比时刷新一次百分比,其他时候并未实时更新,因此,需要考虑在风扇监听时,加入占空比百分比数值获取,保证占空比,百分比等信息能根据实际情况获取。
问题原因
组件thermal_mgmt中未实时监听风扇占空比变化,进而根据风扇占空比的变化来修改PWMPercentage属性值。
解决方案
风扇在位状态监听的地方加入风扇硬件占空比数值变化监控,一旦硬件占空比有变化,则立刻更新PWMPercentage,供前台显示。