<?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>About NRF52833 transmission delay</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/112437/about-nrf52833-transmission-delay</link><description>Take Bluetooth UART as an example, there will be a delay in the process of sending data from the peripheral device to the central device to receive the data. 
 What factors will affect this delay? In theory, what is the minimum delay? 
 We want the central</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 28 Jun 2024 20:07:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/112437/about-nrf52833-transmission-delay" /><item><title>RE: About NRF52833 transmission delay</title><link>https://devzone.nordicsemi.com/thread/491414?ContentTypeID=1</link><pubDate>Fri, 28 Jun 2024 20:07:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ae6343cc-4111-470c-86f4-aabd2d8380db</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Did you try turning down the connection interval to see if you get most packets through before 40ms passes?&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About NRF52833 transmission delay</title><link>https://devzone.nordicsemi.com/thread/491205?ContentTypeID=1</link><pubDate>Fri, 28 Jun 2024 02:58:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9d0b4d17-1349-4963-b9d6-456a5a59c9d8</guid><dc:creator>Lianghaisen</dc:creator><description>&lt;p&gt;&lt;span class="tgt" data-section="0" data-sentence="0" data-group="0-0"&gt;The results of the custom hardware and development board measurements were similar.&lt;/span&gt;&lt;span class="tgt" data-section="0" data-sentence="1" data-group="0-1"&gt; Thank you very much!&lt;/span&gt;&lt;/p&gt;
&lt;div id="qb-sougou-search" style="display:none;"&gt;
&lt;p&gt;搜索&lt;/p&gt;
&lt;p class="last-btn"&gt;复制&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About NRF52833 transmission delay</title><link>https://devzone.nordicsemi.com/thread/490962?ContentTypeID=1</link><pubDate>Wed, 26 Jun 2024 22:24:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1e921c54-0294-4393-9af7-3be6d9fd854f</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;What HW are you running your tests on? Are you using 2x nRF52833 DKs from Nordic? Or custom hardware?&lt;/p&gt;
&lt;p&gt;Bluetooth Low Energy has retransmissions until the packets are acknowledged. So if a packet is lost on air, it will be retransmitted until it is ACKed. This can go through on the first attempt, but if it is not ACKed then, it will be retransmitted in the next connection interval.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A transmission delay of 2ms is based on luck. I guess you measure the time it takes from you queue up the packet until it is received on the other side. If you queue it right before the connection event (the event that occurs every connection interval), then it may be sent directly after, and received by the receiver. But in general, it may take up to one connection interval for the packet to be aired (if you queue it directly after, or too short before the previous connection event).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you need it to be less than 40ms&amp;nbsp;&lt;strong&gt;and you are using 2x nRF devices,&amp;nbsp;&lt;/strong&gt;you should set the connection interval to 7.5ms.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In the peripheral application, this is set by setting&amp;nbsp;MIN_CONN_INTERVAL and&amp;nbsp;MAX_CONN_INTERVAL (both close to the top of main.c) to:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;MSEC_TO_UNITS(7.5, UNIT_1_25_MS)&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;On the central side, you need to make sure it accepts 7.5 ms as a connection interval. In SDK17.1.0, the central applications typically set this in sdk_config.h. Make sure that the connection interval you want to use is between&lt;/p&gt;
&lt;p&gt;NRF_BLE_SCAN_MIN_CONNECTION_INTERVAL&lt;br /&gt;and&lt;br /&gt;NRF_BLE_SCAN_MAX_CONNECTION_INTERVAL&lt;/p&gt;
&lt;p&gt;(so basically, set the NRRF_BLE_SCAN_MIN_CONNECTION_INTERVAL to 7.5, so that it will accept the peripheral&amp;#39;s request of 7.5ms).&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About NRF52833 transmission delay</title><link>https://devzone.nordicsemi.com/thread/490737?ContentTypeID=1</link><pubDate>Wed, 26 Jun 2024 02:50:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9255925e-97ac-45f8-9cfb-17f57985fd76</guid><dc:creator>Lianghaisen</dc:creator><description>&lt;p class="tgt" data-section="0"&gt;&lt;span class="tgt" data-section="0" data-sentence="0" data-group="0-0"&gt;Our company is engaged in medical equipment, and the SDK we use is nRF5 SDK 17.1.&lt;/span&gt;&lt;span class="tgt" data-section="0" data-sentence="1" data-group="0-1"&gt; For NCS, we haven&amp;#39;t adapted yet.&lt;/span&gt;&lt;span class="tgt" data-section="0" data-sentence="2" data-group="0-2"&gt; We are already developing the product.&lt;/span&gt;&lt;span class="tgt" data-section="0" data-sentence="3" data-group="0-3"&gt; Our customers require a transmission delay of less than 40ms.&lt;/span&gt;&lt;/p&gt;
&lt;p class="tgt" data-section="1"&gt;&lt;span class="tgt" data-section="1" data-sentence="0" data-group="1-0"&gt;The reference codes we use are examples\ble_peripheral\ble_app_uart and examples\ble_central\ble_app_uart_c.&lt;/span&gt;&lt;/p&gt;
&lt;p class="tgt" data-section="2"&gt;&lt;span class="tgt" data-section="2" data-sentence="0" data-group="2-0"&gt;We tested 20 times, and the average transmission delay was 43.22ms.&lt;/span&gt;&lt;span class="tgt" data-section="2" data-sentence="1" data-group="2-1"&gt; In the test, we only send one byte to test.&lt;/span&gt;&lt;/p&gt;
&lt;p class="tgt" data-section="3"&gt;&lt;span class="tgt" data-section="3" data-sentence="0" data-group="3-0"&gt;I have a question, why is the transmission delay different every time, the minimum transmission delay is 2ms, the maximum transmission delay is 105.2ms.&lt;/span&gt;&lt;/p&gt;
&lt;p class="tgt" data-section="3"&gt;&lt;span class="tgt" data-section="3" data-sentence="0" data-group="3-0"&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1719370166537v1.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="tgt" data-section="3"&gt;&lt;span class="tgt" data-section="3" data-sentence="0" data-group="3-0"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div id="qb-sougou-search" style="display:none;"&gt;
&lt;p&gt;搜索&lt;/p&gt;
&lt;p class="last-btn"&gt;复制&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: About NRF52833 transmission delay</title><link>https://devzone.nordicsemi.com/thread/490670?ContentTypeID=1</link><pubDate>Tue, 25 Jun 2024 13:37:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8652a385-b443-45fb-8c29-04a8a5885be3</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
[quote user=""]What factors will affect this delay?[/quote]
&lt;p&gt;This is decided by something called the &amp;quot;Connection Interval&amp;quot;. In a BLE connection, this is the interval at which the two devices will communicate. When they are done sending the packets that are queued up (or empty packets if nothing is queued up), then they will both go to sleep, and wake up when the next connection interval has passed.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The minium connection interval is 7.5ms, since this is the minium allowed connection interval from the Bluetooth Specification. Note that it is the central device that has the final saying when negotiating the connection interval, so if the central device is not controlled by you (e.g. if it is a mobile phone), you may not get the minium connection interval. But if you control both the central and the peripheral (for example if both are nRF devices), then you can get the minimum connection interval of 7.5ms.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Programmatically, this depends on what SDK you are using. Have you started development? Are you using the &amp;quot;old&amp;quot; nRF5 SDK or the nRF Connect SDK (NCS)? Whether it is one or the other, you should be able to figure out how to set it by searching here on DevZone, but let me know what SDK you are using if you can&amp;#39;t find it, and I will help you out.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>