Groups | Search | Server Info | Login | Register
Groups > comp.arch.fpga > #38695
| From | Jan Panteltje <alien@comet.invalid> |
|---|---|
| Newsgroups | sci.electronics.design, comp.arch.fpga |
| Subject | Re: 50 cent DDS synthesizer |
| Date | 2025-10-27 09:52 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <10dnfct$mvrj$1@dont-email.me> (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.
>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). > >> Now people here were talking about that IBIS model. >> If I ever get spice working on my computers (Raspberries these days) .... > >On PC Linux Spice-NG compiles fine from sources. I did not try >to compile it on Raspberry Pi, but IME problems with compilation >on Raspberry Pi are rare, so I expect this to work. > >OTOH Spice-NG can not read LTSpice file which folks here tend to >post. And Spice-NG comes with no device parameters. Parameters >for Fairchild 2N3904 and 1N4148 are in datasheet, so one can use >them. For handful of other devices I was able to find parmeters >on the net. But apparently, for most devices manufacturers >consider Spice paremterts as a secret. So due to lack of >device data Spice-NG can not be used for accurate simulation >(unless somebody can infer parameters from measurements or >have some other way to get them). > >Concerning IBIS models, text that you linked in other post >clamis that the models are plain text with well-described >format. If true, one should be able to extract/interpolate >various curves from model data with rather simple ad-hoc >tool, without need for Spice. > >BTW: I tried to use Spice-NG to simulate detector using 1N4148. >However, results I obtained look too good: according to Spice-NG >such detector should work for signals at few millivolt level and >well above 1GHz. My detectort was lightly loaded (1M resistor >+ filtering capacitor as a load) and low bandwidth. But if >1N4148 really works so well as Spice-NG claims, then people >using Shottky or germanium diodes in similar detectors are >overdoing it. Yes reality is the real test. I tried LTspice long ago on some well know transistor preamp circuit. The result did not match reality. So I sort of left spice for what it is. OTOH I have used to to draw some filters curves for stuff I tried. That works fine But there are many good filter programs for Linux too. >> Old spice version could still be running in wine in Linux on old PC upstairs. >> For some reason I do not need Spice except in food. > >Concerning Raspberry Pi, currently Chinese mini-PC is cheaper >than Raspberry Pi powerful enough to serve as a main computer. Important thing for me is the I/O, Raspberry GPIO is sort of standardized I have now 5 Raspberry Pies, 3 on 24/7 on a UPS. One upstairs in the window that drives a big dot matrix display that can be seen from far away saying 'Free Palestine support at 2 state solution' It scrolls over 3 lines and flashes:-) Old picture: https://panteltje.nl/pub/rtl_sdr_dump1090_via_FDS132_matrix_display_Raspberry_Pi_driver_IMG_4149.JPG Raspberry number 5 is an old one and is backup. I post this from a Pi4 8 GB with the Usenet newsreader I wrote. Use it for all internet related things. Fast as lightning, had to add a 4 second delay to be able to switch virtual desktop (nine virtual desktops in use) fast enough before Chromium started by mouse click. All sort of 'Hats' on some Raspies, compass, air pressure, IR camera interface, One raspberry Pi4 4 GB records 6 security cameras, radiation, air traffic, plays background music, records audio, A 8 TB Toshiba USB harddisc is connected to each PI4. And there are 2 USB RTL_SDR sticks connected, one now records wireless data from the outside weather station, temperature, humidity, also recorded 24/7, the other one uses dump1090 for air traffic, or my spectrum analyzer. https://panteltje.nl/pub/xpsa-0.7.gif https://panteltje.nl/pub/boats_and_planes.gif https://panteltje.nl/pub/xgpspc_5_planes.gif And then there is the Ethernet interface, 3 gas sensors I designed are running 24/7 and are recorded, use POE, LED lights in the room, can even function as disco lights controlled by playing music, And the USB interface, SDcard reader, and for internet a Huawei 4G USB modem. For 'on the road' I have a Samsung laptop running Ubuntu that I can put that Huawei 4G stick in and then am online in most of Europe. A Raspberry Pi 4 plus SDcard is below 100 Euro (even below 100 USD :-) https://www.kiwi-electronics.com/nl/raspberry-pi-boards-behuizingen-uitbreidingen-en-accessoires-59 OTOH I have 3 Ethernet switches in use, 2 USB hubs, and a HDMI switch to switch between some Raspberry outputs on my monitor, all with wallwarts to power those, plus a POE module.. One cheap PC does not do all those above things, the cost is not so much in the computers.. but what hangs from it here. Some stuff I wrote: https://panteltje.nl/panteltje/newsflex/download.html Last time I checked the uptime of my Pi4 4GB (the one that records most stuff), it was almost 600 days. Never a glitch, unless I pull the power plus, even then plenty time on UPS to switch mains to my 250 Ah lifepo4 battery pack and the 2 kW pure sine wave 12 V to 230 V inverter. https://panteltje.nl/pub/250_Ah_12V_to_230V_sinewave_IXXIMG_0796.JPG >I recently bought a few cheap Orange Pi-s and Milkv Duo-s. >But they are low end machines. Would be reasonably powerful >as desktop/server in 2000 (or maybe in 1999, clock freqency was >increasing fast in those years), but not now. I am using >Orange Pi-s to check that my software compiles fine on ARM. >I have Milkv Mars, which is slightly more powerful than Milkv Duo S, >I use it to test that my software compiles fine on Risc-V. >But otherwise those boards are useful as a way to control electronics >via Ethernet Never used the orange-pi, I see: https://www.newegg.com/p/3C6-06T4-000V0 Expensive? For HD video I have 3 HD satellite box receivers, 2 are connected to my Samsung TV. Those show HD video and play and record HD from USB sticks and were about 35 Euro (40 USD?) each.
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