Hello I have a doubt, I want to develop software on Arduino or Rapsberry Pi generate sine wave, square ave and triangular wave, I want to develop software that generate waves ranging from 0 to 10 MHz, who could you tell me? how do I it?
Try these searches under google:
AD9850 Arduino
Si5361 Arduino
as a starting place.
10MHz means you must use external hardware, such as a DDS waveform generator, which a clock
of 25MHz or higher.
The AD9850 only does sine, the AD9833 sounds more appropriate to your needs, its SPI and 3 or 5V
compatible. Only MSOP package so I'd suggest a breakout board... Sparkfun do a breakout of
a slower chip: SparkFun MiniGen - Pro Mini Signal Generator Shield - BOB-11420 - SparkFun Electronics
MarkT:
10MHz means you must use external hardware, such as a DDS waveform generator, which a clock
of 25MHz or higher.The AD9850 only does sine
You can do a square wave with the AD9850:
http://www.eimodule.com/download/EIM377_AD9850_Signal_Generator_Module_V01.pdf
and its onboard clock is usually 125MHz. I've seen images of square waves for the Si5351, but details are sketchy. You're right, the AD9833 looks like a good choice and can do all three:
http://www.vwlowen.co.uk/arduino/AD9833-waveform-generator/AD9833-waveform-generator.htm
Oh yes, it has a comparator output too!
The arduino runs at 16MHz. This gives you 1.6 machine-language clock cycles to do all the calculations and emit an entire cycle of a wave, which is not enough. Furthermore, the analog out is not a true analog out, is is a modulated square wave.
As everyone else has pointed out - you need hardware to do this.