[[PageOutline]] = See also * [wiki:ventana/thermal_management General Thermal Page] * [/wiki/newport/powerthermal Newport Thermal/Power Page] * [/wiki/DVFS Dynamic Voltage and Frequency Scaling of the Processor] * [/wiki/venice/power Venice Power Consumption] * [https://shop.gateworks.com/index.php?route=product/category&path=70_72 Gateworks Shop - Heatsinks ] = Venice Thermal '''It is crucially important to read Gateworks Thermal explanation on the [wiki:ventana/thermal_management General Thermal Page]''' == Venice Thermal Ratings The Gateworks Venice SBCs are rated with parts that reach temperatures from -40 to +85C. Some parts are rated higher, but 85C is the minimum. Note, this is the part temperature, which is often hotter than the ambient air temperature. More explanation is available on the [wiki:ventana/thermal_management General Thermal Page] Gateworks pre-installs a heatsink on the CPU for all Venice boards. This heatsink provides basic cooling for the board during development but customers need to design their own thermal solution based on their particular enclosure, environment and operating conditions. The 1600MHz IMX8MM Industrial Temp SoC used for Venice is rated at: * Max: 105C Tj (Junction Temp) * Min: -40C Tj (Junction Temp) The thermal resistances for the packages assuming natural convection is: * RθJC (junction to case) = 4°C/W * RθJB (junction to board) = 7.8°C/W * RθJA (junction to ambient) varies per baseboard but is expected to be about 20°C/W == Venice Heatsinks The Venice SOMs have different heatsinks solution depending on the processor. * i.MX8M Mini (standard) - System On Module (SoM) has a 20x20x10mm (LxWxH) aluminum heatsink for passive thermal dissipation. * [[Image(lid.png,200px)]] * i.MX8M Plus (GW74xx, others) - *** This CPU has an exposed die, shown below *** (no lid, see silver exposed area) which means it can be fragile if designing a custom thermal solution. * [[Image(exposeddie.png,200px)]] Some boards also have a 4-pin Fan controller connector suitable for driving a 5V fan via PWM with Tachometer feedback if active cooling is needed for the system. The fan is automatically controlled through the fan set points as defined [wiki:gsc#FanController here] == Venice Thermal Resistances - Thermal Pad between baseboard and SOM thermal resistance: 0.75 °C/W - Paste (only used on i.MX8M Plus) thermal resistance: 0.12 °C/W - i.MX8M Plus Heatsink on GW702x SOM is of the material AL6061 or AL6063. == Venice Temperature Readings Venice has the ability to measure the board temperature and CPU temperature. Both values are important, but the CPU will be the hottest component and thus should be watched closely. === CPU Temperature The IMX8MM has an interface for measuring the internal CPU junction temperature. A Linux {{{thermal sysfs}}} driver exists which supports reading the CPU temperature and configuring various limits. internal CPU junction temperature can be read via Linux: {{{#!bash ~# cat /sys/class/thermal/thermal_zone0/type cpu-thermal ~# cat /sys/class/thermal/thermal_zone0/temp 59000 ~# cat /sys/class/thermal/thermal_zone0/trip_point_0_type passive ~# cat /sys/class/thermal/thermal_zone0/trip_point_0_temp 95000 ~# cat /sys/class/thermal/thermal_zone0/trip_point_1_type critical ~# cat /sys/class/thermal/thermal_zone0/trip_point_1_temp 105000 }}} * Linux {{{thermal sysfs}}} devices refer to temperature in milidegree Celcius thus 105000 is 105C * The above shows the {{{cpu-thermal}}} sensor currently measuring 59C with a 'passive' trip at 95C (at which point CPU frequency throttling will occur) and a 'critical' trip at 105C (at which point the CPU will reset) * Note, the i.MX8M Plus has two zones, zone0 and zone1, neither of which should never exceed the processor maximum temperature, 105C === Board Temperature Board temperature is monitored via the [wiki:gsc Gateworks System Controller (GSC)] via a thermister located on the board. A Linux {{{hwmon}}} driver exists to provide access to this temperature: {{{#!bash ~# DEV=$(for i in $(ls /sys/class/hwmon); do [ "gsc_hwmon" = $(cat /sys/class/hwmon/$i/name) ] && echo $i; done) # find GSC device ~# cat /sys/class/hwmon/$DEV/temp1_input 48100 }}} * Linux {{{hwmon}}} devices refer to temperature in milidegree Celcius thus 48100 is 48.1C The board temperature can also be shown in U-Boot: {{{#!bash u-boot=> gsc hwmon temp : 34.0C vdd_bat : 0.000V vdd_vin : 15.292V vdd_adc1: 0.000V vdd_adc2: 0.000V vdd_dram: 1.101V vdd_1p2 : 1.190V vdd_1p0 : 0.976V vdd_2p5 : 2.464V vdd_3p3 : 3.226V vdd_0p95: 0.939V vdd_1p8 : 1.796V vdd_gsc : 3.168V }}} == Venice Thermal Protection Thermal protection is offered by the GSC (Gateworks System Controller). Please read more on the [wiki:gsc#thermal-protection GSC Wiki Page] == Venice and VeniceFLEX Sample Thermal Readings Below are a few sample baselines that Gateworks has taken for reference: ||= SBC =||= Ambient ||= Board =||= CPU ||= Heatsink ||= Power ||= Notes || || GW7301-01-HG || ~23C || 38C || 47C || 50C || 5.5W|| With GbE link after 5 min, Gen2 PCIe || || GW7401-D || ~23C || 50C || 49C || 51C || 6.33W|| With GbE link after 5 min, Gen2 PCIe || || GW8201A-S21C-F1B0A-F2E0A || ~23C || 66C || 71C || 73C || 8.32W|| With GW16159 Radio & GbE link after 5 min, Gen3 PCIe || || GW8201A-S21C-F1B0A-F2E0A || ~23C || 42C || 41C || 35C || 8.32W|| With GW16159 Radio & GbE link after 5 min, Gen3 PCIe PLUS adding a very small fan to create a 'breath of air' over the heatsink || Note that the GW82xx uses a PCIe Gen 3 switch, which increases the power and thus the heat.