M168 internal bandgap impedance gotcha

Go To Last Post
2 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have a Mega168 running 14.7MHz, with the ADC set to /128 prescaler (=>113us conversion time), and have run into an undocumented 'feature':

The BOD is on, and comparator bandgap select is also on, so in my case the bandgap reference is permanently on. The datasheet states that if you set ADMUX to 0x4E, one should expect to measure this voltage.
So I wrote an ADC interrupt that measured signal 0, signal 1, and then the bandgap in order to calculate the reference (AVCC) voltage. Here's the fun thing:

The externally applied voltages work well, they are within a count of what I would expect. The bandgap measurement, however, was odd, so I tried measuring it several times in a row. The result is this; The channel measured previously affects the measurement with a tau of ~200 us, and yes I DID wait for the external reference voltage to stabilize:

channel 1: 758 (3.84V ref -> 2.84V)
bandgap #1: 607
bandgap #2: 470
bandgap #3: 380
bandgap #4: 327
bandgap #5: 299
bandgap #10: 277 (->1.04V)

So it appears that the drive strength of the bandgap buffer on the chip is quite low, and incapable of supplying the current required to get the s/h capacitor voltage correct (a workaround might be to keep the A/D idle for some unknown amount of time, but that requires an additional timer).

This RC effect ONLY applies to channel 14 (bandgap). The qestion is: Has anyone else seen this, have I overlooked it in the datasheet, or is it new? This is not the 70us bandgap turn-on time, it is already on.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I noticed this effect some time ago and arrived at the
same conclusion. It seems to be something that has to
be "worked around".

Tom Pappano
Tulsa, Oklahoma

Tom Pappano
Tulsa, Oklahoma