Bluetooth low energy Advertiser (Broadcaster) processor usage

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)
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:

  1. An interrupt (Radio prepare) sets up and prepares the software and hardware for this advertising event.
  2. A short interrupt occurs when the Radio starts sending the first advertising packet.
  3. Depending on the type of advertising, there may be one or more instances of Radio processing (including processing in priority level 4) and further receptions/transmissions.
  4. Advertising ends with post processing at interrupt priority level 0 and some interrupt priority level 4 activity.

SoftDevice processing activity in the different priority levels when advertising is outlined in Processor usage when advertising. 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, Flash memory API, and QoS channel survey module at the same time.

Table 1. Processor usage when advertising
Parameter Description Min Typical Max
tISR(0),RadioPrepare Processing when preparing the radio for advertising   27 μs 42 μ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   77 μs 140 μ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   28 μ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) = 185 μs

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