Showing results for 
Search instead for 
Did you mean: 

measuring digital signals coming from the HSDIO (PXI-6542) with the DMM (PXI-4070)

in attachment you can find the program I'm using for my measurement: I'm generating and acquiring digital signals with the PXI-6542 and at some trigger point of one of those digital signals I'd like to capture the measured values on a plot with the Digital MultiMeter (PXI-4070).
It does work if you configure the generation repeat mode as continuous, but if you do have a finite repetition (repeat count is 1) it doesn't react on the trigger, as if it can't find a trigger. On the other hand, if you have a finite repeat count of 30 or more it does react and triggers correctly again.
First I though it had something to do with autocalibration before the measurement takes place, but If you do a highlight execution (stepping through the program) it looks like it measures before the generation session is initialized.
Is there a way to measure correctly when the repeat count is only 1?
Thanks in advance,
p.s. First time I forgot the attachment
0 Kudos
Message 1 of 3
Hey Jürgen.  I apologize that you haven't gotten an answer yet to your post.  I looked at your code and had some questions.  What is the source of your trigger to your DMM?  I see that you're exporting the data active event to PFI1, and your comments indicate that PFI1 and PFI2 are connected to give you a start trigger for your digital acquisition.  Exporting the data active event with a finite or continuous pulse should only give you a single edge per run, though - you wouldn't get a pulse each time.  Is your trigger coming from a data line?  I didn't see any line in your included data that would indicate a single pulse.
The other thing that I noticed is that you've got no timing dependency between your HSDIO code and your DMM code - they're in parallel with each other.  Thus you could get different results run-to-run, since it's not deterministic as to which parallel "thread" that LV will start on first.  LV may switch back and forth several times, but let's say that LV reaches the HSDIO Start command before reaching the DMM Start command - in that case, the HSDIO device may finish it's entire operation before the DMM ever starts looking for a trigger, and thus never get the trigger at all.  I'm not sure why this would explain why you're seeing the finite case work and the continuous case not, but I wanted to point it out because it could bite you down the road.
I hope some of this this helps get you going in the right direction.  I'd also suggest posting HW-centric questions in the appropriate form.  There are Digital forums and DMM forums that might help you reach people that will be more familiar with your particular hardware.
0 Kudos
Message 2 of 3

Hi Chris,

thanks for helping me a little.

To answer some of your questions: Since I do not have an external trigger cable for the DMM, my trigger source for the DMM is, like you expected, a RTSI data line on the backplane that picks up a generated digital signal of the HSDIO that I connect as external trigger to the PXI-5404 it's PFI input and that is send on on the RTSI data line (pretty complicated but I see no other option without that external trigger cable). It's not attached in my code since I use a separate VI for that.

The whole idea of my program is to only send a finite amount of digital data (not continuous) to the DMM so that the DMM only captures the data 1 time (at a trigger edge - rising or falling - of one of the generated digital signals).

And, like you point out, there's probably a timing dependency issue between the HSDIO and DMM, but how can I solve that issue? Putting them in series probably won't help me either? How can I make sure both devices are INITIATED at the same time? I can't seem to find a good way. It sometimes works at very low frequencies (1 or 2 KHz) but it should also work at 50KHz or 100 KHz I guess (since the bandwidth of the DMM is 300KHz.)


0 Kudos
Message 3 of 3