lpcware

Erratic ADC readings on LPC11E14

Discussion created by lpcware Employee on Jun 15, 2016
Content originally posted in LPCWare by dsquires@squires-eng.com on Mon Jul 15 08:17:19 MST 2013
BACKGROUND:

We are using the LPC11E14FBD48/401 in an embedded controller board that controls PWM outputs to solenoids as well as performing other functions such as serial communications.

Our application uses several ADC channels on the LPC11E14 device and most of our prototypes have shown their ADC measurement accuracy and repeatability to be as expected.

THE PROBLEM:

However, on just one of our pre-production PC boards we've experienced one LPC11E14 device that exhibited erratic ADC readings on the P0.11 port pin, package pin 32. This pin was configured as function AD0 with zero bits written to the other fields in the pin configuration register.

With a constant 1.634 volt DC source applied to ADC input AD0, we measured values between 492 and 500 counts with this particular LPC11E14 device. The other LPC11E14 devices we checked typically provide ADC readings that vary by one or two counts when reading a stable DC input voltage.

METHODOLOGY:

To troubleshoot this ADC issue, we disconnected the ADC input from our circuit's resistive voltage divider and connected the ADC input directly to a new AA alkaline cell through 1K ohms. The alkaline cell measured 1.6

The LPC11E14 was powered by +3.3V from an LT3990 switching voltage regulator and was measured with a DMM at +3.315 V. The LPC11E14 was initialized to run the main clock at 12 MHz and the ADC was configured for 10-bit conversions using a 4 MHz clock.

Our application reads three ADC inputs every 4 milliseconds and it was patched to store the ADC readings in an ring buffer  of unsigned 16-bit integers. After our application ran for a short period of time using the Rowley Crossworks debugger, execution was paused and the circular buffer of ADC readings was examined. A screen capture of the ring buffer data is attached.

We were unable to find any electrical or mechanical problem on the pre-production PC board that might have caused the erratic ADC readings on AD0. So out of desperation, we replaced the LPC11E14 chip. Once the micro was replaced the erratic ADC readings have disappeared.

So this appears to have been an internal problem with the LPC11E14 device itself. We have reviewed the most recent errata sheet for the LPC11Exx devices and have found no mention of an ADC problem like we experienced.

Considerable time was expended tracking down this problem and we are concerned that we may have similar random ADC problems with production units that may be difficult to detect without adding some extra production tests.

Has anyone else seen an ADC problem like this on an LPC11xx device?

Outcomes