Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI
This Document is not yet Rated  Rate this Document

Bad Data When Linking Two 6533/6534 Devices Together During Pattern Generation

Hardware: Digital I/O (DIO)>>High-Speed>>PCI-6534

Problem:
I am using two 6533/6534 devices linked together for testing out my application. I am using pattern generation input and output, where the output device is providing the clock for the input device on the REQ pin or through a RTSI line. When I run the examples provided for pattern generation input and output, I get bad data on the input side. It seems that some values are correct and some are incorrect. Sometimes they are only off by a bit or two, and sometimes they are completely wrong. What am I doing wrong?

Solution:
You need to make sure that the data is not being written and read at the exact same time. By default both boards will read/write on the rising edge. This mean one board is writing while the other one is trying to read and this is what gives the incorrect signals. So, when sharing a clock between two high speed digital devices doing pattern generation, you have to make sure that when the input program receives the clock, the data is ready to be latched. If you are linking two 6533/6534 devices together in this fashion, set the input to latch on a falling edge signal. In LabVIEW you can set this by setting active edge on the DAQmx timing VI. In Visual Basic you can set this by using the DIG_Grp_Mode function.

status = DIG_Grp_Mode (deviceNumber, group, protocol, edge, reqPol, ackPol, ackDelayTime)

Parameters
deviceNumber assigned by Measurement & Automation Explorer
group group to configure
protocol basic handshaking signals
edge rising edge or falling edge pulsed signals
reqPol request signal is to be active high or active low
ackPol acknowledge signal is to be active high or active low
ackDelayTime data settling time allowed


For this problem, call this function in your input program after you call the DIG_Grp_Config function. To set the polarity correctly for the input program, use the following values:
  • protocol = 0
  • edge = 1 (trailing edge)
  • reqPol = 1
  • ackPol = 1
  • ackDelayTime = 0

For more information, please see the NI-DAQmx C Help or if you are still using legacy traditional DAQ, you can use Traditional NI-DAQ Function Reference Help both of which are installed on your machine at Programs » National Instruments » NI-DAQ.

Related Links:
KnowledgeBase 2H6AT9EV. Incorrect Behavior for NI 6534 and NI 6115 Devices When Looping Output from Onboard Memory
KnowledgeBase 2MOESVN5. NI 653X Double-Buffered NI-DAQ Output Examples Do Not Work with the NI 6534

Attachments:





Report Date: 02/06/2004
Last Updated: 08/29/2008
Document ID: 3657PLI3

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit