From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA cRIO Square wave generator timing

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.

 

udtwmc1_0-1664357535866.png

 

 

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!

0 Kudos
Message 1 of 3
(689 Views)

Is the single cycle timed loop (SCTL) needed?


Certified LabVIEW Architect, Certified Professional Instructor
ALE Consultants

Introduction to LabVIEW FPGA for RF, Radar, and Electronic Warfare Applications
0 Kudos
Message 2 of 3
(655 Views)

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 ...

 

udtwmc1_0-1664470816584.png

 

 

0 Kudos
Message 3 of 3
(631 Views)