Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

PXI 6120 How do I get a pulse output on EXTSTROBE

I need to use all DI0 lines of the PXI 6120 for data tasks and have laid out a PCB to use EXTSTROBE as the clock.
 
I understand that there are no functions available in CVI that will exercise this output.
 
Has anyone used this signal and if so would they be happy to share the code with me.
 
Thanks Paul.
 
0 Kudos
Message 1 of 7
(3,742 Views)

Hi there Paul,

Thanks for posting on the NI Forums.

My preliminary research seems to show that the Ext_Strobe pin is infact a digital pin utilised for synchronisation/control between some NI devices. From what I can determine this pin is not something that can be controlled/driven by the user, and I suspect control over that pin resides within the DAQmx driver.

You noted that all of the DIO pins are in use. Have you considered using one of the PXI-6120's counter/timers to drive this timing signal?

Cheers,

Rob

National Instruments | Northern California
0 Kudos
Message 2 of 7
(3,721 Views)

Hi Rob,

Thanks for the reply, I had not thought about the timer outputs and will look into this avenue. The 6120 manual definitely states that software drives EXTSTROBE it seems odd that this would be written if it were not available to the user.

It is looking very much like I am going to have to cut and strap my new PCB as soon as it comes through the door. Smiley Sad

I would very much appreciate a register write that would toggle this pin, it must be there in the SCXI code. Sadly I have no information on the register addressing of this or in fact any NI device. I have currently assigned an empty function Strobe_Registers (); to gain a little time for your additional thoughts. I will complete it at the latest possible time with the most expedient method, hopefully a Write that will directly cause a strobe from the EXTSTROBE pin.

Thanks

 

Paul

 

0 Kudos
Message 3 of 7
(3,717 Views)
Hello Paul,

The NI 6115/6120 User Manual also states on page 4-29 that "EXTSTROBE* cannot be enabled through NI-DAQ".

The SCXI driver in DAQmx has the ability to control EXTSTROBE*, but it doesn't make that functionality available through the DAQmx API. Furthermore, you would have to configure the driver to control an SCXI chassis, which would reserve port0/line0:2 and port0/line4, causing the DIO portion of your application to return reservation errors.

Register level programming of the EXTSTROBE* signal is described in chapter 7 of the DAQ-STC Technical Reference Manual, which is on ni.com. You could implement this using NI-VISA, but there's a catch: the register you need to write is indirectly accessed through the Window_Address and Window_Data_Write registers. If the DAQmx driver were to access the board at the same time as your program (such as from an interrupt handler), it would clobber the value you wrote to the Window_Address register. Unless there is some way to get NI-VISA to perform multiple register writes atomically, your program will fail if interrupted by DAQmx.

By the way, the NI 6120 has correlated DIO functionality. If your application needs a high DIO sample rate, this is a strong argument for using a general purpose counter/timer for your clock. Synchronizing the correlated DIO to a pulse train generated by a counter would allow your application to sustain much higher DIO sample rates compared to single point DIO.

Hope this helps,
Brad
---
Brad Keryan
NI R&D
0 Kudos
Message 4 of 7
(3,694 Views)

Hi Brad,

Thanks for this informative reply.

I have resigned myself to using the counter timer outputs for this activity now. I have never used these outputs before and have not yet located the functions that will give a single pulse. I will search the DaqMx libs and see what I can find.

I fell into the trap of reading into the PXI-6120 manual what I wanted to see with EXTSTROBE. I was under pressure to come up with a test solution in double time and this inevitably ends in tears. The up side is that it is an easy mod to the PCB.

Thanks again Brad and Rob, as a first time user I am favourably impressed with this forum, I have found forums to be subscribed by people with opinions and not knowledge in the past, this one makes a refreshing change.

 

Regards

Paul.

 

 

0 Kudos
Message 5 of 7
(3,688 Views)

Hi Paul-

Examples to create digital pulses using counters are supplied with the DAQmx CVI installation.  They can be found in C:\Program Files\National Instruments\CVI80\samples\DAQmx\Counter\Generate Pulse.

You will find examples for single pulse generation as well as pulse train generation (that would be helpful if you decided to use the correlated DIO functionality Brad suggested).  If you choose to go the correlated DIO route, the example C:\Program Files\National Instruments\CVI80\samples\DAQmx\Digital\Read Values\Cont Read Dig Chan-Ext Clk is a good starting point.  In that case, the "external" clock source would be something along the lines of "Dev1/ctr0InternalOutput"

Hopefully this helps-

Tom W
National Instruments
0 Kudos
Message 6 of 7
(3,671 Views)

Hi Tom,

Thanks for the information.

I have made a note of the correlated capabilities but do not need them on this occasion. I found the required functions in the DaqMx library and will take a look at the sample code today. I didn't spot the sample code so thanks for the tip.

I will do a bit of PCB modification today and hopefully all will be well.

Regards

 

Paul.

0 Kudos
Message 7 of 7
(3,659 Views)