<?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>Data Rate Measurment</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/5759/data-rate-measurment</link><description>Hello all.
while trying to calculate the data rate from bluetooth low energy , i have two questions 
 
 Is there a possibility to measure the data rate by using nrf sniffer? I tried using sniffer but in wireshark i found only advertisement packets</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 01 Mar 2016 04:29:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/5759/data-rate-measurment" /><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20140?ContentTypeID=1</link><pubDate>Tue, 01 Mar 2016 04:29:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c09e8625-01fd-41c2-b1b3-7022f8e92417</guid><dc:creator>trk</dc:creator><description>&lt;p&gt;sorry i dont work on nrf52 series. I am still working on nrf51.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20139?ContentTypeID=1</link><pubDate>Tue, 16 Feb 2016 17:31:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aff49315-a93f-476f-901b-6ea1e45c49aa</guid><dc:creator>ricewnr</dc:creator><description>&lt;p&gt;@trk I&amp;#39;m using the master control panel with an NRF51 dongle but running a modified throughput test code on the NRF52 DK. Having trouble connecting, so it&amp;#39;s probably a subtle bug in the code I modified for throughput test.&lt;/p&gt;
&lt;p&gt;Do you know of a throughput test code for the NRF52-DK?
I have posted a copy of the SDK and throughput test firmware I&amp;#39;ve tried to port over from 51 to 52.
&lt;a href="https://github.com/xyh1/NRF52-Test/tree/TT52SDK/nrf52_sdk/examples/ble_peripheral/nRF52-Test_1"&gt;github.com/.../nRF52-Test_1&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20138?ContentTypeID=1</link><pubDate>Tue, 16 Feb 2016 10:05:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f6fbc0d6-5727-4460-8530-dd6cfe0a3b15</guid><dc:creator>trk</dc:creator><description>&lt;p&gt;@ricewnr
If you use Ble as communication protocol, you can use master control panner to check data rate and data  that is transmitted through firmware.
open Master control pannel and scan for available ble devices, connect to your Ble profile. discover services and then enable services.
From master control pannel, we have time stamp for each packet, check number of packets that are received for 1 sec.
If you want more information regarding data, you can always check in nrf sniffer application.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20137?ContentTypeID=1</link><pubDate>Tue, 16 Feb 2016 03:56:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0f36841-a3bc-4ead-b730-3ee9bb5db817</guid><dc:creator>ricewnr</dc:creator><description>&lt;p&gt;How did you connect the throughput firmware test with the Master control panel?&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve modified the throughput firmware to work for NRF52 and am trying to figure out how to connect and get the throughput numbers&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20136?ContentTypeID=1</link><pubDate>Wed, 29 Apr 2015 07:59:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d94e06f3-9fd6-4c8f-b170-2c5af33980ac</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;Hi trk. Sorry for the late response. When you use S110 8.0.0 you need SDK 8.x.x, as stated in the &lt;a href="https://www.nordicsemi.com/eng/nordic/Products/nRF51822/ATTN-51/41917"&gt;nRF compatibility matrix&lt;/a&gt;. Going from SDK 7.x.x/6.x.x to SDK 8.x.x is a major update and therefore there are some API changes. When porting code between major SDKs, it is probably easiest to copy your custom code into an example/template code in the SDK 8.x.x. Another option is to use SDK 6.x.x/7.x.x together with S110 7.1.0 and unblock the CPU manually as described on &lt;a href="https://devzone.nordicsemi.com/question/18751/how-to-unblock-the-cpu-during-connection-intervals-with-s110-v710/"&gt;this thread&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20135?ContentTypeID=1</link><pubDate>Tue, 21 Apr 2015 21:57:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7972799-e767-4d76-885c-61772a60593e</guid><dc:creator>trk</dc:creator><description>&lt;p&gt;Hello stefan,
i ordered version 3 nrf51822, and when i used s110 v8.0 header files for radio unblocking. when i attach those header files to the keil environment and when i was trying to compile there are many errors shown up because some  of the soft device functions i used there are modified in new s110 v 8.0. so how can i use the new s110 along with v3 hardware.? with s110 v7.0 and version 3 hardware my code is working fine, but still radio is blocked.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20134?ContentTypeID=1</link><pubDate>Fri, 27 Mar 2015 16:23:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1d1243cd-8b95-4ab8-8c2c-b3f5c7fbdf85</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;Look at the chip markings on the nRF51 chip you have on your kit and compare that with the information in the &lt;a href="https://www.nordicsemi.com/eng/nordic/Products/nRF51822/ATTN-51/41917"&gt;nRF51 compatibility matrix&lt;/a&gt; to find out what chip revision you have. The matrix also maps development kits to chip revision directly&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20133?ContentTypeID=1</link><pubDate>Fri, 27 Mar 2015 16:21:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e89a2b30-a7ea-4d33-93de-7632db206cf0</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;Yes, if you want to use a more recent softdevice, then you need to copy the .h files given with the softdevice you want to use into e.g. \nrf51_sdk_v6_1_0_b2ec2e6\nrf51822\Include\s110 folder, if you are using SDK 6.1. However, any application that runs with S110 7.0.0 should also work fine with S110 7.1.0, since it is a minor softdevice update, so no reason to update header files unless you intend to use additional features available in S110 7.1.0. However, when going from i.e. S110 6.0.0 to S110 7.1.0, that is a major softdevice update and then it may be easier to simply copy your custom code into a SDK that is directly compatible with S110 7.1.0, i.e. SDK 6.x or SDK 7.x, see the &lt;a href="https://www.nordicsemi.com/eng/nordic/Products/nRF51822/ATTN-51/41917"&gt;nRF51 compatibility matrix&lt;/a&gt; for further information on what is compatible.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20132?ContentTypeID=1</link><pubDate>Fri, 27 Mar 2015 08:18:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1ba54f8-7b1e-4394-962e-91306bd1e0a3</guid><dc:creator>trk</dc:creator><description>&lt;p&gt;hello stefan,
i want to use s110 v 7.1.0. I was trying to replace  .h files from new s110 v 7.1.0 to location in older .h files location in pc. I want to confirm that is that correct method to replace .h files from new s110 soft device and is there any changes to do in .h files? Also i have trouble finding the version of hardware that i am using. How can i find out which version i am using?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20131?ContentTypeID=1</link><pubDate>Fri, 27 Mar 2015 07:31:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c38867e0-07a0-41fe-ac21-991310d99fd7</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;Hi trk.  To unblock the CPU during radio event you need S110 7.1. S110 7.0 does not have this capability, i.e. you can not unblock the CPU with S110 7.0. If you however use S110 8.0 then the CPU is unblocked by default. You also need third revision of the nRF51 hardware&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20130?ContentTypeID=1</link><pubDate>Thu, 26 Mar 2015 20:21:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:82d6da01-1fcb-467a-9baf-0bc4bddada89</guid><dc:creator>trk</dc:creator><description>&lt;p&gt;Hello stefan.,
While i was checking my data rate by following &lt;a href="https://devzone.nordicsemi.com/question/18751/how-to-unblock-the-cpu-during-connection-intervals-with-s110-v710/"&gt;devzone.nordicsemi.com/.../&lt;/a&gt; link by removing the old s110 soft .h files and replacing the new s110 v7.0 files. I am achieving the same data rate as 400 packets per second. As per that link the radio shouldnt be blocked., but i was still achieving 400 packets per sec by settting writing interval as 1ms and connection interval as 7.5 ms&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20141?ContentTypeID=1</link><pubDate>Wed, 11 Mar 2015 21:48:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bb23ce9f-9e74-4c14-9932-8a2a71270873</guid><dc:creator>trk</dc:creator><description>&lt;p&gt;Thank you for reply stefan,
I tried calculating the data rate by setting writing interval to nrf51822 as 1ms and connection interval as 7.5 ms.
As per calculation as pre assumed there are 7 buffers in nrf51822., i need to achieve
(1000*7)/7.5 = 933 packets per second.
but when i check with master control pannel i can recieve only 413 packets per second. Am i missing something?
And i read in another forms as CPU will be blocked for 1.6 ms , if we write two buffers with
writing interval of 1ms. and if we write seven buffers with writing interval of 1ms., CPU is blocked for 5.6ms. Is that correct?
CPU blocking time source from s110softdevicespecification document v1.1
If CPU is blocked for 5.6ms writing seven buffers with writing interval of 1ms. I can able to write only two buffers i.e 2 packets per 7.5 ms.,  i.e 233 packets per second. But i can achieve 411 packets per second? Can i get answer to these questions?
Thank you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20129?ContentTypeID=1</link><pubDate>Tue, 03 Mar 2015 12:40:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f0113b6e-6b72-499a-9997-86b1008f057d</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;I think the master emulator firmware v0.9 had a limitation of 1 packet per connection interval. The master emulator firmware v0.10 can however handle up to 6 packets per connection interval and 7.5ms connection interval.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20128?ContentTypeID=1</link><pubDate>Fri, 27 Feb 2015 13:45:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c6b429f7-6c02-4ed9-978c-ef9ec87c199b</guid><dc:creator>John</dc:creator><description>&lt;p&gt;Hi Stefan,&lt;/p&gt;
&lt;p&gt;Good answer. I just wanted to ask if the MCP had a limit on the number of packets per connection interval which also may impact trk&amp;#39;s testing. I seem to recall at one point it was limited to one packet per connection interval, but I could be wrong or it could be fixed by now.&lt;/p&gt;
&lt;p&gt;John&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Data Rate Measurment</title><link>https://devzone.nordicsemi.com/thread/20127?ContentTypeID=1</link><pubDate>Fri, 27 Feb 2015 13:33:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:39660db2-742a-4307-aa72-4354d837c554</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;The packet rate depends on at least two factors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connection interval&lt;/li&gt;
&lt;li&gt;how many packets are sent in each connection interval&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The softdevice has buffer for 7 packets per link, so if you fill up the buffers constantly, you should be seeing the maximum packet rate achievable.&lt;/p&gt;
&lt;p&gt;It is different from central to central device how many packets they can receive in each interval and what minimum connection interval they support, see &lt;a href="https://devzone.nordicsemi.com/question/3440/how-do-i-calculate-throughput-for-a-ble-link/#reply-3441"&gt;this thread&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It also depends on what transfer method you choose, how much packet rate you will get, see &lt;a href="https://devzone.nordicsemi.com/blogs/32/how-different-ble-packet-types-influence-throughpu/"&gt;this blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In various example codes, connection interval is updated some time after a connection is established, or some time after server notifications are enabled (&amp;quot;Enable Services&amp;quot; on Master Control Panel), see &lt;a href="https://devzone.nordicsemi.com/question/12545/update-connection-parameter-programmatically/"&gt;this thread&lt;/a&gt;. This might be one of the causes that you do not see consistency in the packet rate.&lt;/p&gt;
&lt;p&gt;There is a data throughput test firmware &lt;a href="https://github.com/NordicSemiconductor/nrf51-ble-app-lbs/tree/throughput-test-5.2.0"&gt;here&lt;/a&gt;, that could be handy to try out.&lt;/p&gt;
&lt;p&gt;Hopefully, this will get you back on track. Otherwise, let me know.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 12.3.2015&lt;/strong&gt;
I have tested the throughput with the througput test firmware I pointed to earlier and the Master Control Panel. I get 47,060 bps in my test when the Master Control Panel has the default connection interval of 20ms. That is very close to the theoretical maximum when sending 6 packet per connection interval and each packet containing the maximum of 20 bytes&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1/0.02 connInt/second * 6 packets/connInt * 20 bytes/packet * 8 bits/byte = 48,000 bps
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If I go to File -&amp;gt; Options in the Master Control Panel and configure the connection interval to the minimum of 7.5ms, then I get 114,633 bps throughput. The theoretical maximum is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1/0.0075 connInt/second * 6 packets/connInt * 20 bytes/packet * 8 bits/byte = 128,000 bps
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I am not sure why the throughput is ~10% less than the theoretical maximum in my case. For now I suspect two of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;I have carried out this test with second revision nRF51 harware (see the &lt;a href="https://www.nordicsemi.com/eng/nordic/Products/nRF51822/ATTN-51/41917"&gt;nRF51 compatibility matrix&lt;/a&gt; to identify second revision harware chips), which has limited CPU time when sending 6 packets per connection event and the connection interval is 7.5ms. The CPU is blocked for about 6ms during the radio event when sending 6 packets, so there is only 1.5ms left for the application to process data before each radio event. It might be that the available application CPU time is not sufficient. The latest third revision nRF51 hardware does however not &lt;a href="https://devzone.nordicsemi.com/question/18751/how-to-unblock-the-cpu-during-connection-intervals-with-s110-v710/"&gt;block the radio&lt;/a&gt; during the whole radio event, and therefore might have better throughput performance in this case.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I am in an environment with a lot of BLE radio activity. Perhaps packet collision is causing some packets to be lost, which requires occasional re-transmission of packets, therefore it is possibly degrading the throughput.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Update 12.5.2015&lt;/strong&gt;
I test the maximum througput again now with second revision nRF51 and I get the expected 128.000 kbps, so I suspect that the ~10% degraded throughput that I measured in March was because an extensive BLE/2.4GHz radio activity at that time in my office.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>