<?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 to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/26030/how-to-reach-nrf52840-uarte-current-supply-specification</link><description>Hi,
I work on the nRF52840-Preview-DK board. I try to make a ble to uart bridge and I start with the nRF5 SDK 14.0.0 ble_app_uart example. 
 I compare the current supply of the example and the same code without the uart initialization.
The current</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 11 Sep 2020 12:11:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/26030/how-to-reach-nrf52840-uarte-current-supply-specification" /><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/269158?ContentTypeID=1</link><pubDate>Fri, 11 Sep 2020 12:11:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0a3f80dd-1cc5-4b40-a1ac-17b539ccdfda</guid><dc:creator>Anton K.</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp; 3 years latter&amp;nbsp;I meet this problem,&amp;nbsp;which was not fixed by NORDIC. Actually for me sequence works fine:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;*(volatile uint32_t *)0x40002FFC = 0;
*(volatile uint32_t *)0x40002FFC = 1;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But sequence via second way doesn&amp;#39;t work:&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;nrf_drv_uart_rx_abort(&amp;amp;uart_addr);
nrf_drv_uart_tx_abort(&amp;amp;uart_addr);
nrf_drv_uart_uninit(&amp;amp;uart_addr);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Also nRF52840 Product Specification have no information about POWER register with base address of UART0/1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Can you explain about right sequence without hidden POWER register usage?&lt;br /&gt;&amp;nbsp; &amp;nbsp;Thank you for this post.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/226353?ContentTypeID=1</link><pubDate>Thu, 19 Dec 2019 11:47:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a0dbc985-52a1-43b8-9187-659d8576eec0</guid><dc:creator>Luke Galea</dc:creator><description>&lt;p&gt;Hi Stian, I am also experiencing this issue with the nRF UARTE Drivers in SDK 16 with the nRF52840.&lt;/p&gt;
&lt;p&gt;My code is as follows. The uarte_uninit manages to stop the TX because if nrfx_uarte_rx is not used, a low current consumption is achieved once again. Power cycling the UARTE through the registers seems to fix the issue when nrfx_uarte_rx is used. The tx/rx abort do not seem to have any affect ...&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Moreover could you provide a link to the documentation where FFC from UARTE0 offset 0x40002 is mentioned? Because I could not find this register which power cycles the UARTE0.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// Stop any reception on UARTE0
nrfx_uarte_tx_abort(&amp;amp;uarte0_inst);
nrfx_uarte_rx_abort(&amp;amp;uarte0_inst);

// Stop any reception on UARTE1
nrfx_uarte_tx_abort(&amp;amp;uarte1_inst);
nrfx_uarte_rx_abort(&amp;amp;uarte1_inst);

// Switch Off both UARTEs to reduce current consumption
nrfx_uarte_uninit(&amp;amp;uarte0_inst);
nrfx_uarte_uninit(&amp;amp;uarte1_inst);

// Power cycle the UARTE0 - Fix or Workaround since UARTE0 is not getting turned Off if RX is enabled
*(volatile uint32_t *)0x40002FFC = 0;
*(volatile uint32_t *)0x40002FFC;
*(volatile uint32_t *)0x40002FFC = 1;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/216224?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2019 16:27:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:66a2e17c-741a-447c-9f04-913dae9d7e9b</guid><dc:creator>Rob at Digi</dc:creator><description>&lt;p&gt;What is the intent of the second line of code?&amp;nbsp; Are you just trying to read the register?&amp;nbsp; The statement doesn&amp;#39;t do anything, and even though it is marked volatile, many compilers will optimize it out. (Mine did.)&amp;nbsp; i just want to make sure I am handling the errata properly.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/215168?ContentTypeID=1</link><pubDate>Tue, 15 Oct 2019 21:18:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:612b0d8b-3ff9-4d86-ae49-118fb0b984b0</guid><dc:creator>Xenoamor</dc:creator><description>&lt;p&gt;I&amp;#39;d also be interested in seeing this be officially in the Errata. I&amp;#39;m seeing it in rev 2 and a few engineering samples. As of now even using NRFX v1.7.2 which calls STOPRX and STOPTX does not resolve this issue&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/190746?ContentTypeID=1</link><pubDate>Tue, 04 Jun 2019 11:20:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7a23cdb-fa61-4c28-b5ba-b761974716d8</guid><dc:creator>ThierryC</dc:creator><description>&lt;p&gt;Where do we find these erratum ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/190095?ContentTypeID=1</link><pubDate>Thu, 30 May 2019 16:51:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4031166f-6f06-4c97-99cd-21c9e983a7fa</guid><dc:creator>Glen M</dc:creator><description>&lt;p&gt;I&amp;#39;d just like to point out something that threw me off for a little while - If you&amp;#39;re using UARTE1, the address you write to is&amp;nbsp;0x40028FFC.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The post above correctly points out that the UARTE1 BASE is&amp;nbsp;0x40028000, but it wasn&amp;#39;t clear to me at first that this code is writing to the base plus an offset of 0xFFC.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/185196?ContentTypeID=1</link><pubDate>Fri, 03 May 2019 12:57:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f60b0977-a270-4fba-8c70-aa72a378f009</guid><dc:creator>Yogeshwaran</dc:creator><description>&lt;p&gt;I disabled APP_UART_ENABLED in sdk_config.h and commented out function relevant to uart in ble_app_uart example now it is not hanging in external power.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/184893?ContentTypeID=1</link><pubDate>Thu, 02 May 2019 12:26:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0c84530b-38fb-4b96-87a5-4f634b3cb88e</guid><dc:creator>Yogeshwaran</dc:creator><description>&lt;p&gt;Thank you Stian my slrteep current is 8uA reduced from 0.92mA but my uart is still not disabled because of this if i run it in coin cell without usb it is getting hang in uart_init() function. i tired disabling both UARTE and UART0 also but no changes still it is getting hang in the coin cell power run.&lt;/p&gt;
&lt;p&gt;if i permanently switch off uart peripheral then my current will reduce more and it won&amp;#39;t hang in the coin cell run mode.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/184882?ContentTypeID=1</link><pubDate>Thu, 02 May 2019 12:13:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bff0f0bc-9786-4400-9df9-86afdfd5170b</guid><dc:creator>Yogeshwaran</dc:creator><description>&lt;p&gt;i am facing issue with uart_init() in ble_app_uart peripheral example. if i disable the uart in sdk_config(UART0_ENABLE 0) and i commented the uart_init() in the main function after this the sleep current is 2.5 ma and if i uncomment uart_init() my sleep current is 0.92mA system_on mode. The device hangs if run in coin cell because of uart.&lt;/p&gt;
&lt;p&gt;so why this is happening and how to permanently disable the uart function in ble_app_uart without affecting other operations?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/178894?ContentTypeID=1</link><pubDate>Thu, 28 Mar 2019 11:15:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5fa664fd-d65d-4af5-a954-dc0422396131</guid><dc:creator>vishal</dc:creator><description>&lt;p&gt;I am also using facing this issue after update this above workaround the power consumption is decreased. But I got another problem When UART disabled my device switch sense not detect. Why this happening?&lt;/p&gt;
&lt;p&gt;Thanks..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/162822?ContentTypeID=1</link><pubDate>Fri, 21 Dec 2018 11:08:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91c94c57-9045-4703-93b4-d8f1347e9868</guid><dc:creator>Tim</dc:creator><description>&lt;p&gt;Thank you for your answer. Could you please update the errata to mention the UARTE as well ? Because we went through the errata when we encountered this issue and since the UARTE wasn&amp;#39;t mentioned, we didn&amp;#39;t consider this errata.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/102606?ContentTypeID=1</link><pubDate>Wed, 01 Nov 2017 15:21:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:68392c0d-9c18-4cd1-be5f-2d52664c8509</guid><dc:creator>Francois5Co</dc:creator><description>&lt;p&gt;Thanks for your reply. It works.
But if I want to put the uart in idle mode with hw flow control (not close it), to wake up when it start receiving uart message, how can I minimize current consumption ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/102605?ContentTypeID=1</link><pubDate>Wed, 01 Nov 2017 14:45:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:81f98ad7-a254-4132-81b1-65356f77adab</guid><dc:creator>Stian R&amp;#248;ed Hafskjold</dc:creator><description>&lt;p&gt;First of all, 0.8 mA (on nRF52840, no DCDC. 0.35 mA with DCDC enabled @3V) is the expected run current for the UARTE in RX or TX mode since HF clock is needed and the DMA bus is active.&lt;/p&gt;
&lt;p&gt;When you call &lt;code&gt;app_uart_close()&lt;/code&gt; basically what happens is that the peripheral is disabled by writing 0 to the &lt;code&gt;NRF_UARTE0-&amp;gt;ENABLE&lt;/code&gt; register. Unfortunately, this seems to not stop the HF clk and close the DMA bus, which could be a bug. However, if you power cycle the peripheral after calling &lt;code&gt;app_uart_close()&lt;/code&gt; the current consumption goes down. You can do that with this code:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;*(volatile uint32_t *)0x40002FFC = 0;
*(volatile uint32_t *)0x40002FFC;
*(volatile uint32_t *)0x40002FFC = 1;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you are using UARTE1 the base address is &lt;code&gt;0x40028000&lt;/code&gt;. &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52840.ps/uarte.html#topic"&gt;infocenter.nordicsemi.com/.../uarte.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Just adding that the UARTE TX has to be stopped explicitly when it&amp;#39;s finished. If you just close the UART without stopping the transactions the UART will continue to keep the clocks running, as described above.&lt;/p&gt;
&lt;p&gt;This can be done through the nrfx_uarte_tx/rx_abort() functions, or the TASKS_STOPRX/TX registers directly.&lt;/p&gt;
&lt;p&gt;If you do this before disabling the UART the above workaround is not needed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/102602?ContentTypeID=1</link><pubDate>Wed, 01 Nov 2017 13:37:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:14c7a5b9-3979-4963-a648-3a494a8c4d92</guid><dc:creator>Stian R&amp;#248;ed Hafskjold</dc:creator><description>&lt;p&gt;Sorry, Martin is out travelig now. I will take a look at this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/102604?ContentTypeID=1</link><pubDate>Mon, 30 Oct 2017 06:07:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28001acd-402c-46bf-95b5-be55f18c113f</guid><dc:creator>Francois5Co</dc:creator><description>&lt;p&gt;Any News ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/102603?ContentTypeID=1</link><pubDate>Fri, 20 Oct 2017 10:52:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:53b3a14f-6963-4589-b6b9-af3e42a52129</guid><dc:creator>Francois5Co</dc:creator><description>&lt;p&gt;Thanks a lot for your help&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/102601?ContentTypeID=1</link><pubDate>Fri, 20 Oct 2017 10:22:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:19fc60f3-f17e-4e47-8092-6d0a8609154d</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;I&amp;#39;m have done some tests and I see the same thing. I&amp;#39;m looking for a workaround, but it might take a few days.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/102600?ContentTypeID=1</link><pubDate>Wed, 18 Oct 2017 12:21:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a3a24ed0-6a6d-4c67-9b25-51e76e40d7dd</guid><dc:creator>Francois5Co</dc:creator><description>&lt;p&gt;Yes I have tried flow control and it doesn&amp;#39;t really change the current supply.
The &amp;quot;NRF_UARTE0-&amp;gt;TASKS_STOPRX = 1&amp;quot; doesn&amp;#39;t change the current supply.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to reach nRF52840 UARTE current supply specification ?</title><link>https://devzone.nordicsemi.com/thread/102599?ContentTypeID=1</link><pubDate>Wed, 18 Oct 2017 12:09:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a5f06e88-8ea8-4e14-bd90-2f6c33b135ae</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;hi,&lt;/p&gt;
&lt;p&gt;Have you tried using flow control?&lt;/p&gt;
&lt;p&gt;Can you try to put &lt;code&gt;NRF_UARTE0-&amp;gt;TASKS_STOPRX = 1;&lt;/code&gt; after uart_init()?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>