Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

waveform generator (NI-6541) OR multifunction DAQ (6289)

Hi,
 
I need to test bunch of digital signals that go for very short period of time "high" and then "low", and keep doing so back and forth. I need to measure the width od that pulse, the period between the two pulses, I need to be able to trigger the start of pulse, etc. Could you please provide me more info of how to do such thing and by using which of two cards ( I have both.) Also, I would need to calculate the period time and the delay time for those pulses so I guess I will need some kind of timer or counter. Just, please provide me general idea of which card to use, or even both, and how to set up such thing in the LabView.
 
thanks
0 Kudos
Message 1 of 12
(3,861 Views)
Hello,

It sounds to me like you could use the counter(s) on the NI-6289 board.  Counters are designed to analyze "horizontal" information about digital signals.  By this I mean time, period, frequency or number of edges.  If you want to measure both high time and low time of the signal, you would want to do "semi-period measurement". 

You mention triggering the pulse.  Are you triggering the output of the pulse you wish to measure? or are you triggering when the pulse-width measurements are taken?

I would recommend starting off with a LabVIEW Example Program which you can find under Help>>Find Examples.  You can browse by task and look at the counter examples found under Hardware Input/Output>>DAQmx or you can search "Semi-period".

This should get you started.   The examples work by counting the edges of a signal of a known period that occur within the period or pulse of an unknown signal.  For higher speed signals, the examples can work by counting the number of edges of the unknown signal that occur within the period or pulse of the known signal. Ofthen the clock on the DAQ board is used as the known signal, but each of the examples should have details on where to conect your signal and how the measurement will be made.

Hope this helps,

Jennifer O.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 12
(3,851 Views)

Thanks a lot. I also have NI 6541 card. Should I be using this DIO lines or lines from the NI-6289?

Can I measure all that stuff with that NI 6541 DIO lines?

What lines do you reccommend for ISA Bus?

 

Thanks a lot

0 Kudos
Message 3 of 12
(3,851 Views)
The 654x is a digital pattern generator/analyzer.  It does not have any built in counter/timer features.  However, if you oversample your input signal, you can bring the acquired waveform into memory and post process the results to determine pulsewidths.  The resolution of this measurement will be the period of your sample clock.  The 6541 can run at 50MHz so the finest resolution would be 20ns.  However, if you have some signal from your DUT that is synchronous to the event you are trying to measure, you can run the measurement in a loop and use the data delay feature of the 6541 to get a much finer resolution (78ps).
0 Kudos
Message 4 of 12
(3,845 Views)

Since each 6541 and 6289 have 32 clocked digital lines, and my ISA Bus is using around 40 lines, how should I connect those 40 lines among these two cards and which signals should be connected between 6541 and 6289 (i.e. clock, BALE, ) ?

 

0 Kudos
Message 5 of 12
(3,830 Views)
If you have two 654x's then you can use TCLK to synchronize the two boards together.  If you need all 40 signals to be synchronous to a clock then you'll need to pass a clock to both boards and somehow start them together.  TCLK takes care of this for you but the 6289 does not support this feature.  The 654x can receive start/ref triggers on the PFI signals.  If you send the clock and the start/ref trigger to both boards then you should be good.  If you don't use a start trigger then you data between the 654x and the 6289 won't be corrolated. 

I don't know enough about ISA to help you with connectivity.  You'll need to find out what the ISA signals are, which need to be synchronous to a clock, and how to split them up accordingly.
0 Kudos
Message 6 of 12
(3,828 Views)
Hi the_intern,

In response to your question regarding the difference between PFI lines and Clocked I/O...

This is kind of like comparing apples to oranges.  In some ways they compare, but can also be very different.  PFI lines and Clocked I/O lines are similar and could even refer to the same pin on a board.

Clocked I/O when we talk in terms of digital signals means that we can set up a clock to help us read the level of the digital signal.  At each tick of the clock we check the signal at capture whether the signal is high or low. This can be compared with Static I/O which means we can check the level of the digital signal, however we have no clock to tell us when to do so.  With Clocked I/O you can set up a task to input or output a set number of values or even to run continuously,  synchronized with a clock.   With static the measurement or ouput is one value at a time (single point).  With your M-Series board (NI-6289) you can do clocked or correlated DIO on port 0 (i.e P0.0-P0.7)  The rest of the lines are static.  You can still read a digital signal on them but generally use the digital naming (P1.0) and not the PFI name (PFI0)  M-Series boards do not have a built in digital clock so one must be provided.  You can use an external signal, a counter output or even the clock of an analog task.

A PFI line is programmable.  This means that the board will have capability to route the signal within the board for various reasons - for timing, synchronization or counting for example.  It is still typically a digital line and is often dual purpose (it can be used for routing or as a digital line for example.)

Regards

Jennifer O.


Message Edited by Jennifer O on 07-27-2007 11:45 AM

0 Kudos
Message 7 of 12
(3,821 Views)

Can't comment on the 654x board, but from reading this thread it sounds like it may be the most appropriate choice.

Still, here's a tidbit on the M-series 6289 board: you can potentially use the change detection feature of this board to handle your measurement.  If you do, you would need to wire into the Port 0 DIO lines which are probably not mapped as PFI pins.  You would configure DAQmx Timing to use change detection as the sampling method, and identify the digital lines on which you wish to detect transitions.  You can then configure one of the counters to measure the times when an internal signal named "change detect pulse" (or something like that) goes off.

You'd wind up with a DI task where you buffer up the digital line states everytime one has a transition and you'd have a corresponding counter task that buffers up a "timestamp" on each transition.  Then the fun starts as you have to perform post-processing on your array of digital data.  Nothing real hard conceptually, but the finer points of the implementation will require attention to detail.

Sorry, don't have time to go into all the gory details, just giving you an idea of what's possible.

-Kevin P.

CAUTION! New LabVIEW adopters -- it's too late for me, but you *can* save yourself. The new subscription policy for LabVIEW puts NI's hand in your wallet for the rest of your working life. Are you sure you're *that* dedicated to LabVIEW? (Summary of my reasons in this post, part of a voluminous thread of mostly complaints starting here).
0 Kudos
Message 8 of 12
(3,810 Views)
Hi the_intern,

Here is a little more info to cover the additional questions you asked in this post.

"I know that Static DIO (NI 6509) has only static lines and those are used for ensuring whether the signal is HIGH or LOW and that’s it." True.


"I have bunch of signals that needs to time, checked the pulse width, triggered at different times, delayed, etc. Should I use PFI or Clocked lines for these?"

You never really use a PFI line directly for this type of measurement.  It may help if you look at the LabVIEW Examples (Help>>Find Examples).  You can create a digital task of a counter task with your M-Series board.  There is no "PFI" task.  Counters can directly measure the pulse width, however since you need more than 2 lines you would want to work with clocked DIO.  This would sample if the line is high or low at a given clock rate.  These signals can be analyzed in LabVIEW with Signal Processing functions.  There is a whole pallette of waveform measurements.  Keep in mind that your accuracy will be 2 periods of your clock for a digital task since the measurements may not align directly with the transition of the digital signal.

Taking into account that both NI-6541 and NI-6289 have 32-clocked lines, which card should I use for these purposes?

Both boards do have 32 clocked lines.  There are two main differences.  1) The NI-6289 still has 16 static lines that you could make use of as well as analog I/O and the two counters that you could possibly make use of.  But you can use those anyway even if you choose to go with the other board.  2)The NI-6541 can be clocked at 50MHz while the NI-6289 can only go as high as 10MHz.  Therefore when measuring timing resolution the NI-6541 would give you +/- 2x(1/50MHz)=40nS.  The NI-6289 would be 5 times that at 200nS.  If both meet your timing needs then it would be a matter of preference for you.

"If I use Clocked, what is the main purpose of the PFI lines then?"

A PFI line could be used to trigger when you start acquisition for example.


Hopefully this helps clear up your questions.


Regards,


Jennifer O.

0 Kudos
Message 9 of 12
(3,804 Views)

Jennifer's quote: "With your M-Series board (NI-6289) you can do clocked or correlated DIO on port 0 (i.e P0.0-P0.7)  The rest of the lines are static."

Aren't lines P0.8-P0.31 also clocked lines ?

 

0 Kudos
Message 10 of 12
(3,786 Views)