Need DDS module, 2nd round

rote:

wrote=

s (Nic=

e:

After =

float=

t.

it har=

in(angle=

kHz

ent

are

or whi=

The to=

. It's=

ow tes=

That =

integ=

y
g

I'd probably add the few lines of 2's complement trickery so only one quadrant of sine table is needed or even use a taylor series, on a cpu with mul-acc is takes very few cycles

but the point was really that even if you use float to generate the sine wave I'd still use integers for the phase accumulator

-Lasse

Reply to
langwadt
Loading thread data ...

The sine table doesn't need to be that long. If every value of the DAC is used then you'd have a sine table which has the maximum accuracy you can ever achieve. With some math that comes to 2*pi* dac resolution. So a 10 bit dac should need a 1024*2*pi=6434 samples.

The idea behind it is that every DAC value should be used at least once to get the maximum accuracy and no values need to be interpolated. This means you need to know the angle which causes a difference of 1 LSB where a sine wave is the steepest (=in the zero crossing). A simple approximation is: lsb_angle=arcsin(1/dac resolution). The number of samples in the table is 2*pi/lsb_angle.

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

wrote=

(Nic=

After =

float=

har=

output=3Dsin(angle=

whi=

to=

It's=

tes=

That =

integ=

Only if you're hurting for flash space. I once did a 16-in/16-out sine table with no folding, 128Kbytes of lookup table. Why not?

or even use a taylor

--

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

In practice, we'd make the table have 2^n entries, which might be 8192 for a

10-bit DAC. That's only 16K bytes, a small fraction of the flash space on an LPC1754.

We've done DDS with table interpolation, but in FPGA hardware. It helps a little, sometimes.

--

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

Joerg schrieb:

Hello,

Agilent has a DDS generator with FM:

formatting link

programmable via GPIB, LAN or USB.

Bye

Reply to
Uwe Hercksen

Well, yeah, I am using something like that from a Chinese manufacturer right now. But that is not suitable because two of those would have to go into a smallish analog interface box. When you open up one of those generators the enclosure is quite full.

Currently I am hammering out an analog solution. Again.

--
Regards, Joerg 

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

So use the Armstrong method.

?-)

Reply to
josephkk

big

output,

easy it

it's

that

there

any

couple

change.

They were sweet chips for their time, but now they are up against DDS chips with 14+ bit dacs for not all that much. They can't compete, except in the hobbyist market which way too small.

?-)

Reply to
josephkk

Well, FM and sweep seems to be a problem :-)

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

What, erythropoietin? Some kind of growth hormone?

:-)

--
Regards, Joerg 

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

I think ADI has a DDS chip that sweeps.

Why is it that ADI is the only outfit that makes DDS chips? I asked one of their guys, and he didn't know.

We mostly do DDS in FPGAs.

--

John Larkin         Highland Technology, Inc 

jlarkin at highlandtechnology dot com 
http://www.highlandtechnology.com 

Precision electronic instrumentation 
Picosecond-resolution Digital Delay and Pulse generators 
Custom laser drivers and controllers 
Photonics and fiberoptic TTL data links 
VME thermocouple, LVDT, synchro   acquisition and simulation
Reply to
John Larkin

The usuakl reason would be some sort of patent protection. But that's just a guess.

But then they probably need 10x the power :-)

--
Regards, Joerg 

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

Here is a link to the demo software for the AD8950 that does sweep.

I doubt that he can download it and get it to run, like so much other software. I had it installed on another computer and it works. You can use the parallel port to connect the demo board to the PC and see that it works.

They have sample code for the 8051 processor

Reply to
Michael A. Terrell

i have a DDS function generator that does all of that and it does not have any problems?

I think you'll find if you don't have a latency problem with the serial link to the chip, you should be able to do all the FMing you want..

Jamie

Reply to
Jamie

So do I and it dopesn't have modulation problems. But these are too big even if I'd remove the enclosure and power supply.

The problem with the uC on these little boards is not the serial link. Well, at least not if 100Hz sweeps suffice. The problem is that they are too small to calculate the numbers on the fly and usually have to little flash left to store them in a LUT. Plus that would be a major time-consuming hack.

--
Regards, Joerg 

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

If its software then it is not a real sweep but a stepped sweep. If you use that to test a resonator or a notch filter you might be in for a nasty surprise.

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

??ftp://ftp.analog.com/pub/www/techSupport/designTools/evaluationBoards/downloads/AD9850_51_V2.41_Win2KXP.exe?

That depends on the step size. Do you think modern network analyzers are all analog?

Reply to
Michael A. Terrell

??ftp://ftp.analog.com/pub/www/techSupport/designTools/evaluationBoards/downloads/AD9850_51_V2.41_Win2KXP.exe?

No, but they won't use a dead slow 8051 either :-) Probably some FPGA or ASIC.

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

??ftp://ftp.analog.com/pub/www/techSupport/designTools/evaluationBoards/downloads/AD9850_51_V2.41_Win2KXP.exe?

You mean an 8051 doesn't have infinite MIPS? Really? You do know that an FPGA won't be perfect either?

Reply to
krw

??ftp://ftp.analog.com/pub/www/techSupport/designTools/evaluationBoards/downloads/AD9850_51_V2.41_Win2KXP.exe?

No specification was given for a sweep time, was it?

Reply to
Michael A. Terrell

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.