IC:
支持的芯片
Ameba SoC |
RTL8721Dx |
RTL8726E |
RTL8720E |
RTL8730E |
---|---|---|---|---|
支持状态 |
N |
Y |
Y |
Y |
概述
芯片内部集成了一个热传感器(thermal),可用于检测和监控芯片内部的实时温度。其主要特性包括:
测量范围:-40°C ~ 125°C
精确度:±1°C(典型值),±3°C(最差值)
提供低温警告、高温警告和超温保护功能
提供热传感器使能和超温保护使能的写入访问控制
温度保护机制是热传感器的重要特性,具体实现如下:
当温度超过限定的高温阈值时,向CPU发送中断,CPU将降低频率和速度。
当温度低于限定的低温阈值时,向CPU发送中断,CPU将提高频率和速度。
当温度超过限定的超温保护阈值时,硬件将自动关闭电源以进行超温保护。
默认情况下,Realtek的SDK不会根据热传感器检测到的温度自动调整CPU的频率和速度。如果用户需要使用此功能,请调用相关API,根据实际应用和散热条件配置温度阈值。
使用步骤
使用热传感器获取当前温度的步骤如下:
设置默认参数。
之后,可以根据需要在
TM_InitStruct
结构体中修改温度阈值、采样率等参数。TM_StructInit(TM_InitTypeDef *TM_InitStruct);
初始化热传感器模块。
TM_Init(TM_InitTypeDef *TM_InitStruct);
配置中断并注册中断回调函数。
InterruptRegister((IRQ_FUN)TMIrqHandler, TmIrqNum[CPUID], NULL, 10); InterruptEn(TmIrqNum[CPUID], 10);
启用热传感器。
TM_Cmd(ENABLE);
启用热传感器。
TM_INTConfig(TM_BIT_IMR_TM_HIGH_WT | TM_BIT_IMR_TM_LOW_WT, ENABLE);