.....This is more or less what I had in mind when I wrote of a charge pump.
The AVR micro I am using offers a
PWM output, but unfortunately it has a resolution of only ten bits, so
it must be done in software.
Dear Alberto, LF Group,
How about this - generate your output DC voltage using the 10 bit PWM.
Additionally, have an external 10 bit DAC, driven from the reference voltage
source used by the PWM. Attenuate the DAC output by a factor of 1/(2^10)(or
whatever factor gives a full-scale output equal to a 1 LSB change in the PWM
output), and sum it with the PWM output to interpolate with 10 bit
resolution between the "coarse" PWM output steps.
I think it would be quite easy to get 20bit resolution like this, but 20 bit
accuracy would be another problem...
Another thought occurs - implement a software DDS with 20bit phase
accumulator, then use the output to drive a frequency to voltage converter
(essentially a pulse generator or charge pump with a low pass filter). One
problem there would be the output ripple at low voltage outputs.
Cheers, Jim Moritz
73 de M0BMU