<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PPI nRF52832</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/15491/ppi-nrf52832</link><description>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</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 03 Aug 2016 07:57:01 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/15491/ppi-nrf52832" /><item><title>RE: PPI nRF52832</title><link>https://devzone.nordicsemi.com/thread/59181?ContentTypeID=1</link><pubDate>Wed, 03 Aug 2016 07:57:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d27a853c-d026-4250-a387-845ab87bee26</guid><dc:creator>Susheel Nuguru</dc:creator><description>&lt;p&gt;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]. &amp;#39;X&amp;#39; is instance number for CC register in the task.&lt;/p&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;TASKS is like a trigger register which also  which when set to 1 will do the defined task for you.&lt;/p&gt;
&lt;p&gt;NOW PPI is the simplest peripheral which takes EVENT register address and TASK register address as input.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;                     ________________
EVENT_ADDRESS---&amp;gt;---|    PPI         |--&amp;gt;---TASK_ADDRESS
                     ________________
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>