Open main menu

DAVE Developer's Wiki β

Changes

no edit summary
! 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" |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{{oldid| 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" 13185|Dec 20202021/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" |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
|-
|}
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'' ===
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 extended commercial and industrial parts*125°C for automotive industrial parts.
====U-BootATF====At U-Boot 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====
At Linux level, a more sophisticated protection mechanism is implemented. Please refer to the following sections for more details.
The default temperature thresholds threshold depend on the silicon grade, as follows:
*for commercial and industrial parts** passive threshold: 95°C** critical threshold: 100°C*for automotive parts** passive threshold: 115°C** critical threshold: 120°C.125°C
Practically speaking, for [[DESK-MP1-L | DESK-MP1-L]] this mechanism makes use of two different thresholdsone threshold, denoted as <code>trip_point0</code> (also known as ''passive critical threshold'') and <code>trip_point1</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_point1trip_point0</code>, a complete shutdown is triggered:
<pre>
thermal thermal_zone0: cpu-thermal: critical temperature reached(100 C),shutting down
</pre>
By default, temperature thresholds are set up as follows:
*<code>trip_point0</code>: 85°C*<code>trip_point1</code>: 100°C.120°C
Trip point thresholds threshold can be accessed via <code>sysfs</code> interface from user space. The following example shows how to read the values value of the trip pointspoint:
<pre>
root@axeldesk-litemp1:~# cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp85000root@axel-lite:~# cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_1_temp100000120000
</pre>
This example shows how to set trip points 0 and 1 to 95°C and 100°C respectively:
<pre>
echo 95000 > /sys/class/thermal/thermal_zone0/trip_point_0_temp
echo 100000 > /sys/class/thermal/thermal_zone0/trip_point_1_temp
</pre>
{{ImportantMessage|text=Please note that
<pre>
root@axeldesk-litemp1:~# cat /sys/class/thermal/thermal_zone0/temp
36676
</pre>
----
[[Category:ETRA]] [[Category:ETRA_SBC]]
8,286
edits