Change the controller timing to compensate for clock drift.

Dear Team,

I have a question regarding the Broadcast Isochronous Stream (BIS) / controller timing adjustments.

I am using the nRF52840 DK and NCS 2.9.

I have two devices: a broadcaster and a receiver.

The broadcaster transmits a BIS, and the receiver is synchronized to this stream without issues. However, I would also like the receiver to transmit a BIS, effectively acting as a BIS repeater. While this generally works, I encounter a problem after some time.

The issue arises from clock drift: the broadcaster's BIS transmission timing relies on the broadcaster's clock. In contrast, the receiver's BIS transmission timing depends on the receiver's clock. Although both streams are transmitted using the same interval, clock drift can cause these transmissions to overlap at certain moments, leading to undefined behavior. The device may randomly choose to listen to the synchronized stream or transmit its own.

My question is: Can the receiver's transmissions be adjusted based on the broadcaster's transmissions to prevent this overlap? For example, can we change the BIS anchor point or the controller clock on the receiver to account for the clock drift?

Thank you!

Parents
  • Hi Rainer, 

    Thanks for the request. I checked internally and  unfortunately it's  not something our controller capable of at this moment. 
    I don't see a clean workaround except from the dirty hack to stop broadcasting and start again when they collide. But then the receiver(s) need to synced again after each broadcaster restart.  

Reply
  • Hi Rainer, 

    Thanks for the request. I checked internally and  unfortunately it's  not something our controller capable of at this moment. 
    I don't see a clean workaround except from the dirty hack to stop broadcasting and start again when they collide. But then the receiver(s) need to synced again after each broadcaster restart.  

Children
Related