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.

CC1310: How to calibrate the ADC reference voltage

Part Number: CC1310
Other Parts Discussed in Thread: LMT70,

CC1310 + LMT70!

My code:

const ADCCC26XX_HWAttrs adcCC26xxHWAttrs[CC1310DK_7XD_ADCCOUNT] = {
    {
        .adcDIO = Board_ALS_OUT,
        .adcCompBInput = ADC_COMPB_IN_AUXIO7,
        .refSource = ADCCC26XX_FIXED_REFERENCE,
        .samplingDuration = AUXADC_SAMPLE_TIME_85P3_US,
        .inputScalingEnabled = false,       /*   1.4785V   */  !!!!!
        .triggerSource = ADCCC26XX_TRIGGER_MANUAL
    },

    for (i = 0; i < 256 ; i++)
    {
        res = ADC_convert(adc, &adcValue[i]);
        if (res != ADC_STATUS_SUCCESS)
        {
            if (i)
            {
                i --;               
            }
            UartPrintInfo("ADC channel 1 convert fail...");
        }
        adcTotal += adcValue[i];
    }

xxx = ADC_convertRawToMicroVolts(adc, adcTotal / 256);

But the value of XXX and LMT70 temperature corresponding to the voltage value is a deviation(about 0.4C), you can give me some suggestions?

  • If you need to increase accuracy, I suggest you to do calibration for CC1310 ADC to read LMT70.
  • Bing,

    When using the ADC_convertRawToMicroVolts API, your are already using calibrated values from the CC1310 ADC.


    From the resolution limitation in the ADC (3V supply, 11 effective bits with internal unscaled reference and sine input) you will have 0.7mV error, or 0.14C.
    What do you use as reference temperature for the measurements? (How do you know the "true" temperature)

    Other potential causes:
    1:
    There might be some DC offset or on-board noise that are not perfectly calibrated away, have you tried averaging multiple samples to see if results improve? Have you measured on several temperatures to see if this is noise or just a DC offset?
    2:
    Have you ensured -very- good grounding between the LMT070 and CC1310? For example, if you have 6mA current draw through 0.5ohms in your ground connection, this will add a 3mV difference to your measurements.

    Regards,
    Svend