LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

how can i capture 6 differential analog in lines using PFI0 as a clock?

Alright here's my setup, i've got labVIEW 8.6.1; i'm using a PXI-6259 i've got 7 diff. analog in lines and a parity line sending parallel data into the 6259. I also have a "strobe" line, which is to be used as the clock. When sending the data on the analog lines into the 6259, the strobe will go high when there is valid data, and only when there is valid data. the width of the strobe is 330u seconds with a 170u second low between each pulse. there is a total of 368 pulses. i have the strobe line wired into the 6259 on pin 11 (PFI0). The data lines go valid 15u seconds before the strobe goes active, and remains valid for another 15u seconds after the strobe goes low. I'm trying to capture one sample on the analog-in lines for each strobe, put the values into an array, and translate them into ascii characters based on the data sheet for the piece of equipment i'm emulating. My daqassistant doing the capturing is timing out, and never showing any data out. is it because i'm using a digital trigger with analog diff. inputs? any ideas?

thanks,

Kris

0 Kudos
Message 1 of 23
(3,647 Views)

Attach your vi so we can look at it.  What you are trying to do should be possible.  I think you are not setting up the trigger correctly.  Have you confirmed that the PFI0 line is actually active, and that the data is valid,  with an oscilloscope?

 

- tbob

Inventor of the WORM Global
0 Kudos
Message 2 of 23
(3,637 Views)
Thanks for the quick response. yes all related lines have been verified as valid via oscilloscope. i'm working this in baby steps, the .vi i've attached is only looking at the  Data0 (AI0) lines. the daqassistant stuff before the loop is setup and required to make the equipment believe there is a piece of equipment attached. the one possible catch being that the strobe line is only 3.3V, is that high enough to trigger?
0 Kudos
Message 3 of 23
(3,633 Views)

I would use real DAQ functions instead of the express VIs because I'm not sure what exactly is being done by the express vi.  It doesn't show what your trigger level is.  However, if you have no equipment attached, how can you get any readings?  Do you have an analog out device and an analog in device actually wired up?  How is the PFI line controlled.  I don't see anything in your code that sets PFI0 high or low.

 

- tbob

Inventor of the WORM Global
0 Kudos
Message 4 of 23
(3,627 Views)
i have equipment on one end (sending data) i have the daq on the other (receiving) this same equipment that sends the data also sends the strobe. does that help clarify?
0 Kudos
Message 5 of 23
(3,623 Views)

I don't see the connection between your test vi and your actual setup.  If you have equipment sending data and the trigger, your vi only needs to configure one DAQ device.  Your test vi shows and AO and some POs.  Not sure what those are.  Look at the snippet below to see how it should be done with discrete DAQmx functions instead of an express vi.  This way you can see all of the settings.  What are you using for a clock source?  It should be on-board clock.  Make sure your rate is set correctly and your number of samples is set correctly.

 

AI.png

 

- tbob

Inventor of the WORM Global
Message 6 of 23
(3,617 Views)

Okay, i think i'm going to give your vi a try, i had always used the daqassistant before so i never bothered to learn with discretes. the vi i did works, i can capture the intended data, however, my trigger is the issue. if yours works better, and i'm anticipating it may, i'll go with that. more after, thanks,

Kris

0 Kudos
Message 7 of 23
(3,600 Views)
Thanks, i've copied your example, and am successfully acquiring the waveform i want for AI0, next question, how can i duplicate this for multiple channels simultaneously? can i just copy and paste the whole thing x number of times?
0 Kudos
Message 8 of 23
(3,591 Views)


finistere21 wrote:
Thanks, i've copied your example, and am successfully acquiring the waveform i want for AI0, next question, how can i duplicate this for multiple channels simultaneously? can i just copy and paste the whole thing x number of times?

No, you need to put your Create Channel VI in a loop and then send in an array of physical channels.  That will set up the task to collect multiple channels.  Keep in mind that the 6259 is NOT a simultaneous sampler, it multiplexes input channels to its' one (and only) ADC.

LabVIEW Pro Dev & Measurement Studio Pro (VS Pro) 2019
0 Kudos
Message 9 of 23
(3,581 Views)
Poop! alright, so timing will be a factor. my data i'm receiving into the daq has a burst rate of about 31K bits p/s (i know, blazing fast!) so sample rate i have set to 62Ks/s which is 1 sample every 16 microseconds? so, if i have 6-7 channels i would need the daq to sample every 2 microseconds, right? and if i remeber correctly the 6259 has a sample rate of 1Ms/s which is one sample every microsecond. so, i'm okay? does this sound like a logical assumption?
0 Kudos
Message 10 of 23
(3,576 Views)