Difference between revisions of "iMX6 TinyRex Environmental chamber testing"

From Voipac Wiki
Jump to navigation Jump to search
(Created page with "Category:iMX6 TinyRex Development kit <!-- --> <div style="float:right">__TOC__</div> On this page environmental stress testing results of iMX6 TinyRex Development kit ar...")
 
Line 78: Line 78:
 
[[image:iMX6_TinyRex_Development_kit-Env_chamber-Temperature_profile.jpg|800px]]
 
[[image:iMX6_TinyRex_Development_kit-Env_chamber-Temperature_profile.jpg|800px]]
  
=== Switch ON/OFF test - PASS ===
+
=== Running the boards at -40°C - PASS ===
Test description: Boards were switched OFF, left OFF for 10 minutes and then switched ON. These tests were done several times for temperatures between -30°C to -35°C and for a temperature +70°C. All the boards booted up successfully.<br />
+
Test description: CPU, Memory and peripheral stress tests were running at -40°C. All the tested kits were working without errors during the whole time, even if some components used for iMX6 TinyRex Basic Module were only rated to -20°C to +105°C operating temperature range. iMX6 TinyRex Base Boards were running at this temperature with components certified only in -20°C to +85°C temperature range.<br /><br />
 +
 
 +
Zoom on the temperature chamber displaying the minimum temperature. These readouts are shown on the display:
 +
* the first number shows relative humidity
 +
* the second one current temperature
 +
* the last one the dew point
 +
[[image:iMX6_TinyRex_Development_kit-Env_chamber-Boards_at_40°C.jpg|800px]]
 +
 
 +
=== Running the boards at +70°C - PASS ===
 +
Test description: Ambient temperature was set to +70°C and the CPU and Memory stress tests were running.<br />
 +
[[image:iMX6_TinyRex_Development_kit-Env_chamber-Logs_+70°C.jpg|800px]]
 +
 
 +
=== Running the kits at high temperatures (from +60°C to +100°C) – PASS ===
 +
Test description: The ambient temperature was gradually increasing (from 60°C up to 100°C) while CPU, Memory and peripheral stress tests were running. CPUs starting to work with lowered frequency were used as a threshold (this occurred when CPU temperature reached 70°C-100°C). Components used for iMX6 TinyRex Base Board were only rated from -20°C to +85°C operating temperature range.<br />
 +
[[image:iMX6_TinyRex_Development_kit-Env_chamber-Boards_at_+100°C.jpg|800px]]
 +
 
 +
=== Temperature stress test – quick temperature change from -40°C to -10°C and back – PASS ===
 +
Test description: The ambient temperature was quickly increased from -40°C to -10°C and then back to -40°C. The boards were running CPU, Memory and peripheral stress tests. All the boards were working perfectly.
 +
 
 +
=== Temperature stress test – quick temperature change from +90°C to +30°C and back – PASS ===
 +
Test description: The ambient temperature was quickly decreased from +90°C to +30°C and back to 90°C while running CPU, Memory and peripheral stress tests. All boards were working without errors.<br /><br />
 +
 
 +
Thermal camera capture focused on the boards as the set temperature inside the chamber reached +85°C:<br />
 +
[[image:iMX6_TinyRex_Development_kit-Env_chamber-Thermo_camera_capture_at_+85°C.jpg|800px]]
 +
 
 +
=== Switch ON/OFF test PASS ===
 +
Test description: At temperatures from -30°C to -40°C the boards were switched OFF, left OFF for at least 5 minutes (to cool down completely) and then switched ON to see if they boot up without problems. Once booted up to the Linux, the boards were turned off again. All of the tested boards booted up successfully. This test was performed 3 times at -30°C, -35°C and -40°C temperatures.
 +
 
 +
=== Cooling performance at high temperatures ===
 +
Test description: As mentioned above, different heatsinks and enclosures were utilized to be able to compare its cooling abilities. All these tests were performed with Max boards which generates the most heat by itself. All setup reached temperature +85°C in the chamber. The board in the enclosure with the biggest height and cooling fins on the top size reached +100°C.<br />
 
{|
 
{|
|[[image:iMX6_TinyRex_Development_kit-Env_chamber_testing_-25°C.jpg|396px]]
+
|[[image:iMX6_TinyRex_Development_kit-Env_chamber-Board_in_enclosure.jpg|396px]]
|[[image:iMX6_TinyRex_Development_kit-Env_chamber_testing_+70°C.jpg|396px]]
+
|[[image:iMX6_TinyRex_Development_kit-Env_chamber-Enclosure.jpg|396px]]
 
|}
 
|}
  
=== Running the boards at -40°C - PASS ===
+
== Controlling PC setup ==
Test description: Ambient temperature was set to -25°C and the CPU and Memory stress tests were running.
 
[[image:iMX6_TinyRex_Development_kit-Env_chamber-Logs_-25°C.jpg|800px]]
 
  
=== Running the boards at +70°C - PASS ===
 
Test description: Ambient temperature was set to +70°C and the CPU and Memory stress tests were running.
 
[[image:iMX6_TinyRex_Development_kit-Env_chamber-Logs_+70°C.jpg|800px]]
 
  
=== Fast change of the temperature (from -25°C to +70°C) - PASS ===
 
Test description: Ambient temperature was rapidly changed from -25°C to +70°C. The CPU and Memory stress tests were running.
 
  
 
== Preparing the test ==
 
== Preparing the test ==

Revision as of 07:05, 23 April 2021

On this page environmental stress testing results of iMX6 TinyRex Development kit are displayed. Detailed instructions how to setup iMX6 TinyRex Development kit are also shown.

Hardware configuration

All of the modules used standard specification except of the temperature ranges for the key components as described below:

  • 3x iMX6 TinyRex Development kit in Max configuration
    • i.MX6 Quad 1.0 GHz CPU - automotive temperature range (-40°C to +125°C)
    • 2GB DDR3 Memory (4x 4Gb DDR3 Memory chips) - industrial temperature range (-40°C to +95°C)
    • 1GBps Ethernet PHY Tranciever KSZ9031RN - automotive temperature range (-40°C to +85°C)


  • 3x iMX6 TinyRex Development kit in Pro configuration
    • i.MX6 Dual 1.0 GHz CPU - automotive temperature range (-40°C to +125°C)
    • 1GB DDR3 Memory (4x 2Gb DDR3 Memory chips) - industrial temperature range (-40°C to +95°C)
    • 1GBps Ethernet PHY Tranciever KSZ9031RN - automotive temperature range (-40°C to +85°C)


  • 3x iMX6 TinyRex Development kit in Basic configuration
    • i.MX6 Solo 1.0 GHz CPU - extended temperature range (-20°C to +105°C)
    • 512MB DDR3 Memory (2x 2Gb DDR3 Memory chips) - industrial temperature range (-40°C to +95°C)
    • 1GBps Ethernet PHY Tranciever KSZ9031RN - automotive temperature range (-40°C to +85°C)



All of the tested development kits used the standard configuration of iMX6 TinyRex Base Board with extended temperature range (-20°C to +85°C). The majority of tested kits used a standard heatsink. This heatsink sized 35x35x10mm is included in every development kit package. Thus these measurements show the actual performance of web shop configuration of the development kit. Some of the boards were mounted into a custom build iMX6 TinyRex aluminium case.

The setup in environmental chamber:
800px

Test description

Three iMX6 TinyRex Development Kits (one in Max, one in Pro and one in Basic version) were running full peripheral test and stressed all the peripherals in various temperatures. All the rest of the boards were running CPU and memory test to check the reliability and stability of the firmware and hardware design.

Configurations, software and running testing threads in details:

3x iMX6 TinyRex peripheral stress testing

  • 1 thread of extensive Memory stress test
  • 1 thread of CPU stress test
  • SATA stress test (applied for Max and Pro versions only)
  • receiving HDMI Input signal through video input circuitry and processing
  • sending HDMI Output signal to external monitor
  • copying a file from the first USB drive to SD card and vice versa
  • copying a file from the second USB device to SATA hard drive and vice versa (applied for Max and Pro versions)
  • copying a file from the second USB drive to SD card and vice versa (applied for Basic version)
  • pinging the host PC via Ethernet
  • all the messages were printed out on the serial console through connected FTDI cable
  • firmware running from SD card
  • standard 35x35x10mm heatsink


2x iMX6 TinyRex Max Memory stress testing

  • 4 threads of extensive Memory stress test
  • 4 threads of CPU stress test
  • reading CPU temperature via SSH Ethernet session
  • serial FTDI cable used for displaying messages
  • firmware running from SD card
  • one set mounted inside aluminium case


2x iMX6 TinyRex Pro Memory stress testing

  • 2 threads of extensive Memory stress test
  • 2 threads of CPU stress test
  • reading CPU temperature via SSH Ethernet session
  • serial FTDI cable used for displaying messages
  • firmware running from SD card
  • one set mounted inside aluminium case


2x iMX6 TinyRex Basic Memory stress testing

  • 1 threads of extensive Memory stress test
  • 1 threads of CPU stress test
  • reading CPU temperature via SSH Ethernet session
  • serial FTDI cable used for displaying messages
  • firmware running from SD card
  • one set mounted inside aluminium case

USB flash devices and SATA hard drives were place outside of the environmental chamber. All the scripts running during the test and the board setup instructions can be found n section How to prepare the test.

Testing Results

The picture below shows the temperature profile during the whole testing process:
800px

Running the boards at -40°C - PASS

Test description: CPU, Memory and peripheral stress tests were running at -40°C. All the tested kits were working without errors during the whole time, even if some components used for iMX6 TinyRex Basic Module were only rated to -20°C to +105°C operating temperature range. iMX6 TinyRex Base Boards were running at this temperature with components certified only in -20°C to +85°C temperature range.

Zoom on the temperature chamber displaying the minimum temperature. These readouts are shown on the display:

  • the first number shows relative humidity
  • the second one current temperature
  • the last one the dew point

800px

Running the boards at +70°C - PASS

Test description: Ambient temperature was set to +70°C and the CPU and Memory stress tests were running.
800px

Running the kits at high temperatures (from +60°C to +100°C) – PASS

Test description: The ambient temperature was gradually increasing (from 60°C up to 100°C) while CPU, Memory and peripheral stress tests were running. CPUs starting to work with lowered frequency were used as a threshold (this occurred when CPU temperature reached 70°C-100°C). Components used for iMX6 TinyRex Base Board were only rated from -20°C to +85°C operating temperature range.
800px

Temperature stress test – quick temperature change from -40°C to -10°C and back – PASS

Test description: The ambient temperature was quickly increased from -40°C to -10°C and then back to -40°C. The boards were running CPU, Memory and peripheral stress tests. All the boards were working perfectly.

Temperature stress test – quick temperature change from +90°C to +30°C and back – PASS

Test description: The ambient temperature was quickly decreased from +90°C to +30°C and back to 90°C while running CPU, Memory and peripheral stress tests. All boards were working without errors.

Thermal camera capture focused on the boards as the set temperature inside the chamber reached +85°C:
800px

Switch ON/OFF test – PASS

Test description: At temperatures from -30°C to -40°C the boards were switched OFF, left OFF for at least 5 minutes (to cool down completely) and then switched ON to see if they boot up without problems. Once booted up to the Linux, the boards were turned off again. All of the tested boards booted up successfully. This test was performed 3 times at -30°C, -35°C and -40°C temperatures.

Cooling performance at high temperatures

Test description: As mentioned above, different heatsinks and enclosures were utilized to be able to compare its cooling abilities. All these tests were performed with Max boards which generates the most heat by itself. All setup reached temperature +85°C in the chamber. The board in the enclosure with the biggest height and cooling fins on the top size reached +100°C.

396px 396px

Controlling PC setup

Preparing the test

SD card setup

Linux 4.1 kernel was used for this test. Modified Xubuntu filesystem can be accessed from here. To create a new SD card, these instructions can be followed.

Create the log files

mkdir /home/ubuntu/testing-env-chamber
cd /home/ubuntu/testing-env-chamber
touch cpu-temp.log
touch stressapptest.log

Setup the cron

To be able to check the CPU temperature every minute a new cron job was setup. For Ubuntu file systems postfix package installation is required:

sudo apt-get install postfix

To setup a cron tab, the file containing all cron jobs needs to be altered. Before running the crontab for the first time, selecting a text editor is required:

sudo crontab -e

Paste the following line to the end of the cron list file. The output time format will be set the same as for stressapptest. Cron job performs a current CPU temperature readout and the data are saved in the log file:

* * * * * { echo -n $(date +\%Y/\%m/\%d-\%T); echo -n "("; echo -n $(date +\%Z); echo -n ") "; cat /sys/devices/virtual/thermal/thermal_zone0/temp; } >> /home/ubuntu/testing-env-chamber/cpu-temp.log

Note: The percent sign '%' has a special purpose in the cron file. As this sign is needed to write the date formats, the backslash is required to be placed before the percent sign: '\%'.

Setup the SSH connections

During the testing a simple local Ethernet network utilising a LAN switch and a control laptop was created. Two SSH sessions per board were opened (8 sessions in total). The first session was used for CPU and memory stress test. In the window below the current CPU temperature was printed out. The other three boards used the same format: 800px

Set up the date

As the RTC clock was not used during the test, the current time is set after boards boot up. A time zone is updated first:

ln -sf /usr/share/zoneinfo/Europe/Bratislava /etc/localtime

The actual time is changed afterwards. Sequence of digits in the following order was used: month day hour minute year. The command below sets this time and date: 04-July-2014 08:26

date 070408262014

Setup the CPU temperature printout

Before the CPU and memory stress tests start, the old logs were backed up:

cd /home/ubuntu/testing-env-chamber
mv cpu-temp.log cpu-temp-testing1.log
mv stressapptest.log stressapptest-testing1.log
touch cpu-temp.log
touch stressapptest.log

Tail command is used to read the temperature. It displays the last part of files (the cron job is writing to this log file):

tail -F cpu-temp.log

Start the stress test

stressapptest -s 600000 -M 768 -m 4 -C 4 -W --printsec 600 -l /home/ubuntu/testing-env-chamber/stressapptest.log

To make sure test is running smoothly, potential errors can be found in the log file (instead of rolling the stress test printout):

grep -i "error" stressapptest.log


The original article can be accessed on the iMX6TinyRex.com website.