网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

瑞萨RZ/G2L微处理器Linux内核中热管理框架介绍

时间:2026-01-05 14:32

人气:

作者:admin

标签:

导读:RZ/G2L微处理器配备Cortex-A55(1.2 GHz)CPU、16位DDR3L/DDR4接口、带Arm Mali-G31的3D图形加速引擎以及视频编解码器(H.264)。此外,这款微处理器还配备有大量接口,如摄像头输入、显示输出、...

RZ/G2L微处理器配备Cortex-A55(1.2 GHz)CPU、16位DDR3L/DDR4接口、带Arm Mali-G31的3D图形加速引擎以及视频编解码器(H.264)。此外,这款微处理器还配备有大量接口,如摄像头输入、显示输出、USB2.0和千兆以太网,因此特别适用于入门级工业人机界面(HMI)和具有视频功能的嵌入式设备等应用,具备较好的能耗比。

0e6986ca-dbc8-11f0-8c8f-92fbcf53809c.png

随着计算设备性能的不断提升,处理器、GPU、NPU的功耗和发热量显著增加,如何有效管理系统温度成为计算机系统设计中的重要课题。

如果没有适当的热管理,过高的温度会对系统稳定性、性能和寿命造成严重影响。如高温会导致电子元件的物理特性发生变化,例如电阻增大、信号延迟增加,甚至可能引发数据传输错误。当温度超过芯片的安全阈值时,可能会出现系统崩溃(crash)、死机(hang)、自动关机(shutdown)等问题。

为了避免过热,现代CPU和GPU内部通常会集成动态温度调节机制(Thermal Throttling),当温度接近上限时,系统会主动降低频率(降频)或减少运行核心数,以减少功耗和发热量。

在Linux内核中,Thermal Framework(热管理框架)提供了一套完整的温度管理机制,允许操作系统监测温度变化,并在必要时采取相应的散热措施。该框架主要通过CPU内置的温度传感器模块监控设备温度,并结合散热设备(如风扇、散热膜、导热胶等)和温控策略(如动态电压调节、核心关闭、降频或负载均衡)来优化系统散热。

RZ/G2L工作温度

0f29b29c-dbc8-11f0-8c8f-92fbcf53809c.png

本篇概要介绍下瑞萨RZ/G2L thermal软件策略。

硬件上依赖芯片内部的TSU(热传感器单元)。

规格如下

0f8b3e40-dbc8-11f0-8c8f-92fbcf53809c.png

软件框架如下

0fe1b4d2-dbc8-11f0-8c8f-92fbcf53809c.png

一般产品开发者只需要配置对应策略的参数即可,如内核设备树,具体驱动原厂已经适配。

如下详细介绍设备树参数

左右滑动查看完整内容

tsu: thermal@10059400{
compatible ="renesas,r9a07g044-tsu",
  "renesas,rzg2l-tsu";
reg = <00x1005940000x400>;
clocks = <&cpg CPG_MOD R9A07G044_TSU_PCLK>;
resets = <&cpg R9A07G044_TSU_PRESETN>;
power-domains = <&cpg>;
#thermal-sensor-cells =<1>;
};




thermal-zones {
emergency {
polling-delay = <1000>;      /* 每隔1000ms获取一次温度 */
on-temperature = <110000>; /* 超过110度,关闭 cpu1 */
off-temperature = <95000>;  /* 低于95度,恢复 cpu1 */
target_cpus =  <&cpu1>;    /* 是否关闭 cpu1 */
status ="disabled";      
};


cpu-thermal {
polling-delay-passive = <250>; /* 温度高于trip-point-0指定的值,每隔250ms获取一次温度 */
polling-delay = <1000>;   /* 温度低于trip-point-0指定的值,每隔1000ms获取一次温度 */
thermal-sensors = <&tsu 0>;  /* 通过tsu 通道0获取温度 */
sustainable-power = <717>; /* 温度等于trip-point-1指定的值时,系统分配给cooling device的能量 */


cooling-maps {
map0 {
trip = <&target>;    /* 表示在target trip下,该cooling device才起作用 */
cooling-device = <&cpu0 02>;  /* cpufreq 的频点从最高到最小频点排序,从0开始标注,0对应最高频率*/
contribution = <1024>;   /* 1024 整数倍,用于调整降频顺序和尺度 */
};
};


trips {
sensor_crit: sensor-crit {
temperature = <125000>; // 默认关机温度,具体动作由thermal_core.c 函数 handle_critical_trips决定。
hysteresis = <1000>;
type ="critical";
};


target: trip-point {
temperature = <100000>;  /* 100 度发生温控,对应 trip_point_1_temp 文件 */hysteresis = <1000>;      /* 滞后温度,当下降到(100 – 5000/1000) = 95 度时解除温控,对应 trip_point_1_hyst 文件 */type ="passive";         /* ”passive”,表示当温控发生后由governor控制policy * 
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信