A microcontroller based DDS function generator using an AD9833

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