Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I route a PFI signal to a RTSI bus trigger line?

I am attempting to drive an external clock signal that is received on a PCI-6071E board through the RTSI bus onto a AT-AO-10 board. The clock signal is connected to a PFI I/O connecter pin. I am attempting to drive the incoming signal onto the RTSI bus using the API function Select_Signal and map it to the EXTUPDATE signal on the AT-AO-10 board. Unfortunately the function doesn't allow me to map a PFI signal onto an RTSI bus trigger line. How do I get around this, is possible to configure the PCI-6071E board through the software to do this? Any information regarding this and generally about driving signals across the RTSI bus would be helpful. The development platform I am using is Visual
C++ with NI-DAQ API functions
0 Kudos
Message 1 of 5
(3,661 Views)
It is possible to route an external signal through the board to a RTSI line, but you will need to use GPCTR0 to do this. The way to do this is to connect your external signal to a PFI line and specify that line as GPCTR0's Source. You then have to configure a counter operation such as simple event counting. By doing this, you basically turn on the ability to route that signal elsewhere on the board. Then, call Select_Signal to route GPCTR0 Source to RTSIn. You can then start the counter, and the signal on PFIn will automatically be routed to RTSIn. This is a roundabout way of doing things, but it is the only way to pass an unused timing signal from PFI to RTSI. Hope this helps.

Regards,
Erin
Message 2 of 5
(3,661 Views)
would the following set of NIDAQ API function calls be the right way to do this (PCI-6071E is device 1 and the AT-AO-10 is device 3)
/* disconnect PFI signal*/
Select_Signal(1, ND_PFI_8, ND_NONE, ND_DONT_CARE );

/* reset GPCTR0 and start simple event counting */
GPCTR_Control(1, ND_COUNTER_0, ND_RESET);
GPCTR_Set_Application(1, ND_COUNTER_0, ND_SIMPLE_EVENT_CNT);
GPCTR_Change_Parameter(1, ND_COUNTER_0, ND_SOURCE, ND_PFI_8);
GPCTR_Change_Parameter(1, ND_COUNTER_0, ND_INITIAL_COUNT, 0);

/* connect RTSI triggerline to GPCTR0 source */
Select_Signal(1, ND_RTSI_6, ND_GPCTR0_SOURCE, ND_LOW_TO_HIGH );

/* connect AT-AO-10's EXTUPDATE to RTSI triggerline */
RTSI_Conn (3, 5, 6, 0);

/* start counting */
GPCTR_Control(1, ND_COUNTER_0, ND_PROGRAM);
0 Kudos
Message 3 of 5
(3,661 Views)
It worked! Thanks for the help Erin.
0 Kudos
Message 4 of 5
(3,661 Views)
I have used the approach described to route an external clock (divided-down) to RTSI0 to provide the scan clock input for a PXI-6031E. (I am using a PXI-6602 counter/timer card). In the same application, I need to route the output of another counter (GPCTRn) to RTSIn in order to trigger the 6031 Aquisition start. However, the 6031 appears to ignore the RTSIn scan trigger, and start immediately - despite being configured to required a digital hardware trigger. I can accomplish the clock and triggering setup that I want using PFI0 as the 6031 digital hardware trigger. But, this requires external wiring...I really want to use the internal RTSI bus and avoid any wiring...Is it possible?

Appreciate any help,
Brian
0 Kudos
Message 5 of 5
(3,661 Views)