ADT7490
http://onsemi.com
21
the following equation to calculate the error introduced
at a temperature T (C) when using a transistor whose
nf does not equal 1.008. Refer to the data sheet for the
related CPU to obtain the nf values.
DT+(nf *1.008)ń1.008 ǒ273.15 K )TǓ(eq. 4)
To factor this in, the user can write the DT value to the
offset register. The ADT7490 automatically adds it to
or subtracts it from the temperature measurement.
Some CPU manufacturers specify the high and low
current levels of the substrate transistors. The high
current level of the ADT7490, IHIGH, is 192 mA and the
low level current, ILOW, is 12 mA. If the ADT7490
current levels do not match the current levels specified
by the CPU manufacturer, it may be necessary to
remove an offset. The CPU’s data sheet advises
whether this offset needs to be removed and how to
calculate it. This offset can be programmed to the offset
register. It is important to note that if more than one
offset must be considered, the algebraic sum of these
offsets must be programmed to the offset register.
If a discrete transistor is used with the ADT7490, the best
accuracy is obtained by choosing devices according to the
following criteria:
Base-emitter voltage greater than 0.25 V at 12 mA at the
highest operating temperature.
Base-emitter voltage less than 0.95 V at 192 mA at the
lowest operating temperature.
Base resistance less than 100 W.
Small variation in hFE (such as 50 to 150) that indicates
tight control of VBE characteristics.
Transistors, such as 2N3904, 2N3906, or equivalents in
SOT−23 packages, are suitable devices to use.
Reading Temperature from the ADT7490
It is important to note that temperature can be read from
the ADT7490 as an 8-bit value (with 1C resolution) or as
a 10-bit value (with 0.25C resolution). If only 1C
resolution is required, the temperature readings can be read
back at any time and in no particular order.
If the 10-bit measurement is required, it involves a
2-register read for each measurement. The Extended
Resolution 2 register (0x77) should be read first. This causes
all temperature reading registers to be frozen until all
temperature reading registers have been read from. This
prevents an MSB reading from being updated while its two
LSBs are being read and vice versa.
Nulling Out Temperature Errors
As CPUs run faster, it becomes more difficult to avoid
high frequency clocks when routing the D+/D− traces
around a system board. Even when recommended layout
guidelines are followed, some temperature errors may still
be attributable to noise coupled onto the D+/D− lines.
Constant high frequency noise usually attenuates or
increases temperature measurements by a linear, constant
value.
The ADT7490 has temperature offset registers at
Address 0x70, Address 0x71, and Address 0x72 for the
Remote 1, local, and Remote 2 temperature channels,
respectively. By performing a one-time calibration of the
system, the user can determine the offset caused by system
board noise and null it out using the offset registers. The
offset registers automatically add a twos complement 8-bit
reading to every temperature measurement.
The temperature offset range and resolution is selected by
setting Bit 1 of Register 0x7C. This ensures that the readings
in the temperature measurement registers are as accurate as
possible. Setting this bit to 0 means the LSBs add 0.5C
offset to the temperature reading, so the 8-bit register
effectively allows temperature offsets from −63C to +64C
with a resolution of 0.5C. Setting this bit to 1 means the
LSBs add 1C offset to the temperature reading, so the 8-bit
register effectively allows temperature offsets of up to
−63C to +127C with a resolution of 1C. For the PECI
offset registers, the resolution is always 1C.
Table 19. TEMPERATURE OFFSET REGISTERS
Register Description Default
0x70 Remote 1 Temperature Offset 0x00 (0C)
0x71 Local Temperature Offset 0x00 (0C)
0x72 Remote 2 Temperature Offset 0x00 (0C)
0x94 PECI0 Temperature Offset 0x00 (0C)
0x95 PECI1 Temperature Offset 0x00 (0C)
0x96 PECI2 Temperature Offset 0x00 (0C)
0x97 PECI3 Temperature Offset 0x00 (0C)
Temperature Measurement Limit Registers
Associated with each temperature measurement channel
are high and low limit registers. Exceeding the programmed
high or low limit causes the appropriate status bit to be set.
Exceeding either limit can also generate SMBALERT
interrupts (depending on the way the interrupt mask register
is programmed and assuming that SMBALERT is set as an
output on the appropriate pin).
Additional ADC Functions for Temperature
Measurement
A number of other functions are available on the
ADT7490 to offer the system designer increased flexibility.
Turn-off Averaging
For each temperature measurement read from a value
register, 16 readings have actually been made internally, and
the results averaged, before being placed into the value
register. Sometimes it is necessary to take a very fast
measurement. Setting Bit 4 of Configuration Register 2
(0x73) turns averaging off. The default round-robin cycle
time with averaging off is a maximum of 23 ms.