09-28-2022 04:36 AM
Hi,
I am trying to pulse a number of digital outputs on a digital output card NI9472 [cRIO 9025]. I need to be able to control the frequency [upto 1kHz] and phase offset for each digital output to a high degree of accuracy.
The outputs pulse on/off but it's not working as intended, so am either making a hash of the vi’s or the hardware / principle of what I’m trying to do isn’t possible. I suspect the former as I’m very new to labview and FPGA.
See above image: I have created a single timed loop on the FPGA that contains 6 square wave generators.
When I first deploy the fpga with all square wave generator phase offsets = zero and frequencies set at 1Hz [so I can see the digital card L.E.D.’s switching on/off] it appears to work, all in synced and switching nicely – I also have a scope on the outputs. But when I alter an offset and /or frequency the outputs don’t always behave as I’d expect them to and strangely when I return the offsets back to original settings [ie freq. 1Hz and offset= zero] they are out of sync.
Can anyone tell me what I’m doing wrong and what is best practice? – let me know if sending the vi’s will help
Thank you!
09-28-2022 08:33 AM
Is the single cycle timed loop (SCTL) needed?
09-29-2022 12:00 PM
I'm new to all this so probably i don't need a SCTL but my reasoning is that i want to know my digital outputs are very precise -timing is critical for this application and I know all the generators in my SCTL will execute in 25ns [40MHz ticks].
By the way, i've discovered what i was missing...i wasn't resetting the squrare wave generators after a phase change so they went a bit haywire. seems to be working now ...