07-09-2012 08:26 AM
I am trying to synchronize 5 USRP2 boards and receive data. It works when I choose 'Now' in 'apply timestamp' of 'niUSRP Set Time'. However, when I switch to 'Next Timebase Edge', why doesn't it work? It always comes to be the errer of 'A stream command was issued in the past'. Is it caused by hardware or software? How to fix it?
The test file is in the attachment.
Solved! Go to Solution.
07-10-2012 05:57 PM
hi Yikai, did you try to run the examples niUSRP EX Tx Finite Sync and niUSRP EX Rx Finite Sync? To connect more than two USRP devices you will need matched length cables, an external 10 MHz clock source to use for REF IN, and a pulse per second source for the PPS IN so that all USRPs will be in phase and synchronized with each other. We also recommend that each USRP device have its own dedicated gigabit ethernet connection to the computer to higher bandwidth (compared to a gigabit switch and one gigabit ethernet adapter).
If you still came across errors, you may be assisted better if you post this question at NI USRP and provide the error sceenshots as well.
07-11-2012 03:54 AM
I belive the error is occuring because you have set the reference clocks incorrectly. depending on how you have connected them all togeth you need to set one of the USRP's as the master and the rest to run off of that. how you have it set up at the moment they are all set as slaves and nothing is producing a clock source. Have a look at http://www.ni.com/white-paper/13878/en and see how each of the USRPs clocks have been indevidually configured.
Let us know how you get on.
07-11-2012 07:13 AM
Hi, Yupeng
I am very sure I have synchronized the boards with a signal generator and a waveform generator. The signal generator generates a 10 MHz signal with amplitude of -5.4 dBm. The generated signal then goes through an amplifier to have a peak-to-peak amplitude from 2.5V to 3V. After that, the output is connected to REF CLOCK ports of the receiver boards through a splitter. The waveform generator creates a square wave with Vpp = 5V, Vp = 5V and frequency of 1 Hz. It connects to PPS IN ports of the receiver boards via a splitter. All cables have the same length.
The problem is that it can work when I choose 'Now' in 'apply timestamp' of 'niUSRP Set Time'. However, it doesn't work when 'Next Timebase Edge' is applied.
Thanks for your reply very much.
Yikai
07-11-2012 07:15 AM
Hi, Matthew Trott
I am very sure I have synchronized the boards with a signal generator and a waveform generator. The signal generator generates a 10 MHz signal with amplitude of -5.4 dBm. The generated signal then goes through an amplifier to have a peak-to-peak amplitude from 2.5V to 3V. After that, the output is connected to REF CLOCK ports of the receiver boards through a splitter. The waveform generator creates a square wave with Vpp = 5V, Vp = 5V and frequency of 1 Hz. It connects to PPS IN ports of the receiver boards via a splitter. All cables have the same length.
The problem is that it can work when I choose 'Now' in 'apply timestamp' of 'niUSRP Set Time'. However, it doesn't work when 'Next Timebase Edge' is applied.
Thanks for your reply very much.
Yikai
07-11-2012 09:15 AM
The set time vi depends on where it is placed in the task as to which setting you need in the Enum. Now is required before the task is started because even though you have supplied an external source we have not looked at what it is at this point.
After the task has been started Next timebase edge becomes a valid choice because we are now looking for a timebase to use. This makes the below code perfectly valid as an example of what I mean.
I hope this explains the issue