Need DDS module, 2nd round

at

ng

if you want it to be standalone what would spi/rs232 be for?

-Lasse

Reply to
langwadt
Loading thread data ...

The AVr's handle jobs like that very easy and they are easy to code.

You can get one witha ADC input and code a SPI output.

Jamie

Reply to
Jamie

To set the base frequency. Otherwise it won't know where to center the FM signal upon start-up.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

In case someone else is in a similar situation, I've just discovered two interesting alternatives if no suitable DDS module can be found. The 1st is ye olde XR2206 which I thought had gone unobtanium:

formatting link

The 2nd solution is rather ugly. I could take these DDS modules and replace the oscillator with a LTC resistor-set silicon oscillator. Those can be current steered. Of course then the digital frequency display of the module would become fairly meaningless but could still sort of signal if my PID loop has locked or not.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Soooooooo. Have you spent more time looking to date than it would have taken to slap a DDS chip onto your board and make it work?

(I hate that question -- even when I'm asking it of myself).

--
My liberal friends think I'm a conservative kook. 
My conservative friends think I'm a liberal kook. 
Why am I not happy that they have found common ground? 

Tim Wescott, Communications, Control, Circuits & Software 
http://www.wescottdesign.com
Reply to
Tim Wescott

formatting link

If you want to get that crude, you could always turn to an old stand by.. LM566 :)

That has a square out that you can use to monitor in a counter for example and a triangle out that you can wave shape into a sine wave.

That also includes a modulation input pin and it just happens to be in your range.

Jamie

Reply to
Jamie

One of the small ARMs with a onboard DAC would do. A periodic interrupt at 100 KHz or so could easily bang the DDS algorithm. 10, maybe 20 lines of code.

--

John Larkin                  Highland Technology Inc 
www.highlandtechnology.com   jlarkin at highlandtechnology dot com    

Precision electronic instrumentation 
Picosecond-resolution Digital Delay and Pulse generators 
Custom timing and laser controllers 
Photonics and fiberoptic TTL data links 
VME  analog, thermocouple, LVDT, synchro, tachometer 
Multichannel arbitrary waveform generators
Reply to
John Larkin

Why do you think that?

The Analaog Devices DDS chips that I've looked at didn't seem to reset them selves when the frequency was changed.

The iteadstudio designers may have made life simpler for themselves in some way by chucking in an unnecessary reset command on top of every frequency change update, but that doesn't mean that just sending a frequency change c ommand is going to be difficult.

--
Bill Sloman, Sydney
Reply to
Bill Sloman

Plus, you get latency with a sound card which many be an issue if you need a tight loop.

--
?? 100% natural
Reply to
Jasen Betts

On a sunny day (Sat, 02 Mar 2013 15:47:46 -0800) it happened Joerg wrote in :

74HC4046 is a good VCO.

If you need sinewave out, could a 4046 be used as clock for a DDS? Never tried it.

Reply to
Jan Panteltje

Sometimes chips behave different than advertised and the only way to find out is to put them on a board and test them. I have no experience with the DDS chip they use on the board Joerg found so your guess is as good as mine. Another problem could be timing since the controller on the board Joerg found is quite slow. If there is a lot of variation in the time between updates, the sweep or FM modulated signal would not be very clean or look more like a stepped sweep.

--
Failure does not prove something is impossible, failure simply 
indicates you are not using the right tools... 
nico@nctdevpuntnl (punt=.) 
--------------------------------------------------------------
Reply to
Nico Coesel

emselves when the frequency was changed.

me way by chucking in an unnecessary reset command on top of every frequenc y change update, but that doesn't mean that just sending a frequency change command is going to be difficult.

a 16 bit SPI will only write 14bits of the frequency register, so you'll need two writes unless you can do with just changing the MSB part

the right way would to toggle between the two frequency registers, so that would be 2*16bit, plus 16bit control register so 48bits per update

but that is leaves ~30 cycles per bit to do the bit banging on the

16MHz MCU and get a ~10KHz update rate

-Lasse

Reply to
langwadt

If it did the usual 1msec USB response intervals it could scrape by for the PID loop, barely. But if that ever gets interrupted there would be a serious data kerfuffle.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

formatting link

But it puts out a square wave which I really can't use here. Has to be sine and the potential range is too wide to cover that with a lowpass. Else I could use a LTC resistor-controlled oscillaator by itself and call it a day.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

No, with my code writing knowledge that would take a loooong time. We could use a contract engineer for that part but it can become tough because every time some loop behavior needs to change he or she has to come again (because it must be tested on a fairly large setup). With resistors and caps and diodes it's much easier.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

themselves when the frequency was changed.

way by chucking in an unnecessary reset command on top of every frequency change update, but that doesn't mean that just sending a frequency change command is going to be difficult.

You'd also have to calculate the new values for "xx Hertz up or down" every time, xx depending on how much the output of the PID regulator changed. I doubt those little uC would have enough ROM to store a large LUT for that.

I did a few tricks like that in the past because I do write a lot of code architecture. Almost every time the guys came back and said "Hey, good idea but we'd run out of MIPS" or "We are almost out of memory space already". That's the beauty of analog, no such limits :-)

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

On a sunny day (Sun, 03 Mar 2013 07:16:30 -0800) it happened Joerg wrote in :

Very long time a go I made a sine wave sweep generator for testing active audio filters by using a 4046 VCO (linear f versus V), a 4040 counter, a 4k EPROM with a sine wave table, and a 8 bit DAC. Also had some opamp and integrator and 2 comparators, so it could sweep from f1 to f2. That sort of thing can make a reasonable pure sinewave. But you would need to be able to program an EPROM. Not much that can go wrong with it, if you need more than 8 bits use 2 EPROMS.

Reply to
Jan Panteltje

That puts out a triangle wave on a different pin, it's very linear for your purpose with some basic wave shaping. And the freq range is 10:1

Oh well..

Jamie

Reply to
Jamie

audio filters

sine wave table,

f1 to f2.

Believe it or not, I don't even have an EPROM burner anymore. Could get one though. The table would be generated with Excel. For UV-erasing I could just place the EPROM on the roof, the sun is pretty intense here.

--
Regards, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

themselves when the frequency was changed.

some way by chucking in an unnecessary reset command on top of every frequ ency change update, but that doesn't mean that just sending a frequency cha nge command is going to be difficult.

yeh those 8K wouldn't last long with a LUT, but is it needed ?

wouldn't it be something like; freq = basefreq + Vin*magic_constant

but plenty of other limits, you can't get everything ..

but with modern ARMs, you can get close to 200MHz with 1Mbyte flash for 10$, that'll go a long way

-Lasse

Reply to
langwadt

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.