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.

Using CC2540 BLE 1.1 with 32kHz ROSC and 32MHz XOSC with power saving

Other Parts Discussed in Thread: CC2540

Hi,

Seems that it is not possible to use power saving with internal 32kHz ROSC and external 32MHz XOSC. I have configured board with OSC32K_CRYSTAL_INSTALLED = FALSE and POWER_SAVING. With this configuration link layer initialization gets stuck at llGetTimeToStableXOSC. At clock register CLKCONCMD.OSC is telling that 32MHz XOSC  is no longer used as it was used before link layer init.

With pm_off version of library program works, but newer enters power saving because link layer task sets flag to not save power.

So is it really so that external 32kHz XOSC is needed for power saving with BLE 1.1 libraries? Is it possible to make available or configure link layer library so that it uses this combination of clocks?

Br,
- Arto

  • Hi Arto,

    Using the 32 kHz RCOSC would not be BLE-compliant, as the Bluetooth 4.0 specification requires that the slow clock (used for timing between connections) have an accuracy of +/-500 ppm or better.

    Best regards,

    Karl

  • Hi Karl,

    the CC2540 data sheet states that after calibration the accuracy of the 32kHz RCOSC is +/- 200ppm.

    In my application the CC2540 is used in network processor mode (HostTestRelease project). It is powered only for some seconds a time from a stabilized supply. Hence there is actually no temperature and supply voltage drift. Because the device is powered by a coin cell I would like to use power save mode.

    Is there a possiblity to get an updated version of the function llGetTimeToStableXOSC or the source code of this function?

    Thanks and best regards,

    Chris

     

     

  • Hi Christian,

     

    I think you have a little miscalculation.

    cc2540 data sheet states that after calibration the accuracy of the 32KHz RSOSC is +/- 0.2%,

    which means deviation of +/-2000ppm. (0.2%/100%*1000000=2000)