<?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>Current consumption rtc-&amp;gt; ppi -&amp;gt;gpiote on nrf52</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/32673/current-consumption-rtc--ppi---gpiote-on-nrf52</link><description>This thread discusses the nrf51 devzone.nordicsemi.com/.../current-consumption-when-using-rtc-ppi-and-gpiote&amp;#160; It says that the PPI (for nrf51 chip revisions up to rev 3) keeps the 16mhz clock on, and that Nordic doesn&amp;#39;t recommend this combination for</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 27 Jan 2021 12:22:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/32673/current-consumption-rtc--ppi---gpiote-on-nrf52" /><item><title>RE: Current consumption rtc-&gt; ppi -&gt;gpiote on nrf52</title><link>https://devzone.nordicsemi.com/thread/291488?ContentTypeID=1</link><pubDate>Wed, 27 Jan 2021 12:22:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:605d7453-9b00-492f-91eb-3c1be1b48c4f</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;I honestly don&amp;#39;t remember :/&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Current consumption rtc-&gt; ppi -&gt;gpiote on nrf52</title><link>https://devzone.nordicsemi.com/thread/290845?ContentTypeID=1</link><pubDate>Sat, 23 Jan 2021 07:29:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80a64285-c058-4c6d-94bf-c756c25dcda4</guid><dc:creator>gilbertjuly</dc:creator><description>&lt;p&gt;Hi H&amp;aring;kon, you presented the &amp;quot;rtc_ppi_gpiote.zip&amp;quot;, I wonder which version of the SDK you were using. I&amp;#39;d like to have it a try. Thank you.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Gilbert&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Current consumption rtc-&gt; ppi -&gt;gpiote on nrf52</title><link>https://devzone.nordicsemi.com/thread/131371?ContentTypeID=1</link><pubDate>Tue, 08 May 2018 13:33:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5bf54be6-de52-49b0-bbbc-787af6567ce2</guid><dc:creator>butch</dc:creator><description>&lt;p&gt;Thanks. &amp;nbsp;That seems to confirm that whatever errata/PAN existed in the NRF51, with respect to the PPI and the HFRC, has been fixed in the NRF52. &amp;nbsp; In other words, the PPI draws negligible current while cpu is sleeping.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Current consumption rtc-&gt; ppi -&gt;gpiote on nrf52</title><link>https://devzone.nordicsemi.com/thread/130995?ContentTypeID=1</link><pubDate>Fri, 04 May 2018 10:48:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:428293c0-7086-41de-aa05-bceb545f7cf2</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;Hey butch,&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve taken new measurements at an interval of 10s.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Interrupt:&lt;/strong&gt;&lt;br /&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/720x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-3085e937b13b4565b56d1a4366873da2/RTC_5F00_GPIOTE_5F00_INT.PNG" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PPI:&lt;/strong&gt;&lt;br /&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/720x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-3085e937b13b4565b56d1a4366873da2/RTC_5F00_GPIOTE_5F00_PPI.PNG" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;As you can see there&amp;#39;s not much difference between the average current consumption, but the peak is halved with PPI. You should definitely use PPI + GPIOTE as it is entirely independent of the CPU activity (SoftDevice has the highest exectution priority).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The base current is somewhat higher&amp;nbsp;with the DK than just our reference design, so you should expect a slightly lower current consumption in your product.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Håkon.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Current consumption rtc-&gt; ppi -&gt;gpiote on nrf52</title><link>https://devzone.nordicsemi.com/thread/127069?ContentTypeID=1</link><pubDate>Thu, 05 Apr 2018 13:43:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53e7874d-198c-4dd7-86b0-c0a922ab8b20</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;Hey Butch,&lt;/p&gt;
&lt;p&gt;I get your point, and I will make some measurements soon, but I&amp;#39;m swamped at the moment dude to backlog from the Easter Holidays. I&amp;#39;ll try to get it done by next week.&lt;/p&gt;
&lt;p&gt;The PPI system is really cool, you can make entire logical state machines without a CPU^^. Just throw in TIMERs, COUNTERs, ADCs, GPIOTEs, etc.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Håkon.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Current consumption rtc-&gt; ppi -&gt;gpiote on nrf52</title><link>https://devzone.nordicsemi.com/thread/125784?ContentTypeID=1</link><pubDate>Fri, 23 Mar 2018 15:40:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:49f4efed-e08b-40b0-8bff-c8901815616a</guid><dc:creator>butch</dc:creator><description>&lt;p&gt;Thank you very much. (I would test it myself if I had a scope.)&lt;/p&gt;
&lt;p&gt;However, your graphs do not show the minimum. The minimum would show the current during sleep. It might be that the minimum for PPI case is more than the minimum for interrupt case. (The resolution of the graphs does not let me compare the exact minimums.)&lt;/p&gt;
&lt;p&gt;In other words, you are triggering the timer every 10ms, whereas I am interested in triggering the timer every ten seconds or so. In my case, the long tail of the curve at a lower minimum might mean that the average was much less (despite the high max current for the peak.)&lt;/p&gt;
&lt;p&gt;My actual application is an &amp;quot;I&amp;#39;m alive&amp;quot; LED, that flashes very briefly (the minimum that the human eye can see) every ten seconds or so. I want to use the PPI to toggle the LED off. While the LED on, the current of the PPI is insignificant, since the current of the LED is much more. While the LED is off, the current of the PPI+GPIOTE might be significant (relative to say they 4 (?) uSec sleeping current of the CPU + LFXO + RTC.) The question is not only what is the current of PPI+GPIOTE but is it really the current of the PPI+GPIOTE+HFRC (emphasis on HFRC, as it seems to have been in early revisions of the nrf51?)&lt;/p&gt;
&lt;p&gt;Whereas your illustrated use case is more of &amp;quot;PWM&amp;quot; or &amp;quot;signal&amp;quot;, i.e. with much higher frequency. In that case, yes there are clear advantages to using the PPI and GPIOTE.&lt;/p&gt;
&lt;p&gt;And maybe my question is moot, if my implementation disables the PPI and GPIOTE when the LED is turned off. But that implementation might require an interrupt anyway? Maybe the implementation can configure the PPI so that the rtc event not only triggers the gpiote task to toggle the LED but also triggers a fork task that disables one of the PPI&amp;#39;s own channel groups via the task NRF_PPI-&amp;gt;TASK_CHG[0].DIS. One needs to know the specification for current of the enabled PPI and GPIOTE to know whether such a design is beneficial for a given frequency of operation.&lt;/p&gt;
&lt;p&gt;I very much admire the design of the PPI and GPIOTE as a hw implementation of the sw concept of signals (in the Qt terminology, signals and slots.)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Current consumption rtc-&gt; ppi -&gt;gpiote on nrf52</title><link>https://devzone.nordicsemi.com/thread/125737?ContentTypeID=1</link><pubDate>Fri, 23 Mar 2018 13:24:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c05e7bd4-2507-4db0-886f-c9c58e9c7afc</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;Hey butch,&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve made a small application demonstrating PPI vs CPU interrupts.&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-3085e937b13b4565b56d1a4366873da2/rtc_5F00_ppi_5F00_gpiote.zip"&gt;devzone.nordicsemi.com/.../rtc_5F00_ppi_5F00_gpiote.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You have to compile the application with the definition USE_PPI to use PPI+GPIOTE.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve also compared the current consumption between the two:&lt;br /&gt;With PPI:&lt;br /&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-3085e937b13b4565b56d1a4366873da2/USE_5F00_PPI.PNG" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;With CPU interrupt:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-3085e937b13b4565b56d1a4366873da2/INT.PNG" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As you can see the difference is dramatic. The RTC interrupt will also be at the mercy of it&amp;#39;s execution/preemption priority, whereas the PPI system is completely independent from the CPU state.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Håkon.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>