Groups | Search | Server Info | Login | Register
Groups > comp.arch.fpga > #38696
| From | john larkin <jl@glen--canyon.com> |
|---|---|
| Newsgroups | sci.electronics.design, comp.arch.fpga |
| Subject | Re: 50 cent DDS synthesizer |
| Date | 2025-10-27 07:58 -0700 |
| Organization | A noiseless patient Spider |
| Message-ID | <oq1vfklgrol1odhjm03l9rm7365nagaq5p@4ax.com> (permalink) |
| References | (5 earlier) <BDyKQ.44049$O5fb.6397@fx01.ams4> <10df7vg$2dvoi$1@dont-email.me> <10djh8v$2h1af$1@paganini.bofh.team> <10dkl12$3sl8j$1@dont-email.me> <10dmda4$30aua$1@paganini.bofh.team> |
Cross-posted to 2 groups.
On Mon, 27 Oct 2025 00:10:46 -0000 (UTC), antispam@fricas.org (Waldek Hebisch) wrote: >In sci.electronics.design Jan Panteltje <alien@comet.invalid> wrote: >>>antispam@fricas.org (Waldek Hebisch)wrote: >>>>In sci.electronics.design Jan Panteltje <alien@comet.invalid> wrote: >>>>>Chris Jones <lugnut808@spam.yahoo.com>wrote: >>>>>>On 24/10/2025 4:20 am, Jan Panteltje wrote: >>>>>>> "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? >>>>>> >>>>>> In the case of R2R you can use resistors from one batch and that may have less spreading in values >>>>>> No precision resistors needed. >>>>>> (2R is then 2 1R resistors in series). >>>>>> >>>>> >>>>>You don't want them the same though: The MOSFETS of the CMOS logic >>>>>outputs have some on-resistance (maybe 30-50 Ohms) and so the resistors >>>>>in series with each of these outputs should be decreased by whatever you >>>>>measure that output resistance to be, otherwise the resistance ratio >>>>>isn't 1:2 in the R-2R network, and the DNL will be poor. >>>>> >>>>>You could use the average of the on-resistance of the NMOS and the PMOS >>>>>(which are not quite the same), measured on a typical chip, at room >>>>>temperature, so that it is usually at least roughly correct, rather than >>>>>systematically and always wrong. >>>>> >>>>>The MOSFET on-resistance is usually a more important effect than the >>>>>error of 1% resistor tolerances, so it makes sense to fix that before >>>>>worrying about selecting resistors from the same batch. >>>>> >>>>>It is worth fixing it for R-2R and also for at least a few msbs of >>>>>binary weighted resistor DACs. >>>> >>>> How would you go about measuring MOSFET on resistance? >>> >>>For logic MOSFETS in IC-s I just used a multimeter. For power >>>MOSFETS I used "two meter" method: resitor to limit current to >>>reasonable range, ammeter to measure current, voltmeter to >>>measure voltage drop on the MOSFET. Actually, I had extrea >>>voltmeter to measure gate voltage. >> >> Yes, that should work. >> But in the case of FPGA output there is pull up, pull down, linearity and likely some effects in-between. >> But as a simple rule it should work. > >Well, that gives static behaviour. Performing measurements at >multiple points one can get reasonable approximatin to V-I curve. >When building a DAC one want most resistance in external >resistors, so few points should be enough (one probably gets >more error due to variation in devices than due to nonlinearity). The FPGA DAC drive pins operate near the rails, so all we need to know is Rsds-on and maybe prop delay skew. We'll never make a very good DAC from an FPGA and a resistor network, but it's good enough to make a decent DDS. Which gives me an idea..... 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