09-25-2009 08:47 AM
Hi,
I have a system (using Visual Studios 6.0, C++ for programming NI USB 6009) where I want to:
Write a digital pulse train triggered by a TTL-pulse from my laser. The TTL-pulse will go into my NI USB 6009 and on the first TTL-pulse I want to start generate a digital pulse train, after a certain delay (in the range 80ns). This is surelly a simple task but I have had great difficullties with it, tried a lot of other solutions but all attemts have generated different errors that I cannot solve. I am new i the area and would besoo happy for glad for tips and help!
//Hanna
09-25-2009 10:34 AM
With the 6009, you actually have a very difficult task. The digital I/O is software timed only and it has no trigger capability. It does not have a counter output so you can't use that for a pulse train either. In order to detect the signal, you will have to do a continuous read, then output the pulse train bit by bit. The timing for this would probably be no more than 1kHz. A software delay of 80ns is just unreasonable on windows. With the amount of jitter on a non-deterministic OS, you might be able to achieve something in the msec range.
A different DAQ card is almost certainly called for.
09-29-2009 02:42 AM
Thank you so much for your reply! I would like to ask you, what would you recomend me to buy? What product do you think is the best to manage my task:
Receive TTL-pulse, on first rising rest the system (using Sleep(Delay) maybe), and then write out a pre-determined number of trigger signals to another apparatur in my system. When this apparatur has received its trigger signals it perform a task and do then send an analog value which my device should be able to read.
Thank you so much!