Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BladeRF 2.0 micro xA4 Time Synchronization using Trigger fails #908

Open
omernaeem opened this issue Mar 5, 2023 · 1 comment
Open

BladeRF 2.0 micro xA4 Time Synchronization using Trigger fails #908

omernaeem opened this issue Mar 5, 2023 · 1 comment

Comments

@omernaeem
Copy link

I have been trying to get time synchronized output from 2x BladeRF 2.0 micros xA4 using trigger functionality but there is a random delay in samples between both streams. My setup is as follows:

I have 2x BladeRF 2.0 micro xA4, which have synchronized clock and are connected as follows:

  1. BladeRF_1 uses onboard clock and outputs clock as well
  2. BladeRF_2 uses external clock
  3. BladeRF_1 outclk is connected to BladeRF_1 inclk
  4. BladeRF_1 uses trigger as slave
  5. BladeRF_2 uses trigger as master
  6. Both are connected to a signal source via a splitter, with equal length paths.

Every time I run the flow graph, I get random delay in samples between both streams. I repeated the test using bladerf-cli similar to the example, https://github.com/Nuand/bladeRF/blob/master/host/examples/bladeRF-cli/sync_trx, and still get random delay in samples in both streams.

The clock looks synchronized, and I can manually delay samples in one stream to make both the signals fully overlap but the trigger functionality seems to have random delay.

Although the clock seems to be in sync just fine. I have tried three setups and all give identical results.
a) Both BladeRFs get clock in, from an external source (LeoBodnar GPSDO)
b) Both BladeRFs use onboard clock but get REF in from external GPSDO
c) BladeRF_1 configured to output clock and use onboard clock, BladeRF_2 configured to use external clock

However the timing isn't synchronized, in any of the scenarios I have tried:

  1. BladeRF_1 uses trigger as slave and BladeRF_2 uses trigger as master
  2. Both BladeRFs are slave, and I use an arduino to provide external trigger

I'm using the latest versions of everything:
FPGA Image v0.15.0
FX3 firmware image v2.4.0
Built from source libbladerf and gr-bladerf from 7e26f5a commit

@Jojeker
Copy link

Jojeker commented Apr 4, 2024

Hello,

we are currently trying to replicate this setup and understand the synchronization issue. Would you mind sharing the setup procedure you followed? We would like to do measurements on the minimum latency we can achieve when transmitting from one bladeRF to another.

Thank you very much for your help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants