From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

HSDIO: PXIe-6548 with non-continuous 4MHz external clock

We have an application where we are essentially synthesizing a response from a sub-component.  There is a master component that initiates and drives the communication, and our system will act as the client that will respond.

 

The master will provide a clock that is pulsed only with the data being driven when it sends commands, and then it will send a continuous clock until the client responds on the data lines.

 

When setting up the generation side of the Bi-directional communication, I am getting an error when I set the task to use CLK_IN, but then don't have the clock started before starting the task.  I can't have the clock started prior to the task running, because the clock is only generated when the master is sending data.  And the data chunks are literally 12bits long, so even if I could trigger data out on the master, the HSDIO card is not going to see a continuous wave.

 

For testing, I hooked up a function generator and ran a continuous pulse at 4MHz.  This made the NI examples work.  So I know the issue is that there is no clock provided when starting the task.

 

(Actually, there are two places when the error can occur.  If I have no trigger defined, the error will occur when writing the output wave to the buffer.  If I have a trigger defined, this will be OK, but the START function will error if there is no clock.)

 

So the problem is that I need to set up and prep the HSDIO dynamic generation PRIOR to the start of an external clock.  Then, the external clock will not be continuous, but the pulses will occur in groups (very similar to a SPI communication)

 

Any ideas?

0 Kudos
Message 1 of 1
(721 Views)