<?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>QSPI current is high at nRF52840DK</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/60220/qspi-current-is-high-at-nrf52840dk</link><description>Hi, 
 I have measured QSPI current consumption on our product at no access period, and got 1mA (too high current!). 
 
 So I tried to check with nRF52840 DK to confirm our source code is wrong or not. 
 I tested SDK14.2 example of QSPI (examples/peripheral</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 17 Apr 2020 14:37:38 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/60220/qspi-current-is-high-at-nrf52840dk" /><item><title>RE: QSPI current is high at nRF52840DK</title><link>https://devzone.nordicsemi.com/thread/245279?ContentTypeID=1</link><pubDate>Fri, 17 Apr 2020 14:37:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7dc68d74-0d9c-4b6a-b5eb-5739da865ffb</guid><dc:creator>macaddr</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thank you very much.&lt;/p&gt;
&lt;p&gt;I understand what you said that configure_memory() is not necessary.&lt;/p&gt;
&lt;p&gt;So I&amp;nbsp;&lt;span&gt;&amp;nbsp;call&amp;nbsp;&lt;/span&gt;&lt;span&gt;nrf_drv_qspi_uninit() -&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;nrf_drv_qspi_init() every Flash ROM access and get 3uA.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QSPI current is high at nRF52840DK</title><link>https://devzone.nordicsemi.com/thread/245215?ContentTypeID=1</link><pubDate>Fri, 17 Apr 2020 11:36:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8e57e625-0024-460a-8451-b5d4510e24ab</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;In order to achieve current below ~900uA, you will have to uninitialize the QSPI driver and go to standby (WFE). In order to uninitialize it correctly while taking anomaly 122 into consideration, you should add something like this before calling the WFE.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    *(volatile uint32_t *)0x40029010ul = 1ul;
    *(volatile uint32_t *)0x40029054ul = 1ul;
    nrf_drv_qspi_uninit();&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Do you have to configure the memory every time you initialize the QSPI? If so, I don&amp;#39;t think you will get the current consumption very much lower while the QSPI driver is running.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QSPI current is high at nRF52840DK</title><link>https://devzone.nordicsemi.com/thread/245128?ContentTypeID=1</link><pubDate>Fri, 17 Apr 2020 06:46:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d8f43bd5-1835-4efa-98c0-db3ab6c0835f</guid><dc:creator>macaddr</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Calling &amp;quot;__WFE(); __SEV(); __WFE();&amp;quot; does not change current(I mean around 985uA).&lt;/p&gt;
&lt;p&gt;I know current goes down to about 2uA if I call&amp;nbsp;nrf_drv_qspi_uninit() with anomaly 122.&lt;/p&gt;
&lt;p&gt;But our objective is reduce current at standby time.&lt;/p&gt;
&lt;p&gt;So your solution is, &amp;nbsp;call&amp;nbsp;&lt;span&gt;nrf_drv_qspi_uninit() -&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;nrf_drv_qspi_init() -&amp;gt; configure_memory() every Flash ROM access?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Calling configure_memory() needs recovery time, so this solution is not realistic.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If you have more simple solution, please advice me.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;(ex. disable QSPI module clock)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QSPI current is high at nRF52840DK</title><link>https://devzone.nordicsemi.com/thread/245123?ContentTypeID=1</link><pubDate>Fri, 17 Apr 2020 05:54:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:baf9403e-f1be-4461-a1c0-2f6a70c3a14e</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Case 5 seems to be the nRF chip running regularly. In order to reduce the current consumption after doing an operation, you need to put it to sleep mode by, for example, uninitializing the QSPI driver, and calling something like a sleep_handler() function as below.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void sleep_handler(void)
{
    __WFE();
    __SEV();
    __WFE();
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QSPI current is high at nRF52840DK</title><link>https://devzone.nordicsemi.com/thread/245003?ContentTypeID=1</link><pubDate>Thu, 16 Apr 2020 13:07:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3e9f929-c19f-4fd4-a9cf-c9f4f6ca554a</guid><dc:creator>macaddr</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thank you for replying.&lt;/p&gt;
&lt;p&gt;I completely remove NRF_LOG_xx() from my code.&lt;/p&gt;
&lt;p&gt;For the safe, I remove nrf_log_xxx.c, SEGGER_xxx.c from Makefile.&lt;/p&gt;
&lt;p&gt;But the result is same bad.&lt;/p&gt;
&lt;p&gt;case 5. &lt;span&gt;put them &lt;/span&gt;&lt;span&gt;after read instruction(after&amp;nbsp;nrf_drv_qspi_read()) with no NRF_LOG &amp;nbsp;-&amp;gt;&amp;nbsp;&lt;/span&gt;985uA.&lt;/p&gt;
&lt;p&gt;case 6. put them&amp;nbsp;&lt;span&gt;before nrf_drv_qspi_init() with no NRF_LOG -&amp;gt; 2.7uA&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Could &amp;nbsp;you tell me how to reduce this current?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QSPI current is high at nRF52840DK</title><link>https://devzone.nordicsemi.com/thread/244992?ContentTypeID=1</link><pubDate>Thu, 16 Apr 2020 12:33:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3341626f-2581-48bf-a2a0-4d52b0b3cffe</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Try removing the NRF_LOG_INFO in your device, as those shouldn&amp;#39;t be used anyway if the logger module isn&amp;#39;t enabled and see what the current consumption is before nrf_drv_qspi_init().&lt;/p&gt;
&lt;p&gt;You can also check out &lt;a href="https://devzone.nordicsemi.com/nordic/short-range-guides/b/hardware-and-layout/posts/nrf51-current-consumption-guide"&gt;our current consumption guide&lt;/a&gt;, which explains just about anything that is to know about minimizing current consumption, I.E. how to go to sleep correctly, etc.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QSPI current is high at nRF52840DK</title><link>https://devzone.nordicsemi.com/thread/244912?ContentTypeID=1</link><pubDate>Thu, 16 Apr 2020 09:50:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:068b75ef-fdc5-4d9b-9c8e-c0fc07a4f6d8</guid><dc:creator>macaddr</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thank you for replying. It seems to be good point.&lt;/p&gt;
&lt;p&gt;Applying &amp;quot;#define NRF_LOG_ENABLED 0&amp;quot;, then measured current at &lt;span&gt;after read instruction(after&amp;nbsp;NRF_LOG_INFO(&amp;quot;Data read&amp;quot;)) as below.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;case 3. put them &lt;span&gt;after read instruction(after&amp;nbsp;NRF_LOG_INFO(&amp;quot;Data read&amp;quot;))&amp;nbsp;&lt;/span&gt;with NRF_LOG_ENABLED=0 -&amp;gt; 972uA.&lt;/p&gt;
&lt;p&gt;And added one more case to confirm.&lt;/p&gt;
&lt;p&gt;case 4. put them before&amp;nbsp;nrf_drv_qspi_init() with NRF_LOG_ENABLED=1 -&amp;gt; 564uA.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;So it effects some but it is not the root cause.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;Best regards,&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: QSPI current is high at nRF52840DK</title><link>https://devzone.nordicsemi.com/thread/244890?ContentTypeID=1</link><pubDate>Thu, 16 Apr 2020 08:46:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c2683470-9579-4b87-8b5f-fd3504e48f73</guid><dc:creator>Simonr</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I think it is the &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/lib_nrf_log.html"&gt;logger module&lt;/a&gt; drawing this extra current. Please try disabling it by setting NRF_LOG_ENABLED to 0 in the sdk_config.h file of your project and build + run the project again.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Simon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>