BLE scanner and initiator processor usage patterns

This section describes the processor availability and interrupt processing time for the SoftDevice when the scanner or initator role is running.

Figure 1. Scanning or initiating

When scanning or initiating, the pattern of SoftDevice processing activity at interrupt priority level 0 is as follows:

SoftDevice processing activity in the different priority levels when scanning or initiating is outlined in Table 1. The typical case is seen when scanning or initiating without using a whitelist and without sending scan or connect requests. The max case can be seen when scanning or initiating with a full whitelist, sending scan or 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 for scanning or initiating
Parameter Description Min Typical Max
tISR(0),RadioPrepare Processing preparing the radio for scanning or initiating.   55 μs 128 μs
tISR(0),RadioStart Processing when starting the scan or initiation.   60 μs 80 μs
tISR(0),RadioProcessing Processing after sending/receiving packet.   82 μs 145 μs
tISR(0),PostProcessing Processing at the end of a scanner or initiator event.   186 μs 620 μs
tnISR(0) Distance between interrupts during scanning. 30 μs >1.5 ms  
tISR(2) Priority level 2 interrupt at the end of a scanner or initiator event.   250 μs  

From the table, we can calculate a typical processing time for one scan event receiving one advertisement packet to be

tISR(0),RadioPrepare + tISR(0),RadioStart + tISR(0),RadioProcessing + tISR(0),PostProcessing + tISR(2) = 633 μs

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


Documentation feedback | Developer Zone | Updated 2016-04-08