ZHCAFX3 October   2025 AM62L , AM62P , AM67 , AM68 , AM69 , TDA4VM

 

  1.   1
  2.   摘要
  3.   商标
  4. 1VTM 模块
    1. 1.1 VTM 模块说明
    2. 1.2 VTM 工作原理及用法
  5. 2TI 处理器的硬件温度保护
    1. 2.1 VTM 的过热保护阈值
    2. 2.2 最高硬件温度保护
  6. 3软件温度保护策略
    1. 3.1 可选软件温度保护措施
    2. 3.2 Linux 温度保护逻辑
    3. 3.3 Linux 禁用没有使用的内核
  7. 4总结
  8. 5参考资料

最高硬件温度保护

为了确保 SOC 在不超过其最大工作温度的情况下运行并保证其正常使用寿命,TI 处理器采用了基于硬件的最高温度保护机制。此机制不需要软件参与,在 TI SOC 上默认启用。本节介绍此保护的内部机制。为了让 TI SOC 在温度超过最大阈值时触发 VTM 警报,必须满足以下条件。

  1. 为了确保 VTM 最高温度保护的有效输出,必须将 VTM 配置为启用至少一个温度传感器,具体通过设置 WKUP_VTM_TMPSENS_CTRL_j[11] MAXT_OUTRG_EN = 1 来实现。
  2. 此外,位 WKUP_VTM_MISC_CTRL[0] ANYMAXT_OUTRG_ALERT_EN 必须设置为“1”。此位控制 VTM 最高温度保护的警告信号输出开关。
  3. 在确保输入和输出路径的背景下,例如,在正确配置和启用温度传感器并启用最高温度保护输出后,如果芯片温度超过 WKUP_VTM_MISC_CTRL2[9-0] MAXT_OUTRG_ALERT_THR 中的编程值,则一旦传感器检测到编程的最高温度,VTM 输出将被驱动为“1”。
  4. 在 SOC 级别,VTM 输出 THERM_MAXTEMP_OUTRANGE_ALERT,从而将 PLL 控制器驱动到热复位状态。同时,PLL 控制器进入复位状态,所有 PLL 同时进入旁路模式。
  5. 根据第 4 点,该器件将在几秒钟内显著降低功耗并降低器件温度。
  6. VTM 持续地监测温度。一旦 VTM 检测到与 WKUP_VTM_MISC_CTRL2[25-16] MAXT_OUTRG_ALERT_THR0, VTM 中的编程值相对应的代码,就会将 THERM_MAXTEMP_OUTRANGE_ALERT 驱动为 0。
  7. 完成第 6 点后,PLL 控制器退出复位状态并重新启动引导序列。同时,PLL 退出旁路模式并以目标频率启动整个芯片,开始正常运行。

最高温度硬件保护流程图如图 2-2 所示

 VTM 最高温度硬件保护图图 2-2 VTM 最高温度硬件保护图

在所有 TI SOC 系列中,默认启用最高温度保护。如果 SOC 超过最高温度,则会对 SOC 的使用寿命造成永久损坏,这种影响是不可逆转的。可以在相应的器件数据表中找到不同 SOC 的正常工作温度范围。在激活最高温度保护期间,SOC 的时钟 PLL 会进入旁路模式,从而有效地禁用 SOC 的整个时钟信号。此时,VTM 使用来自传感器的信号。

以下示例使用 AM62A 作为案例研究。我们可通过读取相应的寄存器以及 TRM 中详细说明的特定寄存器地址来获得 SOC 最高温度保护值。具体而言,WKUP_VTM_MISC_CTRL2[25-16] MAXT_OUTRG_ALERT_THR0 的编码值为 0x288,并且使用 Python 脚本,该值对应于 105°C 的实际温度。同样,WKUP_VTM_MISC_CTRL2[9-0] MAXT_OUTRG_ALERT_THR 的编码值为 0x2F8,对应于 123°C 的实际温度。因此,AM62A 的默认最大硬件温度保护值为 123°C。只有当温度降至 105°C 以下时,系统才会重新启动。

root@am62axx-evm:/opt/edgeai-gst-apps# devmem2 0x00b01010
/dev/mem opened.
Memory mapped at address 0xffff8488e000. 
Read at address  0x00B01010 (0xffff8488e010): 0x028802F8