Multirole (C and P) device misses connection events

Hi all, I am observing some strange behaviour on my two nRF52840 devices. They are running NCS v2.1.0 (Zephyr 3.1.99), one as central and peripheral, one as peripheral only. They both have BLE parameters similar to those inthe nRF throughput example.

The central is connected to the peripheral, as well as to another central (nRF52 DK). The connection params on both connections are 100ms, timeout 4s, latency 0. Data is sent from the peripheral (A) to the central (B), and from that to the DK (C). With a logic analyser I am measuring radio activity on A and B (RX_READY to DISABLED on A, TX_READY to DISABLED on B) and whenever there is a confirmation of BLE message sent/received (let's call it BLE confirmation) depending on the role (sent callback on A, received callback on B).

For most of the time, the connection seems healthy, and on the logic analyser this translates to the BLE confirmation signal and the radio activity signal occuring very closely to each other on each A-B connection event, apart from a missed packet let's say every 40 packets. However, after some time (sometimes ~20 minutes, it varies), during which data is transmitted continuously between the three devices, the BLE confirmations on A and B seem to half (roughly both synced confirmations happening every 200ms rather than every conn event), and the two devices miss packets and start queueing them up. This continues for a while (10 minutes maybe) and then automatically goes back to a healthy connection.

While looking closely at what goes on during this unhealthy state, I noticed that it is B that just isn't showing up to the connection events with A. A shows up, I can see the radio activity, but on B there is no radio activity during that event. This occurs more or less once on every two A-B connection events, but sometimes more often. However, B still shows up to every connection event with C and maintains what seems to be a reliable connection with C all throughout this state.

What could be causing this?

In the mean time I will run a similar setup while replacing A and B with two nRF DKs to isolate the antenna design element from the root cause.

Parents Reply Children
No Data
Related