[quote author="clintrubber"]Even more so, I think it's more of an accomplishment to make something work well at near no-budget than to make it great without any budget-limitations[/quote]
Absolutely agreed.
[quote author="clintrubber"][quote author="jdbakker"]one thing Uli&Co did get right is to not just deselect but stop clock oscillator A when osc B is selected. I would suggest doing something similar, possibly even removing power from the currently unused oscillator[/quote]
Removing the power might be overkill - stopped is stopped; the inhibited combination of inverter & Xtal won't be a zombie that tries to get going again.[/quote]
No, but a logic gate oscillator which is stopped by pulling its input low is somewhat more likely to start slowly or in a different mode (->frequency) than one which has its power removed and re-applied, especially if the latter happens with a fast enough slew rate.
[quote author="clintrubber"]Apart from that, the Xtal+single inverter topology is (despite that it's widely used) not the most desirable way to realize an Xtal-oscillator. Although I can't back this up with hard facts now, I guess improving
on that might be the most important direction for eventual mods.[/quote]
Oh yes. Logic gates don't make good oscillators for several reasons, including:
- for a stable low-noise oscillator you want to have
just enough loop gain to sustain oscillation. Logic gates tend to have buckets of loop gain, with no simple way to AGC.
- for a stable low-noise oscillator you want to have a low-noise active element. Logic gates, while not extremely noisy, are certainly not optimized for noise performance.
- while any low-noise oscillator circuit really needs to have a good, filtered supply, PSRR in the active element helps too. A logic gate only has 6dB PSRR at mid-supply.
This Linear Tech AppNote (which I may have linked to before) has more interesting stuff on clocks and oscillators.
JDB.
[not that I believe the gate oscs are the worst offense in the ADA8k's clocking circuit. That particular award goes to the WC-input: it first PLLs the WC up to 256Fs, and then immediately divides it by 256... Fixing this would have cost an extra chip, at ~$0.05 in Uli quantities (plus routing, plus board real estate, plus higher P&P cost, I know...)]