06-23-2010 09:16 AM
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
06-24-2010 11:48 AM
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:
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
06-30-2010 09:31 AM
Thanks for your helpful feedback Efrain!
dan