AM57x Thermal Considerations

= Overview =

In this experiment, the heterogeneous multicore AM5728 general purpose (GP) evaluation module (EVM) was used to gather thermal data with different processor loading, operating performance points (OPP) and ambient temperature. Ambient temperature was controlled with programmable environmental chamber. Users can utilize the collected data to correlate thermal performance of the processor and power consumption at a given processor load and junction temperature, based on ambient temperature and thermal management.

Resources and Application Notes

 * To learn more about thermal management please visit: http://www.ti.com/thermal
 * Thermal application note, including example thermal calculations, can be found here: http://www.ti.com/lit/pdf/sprabi3
 * Thermal models can be found in the product folder, in the Models section of Tools and Software: http://www.ti.com/product/AM5728/toolssoftware

= Testing =

Important Notes The environmental chamber used to collect this data circulates air internally to maintain homogeneous internal temperature, and does not accurately simulate the environment on the bench or end product. This is important to consider in passive cooling applications where air circulation can significantly impact PCB, package, and heatsink power dissipation efficiency.

Data presented in this test was gathered with a typical device, representing nominal silicon process and leakage. Thermal performance and power consumption can vary significantly for hot devices. Extra margin must be designed in to account for worst case process variation (leakage).

Use cases
The following CPU loading schemes were characterized with the AM572x GP EVM for this report:


 * OS Idle - AM57x processor is idling at the Linux Matrix GUI. Here, the processor cores are active, consuming minimal power.
 * Dhrystone single core - Dhrystone is a single-threaded benchmark, capable of utilizing approximately 100% of one ARM Cortex-A15 core. Dhyrstone is included in the TI Processor SDK. Tests were conducted with the A15 running at 1.0GHz (OPP_NOM) and 1.5GHz (OPP_HIGH).
 * Dhyrstone dual core - Dhrystone benchmark instances running on each ARM Cortex-A15 core. Tests were conducted with the A15 running at 1.0GHz (OPP_NOM) and 1.5GHz (OPP_HIGH).

Temperature Measurement
Reported temperature data is measured by on-die sensors to approximate actual junction temperature. Temperature for each use-case is measured after soaking for 5 minutes. Under lab conditions, it was determined a 5 minute period allows the processor to reach stable temperature. The TI Processor SDK provides Linux drivers for these sensors, and can be queried from the command-line, e.g.: 71800
 * 1) cat /sys/class/thermal/thermal_zone0/temp

OPP definitions
Operating performance points (OPP) levels imply fixed voltage and frequency targets on a per-subsystem basis. The table below lists frequency of each subsystem per OPP for the AM57x processor. Dynamic Voltage Frequency Scaling (DVFS) refers to a software technique where the various SoC AVS rails are changed from one OPP level to another in order to either adapt to a changing work-load, or in order to avoid device operation outside of desired temperature bounds.

The SoC only supports DVFS on the MPU rail. Other OPP levels shall be set by the initial bootloader. Fixed OPP levels can affect the thermal and power estimates of your system. Ensure the selected OPP level meets the application's needs, and all thermal testing is conducted at the desired OPP level.

Default OPP Levels
Tests were conducted with the following default OPP levels (see OPP Definitions for clock speeds):

MPU
OPP was held fixed based on the test case (i.e., MPU domain was not allowed to scale based on processing load). The Linux kernel provided by the Processor SDK controls the MPU OPP with the CPUFreq driver (does not apply to RT-Linux). Keeping the CPU OPP constant is accomplshed by specifing the "userspace" governor and explicitly programming the MPU frequency through the CPUFreq sysfs entries.

GPU, DSP and IVA
CPU, DSP and IVA cores OPP levels are set by U-Boot and are fixed. These cores are clock-gated when not in use to save power.

Linux Thermal Framework
The Linux thermal framework was disabled to hold the OPP constant as the processor heats, and prevents thermal shutdown. This was done for data gathering purposes, and is not recommended for a production system.

Data and Results
This section contains the raw data and graphs of the test experiments described above. All data was gathered running the Linux Processor SDK version 03.00.00.04.

Notes


 * All tests were conducted with an LCD module installed, which adds extra power.
 * Reported power numbers includes the following domains: MPU, DSP, IVA, GPU, and Core rails
 * The same AM5728 GP EVM with nominal silicon soldered to the PCB was used for all tests
 * Dhrystone tests were repeated with MPU at OPP_NOM (1.0GHz) and OPP_HIGH (1.5GHz). OPP_OD adds only a modest power increase over OPP_NOM.
 * Junction temperature and power reported below were sampled at the same time, and are presented in separate tables to aid comprehension.

Power and Thermal Chamber Measurements
The tables below contains power consumption and junction temperature measured running OS Idle, Dhrystone single core and Dhrystone dual core use cases at different controlled ambient temperatures and varying thermal management schemes.

Text in red indicate measured junction temperatures approaching the limit of an AM572x processor with extended temperature rating (-40C to +105C).

Heat Sink and Fan Part Numbers
Tests conducted with a heat sink used the CTS BDN10-3CB/A01

Tests with a heat sink and fan used the same CTS heatsink mentioned above, with the Sunon MC25100V1-000U-A99 fan attached.

OS Idle (MPU @ OPP_NOM)
Processor OPP Settings

* = domain is clock gated

Junction temperature vs ambient temperature

Power consumption vs ambient temperature

Dhrystone Single Core (MPU @ OPP_NOM)
Processor OPP Settings

* = domain is clock gated

Junction temperature vs ambient temperature

Power consumption vs ambient temperature

Dhrystone Single Core (MPU @ OPP_HIGH)
Processor OPP Settings

* = domain is clock gated

Junction temperature vs ambient temperature

Power consumption vs ambient temperature

Dhrystone Dual Core (MPU @ OPP_NOM)
Processor OPP Settings

* = domain is clock gated

Junction temperature vs ambient temperature

Power consumption vs ambient temperature

Dhrystone Dual Core (MPU @ OPP_HIGH)
Processor OPP Settings

* = domain is clock gated

Junction temperature vs ambient temperature

Power consumption vs ambient temperature