Thermal Zones
Thermal management is necessary to ensure proper operation of the phyCORE-AM57x SOM, especially when integrated inside an enclosure. This guide will show you how to read the junction temperature of the processor on the phyCORE-AM57x SOM. The development kit is shipped with a heat sink installed to keep the processor below the set trip points and within specified operating temperature. To learn more information about the phyCORE-AM57x thermal management, please see section 30 in the Hardware Manual.
Reading the Temperature
The TI AM57x processor has 5 physical locations where the temperature can be monitored (thermal zones). Each zone can be accessed in the following sysfs directories.
Sysfs Paths
/sys/class/thermal/thermal_zone0
/sys/class/thermal/thermal_zone1
/sys/class/thermal/thermal_zone2
/sys/class/thermal/thermal_zone3
/sys/class/thermal/thermal_zone4
The below command can be used to output the temperature of thermal zone 0. This same command can be used for zones 1 through 4.
cat /sys/class/thermal/thermal_zone0/temp
This output translates to 65.4°C:
65400
Temperature Trip Points
Each thermal zone includes trip points. You can set the trip points to a temperature that will trigger an event, such as turning on a fan for active cooling. You can also build in a critical trip point; if this temperature is reached, Linux will automatically shutdown the system for protection of the processor.
Trip Point Type |
Description |
---|---|
Passive |
Passive cooling: Mitigate heat by scaling down performance without active cooling. |
Active |
Active cooling: Implement more aggressive cooling methods to prevent the system from reaching critical temperatures. |
Hot |
Reaching operating threshold: Signals a state where the system is getting warm but hasn’t reached critical levels yet. |
Critical |
Exceeding critical threshold: Protect the hardware from potential damage due to extreme temperatures by forcing shutdown. |
Thermal Zone |
Trip Point Number |
Temperature |
Hysteresis |
Type |
---|---|---|---|---|
thermal_zone0 |
trip_point_0 trip_point_1 |
90°C 105°C |
2°C 2°C |
Passive Critical |
thermal_zone1 |
trip_point_0 |
105°C |
2°C |
Critical |
thermal_zone2 |
trip_point_0 |
105°C |
2°C |
Critical |
thermal_zone3 |
trip_point_0 |
105°C |
2°C |
Critical |
thermal_zone4 |
trip_point_0 |
105°C |
2°C |
Critical |
Hysteresis refers to a temperature margin before taking corrective actions, such as adjusting cooling mechanisms. Instead of reacting immediately when a certain temperature threshold is crossed, a hysteresis value ensures that the system doesn’t oscillate rapidly between different states due to small temperature fluctuations.
To view the type of trip points and the trip point temperatures of thermal zone 0 trip point 1, run the following command:
cat /sys/class/thermal/thermal_zone0/trip_point_1*
2000
105000
critical
The critical trip point which will cause the system to shutdown will be reached when the temperature reaches 105C and alarm when the temperature reaches 103C.