温控方案(thermal)介绍

文章详细介绍了电子设备中温控的重要性,特别是高通平台的温控方案,包括内核的温度监控、应用层的策略处理以及实际的冷却设备动作。高温和低温时的不同策略被阐述,重点在于如何在高温下通过内核驱动和应用层交互调整CPU频率和modem速度来控制温度。此外,文章还提到了调试方法和不同场景下的温度缓解策略评估。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要有温控

温控 或者又叫 温保(温度保护)方案在所有的电子产品上基本都存在,因为不可避免设备在恶劣环境下工作,为了能够最大限度保护元器件使用寿命,引入了温控的功能。
在高温时降低自身发热,无法抑制温度上升时,断电停止工作。
在低温时维持功率,无法抑制时,停止工作。

高温温控方案

低温时软件能做的事情较少,所以我们主要从高温的场景来为大家介绍一下高通的温控机制实现。

高通的温控方案实现主要分三部分

  1. 内核的sensor温度监控
  2. 应用层的温度策略处理
  3. modem或CPU等cooling device的实际动作

在硬件上,一般会有在SOC内部的sensor及外挂在board上的sensor。SOC内部的sensor通常使用中断的方式来向内核驱动报告温度变化,外挂的sensor一般采用ADC,软件来轮询检测温度变化。

相关处理流程

在流程上,整个温控方案也可以分为三个部分

  1. 在开机引导时 如SBL uboot等,启动高低温检测,此时需要检测环境温度是否适宜工作,如果超出所设置的范围,则不应继续引导,需走关机流程。

  2. 系统启动后,内核运行thermal驱动,启动温度的监控、上报,读取dts中的配置,进行sys节点的创建等。
    如下图:

  3. 应用层thermal进程启动,解析系统中的配置文件(配置文件是整个温控策略的体现,需根据项目需求整体评估),将温度阈值通过sys节点传入内核,将需要执行的action及action info保存;当温度达到阈值时,内核驱动将事件上报给应用层,thermal进程获取到事件后去判断-执行相应的action,如果是APPS相关的策略,就在AP侧执行(如CPU降频 拔核等),如果是modem相关的策略,通过QMI传给modem,由modem启动相关策略(如降速、降功率、断开网络等)。

温度缓解策略介绍

AP侧的cooling action主要为对CPU的频率、核数进行限制,减少CPU的发热。 在温度到达一个极限值时,触发软件关机。

CP侧的cooling action一般有降速、降功率、掉网等

  1. 降速:实现会有上行 和 下行两种限制,上行的限制一般通过上报虚假的较小的缓冲区与基站协商小的带宽,下行的限制则为取消载波聚合、减少RX等。(注意:限速一般是采用步进式,随着温度的升高,限制速率越来越低,会分几个等级。但是如果限制的最低速率特别低的话可能会导致数据业务断开,所以对于需要保持数据业务连接的场景,尽量取一个合理的最小速率)

  2. 降功率:设置PA的功率回退,同样为步进式,随着温度升高,功率回退越多。

  3. 掉网:断开网络,仅限紧急呼叫。

具体应该在什么温度的时候做什么样的操作,需要由项目、使用场景等进行评估。

调试方法

高通平台通过
cat /var/log/messages | grep thermal
可以查看thermal应用层的日志

cat /sys/class/thermal/thermal_zone9/temp
可以查看相应sensor的温度
此处的thermal_zone() 是由内核通过读DTS的配置创建出来的,而具体某个thermal_zone对应的是哪个sensor,需要从DTS的配置中查看。
当然也可以自己创建thermal_zone,可以与已有的thermal_zone监听同一个sensor,完成自己的一些功能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值