Behavior of 2 concurrent peripheral links


I would like to clear some of my confusion on multi peripheral links behavior.

My context: SDK 15.2/SD610 on 3 52840 nodes.

I am using multiple peripheral links feature of SDK, 1x52840 as peripheral and 2x52840 as centrals. Each Central connects to the single peripheral directly.

On both central nodes I set connection interval to 15ms, and gap event length to 6units(7.5ms). The same setting also applies to the peripheral node. It is expected that in one connection interval that 2 packets can be sent per link.

The question is, can this peripheral node send 1 packet to each of the connected central node within one connection interval(15ms)?

I kinda of think this is not possible as according to what connection interval is defined, each central node has its own timing and anchor point when connection event is open, this may results in conflicts in peripheral node. So the peripheral can only send 1 packet in one interval and wait till this event is closed it can then starts sending next packet to another node. In other word, the expected throughput of this peripheral node can not be achieved by using the settings above.

Not sure if I understand this correctly. Can you help to clarify the exact behavior of soft device in this case?

Thank you.

Parents Reply
  • Thank you  for the hint. I think i basically got the idea.

    2 more related issues would like to confirm:

    1) in SDS scheduling chapter it is recommended that the connection interval should be set to:

    • tevent-Cx + (tScanReserved ScanWindow) + tSlaveEventNominal tAdvEventMax

    In my case the scanning and advertising are all stopped after connection established. Will it be OK if i skip the scaning and adv parts in above formula in this case?

    2) During test i found the scanner failed to discover advertising peripheral node quite often, and sometimes failed to connect due to peer disconnected. The scanning window is set to 80 units and interval is 160 units. Is there any way to improve it?