<?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>Clock control in RTC interrupt</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/23157/clock-control-in-rtc-interrupt</link><description>Hi all! 
 I am developing an nRF52 application that uses RTC interrupt to measure an ADC value every 100 ms. Depending on the measured value the chip shall either go back to sleep or execute an algorithm. We are in the beginning of the project and one</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 31 Jul 2017 12:51:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/23157/clock-control-in-rtc-interrupt" /><item><title>RE: Clock control in RTC interrupt</title><link>https://devzone.nordicsemi.com/thread/91090?ContentTypeID=1</link><pubDate>Mon, 31 Jul 2017 12:51:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:078eebaa-bf55-4486-aac0-8a763a106764</guid><dc:creator>Mattias</dc:creator><description>&lt;p&gt;Very good, thanks for the answer.&lt;/p&gt;
&lt;p&gt;BR
Mattias&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Clock control in RTC interrupt</title><link>https://devzone.nordicsemi.com/thread/91089?ContentTypeID=1</link><pubDate>Mon, 31 Jul 2017 12:43:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:251a48b5-083e-4f51-829b-7423ffa4ae50</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Mattias&lt;/p&gt;
&lt;p&gt;Yes, you should be able to trigger the ADC directly from the RTC by using a PPI connection. The SAADC module can be configured to generate an interrupt when the input is either higher or lower than a certain value, and this interrupt can be used as a wakeup source.&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;
Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Clock control in RTC interrupt</title><link>https://devzone.nordicsemi.com/thread/91088?ContentTypeID=1</link><pubDate>Fri, 30 Jun 2017 11:28:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac99e625-447c-4454-9fcc-50d76a786ced</guid><dc:creator>Mattias</dc:creator><description>&lt;p&gt;Thanks Torbjørn,&lt;/p&gt;
&lt;p&gt;your answer together with some more reading made things much clearer for me.
I tried switching on DCDC regulator and peak current decreased from 7.2 mA to 4.5 mA which maps better to the figures in &amp;quot;7.2.1 CPU performance in product specification&amp;quot;. I am using the PCA10040 DK board so DCDC regulator is available. From there it is also very clear that CPU clock speed always is 64 MHz.&lt;/p&gt;
&lt;p&gt;Do you see any other approach to decrease power consumption in our application?&lt;/p&gt;
&lt;p&gt;What we want to do is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;wake up every 10 ms&lt;/li&gt;
&lt;li&gt;measure a voltage level
3a go back to sleep if voltage is above limit value
3b execute an algorithm if level is below limit value&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;3a is the normal case and the major part of power consumption.
Could I for example use RTC to start AD conversion via PPI and only start CPU if measured value is above the limit?
Or use COMP/LPCOMP?&lt;/p&gt;
&lt;p&gt;BR
Mattias&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Clock control in RTC interrupt</title><link>https://devzone.nordicsemi.com/thread/91087?ContentTypeID=1</link><pubDate>Fri, 30 Jun 2017 10:35:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:59f94242-bd0b-4a04-b3c7-4b1ffe09dbd0</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Mattias&lt;/p&gt;
&lt;p&gt;The CPU in the nRF52 can only run from the 64MHz clock source, it is not possible to run code at any lower speeds. The reason for this is that the overall efficiency is usually improved by simply running the code quickly and going back to sleep.&lt;/p&gt;
&lt;p&gt;The call to nrf_drv_clock_hfclk_is_running() will simply check if the external 32MHz clock is running. If this returns false it means the CPU is running off of the internal 64MHz RC oscillator.&lt;/p&gt;
&lt;p&gt;One tip to reduce the active current is to enable the DCDC regulator, assuming you have the necessary components in place (if you are using a DK then the DCDC is available).&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;
Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>