12-07-2017 04:50 PM
I have a PXI chassis with some digital IO boards, a PXI-6683H IRIG-B board, and a PXIe-5172 8 channel digitizer. I'm using LabWindows/CVI 2017, and trying to connect a trigger from the IRIG board to the digitizer.
I need to use PFI1 or PFI2 on the 6683H as a trigger input. The input pulse is a 60 ns TTL pulse every 50 ms. When the trigger occurs, I need to initiate a 60 us read on up to six channels of the 5172, at the full speed of 250 MSPS.
I can already read the data on the digitizer, I just don't know how to connect the trigger from the IRIG-B board to the digitizer. I've looked at a lot of NISync routines, but didn't see any examples.
Thanks in advance for your help. Any ideas would be appreciated.
Solved! Go to Solution.
12-08-2017 06:48 PM
Hi PikesPeakNIUser,
Use the niSync Connect Trigger Terminals (VI) to route the PFI line to the trig bus. Then have the scope look at the trig bus.
http://zone.ni.com/reference/en-XX/help/373629B-01/nisynclv/nisync_connect_trigger_terminals/
Make sure you are distributing the triggers correctly in MAX if the scope and 6683 are on different switches.
http://digital.ni.com/public.nsf/allkb/CA9A49FA50393C4186256DC200774E2B
Post back if you need further clarification.
12-11-2017 01:45 PM
Thanks for the reply.
I looked over the VI routine, and here's what I came up with. The choices for the destination in niSync_ConnectTrigTerminals below (NISYNC_VAL_PXISTAR) also include PXI_STAR[0-16], PXI_TRIG[0-7], PXIe-DStarB[0-16], and PXIe-DStarC.
The only choices when configuring the input trigger to the PXIe-5172 digitizer are as follows.
Using niScope_ConfigureTriggerEdge, the choices are Channel[0-7] or External_TRIG.
Using niScope_configureTriggerDigital, the choices are RTSI[0-6], PFI[0-2], or PXI_Star_Trigger.
// Map a trigger from the PXI-6683H to the digitizer vStatus = niSync_ConnectTrigTerminals (pCommMgr->m_pIRIGBModule->m_VISession, NISYNC_VAL_PFI1, NISYNC_VAL_PXISTAR, NISYNC_VAL_SYNC_CLK_ASYNC, NISYNC_VAL_DONT_INVERT, NISYNC_VAL_UPDATE_EDGE_RISING); if (vStatus != VI_SUCCESS) { ViChar description[512]; niSync_error_message( pMod->m_VISession, vStatus, description ); printf(" **** InitializeModule(%d): Error Mapping PFI1 to PXI_STAR0 trigger %s (%s)\n", tmod, pMod->m_moduleName, description ); } else { printf(" %s port PFI1 mapped to PXI_STAR_TRIGGER0.\n", pMod->m_moduleName ); }
The only commonality is the PXI Star Trigger, but the wording is not exact, and I get the following error when trying to map the trigger from PFI1 to PXI_Star_Trigger:
**** InitializeModule(0): Error Mapping PFI1 to PXI_STAR0 trigger NI PXI-6683H (The specified destination terminal is invalid for this operation.)
The two boards are on the same switch in the backplane. I used NIMax to check that out.
I don't know if I'm using the correct routines, so if you have any other ideas, I'd appreciate it!
Thanks!
12-12-2017 03:08 PM
RTSI0 should be PXI_Trig0, RSTI1 is Trig1, and so on.
12-14-2017 08:39 PM
Thanks. That worked. RTSI0 can receive a trigger from PXI_TRIG0.
Thanks!