Groups | Search | Server Info | Login | Register
Groups > comp.arch.fpga > #38677
| From | john larkin <jl@glen--canyon.com> |
|---|---|
| Newsgroups | sci.electronics.design, comp.arch.fpga |
| Subject | Re: 50 cent DDS synthesizer |
| Date | 2025-10-23 18:55 -0700 |
| Organization | A noiseless patient Spider |
| Message-ID | <h2nlfk5g6041d11eqcmu7ang9d04ha71bs@4ax.com> (permalink) |
| References | <8fjifkteog2a8s8960dk7lak7kh70lrtta@4ax.com> <10dcmfd$1fcrk$1@dont-email.me> <jgekfklf9s7khf3kqf07a1jdcuegik14bi@4ax.com> <20251023a@crcomp.net> <76tkfklaoud792v02jsepgt641ce063rv7@4ax.com> |
Cross-posted to 2 groups.
On Thu, 23 Oct 2025 11:46:18 -0700, john larkin <jl@glen--canyon.com> wrote: >On Thu, 23 Oct 2025 16:54:31 -0000 (UTC), "Don" <g@crcomp.net> wrote: > >>john larkin wrote: >>> Jan Panteltje wrote: >>>>>john larkin wrote: >>>>>> >>>>>We have a little proto board with a RP2040 Rpi cpu and an Efinix T20 >>>>>FPGA. The Pi configures the FPGA at powerup and then talks SPI to it. >>>>> >>>>>We often need programmable clocks so I added a few parts to make a DDS >>>>>frequency synthesizer. We use a PLL inside the FPGA to spin up a 204 >>>>>MHz clock for the 32-bit phase accumulator. The sine lookup is 4K >>>>>points and the "dac" is six resistors. >>>>> >>>>>This lowpass filter is tacky, but it all works. At 50 MHz, the jitter >>>>>is a few hundred ps p-p, and that looks mostly like amplitude noise to >>>>>me. >>>>> >>>>>https://www.dropbox.com/scl/fo/336qn643xyilkqz5rc9lp/ADC4ThBQa3B-L5auaTDh8fQ?rlkey=q2qrsbdow816id6wgc4eypuas&dl=0 >>>>> >>>>>The FPGA 1.2v core supply uses about 30 mA total when this is running >>>>>at 50 MHz out. >>>> >>>>Nice, 250 Ohm is a big load, good the FPGA can handle that. >>> >>> The MSB actually sees 500 ohms. >>> >>>> >>>>I was using R2R for video: >>>> https://www.electronics-tutorials.ws/combination/r-2r-dac.html >>> >>> One can buy a real r-2r network cheap, but it's easier to use 0603 >>> resistors that we have in stock. >> >>Also, the ability to adjust assembled resistor values works better for >>me as a DIYer. Here's mouser's offering for the geniuses in our midst, >>with the foresight to always choose the correct component: >> >><https://www.mouser.com/c/passive-components/resistors/?circuit%20type=R%2F2R%20Ladder> >> >>Jan's cited tutorial says: >> >> Compared to the R-2R DAC, the binary weighted digital-to-analogue >> converter has an analogue output voltage which is the weighted >> sum of the individual inputs. Thus it requires a large range of >> precision resistors within its ladder network, making its design >> both expensive and impractical for most DAC's requiring lower >> levels of resolution. >> >>Discussions in this group left me with the impression precision resistor >>fabrication became trivial thanks to the trimming technology of modern >>lasers? Is the price of precision resistors still a factor? > >I figured that using 1% resistors, this sort of dac would be about >monotonic at 6 bits. Six bits makes a pretty decent looking sine wave, >which filters/interpolates into a low jitter clock. > >https://www.dropbox.com/scl/fi/n12quxajp59egahv1b48i/DDS_1KHz.jpg?rlkey=8w0tlr3h1rxeif3byepzub947&raw=1 > >R-2R made from discretes would use twice as many resistors. > >The 204 MHz phase accumulator clock has 5 ns p-p jitter. Adding this >stuff improves jitter about 20:1. > >It will need a fast comparator to make the sine into a cmos level >clock to feed back into the FPGA. An LVDS line receiver can do that. Or stuff it into a differential input of the FPGA. John Larkin Highland Tech Glen Canyon Design Center Lunatic Fringe Electronics
Back to comp.arch.fpga | Previous | Next — Previous in thread | Next in thread | Find similar
50 cent DDS synthesizer john larkin <jl@glen--canyon.com> - 2025-10-22 14:49 -0700
Re: 50 cent DDS synthesizer Jan Panteltje <alien@comet.invalid> - 2025-10-23 07:45 +0000
Re: 50 cent DDS synthesizer john larkin <jl@glen--canyon.com> - 2025-10-23 07:36 -0700
Re: 50 cent DDS synthesizer Jan Panteltje <alien@comet.invalid> - 2025-10-23 15:16 +0000
Re: 50 cent DDS synthesizer "Don" <g@crcomp.net> - 2025-10-23 16:54 +0000
Re: 50 cent DDS synthesizer Jan Panteltje <alien@comet.invalid> - 2025-10-23 17:20 +0000
Re: 50 cent DDS synthesizer Martin Brown <'''newspam'''@nonad.co.uk> - 2025-10-23 19:33 +0100
Re: 50 cent DDS synthesizer Chris Jones <lugnut808@spam.yahoo.com> - 2025-10-24 10:12 +1100
Re: 50 cent DDS synthesizer Jan Panteltje <alien@comet.invalid> - 2025-10-24 06:56 +0000
Re: 50 cent DDS synthesizer Martin Brown <'''newspam'''@nonad.co.uk> - 2025-10-24 09:53 +0100
Re: 50 cent DDS synthesizer Lasse Langwadt <llc@fonz.dk> - 2025-10-24 13:40 +0200
Re: 50 cent DDS synthesizer john larkin <jl@glen--canyon.com> - 2025-10-24 07:09 -0700
Re: 50 cent DDS synthesizer Jan Panteltje <alien@comet.invalid> - 2025-10-24 17:17 +0000
Re: 50 cent DDS synthesizer antispam@fricas.org (Waldek Hebisch) - 2025-10-25 22:00 +0000
Re: 50 cent DDS synthesizer Jan Panteltje <alien@comet.invalid> - 2025-10-26 08:10 +0000
Re: 50 cent DDS synthesizer john larkin <jl@glen--canyon.com> - 2025-10-26 07:56 -0700
Re: 50 cent DDS synthesizer Bill Sloman <bill.sloman@ieee.org> - 2025-10-27 03:19 +1100
Re: 50 cent DDS synthesizer john larkin <jl@glen--canyon.com> - 2025-10-26 10:08 -0700
Re: 50 cent DDS synthesizer Bill Sloman <bill.sloman@ieee.org> - 2025-10-27 16:02 +1100
Re: 50 cent DDS synthesizer antispam@fricas.org (Waldek Hebisch) - 2025-10-27 00:10 +0000
Re: 50 cent DDS synthesizer Jan Panteltje <alien@comet.invalid> - 2025-10-27 09:52 +0000
Re: 50 cent DDS synthesizer antispam@fricas.org (Waldek Hebisch) - 2025-10-28 16:31 +0000
Re: 50 cent DDS synthesizer Jan Panteltje <alien@comet.invalid> - 2025-10-28 17:41 +0000
Re: 50 cent DDS synthesizer john larkin <jl@glen--canyon.com> - 2025-10-27 07:58 -0700
Re: 50 cent DDS synthesizer john larkin <jl@glen--canyon.com> - 2025-10-23 11:46 -0700
Re: 50 cent DDS synthesizer john larkin <jl@glen--canyon.com> - 2025-10-23 18:55 -0700
Re: 50 cent DDS synthesizer Jan Panteltje <alien@comet.invalid> - 2025-10-24 06:57 +0000
Re: 50 cent DDS synthesizer Jan Panteltje <alien@comet.invalid> - 2025-10-24 07:38 +0000
csiph-web