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

PPI nRF52832

Hello,

is there a good documenation or introduction about the Programmable Peripheral Interconnect Feature? I read the short part in the Objective Product Specification for the nRF52832. But I could not get a really clear view of it.

Florian

Parents
  • For every peripheral within nRF5 device, you have EVENTS and TASKS. The are named of what they do. For example and event in the timer saying that compare value has matched the tick value is named as EVENT_COMPARE[X]. Similarly if you want to capture the timer tick into compare register in the timer you have TASK_CAPTURE[X]. 'X' is instance number for CC register in the task.

    EVENTS are like status register and only the least significant bit is used and if is read as 1 tells us that something has happened (you have to clear the bit after reading explicitly).

    TASKS is like a trigger register which also which when set to 1 will do the defined task for you.

    NOW PPI is the simplest peripheral which takes EVENT register address and TASK register address as input.

                         ________________
    EVENT_ADDRESS--->---|    PPI         |-->---TASK_ADDRESS
                         ________________
    

    What it does is simple. It just passes the EVENT from the same or other peripheral and converts it into a TASK and triggers the the task whose address is given as input to PPI.

    This translates to that any event in one peripheral can be used to trigger something in same or another peripheral, hence these two peripherals are in a way interconnected in the hardware using a configurable PPI.

Reply
  • For every peripheral within nRF5 device, you have EVENTS and TASKS. The are named of what they do. For example and event in the timer saying that compare value has matched the tick value is named as EVENT_COMPARE[X]. Similarly if you want to capture the timer tick into compare register in the timer you have TASK_CAPTURE[X]. 'X' is instance number for CC register in the task.

    EVENTS are like status register and only the least significant bit is used and if is read as 1 tells us that something has happened (you have to clear the bit after reading explicitly).

    TASKS is like a trigger register which also which when set to 1 will do the defined task for you.

    NOW PPI is the simplest peripheral which takes EVENT register address and TASK register address as input.

                         ________________
    EVENT_ADDRESS--->---|    PPI         |-->---TASK_ADDRESS
                         ________________
    

    What it does is simple. It just passes the EVENT from the same or other peripheral and converts it into a TASK and triggers the the task whose address is given as input to PPI.

    This translates to that any event in one peripheral can be used to trigger something in same or another peripheral, hence these two peripherals are in a way interconnected in the hardware using a configurable PPI.

Children
No Data
Related