High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

Configuring two digitizers in master/slave

Cross-posted from the Labview forum.

Running WinXP Home and Labview 7.0 Express.

I'm considering attempting a master/slave configuration with a PCI-5112 and a PCI-5122 that I have on the same motherboard so I can have four channels running simultaneously. Is this worth pursuing? Specifically, I'm wondering if there will be any sort of compromise in performance because of the different specs of the two models.

Also, is there anything special I need to do hardware-wise to get this running?

In Labview, how would I go about doing this?

Thanks in advance for your help.
0 Kudos
Message 1 of 6
(8,175 Views)
Hi RaySun,

First off, you're going to need a RTSI cable to export signals between the devices.  You can let me know if you don't have one.

After they're connected, you can then check out this document:

Start >> Programs >> National Instruments >> NI-SCOPE >> NI High Speed Digitizers Help

You can then look at the Devices >> Features Supported by Device >> NI 5114/5122/5124/5922  section, and take a look at the available clocking signals.

So you can share the 10MHz clock and phase-lock it.  The RTSI Clock line will be your source.

I highly recommend getting started by checking out the NI Example Finder's examples:

LabVIEW >> Help >> Find Examples.. >> Hardware Input and Output >> Modular Instruments >> NI-SCOPE >> and then there's a good 5112 example that provides this documentation:


5112 Synchronization

Recommended Input Signal: 500 kHz, 8 Vpp, sine wave

Devices Supported: NI 5112

LabVIEW Description:

This example demonstrates synchronizing two 5112 digitizers, with both devices configured using the same parameters.  Synchronizing the devices requires sharing a 10 MHz clock for a phase locked-loop reference, and sharing a one-time synchronization pulse that resets the clocks dividers on the digitizer.  The master device will also route a digital trigger to the slave device when it receives its trigger.

For more information about synchronizing devices, refer to the NI High Speed Digitizers Help.

For the PCI-5112, this example requires the digitizers to be connected with a RTSI cable.  If a RTSI cable is not available, the program can be modified to share the digital trigger over the PFI line on the front of the digitizer.  However, full synchronization is only possible using the RTSI cable.

The PXI-5112 will automatically have the RTSI bus connected along the back plane of the PXI chassis.  Therefore, no additional connections are necessary.

This example supports both PCI and PXI synchronization schemes, selected with a control on the front panel.  The PCI scheme configures the master device to output its 10 MHz system clock over the "RTSI Clock" line.  Both devices phase lock to this clock.  In contrast, the PXI scheme configures both devicesto lock to the PXI chassis' 10 MHz back plane clock.  In both cases, the clock sync pulse is generated by the master on RTSI line 0, and received by the slave board.

The master is configured for edge triggering, and it routes a digital trigger to the slave device over RTSI line 1.  The slave is configured to trigger on this digital signal, with a positive slope.

Property nodes are used to query default calibration values for the slave trigger propagation delay.  This is the delay for the master to generate a digital trigger, for the trigger to propagate to the slave, and for the slave to actually trigger.  By calibrating this delay, the time skew between the triggers on each device can be minimized.  Refer to the NI High Speed Digitizers Help for a complete description.

Thanks,
mike

Message Edited by Support on 03-23-2006 01:13 PM

0 Kudos
Message 2 of 6
(8,163 Views)
Hi RaySun,

Here's a VI that will work and takes the following steps.  I am working on getting it posted to the official Developer Zone site:

1.- Choose the constants that will be used for input clock source depending on the board type. The PXI 10MHz back plane is used for PXI boards.
     For PCI boards the master exports the clock and the slave receives it.
2.- Open a session to each of the digitizers.
3.- Configure the vertical parameters for each of the digitizers. Both are configured to the same input range.
4.- Configure the horizontal parameters for each of the digitizers. Both will run at the same rate and acquire the same number of samples.
6.- Configure an analog edge trigger on the master digitizer.
7.- Export the stop (reference) trigger from the master to RTSI 1.
8.- Configure the slave digitizer to have a digital trigger on RTSI 1. It will trigger of the master's exported stop (reference) trigger.
9.- Query the pipeline delays from the master and slave, add them, add an additional specified delay, and set the slave trigger delay. The additional delay can
     be modified to line up the two waveforms.
10.- Initiate the slave digitizer first. This is required since we want the slave to be waiting for the trigger when the master sends it. Initiate the master digitizer second.
11.- Fetch the waveforms from both digitizers and merge them so they can be displayed on the same graph.
12.- Check for errors, and stop if any occurred. Also stop if the "Stop" button is clicked.
13.- Reset the digitizers to free all the lines used for synchronization. Close the session and display any errors that might have occurred.

Here's the example that should get you going, in LabVIEW 8, 7.1, and 7.0 versions (since I had to save down from 8 to 7, might as well provide them all)

Now, to save them down from LabVIEW 8, the links to NI-SCOPE VIs may have been broken, so you may need to replace those VIs, but you should be able to see which ones go where by looking at the context help over them.

Thanks,
mike


Message Edited by Berto on 03-23-2006 01:11 PM

Message Edited by Support on 03-23-2006 01:20 PM

Message 3 of 6
(8,155 Views)
Addendum:  I made a mistake in my first post, hence the strikethroughs.  There is also no step 5 in my second post.  This is mainly due to the web support team being unable to count.

Thanks for your patience!
mike
0 Kudos
Message 4 of 6
(8,134 Views)
Addendum to the addendum:

HERE's your step 5 that I'm not allowed to add to the previous post:

"5.- Configure the clocks. We use the constants from step 1. Master digitizer sets master enabled to true, slave doesn't."

RaySun, I apologize that you've been part of the messiest support request ever.  Thanks again!
mike


0 Kudos
Message 5 of 6
(8,130 Views)
RaySun,

Berto's excellent examples show how to actually accomplish synchronization between a 5112 and 5122.

You also asked about any compromises because of the different specs of the modules.  In general, the devices will perform the same synchronized as they would individually.  The 5122 is a 14-bit device, while the 5112 is an 8-bit device, so the waveforms acquired from the 5112 will be less precise and noisier than those acquired by the 5122.

For synchronization purposes, it would be more ideal to use two 5122s.  When you synchronize a 5122 and 5112, there can be a sample clock worth of reference trigger jitter between the devices.  This means that one device may trigger one sample clock earlier or later than the other.  In addition to the jitter, there can be many sample clocks worth of skew between the triggers due to pipeline delay differences in the devices (this can be corrected using the Trigger Delay attribute).

The 5122 is an SMC-based device.  This means it can be synchronized with other SMC-based devices using the NI-TClk API.  This has the advantage of being a simpler API, AND it will also ensure that triggers are recognized by both devices on the same sample clock, AND it will automatically account for pipeline delays.

Hopefully, you are satisfied with the performance of the 5112-5122 system.  However, if you are interested in a much tighter level of synchronization, you may want to consider using two 5122s.  Or, you could replace the 5112 with a 5114, which is an SMC-based, 8-bit device.  (Although it does not yet exist in the PCI form factor.)


0 Kudos
Message 6 of 6
(8,118 Views)