<?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>SAADC scan + burst &amp;amp; oversmaple</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/39856/saadc-scan-burst-oversmaple</link><description>SDK14.2 
 Segger Embedded Studio 
 nRF52 development board 
 
 According to this post https://devzone.nordicsemi.com/f/nordic-q-a/20556/how-does-the-saadc-scan-mode-use-the-burst-1 the SAADC can use multichannel scan mode with burst enabled on all channels</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 21 Nov 2018 13:58:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/39856/saadc-scan-burst-oversmaple" /><item><title>RE: SAADC scan + burst &amp; oversmaple</title><link>https://devzone.nordicsemi.com/thread/158445?ContentTypeID=1</link><pubDate>Wed, 21 Nov 2018 13:58:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:edd72b79-54f0-4909-b63a-4565a9e3847e</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;I am not able to think of any way that will let you keep the SAADC enabled. I cannot say that it will not be possible though, as&amp;nbsp;the root cause of this issue has not yet been found.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC scan + burst &amp; oversmaple</title><link>https://devzone.nordicsemi.com/thread/158269?ContentTypeID=1</link><pubDate>Tue, 20 Nov 2018 19:29:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f4e3e960-877d-424e-8695-ed535ccacdc2</guid><dc:creator>mchartier</dc:creator><description>&lt;p&gt;I now have the PPK and I confirmed my application has the same power issue when SAADC is configured with scan+burst+oversample.&amp;nbsp; The power problem does not happen when I turn off scan and leave burst+oversample tunred on.&amp;nbsp; Stopping the SAADC and calling saadc_uninit() did NOT fix the problem, but when I tried your workaround (0x40007FFC = 0) the problem was fixed. However, In my application I need to take samples of two pins every 5ms so it seems like bad design to call saadc_init() and saadc_uninit() every 5ms.&amp;nbsp; I am hoping someone can find another workaround that would allow me to leave SAADC enabled in continuous sample mode.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC scan + burst &amp; oversmaple</title><link>https://devzone.nordicsemi.com/thread/156103?ContentTypeID=1</link><pubDate>Tue, 06 Nov 2018 09:55:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b6e3a744-a5e6-4b81-9ba0-80b5554b0a29</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Another&amp;nbsp;likely explanation is that the SAADC for some reason continue to request the HF clock,&amp;nbsp;but I don&amp;#39;t know. I have created an internal bug report so that it will be investigated, but that is likely to take some time.&lt;/p&gt;
&lt;p&gt;A&amp;nbsp;possible workaround is to use this line of code after disabling the SAADC (typically right after you call &lt;code&gt;nrf_drv_saadc_uninit()&lt;/code&gt;):&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;*((volatile uint32_t *)0x40007FFC) = 0;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Then you also need to use this line before enabling the SAADC (typically right before you call &lt;code&gt;nrf_drv_saadc_init()&lt;/code&gt;):&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;*((volatile uint32_t *)0x40007FFC) = 1;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC scan + burst &amp; oversmaple</title><link>https://devzone.nordicsemi.com/thread/156038?ContentTypeID=1</link><pubDate>Mon, 05 Nov 2018 21:21:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5f18bae9-d14a-4be7-86ef-7a5c5fed6914</guid><dc:creator>mchartier</dc:creator><description>&lt;p&gt;I too am using the SAADC in the same manner (i.e. multiple channels, oversample, and burst enabled) however I do not yet have the equipment to measure the power usage.&amp;nbsp; This power issue is very concerning to me and this is possible a show stopper for us.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you are looking for a workaround I just have this one idea:&amp;nbsp; Do a single-shot conversion after you get all your samples and you do all the uninit() calls.&amp;nbsp; By doing a single-shot conversion on a single channel with burst disabled I would expect the SAADC to release DMA resources and power down normally.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC scan + burst &amp; oversmaple</title><link>https://devzone.nordicsemi.com/thread/155758?ContentTypeID=1</link><pubDate>Fri, 02 Nov 2018 13:03:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:62905508-45b4-4af9-9717-dcce4feba714</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I do not have an explanation for this behavior at this point, but I am tempted to believe that there is a hardware limitation/issue of some sort. Your&amp;nbsp;driver modifications come from &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/26659/saacd-scan-oversample/104878#104878"&gt;this post&lt;/a&gt;&amp;nbsp;I see. I do not have a workaround either (other than &amp;quot;don&amp;#39;t do it&amp;quot;).&lt;/p&gt;
&lt;p&gt;Here is you example in a slightly simplified variant where it is easy to see the difference in current consumption between 1 and 2 channels by setting the&amp;nbsp;SAADC_CHANNELS define accordingly (for my own reference).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-42c7873f737c48fb80c305f6fa673424/main.c"&gt;devzone.nordicsemi.com/.../main.c&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC scan + burst &amp; oversmaple</title><link>https://devzone.nordicsemi.com/thread/155180?ContentTypeID=1</link><pubDate>Tue, 30 Oct 2018 14:52:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fa8edf98-ad86-46f7-b08e-05a74b948780</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;I have tested your code and see the same behavior. I do not have an explanation for it, but we have seen similar issues before. I will look into it and hopefully get back to you tomorrow.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC scan + burst &amp; oversmaple</title><link>https://devzone.nordicsemi.com/thread/154948?ContentTypeID=1</link><pubDate>Mon, 29 Oct 2018 19:06:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:52d35490-b36e-443c-87f1-0d2b7750b8bd</guid><dc:creator>Radiohead</dc:creator><description>&lt;p&gt;Thank you for your reply Einar,&lt;/p&gt;
&lt;p&gt;In the example the definitions SAMPLES_IN_BUFFER was set&amp;nbsp; to 1, but it should have been 3, since I used three channels.That&amp;#39;s why you got an assert.&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/nRF5_5F00_SDK_5F00_14.2.zip"&gt;devzone.nordicsemi.com/.../nRF5_5F00_SDK_5F00_14.2.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the saadc callback I un-init the saadc and all channels, the ADC results are as expected and there are no asserts. Still there is a continous 1mA current consumption when I measure with a power profiler after the first saadc initialization.&lt;/p&gt;
&lt;p&gt;Here is the edited project with a stripped down sdk 14.2. The project can be found under nRF5_SDK_14.2\examples\peripheral\saadc_burst.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC scan + burst &amp; oversmaple</title><link>https://devzone.nordicsemi.com/thread/154804?ContentTypeID=1</link><pubDate>Mon, 29 Oct 2018 08:36:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3a5fca18-e30c-4860-807f-eee0f88fa594</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There should not be any additional current consumption between the sampling events when you have disabled the SAADC peripheral (calling the nrf_drv_saadc_uninit()). In this case, the SAADC peripheral should not keep the DMA logic active.&lt;/p&gt;
&lt;p&gt;I have not been able to test your code. There are some asserts when in&amp;nbsp;nrf_drv_saadc.c (I use the one you included in&amp;nbsp;saadc_test.zip). Can you make sure to include all modified SDK files and check that they are sufficient in order to run the example on the nRF52832 DK with an otherwise unmodified SDK 14.2?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>