Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Is continuous burst possible using ACK and REQ assertions for valid data?

I am using the NI-6533 digital DAQCard. I would like to operate in continuous burst mode for incoming data. Is continuous burst possible while using the ACK and REQ assertions to clock in only when the data is valid?
 
Thanks
0 Kudos
Message 1 of 4
(3,182 Views)
Dear recondsp,
 
You can set the time limit of the DIO Read.vi to -1 and it will wait until the data is ready. If the data never comes it could freeze your program, so I recommend setting the time limit to a number greater than the time should take for the REQ and ACQ lines.
 
If you are using LabVIEW 7.0 or higher and Windows 2000/XP/98/ME/NT, I strongly recommend upgrading to DAQmx. Take a look at this list and find your device to see the most recent DAQmx version that you can use. There is an example in the Example Finder (LabVIEW Help menu>>Find Examples) called Cont Read Dig Chan-Burst.vi (Browse Hardware Input and Output>>DAQmx>>Digital Measurements) that does continuous burst handshaking as well. To wait for the handshaking to be ready, set the timeout on DAQmx Read.vi to -1 (continuous) or a high number.
 
Please let me know if you have any questions. Have a great day!
 
Sincerely,
Marni S.
0 Kudos
Message 2 of 4
(3,169 Views)

Dear Marni,

Thank you for your reply. I am working with Labview 6.0 so I can't use DAQmx but rather the traditional DAQ vi's. It may be time to upgrade. 

The time limit is not the problem. Even if I set a long time limit, the once a single buffer of data is collected, the burst operation is completed and won't re-trigger. I would like to read data into the DAQCard continuously without having to reset the DIO protocol. This would mean that PCLK would run continuously and after each buffer of data is received, when the DAQCard is ready, it would re-assert the ACK line to indicate it is ready for the next transfer. The peripheral would then re-assert REQ when the new data set is ready. This process should continue indefinitely.

In theory, it should work. Practically though, I can only retreive one burst data packet.

 

Thanks,

recondsp  

0 Kudos
Message 3 of 4
(3,166 Views)

Dear Recondsp,

While there is an example already created using DAQmx, I took a look at the Traditional (Legacy) DAQ example "Burst Mode Input.vi" in the Example Finder and you should be able to do continuous burst mode handshaking with a few changes. Open the block diagram of the example. Create a constant for the "number of scans/updates to acquire or generate" input of the DIO Start.vi and change it to 0. (This allows LabVIEW to acquire or generate data continuously.) Then place a while loop around DIO Read.vi. (This reads data from the buffer continuously.) Make the same changes to the example "Burst Mode Output.vi." Let me know if you have trouble getting it to work. Have a great day!

Sincerely,

Marni S.

0 Kudos
Message 4 of 4
(3,143 Views)