Precision analog out from mcu 0-20mV

Thread Starter

ebeowulf17

Joined Aug 12, 2014
3,307
Hey everybody, I'm creating a new thread which is a spin-off from this thread:

https://forum.allaboutcircuits.com/...ouple-output-from-an-mcu.148309/#post-1265579

Many of my responses there were addressing the difficulties and sources of error in thermocouple measurement systems, but I'd like to get away from that for a moment. In this thread, ignore the thermocouple, just focus on the output capability specs.

If you had a microcontroller and needed to get a fairly low level analog signal out of it, how would you design that circuit? Lets say desired output range is 0-20mV, and we'd like at least 10 bits of output resolution.

Are there DACs that would work well down to this level?

If you use a DAC with higher voltage output, would a resistive divider followed by a buffer be good? Presumably there's a better op amp attenuator... or not?

Given that the entire signal range is very close to ground, is it safe to assume you need a dual supply with a negative rail?

I'd love to hear your thoughts, or suggested datasheets and app notes that cover this.

Thanks in advance!
 

Danko

Joined Nov 22, 2017
1,836
Use 16-bit DAC8560, 2.5V, with internal reference.
On 10-bit digital input signal it will have 40mV max analog output.
 
Last edited:

OBW0549

Joined Mar 2, 2015
3,566
If you use a DAC with higher voltage output, would a resistive divider followed by a buffer be good?
That's how I would do it, using a chopper-stabilized (to eliminate offset) op amp for the buffer if one is needed.

Given that the entire signal range is very close to ground, is it safe to assume you need a dual supply with a negative rail?
Maybe, maybe not; it probably depends on how close to ground you need the output to go.
 

danadak

Joined Mar 10, 2018
4,057
Use a 16 bit PWM, followed by filter and divider. Filter would have
to be designed to 1/2 LSB 10 bits for ripple. The ref would have to
be external to UP, eg. power its Vdd rail.

Then there are noise considerations on supply rail to deal with.

Challenging but might be workable.

Ap notes covering filter design attached. Note one shows a delta
sigma approach as well.

20 mV at 10 bits =~ 20 uV LSB, whole design for drift, noise very
challenging if you do the end to end error budget.

Regards, Dana.
 

Attachments

Thread Starter

ebeowulf17

Joined Aug 12, 2014
3,307
Use a 16 bit PWM, followed by filter and divider. Filter would have
to be designed to 1/2 LSB 10 bits for ripple. The ref would have to
be external to UP, eg. power its Vdd rail.

Then there are noise considerations on supply rail to deal with.

Challenging but might be workable.

Ap notes covering filter design attached. Note one shows a delta
sigma approach as well.

20 mV at 10 bits =~ 20 uV LSB, whole design for drift, noise very
challenging if you do the end to end error budget.

Regards, Dana.
Cool. I had wondered if PWM was a reasonable option. Thanks for the filter links!

And yes, the thought of managing noise, drift, tolerances, etc. at 20uV levels is daunting!
 

Thread Starter

ebeowulf17

Joined Aug 12, 2014
3,307
You could use a 10-bit (multiplying) DAC such as this, with a 20mV external reference.
That's really cool! I don't know much about DACs, and probably should've done a little more searching before posting this question. I didn't know you could provide external references and scale the output from there. Sounds perfect for this application.
 

OBW0549

Joined Mar 2, 2015
3,566
That's really cool! I don't know much about DACs, and probably should've done a little more searching before posting this question. I didn't know you could provide external references and scale the output from there. Sounds perfect for this application.
Multiplying DACs are really versatile devices; look at some of the applications shown on the data sheet.

Because the R/2R ladder network is thin-film and does not involve semiconductor PN junctions, and because the CMOS current-steering switches operate at ground potential, the Vref input is non-polar; it can accept both positive and negative DC inputs or even AC, and will tolerate up to +/- 25V. You can do lots of neat things with these devices.

They're also available in 12-bit (LTC8043), 14-bit, and 16-bit (LTC1595) form if you want even higher resolution.
 
Top