-
2022-09-23 10:22:29
ADM1023 ACPI Compliant Precision Microprocessor System Temperature Monitor
feature
Next-generation upgrade to ADM1021 ; on-chip and remote sensing temperature; offset registers for system calibration; 1C accuracy and resolution for local channels; 0.125C resolution/1C accuracy for remote channels; programmable temperature over/under limits; programmable Slew rate; supports System Management Bus (SMBus) alarms; 2-wire SMBus serial interface; 200 A maximum operating current (0.25 slew/sec); 1A standby current; 3V to 5.5V power supply; 16-lead small QSOP package.
application
Desktop computers; notebook computers; smart batteries; industrial controllers; telecommunications equipment; instrumentation.
Product Description
The ADM1023 is a dual-channel digital thermometer/overtemperature alarm for personal computers and other systems requiring thermal monitoring and management. Optimized for Pentium III; provides greater accuracy allowing system designers to safely reduce thermal bundling and improve system performance. The device can measure the temperature of a microprocessor using a diode-connected PNP transistor, which can be in the case of a Pentium III or similar processor, or can be a low-cost discrete NPN/PNP device such as the 2N3904/2N3906. A new measurement technique eliminates the base-emitter voltage of absolute value transistors, so no calibration is necessary. The second measurement channel measures the output of the chip temperature sensor, which is used to monitor the temperature of the device and its environment.
The ADM1023 communicates with the smbuss standard via a 2-wire serial interface. Under- and over-temperature limits can be set via serial programming into the device mid-bus and on-chip or remotely over temperature. This output can be used as an interrupt, or as an SMBus alert.
Typical performance characteristics
Function description
The ADM1023 contains a dual-channel aD converter with special input signal conditioning, which can be operated from a remote and on-chip diode temperature sensor. When the ADM1023 is working normally, the AD converter works in free-running mode. The analog input multiplexer alternately selects the on-chip temperature sensor to measure its local temperature, or selects a remote temperature sensor. These signals are digitized by the ADC and the results are stored in local and remote temperature value registers. Only the 8 most significant bits of the local temperature value are stored as an 8-bit binary word. The remote temperature value is stored in two registers as an 11-bit binary word. The eight msbs are stored in the remote temperature value high byte register at address 01h. The three lsb are left-aligned and stored in the remote temperature value high byte register at address 10h.
Error sources such as PCB track resistance and clock noise can introduce offset errors into the measurement of the remote channel. To achieve the specified precision on this channel, these offsets must be removed, and two offset registers are provided for this purpose at addresses 11h and 12h.
By writing 11-bit 2's complement, the offset value can be automatically added to or subtracted from the measured value by the values in registers 11h (high byte) and 12h (low byte, left justified).
The offset register defaults to zero at power-up and has no effect if nothing is written to it.
The measurements are compared to local and remote, high and low temperature limits stored in 6 on-chip limit registers. Like the measured value, the local temperature limit is stored as an 8-bit value and the remote temperature limit is stored as an 11-bit value. An out-of-limit comparison generates a flag stored in the status register, and one or more out-of-limit results will cause the alert output to be pulled low.
Registers can be programmed through the serial system management bus, and the device can be controlled and configured. The contents of any register can also be read back via SMBus.
Control and configuration features include:
(1) Switch the device between normal operation and standby mode.
(2), shield or enable the alarm output.
(3), select the conversion rate.
On initial power-up, the remote and local temperature values default to -128°C. Since devices are typically powered up, local and remote temperatures are measured, and these values are then stored before being compared to stored limits. However, if the part is powered up in standby mode (STBY pin pulled low), no new value will be written to the register until a comparison is made. As a result, both RLOW and LLOW are toggled in the status register, resulting in an alarm output. It can be cleared in one of two ways:
1. Change both the local and remote lower limit to –128°C and read the status register (thus clearing the alarm output).
2. Take the part out of standby and read the status register (thus clearing the alarm output). This only works if the measured value is within the limits.
Measurement methods
An easy way to measure temperature is to take advantage of the negative temperature coefficient of a diode, or the base-emitter voltage of a transistor, operating at a constant current. Therefore, the temperature can be obtained by directly measuring the VBE, where,
Unfortunately, this technique requires calibration to remove the effect of the absolute value of VBE, which varies from device to device.
The technique used in the ADM1023 is to measure the change in VBE when the device is operated at two different collector currents.
This is given by:
where: K is the Boltzmann constant; q is the charge of the electron (1.6×10-19 coulombs); T is the absolute temperature in Kelvins; N is the ratio of the two collector currents; n is the ideal coefficient of the thermal diode (TD).
To measure ∏, the sensor switches between the operating currents of I and NI. The resulting waveform is passed through a low-pass filter to remove noise before entering a chopper-stabilized amplifier, which performs the functions of amplification and correction of the waveform to produce a DC voltage proportional to ∏VBE. This voltage is measured by the ADC, which outputs the temperature in binary format. To further reduce the effect of noise, digital filtering is performed by averaging the results over 16 measurement cycles. The signal conditioning and measurement of the internal temperature sensor is done in a similar way.
Figure 12 shows the input signal conditioning used to measure the output of an external temperature sensor. This image shows an external sensor as a substrate PNP transistor for temperature monitoring on some microprocessors, but could also be a discrete transistor. If a discrete transistor is used, the collector will not be grounded and should be connected to the base. To prevent ground noise from interfering with the measurement, the more negative side of the sensor is not referenced to ground, but is biased to ground by an internal diode at the D- input. If the sensor is operating in a noisy environment, C1 can optionally be added as a noise filter. Its value is typically 2200 pF, but should not exceed 3000 pF. See the Layout Considerations section for more information on C1.
Sources of Error in Thermal Transistor Measurement Methods
Influence of ideal factors (n)
The effect of ideality factor (n) and β (β) on the measured temperature of thermal transistors is discussed below. For thermal transistors implemented on submicron processes, such as the substrate PNPs used on Pentium III processors, the temperature error due to the combined effects of ideality factor and beta is shown to be less than 3°C. Equation 2 is optimized for the substrate PNP transistors (used as thermal diodes) typically found on CPUs on a sub-micron CMOS process, such as the Pentium III processor. There is a thermal diode on each processor. n in Equation 2 represents the ideality factor of the thermal diode. This ideality factor is a measure of the thermal diode's deviation from ideal behavior.
According to the Pentium III processor manufacturing specification, the value of n measured at 100°C is:
The ADM1023 takes this ideal into account when calculating the temperature TTD of the thermal diode. The ADM1023 is optimized for nTYPICAL=1.008; any deviation of n from this typical value will result in temperature errors calculated for nMIN and nMAX at TTD=100°C for a Pentium III processor,
Therefore, the temperature variation error on thermal diode n of the Pentium III processor is about 2.5°C.
In general, the additional temperature error in thermal diode measurements due to deviation of n from its typical value is given by:
Thermal Transistor (β)
In Figure 12, the thermal diode is a substrate PNP transistor and the emitter current is forced into the device. The derivation of Equation 2 above assumes that the collector current is scaled in "N" because the emitter current is also scaled in "N". In other words, this assumes that the β (β) of the transistor is constant for various collector currents. The graph below shows typical beta variation versus collector current for a Pentium III processor at 100°C, with a maximum beta of 4.5 and less than 1% variation over the collector current range of 7 to 300 μA.
The collector current is expressed by the emitter current, IC=IE[β/β+1], where β(300μA)=β(7μA)(1+ε), ε=△β/β and β=β(7μA). Rewriting the equation for ∏VBE, including ideality factors "n" and β "β",
A beta change of less than 1% (ε<0.01) results in a temperature error of less than 0.4°C.
temperature data format
One LSB of the ADC corresponds to 0.125°C, so the ADM1023 can measure from 0°C to 127.875°C. The temperature data format is shown in Tables I and II.
Note: The ADM1023 differs from the ADM1021 in that the temperature resolution of the remote channel is increased from 1°C to 0.125°C, but it cannot measure temperatures below 0°C. If negative temperature measurements are required, the ADM1021 should be used.
Local and remote temperature measurements are stored in the local and remote temperature value registers and compared to the limits programmed in the local and remote high and low limit registers.
register function
The ADM1023 contains registers for storing remote and local temperature measurements, high and low temperature limits, and configuring and controlling the device. It is important to note that most of the ADM1023's registers are dual-ported and have different read and write addresses. Attempting to write to or read from a read address will produce invalid results. Register addresses above 14h are reserved for future use or for factory testing and should not be written to.
address pointer register
The address pointer register itself does not have an address, nor does it need an address, since it is the register to which the first data byte of each write operation is automatically written. This data byte is an address pointer that sets one of the other registers for the second byte of a write operation or a subsequent read operation.
value register
The ADM1023 has three registers for storing the results of local and remote temperature measurements. These registers are written by the ADC and can only be read via SMBus.
offset register
Two offset registers are provided at addresses 11h and 12h so that the user can remove errors from remote temperature measurements. These errors can be caused by clock noise and PCB track resistance.
The offset value is stored as 11 bits, the 2's complement value in registers 11h (high byte) and 12h (low byte, left justified). If the MSB of 11h is 1, the value of the offset is negative; if the MSB of 11h is 0, the value of the offset is positive. This value will be added to the remote temperature. These registers default to zero at power-up and have no effect if not written to them. The offset register can accept values from -128.875°C to +127.875°C. The ADM1023 detects overflow, so the remote temperature value register does not wrap around +127°C or -128°C. Table IV contains a set of example offset values.
status register
Bit 7 of the status register indicates that the ADC is busy converting when it is high. Bits 6 to 3 are flags indicating the result of the limit comparison.
One or more of these flags will be set if the local and/or remote temperature measurements are above the corresponding high temperature limit or below the corresponding low temperature limit. Bit 2 is a flag that is set when the remote temperature sensor is open. The five flags are not together, so if any of them are high, the alert interrupt latch will be set and the alert output will go low. Reading the status register will clear five flag bits if the error condition that caused the flag to be set disappears. When the limit comparator trips due to a value register containing an out-of-limit measurement, or when the sensor is open circuited, the corresponding flag bit cannot be reset. The flag bits can only be reset when the corresponding value register contains the measured value within limits or the sensor is good.
The alert interrupt latch is not reset by reading the status register, but when the host reading the device address services the alert output, provided the error condition has disappeared and the status register flags have been reset.
configuration register
Use the two bits of the configuration register. If bit 6 is 0 (default is power-on), the device is in the working mode for ADC conversion. If bit 6 is set to 1, the device is in standby mode and the ADC is not converting. Standby mode can also be selected by setting the alternate pin low. In standby mode, the remote and local temperature values remain at the values they had before the part was in standby.
Bit 7 of the configuration register is used to mask the alarm output. If bit 7 is 0 (default is power on), the alarm output is enabled. If bit 7 is set to 1, the alarm output is disabled.
Slew rate register
The lowest three bits of this register are used to program the conversion rate by dividing the ADC clock by 1, 2, 4, 8, 16, 32, 64 or 128 to give a range from 125 ms (code 07h) to 16 s (code 00h ) conversion time. This register can be written to and read via SMBus. The upper 5 bits of this register are unused and must be set to zero. Using slower transition times greatly reduces device power consumption.
limit register
The ADM1023 has six limit registers for storing local and remote, high and low temperature limits. These registers can be written and read via SMBus. The upper limit register performs a > comparison, while the lower limit register performs a < comparison. For example, if the upper limit register is programmed with a limit of 80°C, measuring 81°C will result in an alarm condition. The limit registers can be programmed with negative values even over a temperature range of 0 to 127°C. This is for backward compatibility with the ADM1021.
one-time register
When the ADM1023 is in standby mode, one register is used to initiate a conversion and compare cycle, after which the device returns to standby. It's not the data register itself, but a write operation that results in a one-time conversion. Data written to this address is irrelevant and will not be stored.
serial bus interface
Control of the ADM1023 is performed over the serial bus. Under the control of the master device, the ADM1023 is connected to this bus as a slave device.
address pins
In general, every SMBus device has a 7-bit device address (except for some devices that have extended 10-bit addresses). When a master sends a device address over the bus, the slave with that address will respond. The ADM1023 has two address pins, ADD0 and ADD1, which allow the device address to be selected so that multiple ADM1023s can be used on the same bus, and/or to avoid conflicts with other devices. Although only two address pins are provided, these are three states that can be grounded, left unconnected, or tied to VDD, so there can be nine different addresses in total.
It is important to note that the state of the address pins is only sampled at power up, so changing the address pins after power up will have no effect.
The serial bus protocol operates as follows:
1. The host initiates a data transfer by establishing a start condition, defined as a high-to-low transition on the serial data line SDATA, while the serial clock line SCLK remains high. This means that the address/data stream will follow. All slave peripherals connected to the serial bus respond to the start condition and shift in the next 8 bits, including the 7-bit address (MSB first) plus the R/W bit, the R/W bit Determines the direction of data transfer, i.e. whether the data will be written or read from the slave device.
The peripheral whose address corresponds to the address sent responds by pulling the data line low during the low cycle before the ninth clock pulse (called the acknowledge bit). All other devices on the bus are now idle while the selected device is waiting to read or write data from it. If the R/W bit is 0, the master will write to the slave. If the R/W bit is 1, the master will read from the slave.
2. Data is sent over the serial bus in the order of 9 clock pulses, 8 bits of data, and an acknowledgment bit from the slave device. Transitions on the data line must occur during the low period of the clock signal and remain stable during the high period because a low-to-high transition while the clock is high can be interpreted as a stop signal. The number of bytes of data that can be transferred over the serial bus in a single read or write operation is limited only by what the master and slave devices can handle.
3. A stop condition is established when all data bytes are read or written. In write mode, the master will assert the stop condition by pulling the data line high during the 10th clock pulse. In read mode, the master will overwrite the acknowledge bit by pulling the data line high during the low cycle before the ninth clock pulse. This is called non-recognition. The master will then assert the stop condition by taking the data line low during the low period before the 10th clock pulse, and then taking the data line high during the 10th clock pulse.
In one operation, any amount of data can be transferred over the serial bus, but it is not possible to mix reads and writes in one operation because the operation type is determined at the beginning and cannot be done without starting a new operation Subsequent changes.
For the ADM1023, a write operation consists of one or two bytes, while a read operation consists of one byte and performs the following functions:
To write data to or read data from one of the device data registers, the address pointer register must be set up so that the correct data register can be addressed before data can be written to or read from it. The first byte of a write operation always contains the effective address stored in the address pointer register. If data is to be written to the device, the write operation consists of writing the second data byte of the register selected by the address pointer register.
As shown in Figure 14. The device address is sent over the bus and then R/W is set to 0. Followed by two data bytes. The first data byte is the address of the internal data register to be written, which is stored in the address pointer register. The second data byte is the data to be written to the internal data register.
When reading data from a register, there are two possibilities:
1. If the address pointer register value of the ADM1023 is unknown or not the desired value, it first needs to be set to the correct value before data can be read from the desired data register. This is done by performing a write operation to the ADM1023 as described earlier, but only sending the data byte containing the address to read from the register, since data is not written to the register. As shown in Figure 15.
A read operation is then performed, including the serial bus address, the R/W bit is set to 1, and the data byte is read from the data register. As shown in Figure 15.
2. If it is known that the address pointer register is already at the desired address, data can be read from the corresponding data register without first writing to the address pointer register, so Figure 15 can be omitted.
notes
1. Although it is possible to read data bytes from the data register without first writing to the address pointer register, it is not possible to transfer the data without writing to the address pointer register if the address pointer register is already at the correct value. Registers are written because the first data byte written is always written to the address pointer register.
2. Don't forget that the ADM1023 registers have different read and write addresses. If you want to write data to a register, you must write the register's write address to the address pointer, but you cannot read data from that address. The read address of a register must be written to the address pointer before data can be read from that register.
Alarm output
The alarm output will go low whenever an out-of-limit measurement is detected or if the remote temperature sensor is open circuited. This is an open drain and requires a 10 kΩ pullup to VDD. Several alarm outputs can be wired together so that if one or more of the alarm outputs go low, the common line will go low.
The alarm output can be used as an interrupt signal for the processor or as a SMBALERT. Slave devices on SMBus typically cannot signal the master device that they want to talk, but the SMBALERT feature allows them to do so.
One or more alarm outputs are connected to the SMBALERT line connected to the main unit. When one of the devices pulls the SMBALERT line low, the following process is performed, as shown in Figure 17.
1. SMBALERT pulled down.
2. The host initiates a read operation and sends an alarm response address (ARA=0001 100). This is a general calling address that cannot be used as a specific device address.
3. The device whose alarm output is low responds to the alarm response address, and the host reads its device address. The address of the device is now known and can be queried in the usual way.
4. If the alarm output of multiple devices is low, the device with the lowest device address will have priority, which is consistent with normal SMBus arbitration.
5. Once the ADM1023 responds to the alarm response address, it will reset its alarm output, provided the error condition that caused the alarm no longer exists. If the SMBALERT line remains low, the master will send the ARA again, and so on, until all devices with the alarm output low have responded.
Low power standby mode
The ADM1023 can be placed into a low-power standby mode using hardware or software, that is, by setting the STBY input low, or by setting Bit 6 of the configuration register. The ADM1023 operates normally when STBY is high or bit 6 is low. When STBY is pulled low or bit 6 is pulled high, the ADC is inhibited and any ongoing conversion is terminated without writing the result to the corresponding value register.
SMBus is still enabled. Power consumption in standby mode is reduced to less than 10 microamps if there is no SMBus activity, and to 100 microamps with clock and data signals on the bus.
The two modes are similar but not identical. When STBY is low, conversions are completely disabled. When bit 6 is set but STBY is high, a single conversion of both channels can be initiated by writing any data value to the register (address 0Fh) once.
Sensor failure detection
The ADM1023 has a fault detector on the D+ input to detect if the external sensor diode is open. This is a simple voltage comparator that will trip if the D+ voltage exceeds VCC – 1V (typ). The output of the comparator is checked when a conversion is initiated, and if a fault is detected, bit 2 of the status register is set.
The ADC will output -128°C (1000 0000 000) if the remote sensor voltage is below the normal measurement range, for example due to a diode short. Since the normal operating temperature range of the device only extends to 0°C, this output code is never seen in normal operation and can therefore be interpreted as a fault condition.
In this respect, the ADM1023 differs from and improves upon competing devices, with a zero output if the external sensor is shorted. These devices may misinterpret a true 0°C measurement as a fault condition.
If the external diode channel is unused and shorted, the generated alarm can be cleared by writing 80h (–128°C) to the lower limit register.
application information
Factors Affecting the Accuracy of Remote Sensing Diodes
The ADM1023 is designed for substrate transistors or discrete transistors built into processors. Substrate transistors are usually of the PNP type, with the collector connected to the substrate. The discrete type can be either PNP or NPN, connected as a diode (base to collector shorted). If an NPN transistor is used, the collector and base are connected to D+ and the emitter is connected to D-. If a PNP transistor is used, the collector and base are connected to D- and the emitter is connected to D+.
For substrate transistors, the user has no choice, but if discrete transistors are used, the best accuracy will be obtained by selecting the device according to the following criteria:
1. The base-emitter voltage at 6 microamps is greater than 0.25 V at the highest operating temperature.
2. At the lowest operating temperature, the base-emitter voltage is less than 0.95 volts at 100 microamps.
3. The base resistance is less than 100.
4. Small changes in hfe (say 50 to 150), indicating tight control over VBE characteristics.
Equivalent transistors in packages such as 2N3904, 2N3906 or SOT-23 are suitable devices to use.
Thermal inertia and self-heating
Accuracy depends on the temperature of the remote sensing diode and/or internal temperature sensor being the same as the temperature being measured; many factors can affect this. Ideally, the sensor should maintain good thermal contact with the system component under test, such as the processor. Otherwise, thermal inertia caused by the mass of the sensor will cause a lag in the sensor's response to temperature changes. In the case of a remote sensor this shouldn't be a problem since it's either a substrate transistor in the processor or a small packaged SOT-23 device placed close to it.
However, on-chip sensors are usually located far from the processor and only monitor the general ambient temperature around the package. The thermal time constant of the QSOP-16 package is about 10 seconds.
In effect, the package will be electrically connected to the printed circuit board, making a thermal connection, so the temperature rise due to self-heating is negligible.
Layout Considerations
A digital circuit board can be an electrically noisy environment, and the ADM1023 measures very small voltages from a remote sensor, so care must be taken to minimize noise at the sensor input. The following precautions should be taken:
1. Place the ADM1023 as close as possible to the remote sensing diode. This distance can be 4 to 8 inches if the worst noise sources such as clock generators, data/address buses, and CRTs are avoided.
2. Arrange the D+ and D- rails together in parallel, with grounding protection rails on each side. If possible, provide a ground plane under the track.
3. Use a wide track to reduce inductance and noise. A minimum track width and spacing of 10 mil is recommended.
4. Minimize the number of copper/solder joints that may cause thermocouple effects. Where copper/solder joints are used, make sure they are in the D+ and D- paths and at the same temperature.
Thermocouple effects shouldn't be a major issue, as 1°C corresponds to about 240 microvolts and the thermocouple voltage is about 3 microvolts/degree Celsius of temperature difference. Unless there are two thermocouples with a large temperature difference, the thermocouple voltage should be much less than 240 microvolts.
5. Place the 0.1µF bypass capacitor close to the VDD pin and place the 2200 pF input filter capacitor close to the ADM1023.
6. If the distance to the remote sensor is more than 8 inches, it is recommended to use twisted pair cables. This will work to about 6 to 12 feet.
7. For very long distances (up to 100 feet), use shielded twisted pair cable such as Belden 8451 microphone cable. Connect the twisted pair to D+ and D- and connect the shield to GND close to the ADM1023. Leave the far end of the shield unconnected to avoid ground loops.
Since the measurement technique uses switched current sources, excessive cable and/or filter capacitance can affect the measurement. When using long cables, filter capacitors can be reduced or removed.
application circuit
Figure 19 shows a typical application circuit for the ADM1023 using discrete sensor transistors connected by shielded twisted pair wires. Pull-ups on SCLK, SDATA, and ALERT are only required if they are not already provided elsewhere in the system.
The SCLK and SDATA pins of the ADM1023 can be directly connected to the SMBus of the I/O chip. Figure 20 shows how the ADM1023 can be integrated into a system using this type of I/O controller.
Dimensions
Dimensions are in inches and (mm).