The PXI specification includes integrated timing and triggering lines for synchronization. More information on these lines is available in Configuring PXI Systems Using MXI-Express and NI PXI Timing and Synchronization Design Advantages.
NI provides the necessary software for your PXI or PXIe (PXI Express) controller and chassis. PXI Platform Services ships with most NI drivers. It allows you to take advantage of PXI timing and triggering features.
As of 2017, PXI Platform Services is supported in Windows, Real-Time, and Linux Desktop environments. Please see the readme file for your specific PXI Platform Services version for a complete list of supported platforms.
Since PXI uses standard communication methods, it is technically possible to communicate with PXI devices through the PCI bus, and with VISA. Although this approach is not necessary for NI products, it may be useful when working with third party PXI or cPCI (Compact PCI) devices.
You must identify your PXI controller and chassis. PXIe components are automatically identified. Once you have installed PXI Platform Services via DAQmx or VISA, you can open NI MAX (NI Measurement & Automation Explorer) and right-click your PXI system to identify components. If your controller or chassis does not show up, you may need to upgrade your version of PXI Platform Services. For more information, see your controller's User Manual.
Since the 8-line PXI Trigger bus is a parallel shared bus, it can only propagate for a short distance before the signal integrity degrades. Larger chassis such as the 14 slot NI PXI-1044 or the 18 slot NI PXI-1045 rebuffer the trigger bus and must route from one segment to the next. These split segments are illustrated on the chassis bezel as a vertical bar. To ensure a signal in the first segment reaches the second and third segment, you must tell the trigger routers which direction to drive the trigger lines.
Since the PXI Trigger Bus is shared, you must ensure that multiple devices are not driving the same trigger line at the same time. DAQmx uses an architecture that prevents double-driving a trigger line between DAQmx devices, but you must use your own method for devices that do not support DAQmx.
Once you have identified your controller and chassis, drivers such as DAQmx can pull information on the slot position of devices in your chassis and available routes between those devices. This allows DAQmx to dynamically choose trigger lines to minimize trigger resource conflicts. If your system is unidentified, you may get an error stating that no route was found between the specified devices.
Devices that do not use DAQmx might require manually routing triggers across segments and manually reserving trigger lines. PXI Platform Services provides a programmatic interface for routing and reserving triggers as well as a static interface through NI MAX.
Open MAX and highlight your chassis. Click on the Triggers tab and note that you have access to PXI_Trig0 through PXI_Trig7. If your chassis has multiple segments, you will see multiple columns of checkboxes that indicate each segment in the chassis.
To reserve a trigger so that DAQmx does not use it, place a checkbox for the corresponding trigger and segment. After saving your changes, DAQmx will no longer use this trigger line. This frees up the line for use by other drivers such as Traditional DAQ.
To route triggers across segments, click on the Routing drop-down box and choose a routing direction. The segments being driven by the trigger router will automatically be checked to prevent double-driving by DAQmx. Notice that the source segment remains available. This allows you to export a DAQmx trigger to the line in this segment so it can propagate to non-DAQmx devices in the destination segments.
Note: If you are using a non-DAQmx device to drive the trigger in the source segment, check the box so DAQmx does not double-drive that trigger line.
By opening a session to your NI chassis through VISA, you can programmatically route and reserve triggers to achieve the functionality available in NI MAX. The examples below illustrate reserving and routing a trigger using VISA. The attached examples run in LabVIEW 8.0 and 2013. You can also view the examples in the LabVIEW Example Finder by opening LabVIEW and navigating to Help»Find Examples.
Note: Use caution when un-reserving and un-routing. Doing so through VISA will override the dynamic routing of DAQmx.
While most PXI devices can inherently use the PXI Trig lines, functionality can be added to the system by using a Timing and Synchronization module. Timing and Synchronization cards can add the following functionality to your system:
In a PXI chassis, a single slot is designated as the system timing slot. This slot has dedicated equal-length trigger lines between the system timing slot and the remaining peripheral slots, known as star trigger lines. Because star trigger lines are equal-length, a trigger being routed from the system timing slot on the star trigger lines will have less skew between the modules receiving the trigger.
By using a Timing and Synchronization module, a system can import a clock or triggers from external systems. This can be useful when trying to synchronize multiple chassis together; the Timing and Synchronization module in the master chassis exports its clock and back plane trigger lines to the slave chassis.
Additionally, some Timing and Synchronization cards allow for synchronization to network sources such as GPS and IRIG-B. Depending on the system, this may also require a MXI Expansion controller. For more information on how to synchronize multiple systems using Timing and Synchronization, please check the Related Links section below.
Many Timing and Synchronization cards have an onboard oscillator with lower jitter specifications than the oscillator onboard the PXI chassis. If an application requires a highly accurate clock, consider adding a Timing and Synchronization module to the system and use it to overwrite the clock on the backplane of the chassis.
For more information about how to implement Timing and Synchronization functionality, view the help file for NI-Sync.