BLE Advertiser (Broadcaster) processor usage patterns

This section describes the processor availability and interrupt processing time for the SoftDevice when the advertiser (broadcaster) role is running.

Figure 1. Advertising events (some priority levels left out for clarity)

When advertising, the pattern of SoftDevice processing activity for each advertising interval, at interrupt priority level 0 is as follows:

SoftDevice processing activity in the different priority levels when advertising is outlined in Table 1. The typical case is seen when advertising without using a whitelist and without receiving scan or connect requests. The max case can be seen when advertising with a full whitelist, receiving scan and connect requests while having a maximum number of connections and utilizing the Radio Timeslot API and Flash memory API at the same time.

Table 1. Processor usage when advertising
Parameter Description Min Typical Max
tISR(0),RadioPrepare Processing preparing the radio for advertising.   24 μs 50 μs
tISR(0),RadioStart Processing when starting the advertising.   13 μs 20 μs
tISR(0),RadioProcessing Processing after sending/receiving a packet.   20 μs 40 μs
tISR(0),PostProcessing Processing at the end of an advertising event.   75 μs 190 μs
tnISR(0) Distance between interrupts during advertising. 40 μs >170 μs  
tISR(4) Priority level 4 interrupt at the end of an advertising event.   75 μs  

From the table, we can calculate a typical processing time for one advertisement event sending three advertisement packets to be

tISR(0),RadioPrepare + tISR(0),RadioStart + 2 * tISR(0),RadioProcessing + tISR(0),PostProcessing + tISR(4) = 227 μs

which means that typically more than 99% of the processor time is available to the application when advertising with a 100 ms interval.


Documentation feedback | Developer Zone | Subscribe | Updated 2016-12-09