This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

BLE 20ms Advertisement Interval Softdevice conflict?

Hey everyone,

I got a question regarding the BLE Advertisement with the nRF52840 (Softdevice s140). I am using the nRF Connect SDK with Zephyr and currently working on a BLE Mesh project.

I am a bit confused regarding the documentation of the Softdevice specifications, the Bluetooth Low Energy specifications and the Online Power Profiler.

According to the Bluetooth SIG a random delay between 0-10ms shall be added before every advertisement. However, in the Softdevice specifications  it is mentioned, that the Softdevice will add a random delay between 3-13ms. If I configure an advertisement interval of 20ms in my software wouldn't that mean, that the theoretical smallest advertisement interval is 23ms?

Furthermore, if I select a 20ms Advertisement Interval  in the Online Power Profiler for the nRF52840, a 25ms Interval will be shown in the "BLE event details". I am trying to model the packet transmission delays, hence it would be nice if someone could help me to clarify what the actual advertisement interval will be when I am using the nRF52840.

Furthermore, I got a question regarding additional delays. If the Bluetooth device is in the RX state and it wants to transmit an advertisement packet it will of course switch to the TX state, but will there be any additional delay except the radio switch delay? If an advertisement packet is included in the advertisement queue and is to be sent next, then a random delay is applied before the packet is sent. Afterward, the advertisement interval is started by sending the packet as fast as possible, but are there any other delays worth mentioning between advertisement delay and advertisement interval like pre-processing and post-processing which are not included in the advertisement interval?

Regards,

Bjoern

  • Small addendum to specify the second question a bit more.
    So I would actually like to know from when the Advertisement Interval applies. Does it start directly after the random delay or is there some kind of processing delay / radio switch delay of significant size before the radio transmits the packet on the first channel.

  • Hi Bjoern,

    The SoftDevice specification states 0-10 ms random delay, as you write. Bu the 3-13 ms described under Advertiser timing includes 3 ms preprocessing when starting advertising. For any subsequent advertising event, the random delay is 0-10 ms.

    As the additional 3 ms is just for the fist advertising packet that can be ignored when calculating power consumption, so in that case, you should add 5 ms, as is done by the online power profiler.

    Regarding additional delays, there is pre and post processing that take time for all types of packets (including re-configuring the radio, starting HFXO if not running, etc.), and the SoftDevice accounts for it so that it is started before the event itself. The advertisement packet is transmitted when it should or not at all. You can see this in the Advertiser timing in Figure 2. Advertiser collision, where one of the packets are not sent. Which type of packet is prioritized depends on several factors and is decided based on the Scheduling priorities.

    Einar

Related