I am using the PCGU1000 to generate a line synchronization signal for
3 line scan cameras. The line sync signal needs to be a square wave
which can be adjusted in frequency from 12 KHz to 18 KHz.
Currently I am using the FGULINK.dll from the file FGULINK_1.zip that
allows the application to run on Windows 7 without needing to run
as administrator.
I am using the following function call sequence to generate the line
sync signal.
I do not believe that what you wish to do is possible with the current hardware/firmware–though Velleman’s support team have more than once delivered near miracles to meet a user’s needs…
Using StartGen() I was able to duplicate (or at least come close to) your observation:
Then I thought that perhaps activating/deactivating the -40dB filter might create a clean on/off of the output however this does not seem to be the case.
This trace was captured when toggling the -40dB filter off using the AttOn() library function:
Same-O, same-O…
Perhaps the support team can provide a solution, it seems that for your purpose the signal would have to toggle on at the rising edge of the first pulse…
I missed your duty cycle issue–the only way to affect that is to use a custom library waveform file. It is not difficult at all, here is a 10% duty cycle rectangular wave.
-1.0 (7200)
(0)
1.0 (800)
It pulls the output to a relative -1.0 for 7200 of the 8k data points; -1.0 (7200), switches immediately; (0) to a relative output of 1.0 for 800 data points; 1.0 (800). The relative output values will be scaled to your selected output level, the 8k points define on entire cycle of the output waveform that will be generated at your selected frequency…
Neat–my “top-of-the-stack” 'scope is an older Lecroy 9354L 500MHz instrument with a 2GS/s maximum real time rate. I also have a Lecroy 9450A 300MHz (400MS/s RT max), and a Lecroy Wavejet 312 (100MHz, 1GS/s RT)…
Looking at the schematic I had been wondering about that–can the startup of the DDS engine be delayed until the amplitude, filter, offset and attenuation settings have stabilised?
[quote=“cliffyk”]Looking at the schematic I had been wondering about that–can the startup of the DDS engine be delayed until the amplitude, filter, offset and attenuation settings have stabilised?[/quote]Thank you cliffyk for this comment.
Now there is added a 10ms delay before the waveform data is output.
This seems to help to solve the first pulse problem.
Here are some screenshots:
All these examples are with zero DC offset.
A minor problem occurs if there is DC offset setting other than zero.
In this picture can be seen how the offset voltage is output 10ms before the beginning of the waveform data:
The first pulse is not “very good”.
If the first pulse must be good too, you can’t use the offset.
Here is an example library waveform to get positive pulses having amplitude of 5V max:
Thanks to all the people who worked on fixing this problem.
Now I have my program working and generating the required camera timing signal.
I am using a library waveform that I created that goes from 0.0 to 1.0 and keeps
the offset at 0V.
I did have a small problem getting the SetLibWave() function working correctly
from by C++ program. It turned out that my C++ program was using an old
version of the FGULINK.dll from C:\Windows\SysWOW64 instead of the newer
file that was in my project directory. When it started using the newer version
of the *.dll file every thing worked correctly.
[quote=“bruce_a2e”]Thanks to all the people who worked on fixing this problem.
Now I have my program working and generating the required camera timing signal.
I am using a library waveform that I created that goes from 0.0 to 1.0 and keeps
the offset at 0V.
I did have a small problem getting the SetLibWave() function working correctly
from by C++ program. It turned out that my C++ program was using an old
version of the FGULINK.dll from C:\Windows\SysWOW64 instead of the newer
file that was in my project directory. When it started using the newer version
of the *.dll file every thing worked correctly.