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

Available DPPI channel count after enabling BLE and MPSL

I am trying to use multiple DPPI channels for my own purpose after enabling BLE (hci_rpmsg) and MPSL on the nRF5340 net-core. According to the nRF5340 product spec, the net-core has 16 DPPI channels in total. The nrfx_dppi_channel_alloc() function returns 15 at the first call and fails to allocate another channel from the subsequent calls. Does it mean that the BLE and MPSL use 15 DPPI channels already (leaving only one DPPI channel (i,e., ch-15) to application)? How many DPPI channels can I use after enabling BLE (hci_rpmsg) and MPSL on the net-core?

Parents
  • I found a related question after submitting mine. According to the conversation in the question, it is true that 14 PPIs on the net-core are already reserved for the SoftDevice controller, leaving only a couple of them for free use. Given that the nrfx_dppi_channel_alloc() returns '15' after enabling MPSL together with the SoftDevice stack, I assume MPSL also reserves one of the remaining two, leaving only one DPPI to user application. Only one DPPI is definitely insufficient for me to implement my own feature. 

    Luckily, the verified answer to the question says that the newest version of the net-core should provide 32 DPPI channels. But, it does not reveal which IC revision to support the 32 DPPI channels among the three. The picture below shows the marking on the nRF5340 IC included in my nRF5340-DK. It looks like the build code is DB, indicating the revision of Engineering D. 

    How many DPPI channels on the net-core can I use on my DK? If the DB is not the newest revision that supports 32 DPPI channels on the net-core, where can I get the nRF5340-DK that has the newest IC revision (I got my DK from Mouser only a month ago)?

Reply
  • I found a related question after submitting mine. According to the conversation in the question, it is true that 14 PPIs on the net-core are already reserved for the SoftDevice controller, leaving only a couple of them for free use. Given that the nrfx_dppi_channel_alloc() returns '15' after enabling MPSL together with the SoftDevice stack, I assume MPSL also reserves one of the remaining two, leaving only one DPPI to user application. Only one DPPI is definitely insufficient for me to implement my own feature. 

    Luckily, the verified answer to the question says that the newest version of the net-core should provide 32 DPPI channels. But, it does not reveal which IC revision to support the 32 DPPI channels among the three. The picture below shows the marking on the nRF5340 IC included in my nRF5340-DK. It looks like the build code is DB, indicating the revision of Engineering D. 

    How many DPPI channels on the net-core can I use on my DK? If the DB is not the newest revision that supports 32 DPPI channels on the net-core, where can I get the nRF5340-DK that has the newest IC revision (I got my DK from Mouser only a month ago)?

Children
Related