In this article, you will learn how to send trigger signals across the backplane of a PXI(e) chassis using the PXIe-6593/6594 High-Speed Serial modules.
There are two different configurations we can work with:
- Receiving external triggers from a timing Module
- Use the Backplane DSTAR triggers to interact with other Modules
Depending on the scenario you will need to use the associated Routing CLIP that is shipped with the NI-FlexRIO driver. The Routing CLIP is a large multiplexer that connects the PXI trigger lines to the FPGA diagram through the Source and Destination IO nodes.
The Routing CLIP is used to send a trigger signal from the module to other devices in the chassis via the PXI_Trig lines on the backplane. It includes 32 Source and 32 Destination I/O items. Signals you want to send to another device through the trigger lines can be sent to "Source" I/O, and signals to read can be read from "Destination" I/O. To use this CLIP, you will need to configure both the Host side using the NI-FlexRIO Route Signals VI and the FPGA side using the FPGA I/O nodes.
If you have a PXIe-6674T Timing & Synchronization module you can also utilize the DStarB and DStarC lines that are accessible to the PXIe-6593/6594 to send other trigger and clock signals across the chassis backplane, which are both available as FPGA I/O items, without needing to use the Routing CLIP.
This article will take you step-by-step through how to implement the Routing CLIP in your LabVIEW FPGA project. The LabVIEW FPGA project template being used in this article is from the Getting Started FlexRIO Integrated IO.vi tool found in the NI Example Finder under the folder Hardware Input and Output > FlexRIO > Integrated IO > Getting Started > Getting Started FlexRIO Integrated IO.vi > High-speed Serial > PXIe-659X (KU0X0 - CLIP Template.
Important Considerations on the Routing CLIP
On the driving 6593's FPGA diagram, you can generate the pulse and attach it to one of the Routing Source I/O nodes. It doesn't matter which source node, but we can be simple and say Source1 for this example. On the receiving module's FPGA diagram, you can drop one of the Routing Destination I/O nodes and use that to read the pulse. Again, it doesn't matter which destination node you use, but for this example, we'll say it's Destination1. While these signals are now connected to the Routing CLIP, they are not designated to any specific trigger line yet.
On the Host side, the job of Route Signals VI is to tell the driver that you want to connect these two signals across the two devices. If the driving device is on PXI1Slot2, and the receiving device is on PXI1Slot3, then you call the Route Signals VI with /PXI1Slot2/Source1 as the source, and /PXI1Slot3/Destination1 as the destination. The driver will then select a trigger line that is not being used, and configure the Routing CLIP of the driving device to send the Source1 signal onto whichever trigger line it selected.
It will likewise configure the Routing CLIP of the receiving device to send that trigger line to the Destination1 signal. Which trigger line is picked depends on what else is using trigger lines, so it may not be consistent. If you need to send a signal to a specific trigger line, you can drive that signal into any of the Source nodes, just like before. Then when configuring the routing using Route Signal VI, the source is the same as above, but the destination is simply PXI_Trig0 (or 1, or 2, etc). This will force the driver to configure the Routing CLIP to send the desired Source node into the required trigger line.
For this task, you will require the following:
- Hardware
- PXIe-6593 or PXIe-6594
- Optional: PXIe-6674T Timing & Synchronization module
- Software
- Prerequisite Knowledge