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,根据实际应用和散热条件配置温度阈值。

使用步骤

使用热传感器获取当前温度的步骤如下:

  1. 设置默认参数。

    之后,可以根据需要在 TM_InitStruct 结构体中修改温度阈值、采样率等参数。

    TM_StructInit(TM_InitTypeDef *TM_InitStruct);
    
  2. 初始化热传感器模块。

    TM_Init(TM_InitTypeDef *TM_InitStruct);
    
  3. 配置中断并注册中断回调函数。

    InterruptRegister((IRQ_FUN)TMIrqHandler, TmIrqNum[CPUID], NULL, 10);
    InterruptEn(TmIrqNum[CPUID], 10);
    
  4. 启用热传感器。

    TM_Cmd(ENABLE);
    
  5. 启用热传感器。

    TM_INTConfig(TM_BIT_IMR_TM_HIGH_WT | TM_BIT_IMR_TM_LOW_WT, ENABLE);