243
7647H–AVR–03/12
Atmel ATmega16/32/64/M1/C1
18.8 Temperature Measurement
The temperature measurement is based on an on-chip temperature sensor that is coupled to a
single ended ADC input. MUX[4..0] bits in ADMUX register enables the temperature sensor. The
internal 2.56V voltage reference must also be selected for the ADC voltage reference source in
the temperature sensor measurement. When the temperature sensor is enabled, the ADC con-
verter can be used in single conversion mode to measure the voltage over the temperature
sensor.
As shown Figure 18-14, the temperature sensor is followed by a driver. This driver is enabled
when ADMUX value selects the temperature sensor as ADC input See “ADC Input Channel
Selection” on page 246. The propagation delay of this driver is approximatively 2µS. Therefore
two successive conversions are required. The correct temperature measurement will be the sec-
ond one.
One can also reduce this timing to one conversion by setting the ADMUX during the previous
conversion. Indeed the ADMUX can be programmed to select the temperature sensor just after
the beginning of the previous conversion start event and then the driver will be enabled 2 µS
before sampling and hold phase of temperature sensor measurement. See “Changing Channel
or Reference Selection” on page 235.
Figure 18-14. Temperature Sensor Block Diagram
The measured voltage has a linear relationship to the temperature as described in Table 18-3 on
page 243. The voltage sensitivity is approximately 2.5 mV/
°C and the accuracy of the tempera-
ture measurement is +/- 10°C after bandgap calibration.
The values described in Table 18-3 on page 243 are typical values. However, due to the process
variation the temperature sensor output voltage varies from one chip to another. To be capable
of achieving more accurate results, the temperature measurement can be calibrated in the appli-
cation software.
Table 18-3. Temperature vs. Sensor Output Voltage (Typical Case)
Temperature / °C -40°C +25°C +125°C
Voltage / mV 600 mV 762 mv 1012 mV
Temperature
Sensor
ADC
Input
Multiplexer
ADMUX
to sampling
and hold
G=1
Enable when
ADMUX = Temp. Sensor input