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: Continuously sampling through Sensor Controller

Part Number: CC2640R2F

We are comparing two implementations of a ADC sampler.

* The first one is based on a TI-RTOS task that waits for a sample and put it in a buffer. As soon as the buffer is full, its sent using a custom characteristic (1500 Hz of sampling rate).

* In the second one, we fill up a buffer using the Sensor Controller (just like 'ADC Data Streamer' sensor controller studio example). As soon as the buffer is full, it generates an alert and the APP-CPU send it to the central using a custom characteristic (1501.150 Hz of sampling rate due to integer approximations, but it is not a problem).

During our experiments, we used two cc2640R2F as host to get those signals. It was recorded 10 min. of a 149 Hz sinusoidal wave (the same wave is fed into both samplers). 

The Fourier transform of what the host could get is shown below:

It seems that either the sensor controller clock is experiencing some jitter or the sampling frequency is oscillating through time.

Does anyone have some information about it? 

  • Is anyone aware of this problem when using the Sensor Controller for sampling?
  • Hi Leoni,

    Those are interesting observations! Let me check and get back to you.

    Cheers,
    Fredrik
  • Leoni,

    A few questions:

    • What are you using as ADC trigger in both cases? Manually or timer generated trigger?
    • Are you changing the clock source to XOSC (instead of internal RCOSC) when sampling with the M3?
      • If not - can you try to do the experiment again with the M3 without starting up the stack at all? The stack might have enabled the XOSC to be always on - it would be interesting to see if this effect would be due to clock jitter only.

    Thanks,
    Svend

  • 1) What are you using as ADC trigger in both cases? Manually or timer generated trigger?`

    I'm using the TIMER0

    2) Are you changing the clock source to XOSC (instead of internal RCOSC) when sampling with the M3?`

    No, just turning on the adc using ti drivers

    3) If not - can you try to do the experiment again with the M3 without starting up the stack at all? The stack might have enabled the XOSC to be always on - it would be interesting to see if this effect would be due to clock jitter only.`

    I tried something a litlte different, but I think it's related to the clock because just before initializing the Sensor Controller I called `Power_setConstraint(PowerCC26XX_SB_DISALLOW);` which probably will force to use one Oscilator instead of the other (XOSC instead of internal RCOSC ?).

    Either way, doing so, totally solved this issue (and current consumption increased 25% while sampling using the sensor controller).

    But do you guys have some more information about this?