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

Does nrf52 block interrupts when the radio is active?

Hi I know that the nrf51 radio blocks the micro during rx/tx. Does the NRF52 the same? I have to implement 2 software uarts. Dig

  • Some of the softdevice interrupts have higher priority than anything else in the system so they will block lower priority interrupts from running at times, just as the nRF51. The timings for the maximum periods the softdevice will have priority are in the softdevice spec.

  • Hey.

    In old versions of the nRF51 (older than rev2), the softdevice would block the cpu during radio transmissions. In the newest nRF51 (and nRF52 ofc), the radio will only block the cpu for short amounts of time when doing radio activity. It will typically block you for a short while a couple of times during a radio event. Once on startup, once on packet configuration, once for starting TX/RX, and once for processing received or sent packets. This is a very rough description by the way. The biggest one will be about 200-300 µs depening on how many bytes you transfer on that radio event.

    You can check this by doing a while(1){Toggle pin} in main() while doing some BLE stuff. If you analyze the toggling, you can clearly see the softdevice interrupts and how long they are. I did this with some 20 byte advertisement a while ago. You can see the results here: image description

    The black parts are showing the softdevice blocking the cpu and for how many µs

    You can read about this in the softdevice spec.

Related