Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

HSDIO Digital Generation and Acquisition - using niHSDIO Write Named Waveform VI

Good morning,

 

 

I've already obtained some feedback from Ryan on this issue which was progressive.

 

In short, I'm using the NI-HSDIO PCI-6541 and am generating a 50% duty cycle TTL 20-period 8 MHz pulse train from a pin (DIO 12), and would like to acquire the signal on another pin (namely DIO 5).

 

Find attached 2 VIs.

 

For the "HSDIO_GenAcq_SWtrigger_Counter_June23.vi", I am seeing results in the acquired waveform showing the generated and acquired digital TTL pulse train on the respective DIO pins, but I won't obtain my frequency requirement of 8 MHz since I am using a counter pattern to generate the pulse train connected to the Data port of the niHSDIO Write Named Waveform VI. With a counter, the LSB (channel DIO 0) is going to toggle every clock cycle. At 50 MHz sample rate, I would see 25 MHz on DIO 0, 12,5 MHz on DIO 1, etc…so I won’t be able to meet the 8 MHz requirement on channel DIO 12.

 

In "HSDIO_GenAcq_SWtrigger_InterleavedArrays_June23.vi", a toggle pattern is created and connected to the Data port of the niHSDIO Write Named Waveform VI. I tried it and I'm not obtaining any acquired signal through my acquisition chain as I was when I had a “counter” (just a For Loop) connected to the Data port.

 

I think perhaps the niHSDIO Write Named Waveform VI is designed to receive a "counter" stream at its Data port. I can't access the internal parameters/attributes of the niHSDIO Write Named Waveform VI since it is mainly "governed" by a library function node (DLL). Perhaps a Property Node could be implemented with the proper parameter/attribute connected, but I’m not sure. Also, I don’t think another caller-usable HSDIO VI exists (other than the Write Named Waveform VI) which will transfer waveform data from PC memory to onboard memory, since I believe this what needs to be done in order to permit triggering action.

 

Feedback is very appreciated.

 

Thanks in advance for your time!

 

dan

0 Kudos
Message 1 of 3
(2,988 Views)

Hi dan_tuq,

 

If you extract the piece of code that your are using in "HSDIO_GenAcq_SWtrigger_InterleavedArrays_June23.v i" to generate your data:

17353i037C5FDC45425019

you will see that when you combine the arrays, your xF and x0 values are not being considered as binary data yet. Therefore, you are interleaving 15 and 0 which translates to the following binary pattern:

 

1111000011110000 instead of the desired: 1010101010

Regards,
Efrain G.
National Instruments
Visit http://www.ni.com/gettingstarted/ for step-by-step help in setting up your system.
0 Kudos
Message 2 of 3
(2,974 Views)

Thanks for your helpful feedback Efrain!

 

dan

0 Kudos
Message 3 of 3
(2,951 Views)