AnsweredAssumed Answered

i.MX6Q core voltage LDO instability

Question asked by Toralf Bratfisch on Jul 17, 2017
Latest reply on Jul 17, 2017 by Toralf Bratfisch

We have found some of our custom boards with i.MX6Q to crash at lower temperatures. When we looked into this issue, we found that the affected devices show oscillations on the ARM voltage domain, dependent on ARM voltage and processor load.

The internal LDOs are used.

VDD_ARM_IN: 1.4 V

VDD_ARM_CAP/VDD_ARM23_CAP: 0.975 V @ 396 MHz (issue reproducible); 1.175 V @ 792 MHz (no issues)

VDD_ARM_CAP and VDD_ARM23_CAP are connected; bulk capacitors: 2 x 22 µF.

Linux Kernel: V. 4.1.15 (from Boundary Devices)

 

The affected boards work fine at room temperate and even elevated temperatures, but fail at lower temperatures (mostly below 0°C, sometimes even between 0°C and 10°C). The crashes appear most often at boot time when the Linux kernel is loaded.

 

How to reproduce the issue on an affected board:

The operating point must be fixed at 0.975 V and 396 MHz. All cores must be at 100 % load.

 

cd /sys/devices/system/cpu/cpu0/cpufreq
echo userspace > scaling_governor
echo 396000 > scaling_setspeed

dd if=/dev/zero of=/dev/null > /dev/null &

dd if=/dev/zero of=/dev/null > /dev/null &

dd if=/dev/zero of=/dev/null > /dev/null &

dd if=/dev/zero of=/dev/null > /dev/null &

dd if=/dev/zero of=/dev/null > /dev/null &

dd if=/dev/zero of=/dev/null > /dev/null &

dd if=/dev/zero of=/dev/null > /dev/null &

dd if=/dev/zero of=/dev/null > /dev/null &

dd if=/dev/zero of=/dev/null > /dev/null &

dd if=/dev/zero of=/dev/null > /dev/null &

 

 

The oscillations on the VDD_ARM_CAP/VDD_ARM23_CAP rail can now be observed (see attached screenshot). As soon as the i.MX6 is cooled down (either with coolant spray or in a temperature test chamber), the board will crash.

 

Workarounds tested so far:

  • Checking different bulk capacitor values or different capacitor types at VDD_ARM_CAP/VDD_ARM23_CAP doesn´t help. It only slightly influences the amplitude of the oscillations.
  • Setting VDD_ARM_CAP/VDD_ARM23_CAP to a higher value (1.2 V for both 396 MHz and 792 MHz) helps. The affected boards are then stable even at -30°C. However, this means to disable Dynamic Voltage Scaling.

 

Are there any recommendations?

 

Toralf Bratfisch

Outcomes