Difference between revisions of "ETRA SOM/ETRA Hardware/Electrical Thermal and Mechanical Features/Thermal management and heat dissipation"

From DAVE Developer's Wiki
Jump to: navigation, search
 
(5 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
! colspan="4" style="width:100%; text-align:left" ; border-bottom:solid 2px #ededed" |History
 
! colspan="4" style="width:100%; text-align:left" ; border-bottom:solid 2px #ededed" |History
 
|-  
 
|-  
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white" |Version
 
 
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white" |Issue Date
 
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white" |Issue Date
 
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white" |Notes
 
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white" |Notes
 
|-
 
|-
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |1.0.0
+
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |{{oldid|13185|2021/02/24}}
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |Dec 2020
 
 
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |First Release
 
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |First Release
 
|-
 
|-
 +
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |2023/08/03
 +
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |Added Software thermal protection
 
|-
 
|-
 
|}
 
|}
Line 26: Line 26:
 
DAVE Embedded Systems' team is available for any additional information, please contact [mailto:sales@dave.eu sales@dave.eu].
 
DAVE Embedded Systems' team is available for any additional information, please contact [mailto:sales@dave.eu sales@dave.eu].
  
===Software thermal protection ''TODO: verificare l'implementazione nel BSP'' ===
+
===Software thermal protection ===
  
In DESK-MP1-L, two software thermal protection mechanisms are implemented. Both are based on the processor's temperature sensor. It is worth remembering that maximum junction temperature (also denoted as Tj in the rest of the document) is:
+
In [[DESK-MP1-L | DESK-MP1-L]], two software thermal protection mechanisms are implemented. Both are based on the processor's temperature sensor. It is worth remembering that maximum junction temperature (also denoted as Tj in the rest of the document) is:
  
*105°C for commercial and industrial parts
+
*105°C for extended commercial parts
*125°C for automotive parts.
+
*125°C for industrial parts
  
====U-Boot====
+
====ATF====
At U-Boot level, automatic boot procedure is halted until Tj is smaller than (following temperatures might seem excessively low but they take into account the intrinsic poor precision of the temperature sensor to provide a reasonable safe margin):
+
At Arm Trusted Firmware level, automatic boot procedure is halted until Tj is smaller than (following temperatures might seem excessively low but they take into account the intrinsic poor precision of the temperature sensor to provide a reasonable safe margin):
  
*90 for commercial and industrial parts
+
{| style="color:#000000; border:solid 2px #73B2C7; background-color:#ededed;font-size:95%; vertical-align:middle;"
*110°C for automotive parts.
+
|[[File:TBD.png|30px]]
 +
|'''Section not completed yet'''
 +
|}
  
 
====Linux kernel====
 
====Linux kernel====
 
At Linux level, a more sophisticated protection mechanism is implemented. Please refer to the following sections for more details.
 
At Linux level, a more sophisticated protection mechanism is implemented. Please refer to the following sections for more details.
  
The default temperature thresholds depend on the silicon grade, as follows:
+
The default temperature threshold depend on the silicon grade, as follows:
  
*for commercial and industrial parts
+
*for industrial parts
** passive threshold: 95°C
+
** critical threshold: 125°C
** critical threshold: 100°C
 
*for automotive parts
 
** passive threshold: 115°C
 
** critical threshold: 120°C.
 
  
Practically speaking, for DESK-MP1-L this mechanism makes use of two different thresholds, denoted as <code>trip_point0</code> (also known as ''passive threshold'') and <code>trip_point1</code> (also known as ''critical threshold''.
+
Practically speaking, for [[DESK-MP1-L | DESK-MP1-L]] this mechanism makes use of one threshold, denoted as <code>trip_point0</code> (also known as ''critical threshold'').
 
 
When Tj reaches <code>trip_point0</code>, Linux kernel scales down processor frequency:
 
 
 
<pre>
 
System is too hot. GPU3D will work at 1/64 clock.
 
</pre>
 
  
If Tj reaches <code>trip_point1</code>, a complete shutdown is triggered:
+
If Tj reaches <code>trip_point0</code>, a complete shutdown is triggered:
  
 
<pre>
 
<pre>
thermal thermal_zone0: critical temperature reached(100 C),shutting down
+
thermal thermal_zone0: cpu-thermal: critical temperature reached, shutting down
 
</pre>
 
</pre>
  
 
By default, temperature thresholds are set up as follows:
 
By default, temperature thresholds are set up as follows:
*<code>trip_point0</code>: 85°C
+
*<code>trip_point0</code>: 120°C
*<code>trip_point1</code>: 100°C.
 
  
Trip point thresholds can be accessed via <code>sysfs</code> interface from user space. The following example shows how to read the values of the trip points:
+
Trip point threshold can be accessed via <code>sysfs</code> interface from user space. The following example shows how to read the value of the trip point:
 
<pre>
 
<pre>
root@axel-lite:~# cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp
+
root@desk-mp1:~# cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp
85000
+
120000
root@axel-lite:~# cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_1_temp
 
100000
 
 
</pre>
 
</pre>
This example shows how to set trip points 0 and 1 to 95°C and 100°C respectively:
+
This example shows how to set trip points 0 to 95°C:
 
<pre>
 
<pre>
 
echo 95000 > /sys/class/thermal/thermal_zone0/trip_point_0_temp
 
echo 95000 > /sys/class/thermal/thermal_zone0/trip_point_0_temp
echo 100000 > /sys/class/thermal/thermal_zone0/trip_point_1_temp
 
 
</pre>
 
</pre>
 
{{ImportantMessage|text=Please note that
 
{{ImportantMessage|text=Please note that
Line 89: Line 77:
  
 
<pre>
 
<pre>
root@axel-lite:~# cat /sys/class/thermal/thermal_zone0/temp
+
root@desk-mp1:~# cat /sys/class/thermal/thermal_zone0/temp
 
36676
 
36676
 
</pre>
 
</pre>
Line 97: Line 85:
 
----
 
----
  
[[Category:ETRA]]
+
[[Category:ETRA]] [[Category:ETRA_SBC]]

Latest revision as of 11:46, 8 January 2024

History
Issue Date Notes

2021/02/24

First Release
2023/08/03 Added Software thermal protection


Thermal management[edit | edit source]

The ETRA SOM is designed to support the maximum available temperature range declared by the manufacturer.

The customer shall define and conduct a reasonable number of tests and verification in order to qualify the DUT capabilities to manage the heat dissipation.

Any heatsink, fan etc shall be defined case by case.

DAVE Embedded Systems' team is available for any additional information, please contact sales@dave.eu.

Software thermal protection[edit | edit source]

In DESK-MP1-L, two software thermal protection mechanisms are implemented. Both are based on the processor's temperature sensor. It is worth remembering that maximum junction temperature (also denoted as Tj in the rest of the document) is:

  • 105°C for extended commercial parts
  • 125°C for industrial parts

ATF[edit | edit source]

At Arm Trusted Firmware level, automatic boot procedure is halted until Tj is smaller than (following temperatures might seem excessively low but they take into account the intrinsic poor precision of the temperature sensor to provide a reasonable safe margin):

TBD.png Section not completed yet

Linux kernel[edit | edit source]

At Linux level, a more sophisticated protection mechanism is implemented. Please refer to the following sections for more details.

The default temperature threshold depend on the silicon grade, as follows:

  • for industrial parts
    • critical threshold: 125°C

Practically speaking, for DESK-MP1-L this mechanism makes use of one threshold, denoted as trip_point0 (also known as critical threshold).

If Tj reaches trip_point0, a complete shutdown is triggered:

thermal thermal_zone0: cpu-thermal: critical temperature reached, shutting down

By default, temperature thresholds are set up as follows:

  • trip_point0: 120°C

Trip point threshold can be accessed via sysfs interface from user space. The following example shows how to read the value of the trip point:

root@desk-mp1:~# cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp
120000

This example shows how to set trip points 0 to 95°C:

echo 95000 > /sys/class/thermal/thermal_zone0/trip_point_0_temp
200px-Emblem-important.svg.png

Please note that

  • it is possible to set up trip points greater than the maximum junction temperature indicated by manufacturer datasheet
  • exceeding maximum junction temperature indicated by manufacturer datasheet may cause permanent damage

To read current processor temperature please issue this command (reported temperature is 36.676°C in the example):

root@desk-mp1:~# cat /sys/class/thermal/thermal_zone0/temp
36676

For more details about this functionality, please refer to Documentation/thermal/sysfs-api.txt in the kernel sources.