A microcontroller based DDS function generator using an AD9833

A DDS Function Generator

First what do we mean by DDS – DDS stands for direct digital synthesis. A DDS chip generates a waveform from an internal ROM with table. The ROM table could contain square, triangular, sawtooth or sine wave forms. A high frequency oscillator is used to drive a DDS chip – the high frequency clock is taken into a large internal divider that in turn would generate clock signals of less than 1Hz. The derived low frequency signal will be used to tell the on-chip digital to analog converter to go to the next value on the ROM table. This particular project makes use of the AD9833 DDS sinewave generator from analog devices. A 50MHz clock was used to drive the AD9833 while an ATmega32 was used as the main controller that takes user input though a numeric keypad, displays the current output through a 16×2 liquid crystal display (LCD) and communicates with the AD9833 through 3 wire SPI. The challenge in building the project comes with the fact that high speed waveforms are difficult to amplify and easily gets infested… Continue reading

A DDS function generator using an ATmega16

I can still remember the piece of rectangular box with lots of buttons labeled 1kHz, 10kHz, 100kHz, 1MHz and everything else in between. Oh it also has a knob connected to a dial dividing a sector into a hundred parts with a series of 7 segments changing dial every time a button is fired– just like old school radio we see at startrek. We commonly call it the function generator and its usually used to inject square waves into your circuits – what for? Mostly for clocking. Here’s a new implementation of the AVR DDS function generator 2.0 (scienceprog.com), it has a different board layout and uses only through hole components for easy construction. It has two outputs one for a +-5V signal source the other is a 0-10V signal source, the voltage levels of the two outputs are reconfigurable using two separate potentiometers. Like the original version it incorporates a 2×16 LCD screen and push buttons for control – press a button to start and stop the signal generation. The circuit’s DAC is just a simple R-2R ladder controlled… Continue reading

AVR DDS signal generator with offset and amplitude control

Signal generator is a must have tool for every electronics engineer and amateur. Not everyone can or want to buy signal generator that costs much. If your needs aren’t very high you can build signal generator by yourself from few common electronics parts. ScienceProg developed very good alternative which is really simple to build but have great functionality. This is a software based DDS signal generator which runs on Atmega16 microcontroller and can generate sine, square, triangle, saw tooth, reverse saw tooth, ECG, noise signals in frequency range from 0 to 65534Hz. It also has signal offset and amplitude regulator. So you can get up to 10V signals. Signal generator has also distinct High Speed (HS) output were high frequency (from 1 to 8MHz) signals can be generated. Ideal tool to have on a workbench. WinAVR source code and Eagle CAD files are available for download. Continue reading