The scheduling of Peripheral links is done by the peer devices. The Peripheral does not influence this scheduling, and the links may at some point collide with each other due to clock drifting. Therefore, when scheduling multiple peripheral links, the connection intervals and connection event lengths should be chosen in a way that leaves enough free time to handle collisions.
When collisions occur, they will be resolved using a priority mechanism. The priority mechanism will prioritize the connections in a fair manner, but still try to avoid any connections timing out.
When running multiple Peripherals, a recommended configuration for having fewer colliding Peripherals is to set a short event length and enable the Connection Event Length Extension in the SoftDevice (see Connection timing with Connection Event Length Extension).
When long Link Layer (LL) Data Channel PDUs are in use, it is recommended to increase the event
length of a connection. For example, LL Data Channel PDUs are by default 27 bytes in
size. With an event length of 3.75 ms, it is possible to send three full-sized packet pairs on
LE 1M PHY in one connection event. Therefore, when increasing the LL Data Channel PDU
size to 251 bytes, the event length should be increased to 15 ms. To calculate how much time
should be added (in ms), use the following formula: ((
size
- 27) * 8 * 2 *
pairs) / 1000
.
Timing-activities other than Bluetooth® Low Energy role events, such as Flash access and Radio Timeslot API, also use the same time space as all other timing-activities. Hence, they are more likely to collide.