This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE performance estimation of nRF51822 with S120 softdevice

Hi community, Till now I developed some BLE applications on the TI-controller CC2540, but for my new project, it seems to bee not fast enough. So I'm seaching for an alternative. The nRF51822 seems to be very interesting. But befor getting too deep into the nordic world, I need an estimation about the BLE-performance of a nRF51822 in central role. I want to bild some kind of star network with up to 12 peripherals: 4 output devices, 4 fast input devices and 4 remote controllers. My idea would be the following:

8 simultaneous connections: - 4x output device with about 200ms connection interval - 4x fast input device with 25ms connection interval (max. 50ms allowed) Additional observing for the 4 remote controllers, wich broadcast their data with 20ms advertising intervall. Additional UART with 57600/115200 baud for exchange the I/O data with a second controller.

Is the nRF51822 fast enough for this topology? What latency will the boadcast data have, until they reach the central application layer? It should not be longer than 200ms. The cc2540 needed about 100ms, but only when there is no additional connection. Whit just one connection the latency for advertising data was between 100ms and 1sec!

If the nRF51822 performance isn't high enough: Would this topology work with just the 4 fast simultaneous connections (25ms)? Where are the limits? Are there any other suggestions?

I would be happy for a quick answer, because my project seems to die, if i can't find a faster central.

Thanks, Simon

  • This is really hard to give a definite answer to without testing explicitly, but I would expect this to be doable with an nRF51822 and the S120 Central softdevice.

    As you can see in the S120 SoftDevice specification (highly recommended reading anyway!), we recommend at least 20 ms connection interval to be able to keep a connection with 8 Peripherals simultaneously. If you additionally want to scan, you should add the scan window on top of this, so if you for instance need 30 ms scan window, the recommended minimum interval would be 50 ms. Having 8 links with 50 ms connection interval, plus a scanner with 50 ms interval and 30 ms window should work without problems, and this seems to be (barely) within your requirements.

    However, since not all your links require short connection intervals, it may be possible to reduce the interval for some of them, while keeping scanning. This may however cause some lost packets on the link, but should be handled in such way so that the link itself is not dropped. You can take a look at chapter 7.2 for examples of how a scanner will behave. For instance, by prolonging the interval for the scanner, you can get longer scan periods once in a while, but at the cost of dropping one connection event with all your devices.

    When scanning, all advertisement packets received should be delivered to the application instantaneously when they are received, without any delay.

    As you can see from the above, there is a tradeoff and some judgment calls to be made here, to find the optimal parameters for your exact application, but bottom line is that I think it should be doable.

    Edit: Elaborate a bit on how the longer interval for some devices may affect scanning, and the overall performance.

  • Wow, That was a quick and goot answer. I registered an account to read the chapters in the S120 spec. This is a quiet good documentation. Informations like this I always missed in the TI-support. I think I'll dive deeper into the nRF51822 an buy all the developers stuff.

    Thank you Ole

Related