2416352_en-US

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

2416352_en-US

2416352_en-US

S32K118EVB2Q048: ADC readings do not match the selected MCU supply voltage

Hi NXP team,


I'm using the S32K118EVB2Q048 board (schematic SCH-47530 Rev A1) and testing the ADC. I'm getting wrong readings when the input voltage goes above about 3.3 V.


Setup:
- MCU: S32K118 (48-LQFP)
- IDE: [S32 Design Studio version]
- Driver: [RTD version / SDK version / bare-metal]
- ADC channel: [e.g. PTA7 – ADC0_SE3]
- Resolution: 12-bit
- Input: [external DC power supply / on-board potentiometer]
- Jumpers: J10 = 2-3 (5V), J107, J15 
- Board powered from: [USB / 12V]


Issue:
I set J10 to 2-3 so the MCU runs at 5V.

- Input 4.10 V: raw = 4095. With a 5V reference I expected about 3358.
- Any input from 4 V to 5 V: always 4095 (full scale).
- When I calculate with 5V, the error increases as the input voltage increases.

Questions:

On SCH-47530 Rev A1, is setting J10 to 2-3 enough to make VDDA and the ADC reference 5V, or do I need to change anything else (J15, J107, any resistor)?

Can you share a working S32K118 ADC example for this EVB, tested with a 5V reference , can u also give ur calculated range for different for resolution 

Re: S32K118EVB2Q048: ADC readings do not match the selected MCU supply voltage

Hello 

Can you share which RTD/SDK version you are using?

Also, I can see you are using PTA7, however, you mentioned ADC_POT. ADC_POT is not connected as R761 is not populated on the EVB:

Julin_AragnM_0-1790628564656.png

I assume you are using PTA7 through the J3.1 header.

Please confirm both J10, and J107 are set 2-3, and try to measure VDD to make sure it is indeed set at 5V.

I used Adc_Pdb_Ip_example_S32K118 from RTD package, and simply modified main to loop and start a SW conversion:

while(1)
{
	/* Start a software trigger conversion */
	Adc_Ip_StartConversion(ADCHWUNIT_0_VS_0_INSTANCE, ADC_IP_INPUTCHAN_EXT2, TRUE);
	/* Wait for the notification to be triggered and read the data */
	while (notif_triggered != TRUE);
	notif_triggered = FALSE;
	delay(1000);
}

After this, I used a power supply to measure between 0 and 5V, and I could see the correct values.


ADC0_SE2 @3.3V:

Julin_AragnM_3-1790629142061.png

ADC0_SE2 @5V:

Julin_AragnM_4-1790629157508.png

Lastly, check if REFSEL is correctly set in ADC_SC2[REFSEL]:

Julin_AragnM_1-1790629010699.png

Best regards,
Julián

Tags (1)
No ratings
Version history
Last update:
Tuesday
Updated by: