0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TDA4动态热检测与控制方案

星星科技指导员 来源:TI 作者:Neo Wang 2023-03-16 10:22 次阅读

1. 背景介绍:

TI上一代Jacinto 6汽车处理器中,例如DRA7x/TDA2x,为了实现性能与功能安全的综合考虑,提供了名为DVFS(Dynamic Voltage Frequency Scaling)的机制,使能系统能够实时获取芯片thermal状态,并动态反馈调节系统电压与运行频率,使得系统运行在安全温度范围内,实现性能最大化。

在TI Jacinto︎ 7 处理器中,例如DRA8x/TDA4x,目前外部PMIC输出电压NVM固定,故推荐使用DFS来实现在固定电压下的频率调节,从而实现对整芯片热状态的检测以及控制。

2. 测试条件:

TDA4VM EVM开发板

TDA4VM Linux SDK

TDA4VM RTOS SDK

3. TDA4动态热检测与控制流程:

在TDA4 SOC系统中,可参照图1所示流程进行SOC热状态检测以及控制,用户可在应用层对VTM(Voltage and Thermal Manager)的thermal值进行实时读取,并设置高温超出阈值/常温回落阈值,通过VTM的实时检测以及对比,在超出阈值时产生温度事件。或者在内核中通过增加VTM驱动,并直接在上层应用中读取thermal温度值并设置阈值,然后通过上层应用逻辑来实现对thermal的监控,在超出阈值时产生温度报警事件。

poYBAGQSfWuAO8uPAABd31l2EdA499.png

图 1 TDA4动态热检测与控制流程图

在得到温度报警事件后,通过对TDA4内部各核心运行状态以及运行频率的读取,能够在系统正常运行范围内,动态调整各核心的运行频率,从而降低系统功耗,实现对系统热状态的控制。

4. VTM动态热检测

首先需要动态读取SOC thermal温度值,VTM可以用来读取温度值以及设置温度报警阈值等,其详细介绍参照TDA4 TRM手册。其核心寄存器配置如表1所示:

表 1 VTM寄存器设置

Register in VTM module Offset Comments
WKUP_VTM_TMPSENS_STAT_j [9-0] DATA_OUT 实时温度值(ADC code数值)
WKUP_VTM_MISC_CTRL2 [9-0] MAXT_OUTRG_ALERT_THR 高温报警阈值,超出产生thermal alert
WKUP_VTM_MISC_CTRL2 [25-16] MAXT_OUTRG_ALERT_THR 常温回落阈值,产生alert clean
WKUP_VTM_TMPSENS_CTRL_j [11] MAXT_OUTRG_EN Enable/Disable alert 事件
CTRLMMR_WKUP_RESET_SRC_STAT [24] THERMAL_RST 产生/清除 alert事件的标志位

读出来的DATA_OUT值为内部ADC数值,需要进行转换才能成为摄制温度值,其转换方式如图2所示:

pYYBAGQSfWyAUDb_AACLelJ1WMg277.png

图 2 VTM ADC code与温度值计算关系表

此处提供patch,能够实现在Linux端对内部核心的thermal温度值读取。步骤如下:

a. 下载Linux SDK8.0并参照guide制作SD启动卡,并下载对应thermal patch。

poYBAGQSfW2AG7mxAAAJIChfi28906.png

b. 参照下述流程安装到原生SDK中。

cd $PSDK_PATH/board-support/linux-*

git am 0001-display-temperature-as-mili-celsius.patch

cd ../..

make linux

c. 参照下述流程将编译后的文件更新至SD卡系统中。

Edit the file $PSDK_PATH/Rules.make

Set DESTDIR=/media/$USER/rootfs

cd $PSDK_PATH

sudo make linux_install

d. 参照下述流程进行验证

cat /sys/class/thermal/thermal_zone*/temp

其中patch一共添加了五个域中kernel的温度值,其打印如图3所示:

pYYBAGQSfW2AQINPAADCTa8phak246.png

图 3 thermal温度值读取

其中对应了五个Linux中的设备节点,所输出的值单位为毫摄氏度,例如图3中所示结果以及硬件对应关系为:

thermal_zone0 -> WKUP domain DMSC core -> 67.640℃

thermal_zone1 -> MAIN domain MPU A72 core -> 68.074℃

thermal_zone2 -> MAIN domain C7x core -> 68.507℃

thermal_zone3 -> MAIN domain GPU core -> 69.371℃

thermal_zone4 -> MAIN domain R5F core -> 68.074℃

5. TDA4核心动态调频控制

获取到TDA4内部各个核心实时的thermal值后,可以通过上层逻辑对读取到的温度值与预设的报警阈值进行逻辑比较,然后采取对应的措施进行核心频率调整。

在TDA4默认文件系统中,提供k3conf通过指定的device ID以及clock ID来实现对各个核心频率的读取以及控制。

5.1 Device ID的获取:

可通过TISCI手册J721E部分对各个模块的device ID进行查询

图4中列出了常用几个核心的device ID。

poYBAGQSfW6ARJvdAAEEBE_a74k044.png

图 4 processor device ID

5.2 Clock ID的获取:

为了标识在一个核心中多个不同模块的频率设置,引入了clock ID对其进行区分,可在TISCI J721E部分对clock ID进行查询。

5.3 对应核心运行频率检测:

获取到对应核心device ID后,可通过下述指令打印出当前对应核心的运行频率。

k3conf dump clock DEVICE_ID

以A72_CORE0为例,可以得到其当前运行频率为2GHz如图5所示。

pYYBAGQSfW-AK70rAACPl0pES6o690.png

图 5 A72 CORE0 运行频率

5.4 设置对应核心运行频率:

若按照第三章中的流程计算,当前运行频率需要进行调整,可使用下述指令对当前指定device ID以及clock ID 的模块进行频率控制。在对其核心频率进行修改之前,需要首先对其对应的锁相环进行修改,以A72_CORE0核心为例:

devmem2 0x00688040 w 0x80000001

k3conf set clock 202 2 1000000000

其修改过程如图6所示:

pYYBAGQSfW-AWApBAAEjB_PdXD4710.png

图 6 A72 CORE0频率修改流程

其中每个TDA4内部核心所支持的最大频率受硬件限制,以TDA4VM为例,如图7所示为不同PN中各核心所支持的最大频率。

poYBAGQSfXCAcx6DAABGLyHSmyQ510.png

图 7 TDA4VM中各核心所支持最大频率

同样的,在最大频率之下,各核心的频率设置并非随机设置,其必须满足内部分频器等硬件时钟要求。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19155

    浏览量

    229044
  • 芯片
    +关注

    关注

    453

    文章

    50360

    浏览量

    421637
  • adc
    adc
    +关注

    关注

    98

    文章

    6429

    浏览量

    544035
收藏 人收藏

    评论

    相关推荐

    TDA4对深度学习的重要性

    。RTOS SDK 中集成了众多的Demo展示TIDL在TDA4处理器上对实时的语义分割和 SSD 目标检测的能力。如下图2:AVP的demo展示了使用TIDL对泊车点、车辆的检测。图2. TIDL
    发表于 11-03 06:53

    超异构芯片TDA4内核解析

    1、超异构芯片TDA4内核解析超异构芯片最近是比较火的一个名词,其集中特性是将各类不同的芯片内核进行融合,这种集成式芯片设计可以充分整合芯片资源,进一步提升数据计算效率。并且由于芯片在设计之初就打
    发表于 12-09 16:29

    TDA4动态检测控制设计方案

    在TI上一代Jacinto 6汽车处理器中,例如DRA7x/TDA2x,为了实现性能与功能安全的综合考虑,提供了名为DVFS(Dynamic Voltage Frequency Scaling
    的头像 发表于 02-15 13:36 3566次阅读
    <b class='flag-5'>TDA4</b><b class='flag-5'>动态</b><b class='flag-5'>热</b><b class='flag-5'>检测</b>与<b class='flag-5'>控制</b>设计<b class='flag-5'>方案</b>

    TDA4行泊一体,打开智能驾驶的新篇章

    TDA4行泊一体,打开智能驾驶的新篇章
    发表于 10-28 11:59 13次下载
    单<b class='flag-5'>TDA4</b>行泊一体,打开智能驾驶的新篇章

    当深度学习遇上TDA4

    当深度学习遇上TDA4
    发表于 10-28 11:59 2次下载
    当深度学习遇上<b class='flag-5'>TDA4</b>

    TDA4动态检测控制方案

    TDA4动态检测控制方案
    发表于 10-28 11:59 1次下载
    <b class='flag-5'>TDA4</b><b class='flag-5'>动态</b><b class='flag-5'>热</b><b class='flag-5'>检测</b>与<b class='flag-5'>控制</b><b class='flag-5'>方案</b>

    德州仪器TDA4背后的OpenVX介绍

    近年来行泊一体大行其道,德州仪器的TDA4占了行泊一体大约70%的市场。其背后关键的就是OpenVX。
    的头像 发表于 02-16 09:18 8309次阅读

    TDA4 SPL SBL启动流程简析

    TDA4是TI推出的一款高性能、超异构的多核SoC,拥有ARM Cortex-R5F、ARM Cortex-A72、C66以及C71内核,可以部署AUTOSAR CP系统、HLOS(Linux或
    的头像 发表于 10-24 16:37 2318次阅读
    <b class='flag-5'>TDA4</b> SPL SBL启动流程简析

    TDA4刷写技术

    电子发烧友网站提供《TDA4刷写技术.pdf》资料免费下载
    发表于 08-23 10:15 2次下载
    <b class='flag-5'>TDA4</b>刷写技术

    TDA4:定制电路板启动指南

    电子发烧友网站提供《TDA4:定制电路板启动指南.pdf》资料免费下载
    发表于 08-28 11:50 0次下载
    <b class='flag-5'>TDA4</b>:定制电路板启动指南

    TDA4系列的SPI启用和验证

    电子发烧友网站提供《TDA4系列的SPI启用和验证.pdf》资料免费下载
    发表于 09-04 10:50 2次下载
    <b class='flag-5'>TDA4</b>系列的SPI启用和验证

    基于Pytorch训练并部署ONNX模型在TDA4应用笔记

    电子发烧友网站提供《基于Pytorch训练并部署ONNX模型在TDA4应用笔记.pdf》资料免费下载
    发表于 09-11 09:24 0次下载
    基于Pytorch训练并部署ONNX模型在<b class='flag-5'>TDA4</b>应用笔记

    TDA4 Edge AI处理器的性能和效率基准测试

    电子发烧友网站提供《TDA4 Edge AI处理器的性能和效率基准测试.pdf》资料免费下载
    发表于 09-11 09:21 0次下载
    <b class='flag-5'>TDA4</b> Edge AI处理器的性能和效率基准测试

    TDA4泊车应用中的超声波雷达集成方案

    电子发烧友网站提供《TDA4泊车应用中的超声波雷达集成方案.pdf》资料免费下载
    发表于 09-27 11:26 1次下载
    <b class='flag-5'>TDA4</b>泊车应用中的超声波雷达集成<b class='flag-5'>方案</b>

    TDA4 HS Prime密钥烧录以及vHSM的集成

    电子发烧友网站提供《TDA4 HS Prime密钥烧录以及vHSM的集成.pdf》资料免费下载
    发表于 09-27 11:05 0次下载
    <b class='flag-5'>TDA4</b> HS Prime密钥烧录以及vHSM的集成