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

Scheduling with multi role coexist

Hi, I'm developing a project based on the Nordic UART with multi centrals and one peripheral coexistent based on SDK 15.2 and S132 V6.2,

In scheduling section of softdevice specification it says:

The probability of collision can be reduced (though not eliminated) if the central role link parameters are set as suggested in this section, and the following rules are applied for all roles:
• Interval of all roles have a common factor which is greater than or equal to ∑t event-Cx + (t ScanReserved + ScanWindow) + t SlaveEventNominal + t AdvEventMax

I don't quite understand why the probability of collision can be reduced when peripheral role and advertiser role have a common factor with central roles. As per my understand, peripheral role is scheduled absolutely asynchronous with central roles (moreover advertiser has a random delay in addition), so collisions can't be avoid whatever, so it seems not necessary to have a common factor between central and peripheral roles, all I need is just to guarantee that the interval of peripheral role is big enough, is it right?

Another question is, if I have a peripheral connection already, when initiating a new connection, will softdevice schedule with consider the existing connection to avoid the possibility of overlap?

thanks.

  • Hi

    Sorry for the slow reply, I have been out on travel this week.  

    It is true that peripheral connections will be asynchronous to the central connections, and will slowly drift over time as the timers in the different central devices will not be 100% accurate. 

    The point of the comment is that you get less conflicts if you make sure that your connection intervals for all links is larger than the sum of time needed to service all the roles (central links, peripheral links, plus scanning and advertiser activities). 

    As an example, say you have 4 connections with event length 2.5ms and you also have one scanner with scan window 10ms, you want to ensure all your connection intervals are larger than 20ms. 

    Central links should definitely have a common factor, while for peripheral links this is less important since they will not be synchronized. 

    I discussed this statement with one of the software developers, and he agreed that it was a bit confusing. I can request internally if we can improve this in a future documentation update. 

    Regarding question 2, new central connections will not take heed of existing peripheral connections, since they are expected to drift anyway. 

    Best regards
    Torbjørn

Related