Programmable peripheral interconnect (PPI)

PPI may be configured using the PPI API in the SoC library.

This API is available both when the SoftDevice is disabled and when it is enabled. It is also possible to configure the PPI using the Cortex Microcontroller Software Interface Standard (CMSIS) directly when the SoftDevice is disabled.

When the SoftDevice is disabled, all PPI channels and groups are available to the application. When the SoftDevice is enabled, some PPI channels and groups, as described in the table below, are in use by the SoftDevice.

When the SoftDevice is enabled, the application program must not change the configuration of PPI channels or groups used by the SoftDevice. Failing to comply with this will cause the SoftDevice to not operate properly.

Table 1. Assigning PPI channels between the application and SoftDevice
PPI channel allocation SoftDevice enabled SoftDevice disabled
Application Channels 0 - 16 Channels 0 - 19
SoftDevice Channels 17 - 191 -
Table 2. Assigning preprogrammed channels between the application and SoftDevice
PPI channel allocation SoftDevice enabled SoftDevice disabled
Application - Channels 20 - 31
SoftDevice Channels 20 - 31 -
Table 3. Assigning PPI groups between the application and SoftDevice
PPI channel allocation SoftDevice enabled SoftDevice disabled
Application Groups 0 - 3 Groups 0 - 5
SoftDevice Groups 4 - 5 -
1 Available to the application in Radio Timeslot API timeslots, see Concurrent multiprotocol implementation using the Radio Timeslot API.