<?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>How much current consumption when we use internal 32k RC ?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/14214/how-much-current-consumption-when-we-use-internal-32k-rc</link><description>I use the nRF52832 IC of WLCSP package.
In addition, it sets as follows: 
 
 {.source = NRF_CLOCK_LF_SRC_RC, \
 .rc_ctiv = 16, \
 .rc_temp_ctiv = 2, \
 .xtal_accuracy = NRF_CLOCK_LF_XTAL_ACCURACY_250_PPM}
 
 How much current consumption increases</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 08 Jun 2016 02:47:08 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/14214/how-much-current-consumption-when-we-use-internal-32k-rc" /><item><title>RE: How much current consumption when we use internal 32k RC ?</title><link>https://devzone.nordicsemi.com/thread/54295?ContentTypeID=1</link><pubDate>Wed, 08 Jun 2016 02:47:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa5a5f2e-c214-4ecc-8305-e736275b496d</guid><dc:creator>UBAN</dc:creator><description>&lt;p&gt;I appreciate all you have done.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How much current consumption when we use internal 32k RC ?</title><link>https://devzone.nordicsemi.com/thread/54294?ContentTypeID=1</link><pubDate>Fri, 03 Jun 2016 11:52:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:41ef49d9-fe7f-43f5-89da-84c7913f516c</guid><dc:creator>Stian R&amp;#248;ed Hafskjold</dc:creator><description>&lt;p&gt;Sorry, 16 is correct. rc_ctiv is the timer interval in 1/4 seconds. Setting this to 16 gives a timer interval of 4 seconds. rc_temp_ctiv is how often in terms of timer intervals it must calibrate if the temp has not changed. Setting this to 2 makes it calibrate every second interval (every 8 seconds) and every interval if the temperature has changed (every 4 seconds)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v2.0.0/structnrf__clock__lf__cfg__t.html?cp=2_3_0_1_0_3_0_110"&gt;infocenter.nordicsemi.com/.../structnrf__clock__lf__cfg__t.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How much current consumption when we use internal 32k RC ?</title><link>https://devzone.nordicsemi.com/thread/54293?ContentTypeID=1</link><pubDate>Wed, 01 Jun 2016 23:30:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3279acfe-109c-45d0-b1a1-147316aeb23d</guid><dc:creator>UBAN</dc:creator><description>&lt;p&gt;Thank you so, so much!&lt;/p&gt;
&lt;p&gt;I have a question.
There is a description in SDK_11.0.0, such as the following.&lt;/p&gt;
&lt;p&gt;@note For nRF52, the application must ensure calibration at least once
every 8 seconds to ensure +/-250ppm clock stability. The
recommended configuration for NRF_CLOCK_LF_SRC_RC on nRF52 is
rc_ctiv=16 and rc_temp_ctiv=2. This will ensure calibration at
least once every 8 seconds and for temperature changes of 0.5
degrees Celsius every 4 seconds. See the Product Specification
for the nRF52 device being used for more information.*/&lt;/p&gt;
&lt;p&gt;Which is correct, &amp;quot;ctiv=16&amp;quot; or &amp;quot;ctiv=32&amp;quot; ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How much current consumption when we use internal 32k RC ?</title><link>https://devzone.nordicsemi.com/thread/54291?ContentTypeID=1</link><pubDate>Wed, 01 Jun 2016 23:11:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fd35a103-c474-41e3-a2fa-b77bcd5f5711</guid><dc:creator>UBAN</dc:creator><description>&lt;p&gt;Thank you for giving me good advice.I will read the product spec.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How much current consumption when we use internal 32k RC ?</title><link>https://devzone.nordicsemi.com/thread/54292?ContentTypeID=1</link><pubDate>Wed, 01 Jun 2016 15:36:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec9d3ee9-6236-4d6c-82a7-e14fb1394994</guid><dc:creator>Stian R&amp;#248;ed Hafskjold</dc:creator><description>&lt;p&gt;There are 3 factors that will affect the current consumption&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;LFRC vs LFXO run current&lt;/li&gt;
&lt;li&gt;LFRC calibration&lt;/li&gt;
&lt;li&gt;Window widening in connection&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;1. Run current&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The numbers for the different run currents can be found in the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.0/clock.html?cp=2_2_0_17_3_2#unique_1928179767"&gt;product specification&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RC: 0.6 &amp;micro;A&lt;/li&gt;
&lt;li&gt;XO: 0.25 &amp;micro;A&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This means that the average run current will increase with 0.35&amp;micro;A&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;2. Calibration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In order to achieve a 250 ppm clock accuracy for BLE (which is required by the BLE spec), the LFRC clock must be calibrated at least every 8 seconds and every 4 seconds when the temperature changes more than 0.5 degrees (.ctiv=16, .temp_ctiv=2). &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v2.0.0/structnrf__clock__lf__cfg__t.html?cp=2_3_0_1_0_3_0_110"&gt;See the SD spec for more info on this.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The LFXO does not need to be calibrated.&lt;/p&gt;
&lt;p&gt;The calibration takes about 17ms and consumes 460&amp;micro;A in average during this time period. This results in a charge of:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;17ms * 0.460mA = 7.82&amp;micro;C
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A calibration interval of 8 seconds gives the average current consumption:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;7.82&amp;micro;C / 8s = 0.98&amp;micro;A
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Here is a plot of the calibration event: &lt;img alt="Calibration" src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/calibration_5F00_DCDC.png" /&gt;&lt;/p&gt;
&lt;p&gt;For non BLE applications the calibration might not be critical and you could use longer intervals.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;3. Window widening&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Window widening (will call it WW from now) is the increase of the time the RX has to listen in order to not miss the packet to receive. This is only relevant in peripheral connection mode, not in advertising mode. The peripheral listens from WW before the expected receive point in time, until WW after the expected point. This means that the time the RX is listening will increase by WW in average.&lt;/p&gt;
&lt;p&gt;The formula to calculate the WW is as follows (from BLE core spec v4.2, Vol 6, Part B, chapter 4.5.7)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;WW = ((masterSCA + slaveSCA)/1000000) * timeSinceLastAnchor
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;TimeSinceLastAnchor is equal to the connection interval (no slave latency), the time since the clocks were last synced. masterSCA and slaveSCA is the sleep clock accuracy for master and slave, or if you want, the ppm accuracy you specify in code.&lt;/p&gt;
&lt;p&gt;So if you have a 250ppm SCA (which you will have if you are using LFRC), and lets say that the central is still 20ppm, the WW will be,&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;WW = 270&amp;micro; * INT
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;where INT is the connection interval in seconds. To find the current consumed (charge) during this extra WW time, we have to multiply this with the RX current.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Q = WW * I_RX
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now, since we want to find the average current with different connection intervals we can divide the charge (Q) with the interval, but since WW already is dependent on the interval (INT), this will cancel out and we get a constant average current we can add to all connection intervals.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;I_ww = Q/INT
     = 270&amp;micro; * INT * I_RX / INT
     = 270&amp;micro; * I_RX
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The I_RX is 6.6mA (see measurements below), so then we can find the average current consumed by the WW:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;I_ww = 270&amp;micro; * 6.6mA = 1.78&amp;micro;A
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The 20ppm SCA when using LFXO will also have a small WW, and can be found in a similar way:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;I_ww = 40&amp;micro; * 6.6mA = 0.26&amp;micro;A (remember to add 20ppm for both master and slave = 40ppm)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The increased average current when using LFRC instead of LFXO will then be,&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1.78&amp;micro;A - 0.26&amp;micro;A = 1.52&amp;micro;A
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Here is a plot of the connection event with 250ppm slave SCA + 20ppm master SCA and a one second connection interval. We have 270&amp;micro;s WW and 80&amp;micro;s receive time = 350&amp;micro;s (80&amp;micro;s, because an empty packet consists of 80 bits, and it is transmitted at 1Mb/s)&lt;/p&gt;
&lt;p&gt;&lt;img alt="RX" src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/250ppm_5F00_con_5F00_RX.png" /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;To sum up, the increased average current will be a sum of the 3 above factors&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;0.35&amp;micro;A&lt;/li&gt;
&lt;li&gt;0.98&amp;micro;A&lt;/li&gt;
&lt;li&gt;1.52&amp;micro;A&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Since all of the above average currents are independent of connection interval, you can add this as a constant for all connection intervals:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;0.35 + 0.98 + 1.52 = 2.85&amp;micro;A
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And for advertising, when WW is not relevant, we get:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;0.35 + 0.98 = 1.33&amp;micro;A
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So to finally answer your question. The expected increase in current during connection when using LFRC instead of LFXO is &lt;strong&gt;2.85 &amp;micro;A&lt;/strong&gt;. And during advertising a &lt;strong&gt;1.33 &amp;micro;A&lt;/strong&gt; increase in current.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How much current consumption when we use internal 32k RC ?</title><link>https://devzone.nordicsemi.com/thread/54290?ContentTypeID=1</link><pubDate>Wed, 01 Jun 2016 12:06:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:76ee4ef2-9896-4da0-8026-b1777149ebfe</guid><dc:creator>John</dc:creator><description>&lt;p&gt;The difference in current consumption is in the product spec. Here are the tables with the information on current consumption:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/ps.png" alt="image description" /&gt;&lt;/p&gt;
&lt;p&gt;The reason for the power consumption increase is explained in this answer for the older nRF51822 but I imagine the reasons are similar for the newer part:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/question/85/whats-the-benefit-of-having-an-external-32-khz-crystal/"&gt;Clock power&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>