Electronics > Beginners
DIY Function Generator
asgard20032:
--- Quote from: poptones on October 04, 2012, 08:48:02 pm ---It has a built in DAC but it is only 5 bits. It would be alright for RF
--- End quote ---
Not sure about that. For RF, we need good quality signal. If not, all the harmonic would cause havoc on on neighbor band... FCC...
Kleinstein:
The cheap DDS modules you get en Ebay are still essentially the same: AD9850 based with not so well working filter. This gives a reasonable good quality sine up to maybe 20 MHz. You still need amplitude scaling and output amplifier.
pandy:
--- Quote from: ziplock9000 on January 13, 2017, 09:43:01 pm ---Any updates to this 5 years later? Are there better modules these days as I've outgrown my extremely basic generator?
--- End quote ---
You can build your own discrete TTL based DDS - use as a reference design from http://www.epanorama.net/sff/Test_equipment/Generators/Digital%20Sine%20Wave%20Synthesizer.pdf, however nowadays with fast uC available i would rather replace discrete NCO by software and move RAM LUT to separate IC's (there is plenty asynchronous fast SRAM chips - bigger - better), add to this fast DAC and you may have arbitrary waveform generator.
Brutte:
--- Quote from: pandy on January 14, 2017, 01:31:51 pm ---(..)however nowadays with fast uC available i would rather replace discrete NCO by software and move RAM LUT to separate IC's (there is plenty asynchronous fast SRAM chips - bigger - better), add to this fast DAC and you may have arbitrary waveform generator.
--- End quote ---
That was the route I took.
I use STM32 microcontroller (STM32L-Discovery) as an arbitrary signal generator.
The uC comes with two 12-bit DACs that can go up to ~2Msps each (with external op-amp for gain and offset) so this is a double-channel generator. It is capable of generating 20-point sin(x) at 100kHz on each channel. Can be started externally or it can trigger a scope (good for sweeping frequency).
The nice thing is that such signal generator does not use CPU at all so it does not really matter how fast a uC is clocked (32MHz is ok). I just initialize timers and DMA and let it run in background.
MarkF:
I built a DDS with an AD9834, a PIC18F2550 and a small OLED display. It has sine, triangle, square, sweep up and sweep down outputs (although the square wave output is on a different pin). There is adjustable amplitude and DC offset.
The MCU is under the display as shown on the board section to the right.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version