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

How are the link resources shared among multi peripherals?

Dear friends,

           I am connecting multi peripherals to single central, and i am using nrf53832 devices. How are the link resources shared among multi peripherals? In addition, can i schedule the link resources according to some policies? Thank u.

Parents Reply Children
  • Yes, It is time division access for the shared resources. That is where the scheduler comes into picture which gives a time slot for a peripheral link to run at a particular time.

  • does each Peripheral have to use a separate Connection Interval? e.g., if i set the Connection Interval as 27.5ms, with 20 Peripherals, it cannot transmit it's next frame for 20 x 27.5ms (550ms!!!) when its turn comes back around and thus is not real-time anymore. Or multiple Peripherals can transmit their frame during a Connection Interval?  Can i get a detailed scheduling about Multilink communication?

  • If every link is using up the whole connection interval (event length time) to transmit the packet, then when creating a connection for the 20th peripheral, the softdevice will check that this connection can sustain 550ms of delay between each packet. If not, then it should not create a connection at all.

    But if the link transmit only a single small packet for a connection interval of 20ms, then it does not have to use all 20ms and the softdevice will close this event after transmission of the first packet. It will use the rest of the time to see if it can start any other link. The scheduler will try to fill all the gaps in most efficient way possible. But if the collisions in time are in a way that the 20th link has to wait 550 ms worst case, then it can happen. 

  • thank u very much! Can i get a detailed scheduling policy from S132 about Multilink communication?

  • The scheduling policy is simple, 

    After the link time is about to expire in that connection interval, that link requests the next timeslot to the scheduler. The scheduler will approve or reject it based on timeslot availability (no conflicts from previous requests) or it follows this priority model on conflict (conflict means that timeslot is already reserved by earlier link).. We do not think we have any other document to give more insights into this.

    We do not have any document describing how the scheduler behaves if the link has transmitted fewer packets than it could, i.e, if the link did not use its full connection event length time.

Related