<?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>The selection of LFCLK in the &amp;quot;ble_app_uart&amp;quot;</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/24993/the-selection-of-lfclk-in-the-ble_app_uart</link><description>Hello, 
 In our product, we would like to select LFCLK from the following choices instead of external XTAL. 
 
 NRF_CLOCK_LF_SRC_RC 
 NRF_CLOCK_LF_SRC_SYNTH 
 
 However, it is unclear how these differences in accuracy affect the behavior of ble_app_uart</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 11 Sep 2017 01:36:06 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/24993/the-selection-of-lfclk-in-the-ble_app_uart" /><item><title>RE: The selection of LFCLK in the "ble_app_uart"</title><link>https://devzone.nordicsemi.com/thread/98430?ContentTypeID=1</link><pubDate>Mon, 11 Sep 2017 01:36:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ce17aa6c-9b93-405f-9186-93bd92d48860</guid><dc:creator>senoo</dc:creator><description>&lt;p&gt;I appreciate your kind support.
Best regards
Senoo&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The selection of LFCLK in the "ble_app_uart"</title><link>https://devzone.nordicsemi.com/thread/98429?ContentTypeID=1</link><pubDate>Fri, 08 Sep 2017 11:24:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:36622a0b-cc4c-48a9-ac0b-b28d83662ca6</guid><dc:creator>J&amp;#248;rn</dc:creator><description>&lt;p&gt;I have updated my answer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The selection of LFCLK in the "ble_app_uart"</title><link>https://devzone.nordicsemi.com/thread/98428?ContentTypeID=1</link><pubDate>Fri, 08 Sep 2017 06:13:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7d252a45-e761-403f-8165-d3b2b988fd42</guid><dc:creator>senoo</dc:creator><description>&lt;p&gt;I&amp;#39;m sorry. Please advise about the effect on ble_conn_params module when using internal RC oscillation circuit. The area to implement the external XTAL and GPIP pins is insufficient, we are very pleased if the built-in RC oscillation circuit can be used.
Is there a case where the BLE communication application based on ble_app_uart is operating stably using the built-in RC oscillation circuit in the past?
I expect that to be okay.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The selection of LFCLK in the "ble_app_uart"</title><link>https://devzone.nordicsemi.com/thread/98427?ContentTypeID=1</link><pubDate>Fri, 08 Sep 2017 05:51:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1fd493e2-e96b-4c6e-81a5-fb12a0333fd4</guid><dc:creator>senoo</dc:creator><description>&lt;p&gt;Thanks to very much! Our product development has been accelerated! Regards, Senoo&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The selection of LFCLK in the "ble_app_uart"</title><link>https://devzone.nordicsemi.com/thread/98426?ContentTypeID=1</link><pubDate>Thu, 07 Sep 2017 14:45:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:02ccb8a2-8dd5-4493-8d8e-d9a6306c7d42</guid><dc:creator>J&amp;#248;rn</dc:creator><description>&lt;p&gt;Hello senoo.&lt;/p&gt;
&lt;p&gt;The BSP module uses app_timer, which uses the RTC module which again uses LFCLK as clock source. The BSP module handles buttons, LEDS, state indications etc. You can read more about the BSP module &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.0.0/lib_bsp.html?cp=4_0_0_3_6"&gt;here&lt;/a&gt;. LFCLK accuracy should not affect this in any notable way.&lt;/p&gt;
&lt;p&gt;The power management module also employs the app_timer module. The RTC uses very little power while running, and is therefore used to supervise sleep durations and to wake the CPU after a certain amount of time. LFCLK accuracy could potentially cause give wrong sleep duration results or wake the CPU prematurely/too late if the CPU sleeps for long periods of time.&lt;/p&gt;
&lt;p&gt;The ble_conn_params module also uses the app_timer module which uses the timer during negotiation routines. You can read more about the module &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.0.0/lib_ble_conn_params.html?cp=4_0_0_3_2_3"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Beyond this I haven&amp;#39;t found anything that should affect the performance of the ble_app_uart example.&lt;/p&gt;
&lt;p&gt;Do note that the synthesized LFCLK needs to have the HFCLK running to work, and has increased power consumption compared to the RC based LFCLK.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you look at the files ble_conn_params.h and ble_conn_params.c you will see it uses app_timer to track time between parameter negotiation attempts.&lt;/p&gt;
&lt;p&gt;The actual timings are defined in main as&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#define FIRST_CONN_PARAMS_UPDATE_DELAY  APP_TIMER_TICKS(5000)                       /**&amp;lt; Time from initiating event (connect or start of notification) to first time sd_ble_gap_conn_param_update is called (5 seconds). */
#define NEXT_CONN_PARAMS_UPDATE_DELAY   APP_TIMER_TICKS(30000)                      /**&amp;lt; Time between each call to sd_ble_gap_conn_param_update after the first call (30 seconds). */
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I conferred with a colleague and he pointed me to &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52832.Rev1.errata%2Fanomaly_832_146.html&amp;amp;cp=2_1_1_0_1_41"&gt;this errata&lt;/a&gt;. As stated in the workaround you should configure the RC oscillator for 500 ppm accuracy.&lt;/p&gt;
&lt;p&gt;500 ppm is within the Bluetooth specification, so using it for BLE communications should not be a problem.&lt;/p&gt;
&lt;p&gt;So with the errata in mind the RC oscillator has a accuracy of +/-500 ppm, while the XTAL on the nRF52 DK has a accuracy of +/-20 ppm. During the longest waiting period of 30 seconds the 20ppm crystal would, at worst case, be 600 us off. With 500 ppm you end up at 15 ms off.&lt;/p&gt;
&lt;p&gt;Do keep in mind that the current consumption of the RC oscillator is larger than with the crystal oscillator.&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Jørn Frøysa&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>