LPC1837 ADC Problem

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

LPC1837 ADC Problem

356 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Cusko on Mon Mar 11 04:31:32 MST 2013
I discovered some problems with an ADC on the LPC1837.

1. If I initialize an I2C1 with the ports (P2_3 and P2_4) then  the ADC0_1 and the ADC0_3 show some values even if they are zero. And when the ADCs have some value they have also some offset. Only if I lower a processor frequency to 24Mhz the ADCs show correct value or if I turn the I2C initialization off.

2. If I don’t have a sensor connected on the ADC0_3 and  the ADC0_1  has some value, then ADC0_3 shows some value too. If ADC0_1 doesn’t have any value then ADC0_3 is zero too. If a sensor is not connected the ADC0_3 value must be zero and must not be correlated to value on the ADC0_1. (In the case of the problem 2 the I2C was not initialized.)

Is this some kind of errata or what?
Labels (1)
0 Kudos
3 Replies

319 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Cusko on Mon Mar 11 10:02:22 MST 2013
Thank you for this Mark, really helpful. I lowered the conversion rate from 200K to 2K and there is no more offset or a noise. I will surely investigate this further. Thanks again.
0 Kudos

319 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by mburton on Mon Mar 11 09:26:45 MST 2013
Hello Cusko,

If you don't drive the ADC inputs from a low(ish) impedance source, you can expect to see all sorts of noise and crosstalk. I have found with the LPC1758 that the higher the source impedance, the slower you must clock the ADC. I have also found that adding a 33pF capacitor to the ADC input removed a lot of the noise (assuming a source impedance of no more than a couple of K).

Here's an interesting report (from TI, not NXP) that's worth reading and, I think, answers your questions.

http://www.ti.com/lit/an/spna061/spna061.pdf

Cheers,

Mark
0 Kudos

319 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Cusko on Mon Mar 11 09:22:17 MST 2013
For the problem 1. I find out more where the problem is. If I comment "CGU_EntityConnect(CGU_CLKSRC_PLL1, CGU_BASE_APB3);" the ADC works without offset again. But what is solution for this?
I tried manualy set the clock with "LPC_CGU->BASE_APB3_CLK = (1 << 11)|(0x09 << 24) ; /* PLL1 is APB3 clock source*/" but result is the same.
0 Kudos