analog devices function generator project
Actually, the AD9852 from analog devices is a really nice DDS to use. Very few connections (using SPI programming). You can generate perfect sinewaves, square waves, triangle waves with variable pulse width from 0 to 120MHz fairly easily. You can generate FM, FSK, PSK, ASK, and a couple others I think. With the aid of a microcontroller and some 32 bit tuning words, you can have 1 hertz resolution!
if you choose to take a look at the data sheet, there is AD's formula to get the tuning word for the freq of interest. But, to be able to cram this into a 32 bit microcontroller, you have to reduce this formula.
Their formula is:
FTW = freq x 2(48th) / 300MHz
-or-
FTW = freq x 0XFFFF,FFFF,FFFF / 300 Meg
A way to get the FTW is to use ratio.
example, if 0xffff,ffff,ffff is equal to 300Meg, then '____' is equal to 1. Then, simple mutiply the '____' by the user input.
Simple high school math.
Now, because the DDS wants 48 bits, you have to write to the upper most significant and leave the lower 16 blank. it's not going to be 'exactly' right on the money, but it'll be dang close. I'm talking .01 of a hertz in most cases.
I've actually put one of these together with a MPC92432 to get an awesome 1hz resolution generator up to about 1.4 GHz (I've pushed this chip to well over 1.5GHz). Both chips are serial controlled. Something I've also done is split the path to an pre-amp to a freq doubler from Mini circuits and I'm good to over 3 GHz.
One thing you have to do, however, is on the lower freq coming from the MPC part, you'll have to filter off the harmonic becuase that output is not anything you can 'match' to. You can do this with a couple swithed paths, each path going to a Low pass filter from minicircuits. You'll need to plan this filter scheme well.
If you decide to take on the challenge, I'll be glad to help, as I've already done it and have it sitting in my radio shack at home... I use it all the time.