Need DDS module, 2nd round

Mar 02, 2013 144 Replies

(Nico

After all

float to

harder.

output=sin(angle)

which

top N bits

It's very

tests, some

That would

integer

BAMS. It has been around for over 50 years. (Fraction portion) MSB is

180 degrees and so forth. It is not all that well known though.

?-)

I can even do that in fixed point. Select a reference frequency, say 100 Hz, then scale for frequency at beginning of sweep, and sweep step size (may be negative for some cases), then each time you update the phase register calculate the new value by adding step to current phase/step value. loop until at stop frequency, reset phase step value to start and go again.

If everything is fast enough you can even do high futility FM stereo modulation at MHz carrier frequencies with an MP3 source. But at more than 8 bits to the DAC you are looking at 200 MB/s, enough to choke a single PCIe lane.

ADI has an ap note on generating FM Stereo via DDS, along with some code. I saw it about a year ago.

If i could get you to stop and listen i could show you haw to do the operating side in very little code space, no lookup table, fixed point math without divides. The user interface or system interface is another matter though.

?-)

Operating

whip

somewhat

See:

formatting link

formatting link

I am sure it can be done somehow. But it's not a slam dunk because the little uC in there is already running an LCD and other things. One could do some interrupt shuffling and all that. But ... I've now resorted to the old analog method. It's my home turf and there's just too many other tasks at hand to let one like this balloon into its own sizeable project.

Regards, Joerg http://www.analogconsultants.com/

The way he died was very sad, I did not know that. Thanks for sharing.

Regards, Joerg http://www.analogconsultants.com/

Ofcourse but with floating point its a total no brainer so faster to develop. In the end floating point is automatic fixed point without having to think about where to put the decimal point for maximum accuracy.

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

Not if the software runs fast enough and is done right.

You can microstep a DDS's frequency by jittering the phase accumulator step size.

?? 100% natural --- news://freenews.netfront.net/ - complaints: news@netfront.net ---

Fast enough and done right usually don't go well with an 8051. In an ideal sweep (or FM modulation) you'd have to recalculate the step size for every sample.

Somehow I have a feeling that will look funny on a spectrum analyzer. My guess is that you'll see two distinct peaks instead of an intermediate frequency.

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

:

ote:

g
p

hat

Cool, I've seen this phasor diagram that shows FM is just 90 deg phase shifted AM. (but only at low amplitude) I never knew how to make it work, 'in practice'.

George H.

- Hide quoted text -

I understand that 8051 is the uC that everone that everyone loves to hate, but the claim depends on the frequency you're running it all at.

You have to do it between each sample. It's the same effect you'd get by adding more bits to the phase accumulator, but not widening eange of phase bits used for output.

?? 100% natural --- news://freenews.netfront.net/ - complaints: news@netfront.net ---

floating

100

I understand where you are coming from. But the nature of this application, as stated, is inherently fixed point with an obvious radix placement. Why put up with FP overhead when you don't need to.

Different viewpoint for this case.

?-)

the

manufacturer

Operating

whip

not

somewhat

The best way to learn is to just build one and play with it. It would be fun to work with you if you want to explore this. I haven't had the chance to actually build one, but i guessed the principle while still a teen.

?-)

If the overhead is not in the way then why bother trying to 'improve' something which doesn't need improving? I'd rather spend my time on adding features which are actually useful to the customer. New technology brings new solutions to old problems.

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

And somtimes it brings new problems to old solutions. Like the electronics in many cars, which came at the price of reduced reliability. Or what just happened with my Thunderbird. Tried an add-on called Menhy or something to be able to jump to these weird NG post links with the @-sign in there. Didn't work, no surprise there. But ... it totally screwed up TB in that now every printed email has the first

3/4 page full of routing garbage. And no proper address field display anymore. Now I'll have to do a re-install. Just great.
Regards, Joerg http://www.analogconsultants.com/

Hate? It is just about the only uC that has 2nd source (in some of the packages) and where you can find a capable programmer in almost every village. What there to hate?

Depending on the application some "spectral fuzz" is ok. Certainly would be in my current one. I just don't want to program a uC :-)

Regards, Joerg http://www.analogconsultants.com/

The architecture? The instruction set? The speed?

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

So what? It's a practical uC, for many reasons. In the same way that I won't complain that my car would not perform well on the Indianapolis racetrack. But it does ferry 1/2 ton of pellets back home rather nicely and that matters more to me than winning some race.

Regards, Joerg http://www.analogconsultants.com/

If I can find an appropriate eval board for an FPGA, I can gen up a solution that should do everything you need. How much are you willing to spend? Unfortunately the FPGA boards tend to be a bit more than MCU boards. Nearly anyone should be able to do this on an MCU board, but that isn't my forte.

Heck, I have an old sig gen that I need to repair. I just got a Renesas MCU eval board for free. I'm sure it has the analog I/O needed. I'll take a look to see if it will do this. When you are done can I get it back so I don't have to repair my sig gen? I was just starting to take a look at it today and got called away. Too fine detail and too hard to get into... damn old eyes!

Rick

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required