DPPI examples nRF91

Hi 

few questions on DPPI: 

  • where is it possible to find examples in nRF Connect SDK to learn to use DPPI on nRF91?
  • Is there corresponding documentation?
  • For which peripherals it is convenient to use DPPI?  for which it is not suggested?
  • Can you provide a couple of use cases where DPPI is useful compared to using CPU? 
  • Which use cases does the DPPI introduce/enable compared to the PPI in nRF52? 

Thanks

LA

Parents
  • Hi LA,

    • where is it possible to find examples in nRF Connect SDK to learn to use DPPI on nRF91?
    • Is there corresponding documentation?

    You can use the nrfx use example in Zephyr, which demonstrates how to use DPPI/PPI drivers from nrfx. The documentation for the example can be found here: nrfx use example, and the code can be found in zephyr/samples/boards/nrf/nrfx.

    • For which peripherals it is convenient to use DPPI?  for which it is not suggested?
    • Can you provide a couple of use cases where DPPI is useful compared to using CPU? 

    If you can use DPPI instead of CPU you should always do so, as with DPPI/PPI tasks and events happen directly in the hardware without the need for the CPU to be involved, and without needing to do things via code.

    Which use cases does the DPPI introduce/enable compared to the PPI in nRF52? 

    DPPI enables new connection types. In PPI the connection types are one-to-one and one-to-many (1-to-2 with PPI fork), while with DPPI you can have many-to-one and many-to-many. It also introduces a new interconnect paradigm, where peripheral tasks can subscribe to channels, and peripheral events can be published on channels. So you can have more and bigger connections, and more forking. You can read more about both in our documentation, such as on these pages: nRF9160 > Peripherals > DPPI and nRF52840 > Peripherals > PPI.

    Best regards,

    Marte

  • Hi,

    I've been playing with DPPI and I'm not able to achieve many-to-one connection.

    How can I subscribe TASK to multiple DPPI channels?

  • Hi,

    Many-to-one and one-to-many connections does not mean that you subscribe a task or publish an event to multiple channels, but that you can subscribe different tasks or publish different events to the same channel. If you want to achieve many-to-one connection you just need to configure the publish register for many events to the same DPPI channel.

    Best regards,

    Marte

Reply Children
No Data
Related