<?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>NRF52832 UART Power consumption</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/47578/nrf52832-uart-power-consumption</link><description>Hi, 
 I just wanna start off by saying I know there a lot of similar posts to this one here on the dev zone, but my problem with them is that none of them (from what I&amp;#39;ve seen) give a good answer what to do in order to reduce the power consumption of</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 01 Jul 2019 08:21:14 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/47578/nrf52832-uart-power-consumption" /><item><title>RE: NRF52832 UART Power consumption</title><link>https://devzone.nordicsemi.com/thread/195529?ContentTypeID=1</link><pubDate>Mon, 01 Jul 2019 08:21:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec81488b-07b5-4480-b375-c47f3a8044c7</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Yes, the EasyDMA is approximately 1.2-1.3 mA with LDO. The high current is caused by the UART RX being enabled at all times, which also enables the EasyDMA.&lt;/p&gt;
&lt;p&gt;I would recommend that you use HW flow control pins to pause the transfer in case of being blocked by softdevice interrupts. This could also allow you to reduce the current consumption in case of no data being received.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52832 UART Power consumption</title><link>https://devzone.nordicsemi.com/thread/195419?ContentTypeID=1</link><pubDate>Fri, 28 Jun 2019 15:34:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3dbc1af3-cf06-4b27-a504-fa3532b42294</guid><dc:creator>Kilo Mike</dc:creator><description>&lt;p&gt;I have also run into this same problem.&lt;/p&gt;
&lt;p&gt;I have enabled the internal DC/DC converter, and this has roughly halved the current consumption from a 3V supply&lt;/p&gt;
&lt;p&gt;But I do not understand why EasyDMA causes such a peak. According to the datasheet, HFXO is 250&amp;micro;A, and UARTE 55&amp;micro;A. Where does the rest come from? Is it from running the AHB multilayer and RAM at full speed as well? Is the DMA such a power hog?&lt;/p&gt;
&lt;p&gt;Also why do these need to run? IDLE to CPU time is 3&amp;micro;s, while even at 1Mps one char + start + stop is 10&amp;micro;s, so there is more than enough time to wake the rest of the system to write out the received byte.&lt;/p&gt;
&lt;p&gt;You seem to recommend not using UARTE, but the basic UART. Then we need to service an interrupt fast enough to retrieve the data. The S132 SDS states that during a Bluetooth connection, you could get delayed by 250&amp;micro;s (ISR post processing), so the UART would need to be configured at 200Kps or lower to never drop a character?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52832 UART Power consumption</title><link>https://devzone.nordicsemi.com/thread/189095?ContentTypeID=1</link><pubDate>Fri, 24 May 2019 14:56:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5b228f4e-c533-4414-aee9-03a442d54412</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;&lt;span&gt;APP_UART_COMMUNICATION_ERROR is typically caused by hardware issues. Did you use the same pins for UART and run it on the nRF52 DK? Can you check which error you get with the event?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Usage of the library should not differ with use of EasyDMA or not.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52832 UART Power consumption</title><link>https://devzone.nordicsemi.com/thread/188782?ContentTypeID=1</link><pubDate>Thu, 23 May 2019 09:58:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:270b60b1-98fa-4dd0-968e-33e9c637ce68</guid><dc:creator>AntonHellbe</dc:creator><description>&lt;p&gt;I made the changes you suggested.&lt;br /&gt;&lt;br /&gt;However now I receive the APP_UART_COMMUNICATION_ERROR event during transmission.&lt;br /&gt;&lt;br /&gt;Are there any differences in how I should use app_uart_put / get when using UART without DMA?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52832 UART Power consumption</title><link>https://devzone.nordicsemi.com/thread/188771?ContentTypeID=1</link><pubDate>Thu, 23 May 2019 09:18:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4617c15f-2286-4d24-8105-29083c02cc80</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;I still think your application are using UARTE peripheral, I get ~2.1 mA average with UARTE and ~0.5 mA with UART. Try excluding nrfx_uarte.c from your project, and make sure you set the following configs in sdk_config.h:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#define UART_EASY_DMA_SUPPORT 0
#define UART_LEGACY_SUPPORT 1
#define UART0_CONFIG_USE_EASY_DMA 0&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52832 UART Power consumption</title><link>https://devzone.nordicsemi.com/thread/188543?ContentTypeID=1</link><pubDate>Wed, 22 May 2019 11:59:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:89ef8e70-61f0-4073-95e6-8c95145f188c</guid><dc:creator>AntonHellbe</dc:creator><description>&lt;p&gt;No, I cannot find that define in my sdk_config.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52832 UART Power consumption</title><link>https://devzone.nordicsemi.com/thread/188533?ContentTypeID=1</link><pubDate>Wed, 22 May 2019 11:42:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:28980d74-ca37-48c6-adfb-c90d3ae28d4c</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Do you have&amp;nbsp;UART0_CONFIG_USE_EASY_DMA&amp;nbsp; set to 1 in your sdk_config file?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52832 UART Power consumption</title><link>https://devzone.nordicsemi.com/thread/188531?ContentTypeID=1</link><pubDate>Wed, 22 May 2019 11:33:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9986cab8-51b4-47e6-ab9b-827dbf96fa41</guid><dc:creator>AntonHellbe</dc:creator><description>&lt;p&gt;Hi J&amp;ouml;rgen,&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not actully sure if I&amp;#39;m using UARTE or UART,&amp;nbsp; but looking at the nrf_drv_uart.c I think I&amp;#39;m using UART since I do not have NRF_DRV_UART_USE_UARTE defined in my sdk_config.h. The only define I can find relating to DMA and UART in my sdk_config is UART_EASY_DMA_SUPPORT (set to 1), however if I set it to 0 I receive errors when compiling about things being undefined in nrf_drv_uart.c&lt;br /&gt;&lt;br /&gt;I&amp;#39;m using the APP_UART library. Here is the initialization:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void uart_init(void)
{
    uint32_t err_code;

    app_uart_comm_params_t const comm_params = {
        .rx_pin_no    = 8, //RX_PIN_NUMBER,
        .tx_pin_no    = 6, //TX_PIN_NUMBER,
        .rts_pin_no   = 5, //RTS_PIN_NUMBER,
        .cts_pin_no   = 7, //CTS_PIN_NUMBER,
        .flow_control = APP_UART_FLOW_CONTROL_DISABLED,
        .use_parity   = false,
        .baud_rate    = NRF_UART_BAUDRATE_230400
    };

    APP_UART_FIFO_INIT(&amp;amp;comm_params,
                       UART_RX_BUF_SIZE,
                       UART_TX_BUF_SIZE,
                       uart_event_handle,
                       APP_IRQ_PRIORITY_LOWEST,
                       err_code);
    APP_ERROR_CHECK(err_code);
    NRF_LOG_INFO(&amp;quot;uart_init(), err_code=%d&amp;quot;, err_code);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The rest is just app_uart_get / app_uart_put&lt;br /&gt;&lt;br /&gt;Br,&lt;br /&gt;Anton&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52832 UART Power consumption</title><link>https://devzone.nordicsemi.com/thread/188519?ContentTypeID=1</link><pubDate>Wed, 22 May 2019 11:05:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:974a391f-1002-4e60-801e-7859b90c3249</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Are you using the UARTE peripheral (UART with EasyDMA enabled)? If you are, you will most likely not be able to reduce the run current of the UART very much. Are you using the UART driver, or APP_UART library? If you could share your code/project, I can help give you some advice.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>