This project describes howto create a waveform generator with an AVR Microcontroller and an Analog Devices DDS circuit.
The AD9833 is a programmable waveform generator capable of producing sine, triangular and square wave output signals up to 12.5 MHz (clocked with 25MHz).
The Interface Boards contains all basic components the DDS Chips needs to run. If you compare the component count with that of a MAX038 circuit you will see, that there are less here.
In the top-corner of the board you find the power connector (“Key Lock”). Next to it the BNC Connector for the Output signal. The 3-pin connector for the serial interface is located at the bottom of the Board. For a first basic test of operation connect the serial interface to your computers parallel port and use the software provided by Analog Devices (the schematic for the parallel port connection can be found in the AD9833 Datasheet. You can connect the pins directly without the use of the 74HC744 8bit Latch).
The AD5932:
The AD5932 can be seen as the next generation of the AD9833. The max. Outputfrequency has been doubled and additional Pins have been added. The AD5932 can produce sine, triangular and square waves from 0 to 25MHz with 28bit resolution.
Creating a programmable Gain Amplifier (PGA):
The get a full functional waveform generator some analog parts to adjust Amplitude and Offset are required. This is the really tricky part of the project. If’ve started with two OPAMPS and a Digipoti to get a PGA (I haven’t tested my circuit by now). At the moment i’m thinking of using the VCA810 from TI, some OPAMPS and maybe a Digipoti or an voltage output DAC.
Downloads / Schematics:
AD9833 Interface Board:

AD5932 Board with PGA:



i wan to make a single scan waveformgenerator which will generate a frequency from7.5MHZ-22.5MHZ with the help of a ATMEGA8535 microcontroller.so i want your help.
Sorry but I never finished the project. I only did the schematics drawings and some tests. For this I used the Windows Software provided by Analog for Interfacing the AD9833. So for your project you will have to use the AD5932…
Neat! I am playing with the AD5932. Interfacing to the Ardunio to make a bench USB controlled function generator. Found your site when I went looking for some sample source code. I am haveing troube getting the device configured. I dont want a scan right now, just a fixed frequency output… Do you have any source code which could give me a clue?
I bought 2 AD5932′s on Ebay, not realizing what it requires to make them work. I’m interested in anything you have. I’m an Analog/Power person, not real savvy to Micro Processors, especially Atmel
Hello,
i am trying to build a simple circuit using AD9833, all i want to do with it is just to measure the circuit as a starter in this filed. i will be glad if you can give me a list of the component required in the one you built and how you went about it.’
Thanks for your time
Hi,
You need the parts shown in the schematics. R2,R3,R4,R5 are not necassary. Leave R6 open and choose R1 = 50 Ohm for series termination. QG1 is a oszillator at max. 25MHz.
Hope that helps you,
Tobias
hello,i am now playing with AD5932,but i have a lot of trouble,could you please,help me ang give me the source code and the schematics drawings ,thankl you very much!
Hi, i am also testing AD5932 some weeks before ,but fail until now ,
By the way ,i want to get 18MHz to 19.2MHz sweep signal ,thanks.
Hello,
i want to make a triangular wave generator using AD9833 the wave will have a variable frequency also i want to interface a PIC16f84a with the AD9833 to controll it could any one help please
best wishes
Somdeb
Hi,
Can you please send my the example source in assembly for control the AD9833 because the flowcharts on the datasheet of the chip aren’t clearly for me.
I would like the source code for control the internal ADC of the microcontroller 18F877A with interrupt driven.
Thanks
sorry, i don’t have any sources for this. i never finished that project…
Playing around with the AD9833, neat little chip. Creating a vfo for amateur radio use.
Can I use a crystal 25Mhz for the MCLK. Please specify the part number / link to QG1
You can use 25MHz for MCLK. I used a integrated crystal oscillator i had around for that. Something like this should work: http://at.farnell.com/ael-crystals/o25m000000l063/oszillator-spxo-25mhz-8-pin/dp/1448074
Hi,
I am a junior on this circuit design. I am doing the project about measurement of impedance. I know that ad9833 can measure the impedance accurately but I don’t how to get started on it to measure the impedance. Can you give me some hips. Thank you!!
The “KeyLock” plug is basically all I need to see to know you’re a genius, it’s not just about recycling for electronics enthusiasts this is life !
Great project I’m looking forward to new updates.
Regards.
Ben.