Hi,
i'm trying to use the ADC0_8 and the ADC0_0 at the same time on a LPC1518.
Both ADCs are initialized with there fixed pins:
Chip_IOCON_PinMuxSet(pIOCON, 0, 8, IOCON_MODE_INACT); Chip_IOCON_PinMuxSet(pIOCON, 1, 0, IOCON_MODE_INACT); Chip_SWM_EnableFixedPin(SWM_FIXED_ADC0_8); // P1_0 Chip_SWM_EnableFixedPin(SWM_FIXED_ADC0_0); // P0_8 Chip_ADC_Init(LPC_ADC0, 0); Chip_ADC_SetupSequencer(LPC_ADC0, ADC_SEQB_IDX, (ADC_SEQ_CTRL_CHANSEL(8) | ADC_SEQ_CTRL_MODE_EOS)); Chip_ADC_SetupSequencer(LPC_ADC0, ADC_SEQA_IDX, (ADC_SEQ_CTRL_CHANSEL(0) | ADC_SEQ_CTRL_MODE_EOS)); Chip_ADC_SetTrim(LPC_ADC0, ADC_TRIM_VRANGE_HIGHV); Chip_ADC_StartCalibration(LPC_ADC0); while (!(Chip_ADC_IsCalibrationDone(LPC_ADC0))) {} Chip_ADC_SetDivider(LPC_ADC0, 16);
...setting up interrupts...
The input voltage on ADC0_0 directly influence the measurement on the ADC0_8 (voltage on ADC0_0 keeps less than the reference voltage).
This happens as soon i just initilialize the fixed pin on ADC0_0 (without sequencer B...).
Without the activation of the fixed pin, all works properly.
Does i forgot something or is this some known issue?
Best Regards
Jürgen
What is your sampling frequency and, more importantly, your signal impedance.
This is most often a hardware problem, nothing to do with software.
Hi Ian,
in the LPCXpresso1549 example above, a sampling rate about 1.38 Mhz is activ.
The output impedance from the power supply on ADC0_0 i don't know, but it should be very low.
The error on ADC0_8 would probably get better with a capacitor to ground (e.g. 4.7nF) on ADC0_0.
Best regards
Jürgen
Hi ,
Thank you for your interest in NXP Semiconductor products and
for the opportunity to serve you.
I think I need more information before figuring the issue out, so I was wondering if you can tell me which board you used and can you replicate the phenomenon on multiple identical boards? In further, I appreciate it a lot if you can show the testing result you get.
Looking forward to your reply.
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Thanks for your reply!
I use a custom board, but i could replicate the phenomenon on a LPCXpresso 1549.
It seems to set the divider very low after the calibration make the problems.
To retrace, I adapt the periph_adc example from lpcopen 2.20:
Test setup:
-Board supply over USB
-variable power supply on ADC0_0
A0 on J7 -> variable input voltage
GND connected to power supply
-ADC0_8 on ground
D9 on J1 -> To ground
If setting the DIVIDER_WORKAROUND to false in the config header, i get an offset/crosstalk from ADC0_0 on ADC0_8
If setting to true all works fine.
I try to attach the files.
In difference to my costum board, the calibration with lower dividers works on the LPCXpresso much better.
Best regards
Jürgen