LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

digital train pulse using DAQ 6501

Good evening.
 
I have a NI USB DAQ 6501 (24 digital I/O and 1 counter) and am trying to generate a 1KHz (or higher) pulse train  (Amplitude: 5v-0v), the user is to select which of the 23 outputs available are to be active and determine the state (high or low) for the 24th output. The problem I have is that although the program works fairly well, the pulse train I generate hasn't got a stable pulse width. That is, I get different widths in the pulses and I need a fixed width and frequency for the signal. Here is the VI I made. I have also considered using the counter, but the problem is, I can't use that output, since I need it for the 24th boolean control.
 
I don't know why this is happening and I also wonder if using Real Time may fix the problem?
 
Note: *I have also tried this program with a NI USB DAQ 6229 I borrowed and the output is the same. So I'm assuming the problem is in the VI.
 
Thanks,
Ali
0 Kudos
Message 1 of 2
(2,685 Views)

Hi Ali, here the problem is both software and hardware. The 6501 doesn't have correlated I/O, the timing of the exit is controlled by the software. The minimum timed loop that can be controlled by software on a windows computer is 1ms, so you can get up to 1khz with this card, but as windows can produce jitter (jitter is the difference of time between the one expected and the one obtained).on your system, that is why you can't see a uniform pulse width. As you stated before changing to a Real Time system would help as there would be less  jitter, but USB cards are not supported in RT. You could use a DAQ Card that has Correlated I/O the 6229 has correlated I/O for port 0, but you have to modify the program. Because if you send on demand, the timing is done by software. You can use the example in;  

http://zone.ni.com/devzone/cda/epd/p/id/1566

Depending on your applications there are other boards you could use for example a 7811R is a card with 160 DIO Correlated (this one has FPGA so you control how it works and you can get precision up to 25 NS. you could also try  high speed DIO cards, This cards have digital lines controlled by hardware for example the   6533 can work up to  2MHZ there are cards of more than 100Mhz. You could also try using the counter to generate the pulses. You could try this with the 6229, but this only have 2 counters; the 6602 has 8 counters and 32 static lines (software timed)

Best Regards
Benjamin C
Principal Systems Engineer // CLA // CLED
0 Kudos
Message 2 of 2
(2,563 Views)