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"|X.Y.Z2021/10/29|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"|Month Year|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"|TBD|-|-|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"|[TBD_link X.Y.Z]|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"|Month Year|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"|TBD|-|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"|...|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"|...|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"|...New documentation layout
|-
|}
== Thermal management ==
The {{{nome-som}}} SOM Bora product 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.
The customer shall define and conduct a reasonable number of tests and verification For example, in order the previous test cases:* Testbed 1 : when Tamb has been set to qualify +85°C, the DUT capabilities Bora SOM has been coupled to manage a passive heat sink to prevent exceeding maximum Zynq's junction temperature* Testbed 2 : when Tamb has been set to +75°C, the Bora SOM has been coupled to a fan-cooled heat dissipation. sink to prevent exceeding maximum Zynq's junction temperature
Any heatsink, fan etc shall be defined case by casedepending on the various use conditions like: air cooling (forced or not), enclosure dimensions, mechanical/thermal coupling with heatsink.A proper thermal analysis must be investigated on the real use scenario which depends on FPGA design, frequency configurations, working signals, etc.
DAVE Embedded Systems' team is available for any additional information, please contact [mailto:sales@dave.eu sales@dave.eu].
'''TBD: le sezioni qui di seguito vanno documentate e completate in funzione delle funzionalità del SOC (iMX6, iMX6UL, Zynq, etc.) e della diposnibilità di sensori di temperatura a bordo del SOM''' ===Software thermal protection ''TBD: se applicabile'' === In DESK-{{{kit-code}}}-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: *95°C for commercial parts*105°C for extended commercial and industrial parts*125°C for automotive parts. ====U-Boot====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): *80°C for commercial parts*90 for extended commercial and industrial parts*110°C for automotive parts. ====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 depend on the silicon grade, as follows: *for commercial parts** passive threshold: 85°C** critical threshold: 90°C*for extended commercial and industrial parts** passive threshold: 95°C** critical threshold: 100°C*for automotive parts** passive threshold: 115°C** critical threshold: 120°C. Practically speaking, for DESK-{{{kit-code}}}-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''.  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: <pre>thermal thermal_zone0: 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. 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:<pre>root@axel-lite:~# cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_0_temp85000root@axel-lite:~# cat /sys/devices/virtual/thermal/thermal_zone0/trip_point_1_temp100000</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_tempecho 100000 > /sys/class/thermal/thermal_zone0/trip_point_1_temp</pre>{{ImportantMessage|textsection end=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): <pre>root@axel-lite:~# cat /sys/class/thermal/thermal_zone0/temp36676</pre> For more details about this functionality, please refer to <code>Documentation/thermal/sysfs-api.txt<Body/code> in the kernel sources. ----
[[Category:{{{nome-som}}}BORA]]
8,248
edits