This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Event to Event offset time smaller then specs show

Hi!

I'm having a little trouble with my measurements. A little situation sketch:

I'm using two nRF51822 DK's who act as peripheral and connect to a nRF51 Dongle that acts as central. The peripherals use application code that continuously changes (increments) a certain characteristic and sends notifications about that to the central. Because of that, the peripheral each send the max. number of packets per interval that the central allows to the central (in this case 3, cause this is what the newest firmware for the Dongle allows as max.), each packet containing a maximum of 20 bytes user payload of course. Both peripherals use HIGH BW configuration (both TX and RX), or in other words, the default setting.

The goal of this is to sniff the packet flow and prove that the provisioning of connection events happens according to the specs of the SoftDevice (s130 v2). According to those specs, I made some calculations. The tEEO should be 6.9 ms for both peripheral connection events because we are using HIGH BW configuration for both. So the minimal time between two events, each of another peripheral, should be 6.9 ms. This gives 6.9 + 6.9 = 13.8 ms as minimum boundary for the connection interval. This gives 15 ms as minimal connection interval. Using this interval, the situation was implemented. After both connections are established and the notifications from both peripherals are being send, the sniffer shows something like the figures below:

image description

image description

Now my question is: How is it that the time between the C0 and C1 event is 3.792 ms, which is far less then the theoretical minimum of 6.9 ms? The second figure is there to give a complete picture, showing that the next C0 event is indeed 15 ms away.

Thanks for your help in advance.

Gr

Mathias

  • As I said I don't know how long your Slave "full" PDUs are but it should be easy to compute the length as on-air speed is 1MHz exactly and all the time. So you are now happy with the picture or anything unclear?

  • Well, what I actually find strange is why the time between the start of the event for the first peripheral and the start of the event for the second peripheral, is only 3792 µs while the SoftDevice s130 specs show that this is minimally 6900 µs for both HIGH BW configuration?

  • Then you probably misinterpret SD specification because as we both agreed above that the only static points in time of BLE link are starts of connection intervals, all the rest is relative to them based on PDU length and fixed air-speed or 150-microsecond gaps. And all these values perfectly match your trace... so?

  • Btw. value 3792us means 3.792ms but there is perfect silence at that time of each of your connection interval (because we counted all PDU lengths and gaps and arrived to ~2ms, right?). So what exactly this number means according to your tools?

  • Hmm I think it's maybe less because only 3 packets are being send per interval then. Older Dongle firmware supported 6 packets per interval at pretty low connection intervals (7.5 - 20 ms) but the newer firmware doesn't apparently (max. 3 as you can see).

Related