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

SoftDevice Interrupt Timing

I am using SoftDevice S132 v3.1.0 and I have a high priority application ISR that cannot tolerate being interrupted by the SoftDevice. The ISR occurs once every connection interval and takes about 50 us to complete. I have the ability to locate the ISR to occur any time within the connection interval. Where in the connection interval should I locate this ISR?

My current plan is to locate the application ISR just before the next connection event begins to avoid the SoftDevice processing during a connection event. The SoftDevice specification specifies two SoftDevice processing times that occur before a connection event: radio prepare and radio start (see figure below). The spec gives the maximum processing time for each SoftDevice ISR, but it does not specify when these occur relative to the beginning of the connection event. I have found that the radio start ISR occurs about 150 us (+/- 50 us) before the radio starts receiving and the radio prepare ISR occurs about 1500 us before that. Can I expect this timing to stay consistent? Even for different connection intervals? Any additional information about the timing of these SoftDevice ISRs?

My device is a peripheral only device with only one connection at a time. The connection interval is typically around 15 ms, but may vary between 11.25 to 50 ms. The connection event extension option is enabled.

Thanks,

Austin

Interrupt Processing Figure 51 from SoftDevice Spec

Parents Reply Children
No Data
Related