Skip to main content
BWill.4
Associate
July 3, 2021
Question

STEVAL-IDB008V1M ADC Input 1 & 2 connections

  • July 3, 2021
  • 1 reply
  • 986 views

Hello, I've been using the STEVAL-IDB008V1M to help develop an BLUENRG-M2 product for an company. I've noticed in the schematic there are 3pF capacitors connected to the ADC Input 1 and Input 2

0693W00000BcjVdQAJ.pngDoes anyone know why this is done?

For the time being I have linked across this. I'm using the ADC polling example code and for some reason I always read 1239mV even with no power source connected.

My ADC Configuration is as follows:

void ADC_Configuration(void)
{ 
 SysCtrl_PeripheralClockCmd(CLOCK_PERIPH_ADC, ENABLE);
 
 /* Configure ADC */
 /* Configure TEMPERATURE ADC */
 xADC_InitType.ADC_OSR = ADC_OSR_200;
 //ADC_Input_BattSensor; //ADC_Input_TempSensor;// ADC_Input_AdcPin1 // ADC_Input_AdcPin12 // ADC_Input_AdcPin2
 xADC_InitType.ADC_Input = ADC_Input_AdcPin1;
 xADC_InitType.ADC_ConversionMode = ADC_CONVERSION;
 xADC_InitType.ADC_ReferenceVoltage = ADC_ReferenceVoltage_0V6;
 xADC_InitType.ADC_Attenuation = ADC_Attenuation_9dB54;;
 
 ADC_Init(&xADC_InitType);
 /* Enable auto offset correction */
 ADC_AutoOffsetUpdate(ENABLE);
 ADC_Calibration(ENABLE);
}

My read Function is as follows:

if(ADC_CHECK_FLAG) {
 
 /* Read Temperature converted data */
 Temp_raw_value = ADC_GetConvertedData(xADC_InitType.ADC_Input, xADC_InitType.ADC_ReferenceVoltage);
 
 /* Print the ADC value converted */
 if(xADC_InitType.ADC_Input == ADC_Input_TempSensor) {
PRINT_INT(Temp_raw_value),PRINT_FLOAT(Temp_raw_value), 248);
 }
 else {
PRINT_INT(ADC_CompensateOutputValue(Temp_raw_value)*1000.0));
 printf("ADC Raw: %d.%02d C\r\n", PRINT_FLOAT(Temp_raw_value));
 }
 
 SdkEvalLedToggle(LED1);
 
 /* Application delay before next one shot measurement */
 SdkDelayMs(100);
 
 /* Start new conversion */
 ADC_ENABLE();
 }

Its odd because using "ADC_Input_BattSensor" instead of "ADC_Input_AdcPin1" in the ADC_Configuration function results in a accurate measurement.

I hope someone can help.

This topic has been closed for replies.

1 reply

Visitor II
July 9, 2023

Old topic, but I've got the same issue. I was wondering why DC measurements don't work. Finally I found C46 and C47, bridged them and since then it's working fine. I'm really wondering what their purpose is. I find it really counterintuitive not to be able to measure DC.