Western PA LabVIEW Users

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW FPGA DDS Multichannel Waveform Generator

[Edit 6/4/2009] - Replaced attachment with corrected .ZIP including the Waveform Selector.ctl - Evan Robinson

Functional Description

This example project will perform multiple channel waveform generation using DDS.

Direct digital synthesis is a technique to generate signals with very precise frequency/phase resolution. For more information on DDS please see: http://zone.ni.com/devzone/cda/tut/p/id/5516 and http://en.wikipedia.org/wiki/Direct_digital_synthesis.

Caveats and Additional Notes

Use "AS-IS"

Required Hardware / Software:

LabVIEW / LabVIEW FPGA Module

NI R-Series or cRIO based FPGA Target.

0 Kudos
Message 1 of 6
(15,401 Views)

Hey Evan,

There appear to be some VI's and controls missing from the example you showed me at the Developer Day. Specifically, the ability to select the waveform type.

"All truths are easy to understand once they are discovered; the point is to discover them." -- Galileo Galilei

0 Kudos
Message 2 of 6
(9,227 Views)

Hi Brandon,

Do you mind letting me know which controls are asked for specifically? I zipped the entire folder and uploaded it, so the controls much be somewhere else, I'll have to search.

-Evan

0 Kudos
Message 3 of 6
(9,230 Views)

The Waveform Selector.ctl (FPGA target) is not found, and I also don't see a host example that would allow changing the waveform type.

"All truths are easy to understand once they are discovered; the point is to discover them." -- Galileo Galilei

0 Kudos
Message 4 of 6
(9,230 Views)

Fixed!

Also - use the waveform selector from the host, simply use an FPGA Read/Write propery and wire to it the desired waveform. If you check out the FPGA code, you can see that the waveform selector is used as a select input choosing either sine or triangle. This could be extended for additional types of waveforms such as squares and sawtooths, etc.

Let me know if you have additional questions.

0 Kudos
Message 5 of 6
(9,230 Views)

Hi there!  Not sure if you are still monitoring this feed but gonna try anyway.  For some reason, I am running into an aliasing/shifting issues.  I defined a ramp function in a lookup table as well as a pulse and for some reason my signals shift back and forth every 1.2 microseconds.  it is the oddest thing.  I figured it was due to the interpolation but i have messed with that a bit and changed my LUT from 11 bit to 14 bit for better granularity.  Still can't get away from the 1.2 microsecond shifting.  Any thoughts?

Thanks!

0 Kudos
Message 6 of 6
(9,230 Views)