This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640R2F: Sensor Controller ADC measurement tolerance

Part Number: CC2640R2F

Hi TI, 

I am measuring VDDS with the sensor controller as follows:

// ADC measurement of VDDS with referrence to internal voltage referrence

// Select VDDS as input

adcSelectIntInput(ADC_INPUT_VDDS);

// Enable the ADC

adcEnableSync(ADC_REF_FIXED, ADC_SAMPLE_TIME_2P7_US, ADC_TRIGGER_MANUAL);

// Measure and store the result

adcGenManualTrigger();

U16 Current_VDDS;

adcReadFifo(Current_VDDS);

output.VDDS = Current_VDDS;

// Disable the ADC

adcDisable();

 

Issue: 

I try to make a tolerance calculation to see what VDDS values does the sensor controller measure at different temperatures.

I did not find any characteristic data (tolerance, temperature coefficient) about the internal 4.3-V reference voltage.

In the datasheet SWRS204A –DECEMBER 2016–REVISED JANUARY 2017 ADC Characteristics I found the following:

Equivalent fixed internal reference (input voltage scaling enabled). For best accuracy, the ADC conversion should be initiated through the TIRTOS API in order to include the gain/offset compensation factors stored in FCFG1.

  

 My questions are:

[1] - What happens if I am working with the Sensor controller and hence not with a TIRTOS API, do I have a compensation then or I have to take in account both the Offset and Gain error?

       In other words which errors / nonlinearities should I take into account? 

[2] - How could I calculate the maximum and minimum measurement error for the above measurement at different temperatures (from -40 to +85 °C)? 

Thank you in advance!

  • 1) From the Sensor Controller Studio help, ADC: The ADC values returned by adcReadFifo() are not compensated for offset and gain errors in the ADC. This compensation, using factory configuration data stored during chip production, can be done by using the AUX_ADC DriverLib module on the System CPU to:
    Adjust ADC values sampled by the Sensor Controller (through the output data structure)
    Unadjust ADC threshold values to be used in Sensor Controller task code (through the cfg data structure)

    2) See figure 5.18 in www.ti.com/.../cc2640r2f.pdf. The temperature dependency is minimal according to this.