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
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:
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:
ADC0_SE2 @5V:
Lastly, check if REFSEL is correctly set in ADC_SC2[REFSEL]:
Best regards,
Julián