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

Multi connection handling

Hi,

your Central is able to hold 8 connections with peripherals. Perhaps someone is able to explain how more than one connection is handled? If only one Central is connected to a Peripheral everything is clear to me. But how are 2 or more Peripherals connected to a Central able to exchange data simultaneously? Thanks!

  • Could you be a bit more specific? Do you mean at the application level or how the SoftDevice handles this? If SoftDevice, its multilink scheduling is explained here.

  • Let me create a scenario:

    One central is connected to a Peripheral. Data is exchanging in the connection. (Chanels are hoping). Now a second connection to the same central is established. The central has to manage two peripherals now. In my opinion only one connection can use the RF interface. So both connection are hold. How does the SD or Stack manage the connection. Sometimes both peripherals want to communicate with the Central at the same time. How is the channel hopping managed?

  • Since you mention 8 connections I'm assuming you are talking about the S120 SoftDevice. Multi-link Central role scheduling is explained in Section 11 in S120 SoftDevice specification v2.1.

    In my opinion only one connection can use the RF interface.

    Only on connection can use the radio at one point in time, so if you have two connections that overlap, the connection event of one of them will be dropped. More information about this in Section 11.4.

    Sometimes both peripherals want to communicate with the Central at the same time.

    If a peripheral wants to communicate with the central it has to do this in a connection event, which happends every connection interval. Normally the connection events of two (or more) connected peripherals will not happen at the same time (very often), but this depends on what connection parameters that are used. The more connected peripherals and the tighter connection parameters used the higher is the chance for dropping a connection event. Dropping one event will not normally lead to a connection loss (depends on what the connection parameters), but it can lead to a delay in tranferring data from the peripheral to the central (or the vise versa).

    How is the channel hopping managed?

    There is no problem changing channels, this is done all the time. For example when you are doing advertising, every advertisement is sent on the three advertising channels consecutively.

  • Thanks Petter, this is what I was searching for.

Related