SWRZ062F September   2015  – December 2022 CC1310

 

  1.   CC1310 SimpleLink™ Ultra-Low-Power Sub-1 GHz Wireless MCU Silicon Revisions B, A
  2.   Trademarks
  3. 1Advisory Matrix
  4. 2Nomenclature, Package Symbolization, and Revision Identification
    1. 2.1 Device and Development Support-Tool Nomenclature
    2. 2.2 Devices Supported
    3. 2.3 Package Symbolization and Revision Identification
  5. 3Silicon Revision B Advisories
    1.     Advisory 02
    2.     Advisory 03
    3.     Advisory 04
    4.     Advisory 05
    5.     Advisory 06
    6.     Advisory 07
    7.     Advisory 08
    8.     Advisory 09
    9.     Advisory 10
    10.     Advisory 11
    11.     Advisory 12
    12.     Advisory 13
    13.     Advisory 14
    14.     Advisory 15
    15.     Advisory 16
    16.     Advisory 17
    17.     Advisory 18
    18.     Advisory 19
  6. 4Silicon Revision A Advisories
    1.     Advisory 01
  7. 5Revision History

Advisory 17

ADC Samples Can Be Delayed by 2 clock cycles (24 MHz) When XOSC_HF Is Turned On or Off, Resulting in Sample Jitter

Revisions Affected:

A and B

Details:

There is no dedicated clock source selection for the ADC clock. Clock is derived from either XOSC_HF or RCOSC_HF, but defaults to XOSC_HF-derived clock whenever this is turned on.

When the ADC clock source is switched from RCOSC_HF to XOSC_HF-derived clock, the clock will stop for 2 cycles (24 MHz).

SCLK_HF switches from RCOSC_HF to XOSC_HF at different times compared to the ADC clock. This leads to sample jitter.

Workaround 1:

Use asynchronous sampling

  • Using asynchronous sampling and an external trigger source (GPIO input pin) will eliminate the delay completely

To use the ADC in asynchronous mode from the Sensor Controller:

Call adcEnableAsync()to enable the ADC, instead of adcEnableSync()

Example:

adcEnableAsync(ADC_REF_FIXED, ADC_TRIGGER_AUX_TIMER0);

To use the ADC in asynchronous mode from the System CPU, by using the ADCBuf driver:

ADCBuf_Params params;
ADCBufCC26X2_ParamsExtension paramsExtension;

ADCBuf_Params_init(&params);
ADCBufCC26X2_ParamsExtension_init(&paramsExtension);

paramsExtension.samplingMode = ADCBufCC26X2_SAMPING_MODE_ASYNCHRONOUS;
params.custom = &paramsExtension;

To use the ADC in asynchronous mode from the System CPU, by using DriverLib API:

Call AUXADCEnableAsync() to enable the ADC, instead of AUXADCEnableSync()

Example:

AUXADCEnableAsync(AUXADC_REF_FIXED, AUXADC_TRIGGER_GPT0A);

Please note the difference between the asynchronous and synchronous ADC modes:

  • In asynchronous mode, the ADC trigger ends the sampling period (which started immediately after the previous conversion), and starts conversion.
  • In synchronous mode, the ADC trigger starts the sampling period (with configurable duration), followed by conversion.

Workaround 2:

Ensure that XOSC_HF is not turned on or off while the ADC is used.