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 16

Periodic ADC Trigger at 200 kHz Rate Can Be Ignored When XOSC_HF Is Turned On or Off

Revisions Affected:

A and B

Details:

There is no dedicated clock source selection for the ADC clock. The 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. The fact that the clock is stopped, together with the difference in frequency between XOSC_HF and RCOSC_HF, may cause the ADC sampling and conversion to finish too late to catch the next trigger.

Workaround 1:

Use asynchronous sampling

The sampling period after the issue occurs can be reduced by 1.5% (1 clock cycle at 24 MHz)

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.

Workaround 3:

Increase the sampling period by 1/24 µs or more.