This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

What was the LF_SRC_RC clock fix between SDK 11 and SDK 14?

We have a device running SDK 11, without a crystal. It was using:

#define NRF_CLOCK_LFCLKSRC      {.source        = NRF_CLOCK_LF_SRC_RC, \
                                 .rc_ctiv       = 16,
                                 .rc_temp_ctiv  = 2}

With these settings, android phones would stay connected, but iPhone would disconnect after somewhere between 30 minutes to 2 hours. We changed these settings to ctiv = 12, temp_ctiv = 0, and now the iPhone stays connected solidly, but it increased average power by 5uA.

We have another device running SDK 14.1 with 16/2 and iPhone stays solidly connected to that device. So I'm wondering what was fixed between SDK 11 and SDK 14 regarding the RC clock? I'd like to backport that fix and get back the 5uA.

Parents
  • Are you saying you are seeing this on one of many devices?

    This is not really about SDK, it is about SoftDevice, in the SDK11 S132 2.0.0 is used, in SDK14.1 S132 5.0.0 is used.

    If you see the migration document of S132 5.0.0 you can see that the RC oscillator accuracy now can be set, previously it was fixed to 250 ppm. Maybe you have set it to 500 ppm?

    A setting of 500 ppm would also increase the average current consumption, because the slave RX window would have to be larger, to account for larger clock drift.

Reply
  • Are you saying you are seeing this on one of many devices?

    This is not really about SDK, it is about SoftDevice, in the SDK11 S132 2.0.0 is used, in SDK14.1 S132 5.0.0 is used.

    If you see the migration document of S132 5.0.0 you can see that the RC oscillator accuracy now can be set, previously it was fixed to 250 ppm. Maybe you have set it to 500 ppm?

    A setting of 500 ppm would also increase the average current consumption, because the slave RX window would have to be larger, to account for larger clock drift.

Children
No Data
Related