PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

PXI & Labview : synchronize 2 VST

Dear Sirs,

 

I have a question regarding the synchronization of data stream between two VSTs.

Me and my colleague are working to a project involving some measurements of Doherty power amplifiers, and we are trying to reach this by using the 2 PXIe-5645R interfaces.

 

Our current task would be to generate two sinusoidal tones independently on two different VSTs. In order to do this we started from the VST streaming example we have found in Labview.

We have just doubled the code for one VST and we have configured it to stream over our second PXIe-5645R.  In this way we can generate our signals independently and change the signal´s phase arbitrarily via software.

 

The problem is that the two streaming channels are not synchronized, so the phase of the two signals is continuously changing in time. We would need to synchronize the two channel in such a way that our sinusoids are synchroniyed and in phase with each other when we set a 0 phase on both channels, and that we can control the phase on both channels separately.

 

Our first try was to use the same software trigger to activate both the streaming channels at the same time, but this doesn´t seem to have any effect on the signals. Is there any simple way to reach this kind of synchronization on LabView?

 

best regards,

 Giovanni

Message 1 of 10
(6,671 Views)

Hello WissMA82,

 

attached a example that synchronise the RFSG devices. I hope this helps you to understand the

technic how this can be done. Copy only the code did not help, you have to share a

reference clock and a start trigger to synchronice devices together. In your explanation the start

trigger is shared by software in the example this is done in hardware.

 

I hope it helps.

best regards
Alexander
0 Kudos
Message 2 of 10
(6,649 Views)

Hello Duffy,

 

thanks a lot for the example, me and my colleague are trying to work out something similar, starting from that one.

I would have a further question about the example. When you say that the trigger in your example the triggerd is shared via hardware, do you mean that the trigger is shared via the PXI FPGA configuration? Or the configuration of the MAX utility?

 

BR,

 Giovanni

0 Kudos
Message 3 of 10
(6,624 Views)

Hello WissMA82,

 

if you are looking into the example you can see the trigger is shared between the devices

over the backplane from your PXI system.

best regards
Alexander
0 Kudos
Message 4 of 10
(6,613 Views)

Hello, I am working with Giovanni.

Looking at your example I was searching the way to look at the FPGA program VI file.

Which is exactly the loaded bitfile in the PXI?

Is automatically choosen in the library or there is also the possibility to see and modify it?

I ask that beacause we would like to use both side (Host software and FPGA) for our applications.

 

Best regards

 

Giuseppe

0 Kudos
Message 5 of 10
(6,601 Views)

Hello Giuseppe

 

have you seen this examples

FPGA Servoing for Power Amplifier Test on the NI PXIe-5644R

NI RFFE Host Example for the PXIe-5644/45R

in both the FPGA will be programmed so you have the possibility to modify the code.

best regards
Alexander
0 Kudos
Message 6 of 10
(6,594 Views)

For the original synchronization issue mentioned in this thread, I think you are running into a few problems. I strongly suggest you look at the 'VST Streaming with MIMO (Host).vi' included in the VST Streaming sample project that I believe you are using.

 

One problem is that you probably have both VSTs running using their OnboardClock as their reference clocks, which causes their sample clocks to be out of sync. If you change both VSTs to use the PXI_CLK (assuming they are in the same PXI chassis), then the sample clocks will be phase locked. See VI I mentioned.

 

Another problem is that you need to synchronize the start generation trigger, so both devices start at the exact same time. Again, see VI mentioned above.

 

If you are using the RF Out ports, then you might want to daisy chain the LOs of the two VSTs. See document at the top of the block diagram of the VI mentioned above.

 

Hope this helps.

 

Depending upon your application, there is also the route of using a higher-level instrument driver (RFSG and RFSA) and do some FPGA customization through FPGA Extensions:  http://www.ni.com/white-paper/14646/en/

 

 

0 Kudos
Message 7 of 10
(6,585 Views)

Thanks for the answer.

We are working with MIMO VST project since a month.

There are a couple of problems we are facing with:

1) we are interested to generate a couple of sinchronized CW signals with two indipendent phases.

To do that we used MIMO VST project and we generated a sequence of different sinusoids each with a different frequency.

We used a while to load every time a new waveform and it seems to work.

2) the trigger signal is made by software and it is feeded into the master, after the master passes it into the slaves.

The problem is that the trigger generated by software is not deterministic and everytime we load a new sinusoid a new phase shift between the two transmitters is present.

3) Looking at the FPGA image the only way to use a perfect trigger is to use the PFI0 signal in the two modules we are using.

Isn't it? Why can't we use the trig0-7 and control them through the buses to have a deterministic trigger?

 

Best regards

 

Giuseppe

 

 

 

0 Kudos
Message 8 of 10
(6,570 Views)

 


@WissMA82 wrote:

...

To do that we used MIMO VST project and we generated a sequence of different sinusoids each with a different frequency.

We used a while to load every time a new waveform and it seems to work.

2) the trigger signal is made by software and it is feeded into the master, after the master passes it into the slaves.

The problem is that the trigger generated by software is not deterministic and everytime we load a new sinusoid a new phase shift between the two transmitters is present.

3) Looking at the FPGA image the only way to use a perfect trigger is to use the PFI0 signal in the two modules we are using.

Isn't it? Why can't we use the trig0-7 and control them through the buses to have a deterministic trigger?

 


Is there a particular reason why you must use the Streaming VST Sample Project? I'm not sure what all the requirements for your application are, but you might be better off using the Simple VSA/VSG VST Sample Project, or at least, to use the generation part of that project. VST ships with a Waveform Sequencer instrument design library that allows to do deterministic triggering of waveform generation, and the ability to download and overwrite waveforms to the onboard memory of the device. The Simple VSA/VSG sample project shows how to use it, and it comes with a MIMO Host VI that shows how to do multi-device synchronization.

 

I don't have access to the Streaming VST sample project at this time, but I believe usage of PFI0 is just for examplification. You can update the FPGA to use PXI_Trig lines if you wish to. Just make sure that (1) if the devices are in different segments of the chassis you route the PXI lines in MAX, and (2) that you might need to use some of the IDL synchronization VIs to guarantee deterministic triggering. If you have other types of devices in the chassis, you might want to reserve the lines you will be using in MAX, so other devices don't try to use them.

 

Hope this helps.

 

 

 

0 Kudos
Message 9 of 10
(6,508 Views)

Hi Alexander,

 

I wonder if you have an example that can synchronise two RFSA (VST 5644R) devices? 

 

Many thanks!

 

Kind Regards

 

Chong

0 Kudos
Message 10 of 10
(5,438 Views)