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

nRF8001 Dynamic window limiting

The nRF8001 Product Spec says,

"Dynamic Window Limiting reduces the average current consumption by reducing the window widening of the receiver ... Enabling this feature reduces the overall system ppm to an average of 20 ppm"

So what does that actually mean?

What is, "system ppm" ?

And then there's this note:

"Under conditions that cause a major disruption to either the local or peer low frequency clock, the connection may become unstable and terminate"

Again, what does that actually mean in practice?

If using the internal 32 kHz clock, what things might cause a "major disruption" to it?

Parents
  • So, the 32 KHz clock is used for protocol timing. This means that the inaccuracy of both the peripheral and central 32 KHz source has to be taken into account when the peripheral listens for the first packet in a connection event (Anchor point). If the clock source is inaccurate the RX window has to be bigger to be sure the peripheral can receive the packet from the central. With an accurate 32 source the window can be smaller.

    The system ppm is the combination of the peripheral and central clock source accuracy. Note that the accuracy of the central clock is sent to the peripheral as part of the connection request.

    Dynamic window limiting is used to limit the RX window as the anchor point can be predicted, this is done by assuming that the anchor point won't move much as a crystal won't jump much in frequency from connection event to connection event. So with this feature you will be in RX for a shorter time than what the PPM values of the clock source dictate. However if the anchor point suddenly jump outside of the smaller window the connection can be lost. Because of this i usually recommend not to use this feature. Note that we have also seen some cases where masters are more inaccurate than what is stated in the connection request, this is also more likely to cause a connection supervision timeout if this feature is enabled.

Reply
  • So, the 32 KHz clock is used for protocol timing. This means that the inaccuracy of both the peripheral and central 32 KHz source has to be taken into account when the peripheral listens for the first packet in a connection event (Anchor point). If the clock source is inaccurate the RX window has to be bigger to be sure the peripheral can receive the packet from the central. With an accurate 32 source the window can be smaller.

    The system ppm is the combination of the peripheral and central clock source accuracy. Note that the accuracy of the central clock is sent to the peripheral as part of the connection request.

    Dynamic window limiting is used to limit the RX window as the anchor point can be predicted, this is done by assuming that the anchor point won't move much as a crystal won't jump much in frequency from connection event to connection event. So with this feature you will be in RX for a shorter time than what the PPM values of the clock source dictate. However if the anchor point suddenly jump outside of the smaller window the connection can be lost. Because of this i usually recommend not to use this feature. Note that we have also seen some cases where masters are more inaccurate than what is stated in the connection request, this is also more likely to cause a connection supervision timeout if this feature is enabled.

Children
No Data
Related