i.MX6Q core voltage LDO instability

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6Q core voltage LDO instability

1,224 Views
toralfbratfisch
Contributor I

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

Labels (2)
0 Kudos
4 Replies

1,045 Views
toralfbratfisch
Contributor I

Notice: About 15 % of the boards are affected. The SOCs on "good" and "bad" boards have the same date code (QEG1609 and QEQ1632 so far). One of the affected boards was inspected with X-ray, all solder balls looked fine. On another one of the affected boards, the SOC was re-soldered, which did not mitigate the problem either.

0 Kudos

1,045 Views
Carlos_Musich
NXP Employee
NXP Employee

Hi Toralf,

you seem to have a quality issue. You should contact you Distributor.

Regards,

Carlos

----------------------------------------------------------------------------------------

1,045 Views
toralfbratfisch
Contributor I

Hello Carlos,

thank you very much for your reply. Are quality issues like this known to NXP? Is there anything we can refer to when we contact our distributor?

Kind regards,

Toralf

0 Kudos

907 Views
RobertC
Contributor I

Hi Toralf,

Did you ever find out the root cause?  What was your final resolution?

I think I am experiencing a similar problem as yours.  On one of my units, I observed some instability on VDDCORE (VDD_ARM_IN) which is 1.375V.  VDD_ARM_CAP is set to 1.150V @792MHz.  The end effect is system crash (core reset).  When I increase VDD_ARM_CAP to 1.175V, the instability improves and the system is not crashing anymore.

Best Regards,
RC

0 Kudos