FEATURES
Monitors up to 5 Supply Voltages
Controls and Monitors up to 4 Fan Speeds
1 On-Chip and 2 Remote Temperature Sensors
Monitors up to 5 Processor VID Bits
Automatic Fan Speed Control Mode Controls System
Cooling Based on Measured Temperature
Enhanced Acoustic Mode Dramatically Reduces User
Perception of Changing Fan Speeds
2-Wire and 3-Wire Fan Speed Measurement
Limit Comparison of All Monitored Values
Meets SMBus 2.0 Electrical Specifications
(Fully SMBus 1.1 Compliant)
APPLICATIONS
Low Acoustic Noise PCs
Networking and Telecommunications Equipment
FUNCTIONAL BLOCK DIAGRAM
VID4
VID3
VID2
VID1
VID0
PWM1
PWM2
PWM3
TACH1
TACH2
TACH3
TACH4
V
D1+
D1–
D2+
D2–
+5V
+12V
+2.5 V
V
CCP
PWM
REGISTERS
AND
CONTROLLERS
V
TO ADM1027
CC
IN
IN
IN
CC
BAND GAP
TEMP. SENSOR
VID
REGISTER
ACOUSTIC
ENHANCEMENT
CONTROL
FAN SPEED
COUNTER
INPUT
SIGNAL
CONDITIONING
AND
ANALOG
MULTIPLEXER
ADM1027
GENERAL DESCRIPTION
The ADM1027 dBCOOL controller is a complete systems
monitor and multiple PWM fan controller for noise sensitive
applications requiring active system cooling. It can monitor
12 V, 5 V, 2.5 V CPU supply voltage, plus its own supply voltage. It can monitor the temperature of up to two remote sensor
diodes, plus its own internal temperature. It can measure and
control the speed of up to four fans so that they operate at the
lowest possible speed for minimum acoustic noise. The automatic fan speed control loop optimizes fan speed for a given
temperature. Once the control loop parameters are programmed,
the ADM1027 can vary fan speed without CPU intervention.
ADDR
SELECT
ADDRESS
SELECTION
ADDR EN
SMBUS
AUTOMATIC
FAN SPEED
CONTROL
ADM1027
10-BIT
ADC
BAND GAP
REFERENCE
SCL
SDA
SERIAL BUS
INTERFACE
SMBALERT
ADDRESS
POINTER
REGISTER
PWM
CONFIGURATION
REGISTERS
INTERRUPT
MASKING
INTERRUPT
STATUS
REGISTERS
LIMIT
COMPARATORS
VALUE AND
LIMIT
REGISTERS
*
*Protected by U.S. Patent Nos. 6,188,189; 6,169,442; 6,097,239; 5,982,221;
and 5,867,012. Other patents pending.
REV. A
Information furnished by Analog Devices is believed to be accurate and
reliable. However, no responsibility is assumed by Analog Devices for its
use, nor for any infringements of patents or other rights of third parties that
may result from its use. No license is granted by implication or otherwise
under any patent or patent rights of Analog Devices. Trademarks and
registered trademarks are the property of their respective companies.
Current Sink, I
Output Low Voltage, V
High Level Output Current, I
OL
OL
OH
0.11mAV
8.0mA
0.4VI
= –8.0 mA, VCC = 3.3 V
OUT
= V
OUT
CC
REV. A–2–
ADM1027
ParameterMinTypMaxUnitTest Conditions/Comment
OPEN-DRAIN SERIAL DATA BUS
OUTPUT (SDA)
Output Low Voltage, V
High Level Output Current, I
OL
OH
0.11mAV
0.4VI
SMBUS DIGITAL INPUTS
(SCL, SDA)
Input High Voltage, V
Input Low Voltage, V
IL
IH
2.0V
0.4V
Hysteresis500mV
DIGITAL INPUT LOGIC LEVELS
(VID0–4)
Input High Voltage, V
Input Low Voltage, V
IL
IH
1.7V
0.8V
DIGITAL INPUT LOGIC LEVELS
(TACH INPUTS)
Input High Voltage, V
IH
2.0V
5.5VMaximum Input Voltage
Input Low Voltage, V
IL
0.8V
–0.3VMinimum Input Voltage
Hysteresis0.5V p-p
DIGITAL INPUT CURRENT
Input High Current, I
Input Low Current, I
Input Capacitance, C
IL
IN
IH
–1mAV
1mAV
5pF
SERIAL BUS TIMING
Clock Frequency, f
Glitch Immunity, t
Bus Free Time, t
Start Setup Time, t
Start Hold Time, t
SCL Low Time, t
SCL High Time, t
SCL, SDA Rise Time, t
SCL, SDA Fall Time, t
Data Setup Time, t
Data Hold Time, t
Detect Clock Low Timeout, t
NOTES
1
All voltages are measured with respect to GND, unless otherwise specified.
2
Typicals are at TA = 40∞C and represent the most likely parametric norm.
3
Logic inputs will accept input high voltages up to V
4
Timing specifications are tested at logic levels of V
*Stresses above those listed under Absolute Maximum Ratings may cause perma-
nent damage to the device. This is a stress rating only; functional operation of the
device at these or any other conditions above those indicated in the operational
section of this specification is not implied. Exposure to absolute maximum rating
conditions for extended periods may affect device reliability.
ESD (electrostatic discharge) sensitive device. Electrostatic charges as high as 4000 V readily
accumulate on the human body and test equipment and can discharge without detection. Although the
ADM1027 features proprietary ESD protection circuitry, permanent damage may occur on devices
subjected to high energy electrostatic discharges. Therefore, proper ESD precautions are recommended
to avoid performance degradation or loss of functionality.
t
SU; STO
WARNING!
ESD SENSITIVE DEVICE
P
REV. A–4–
ADM1027
PIN FUNCTION DESCRIPTIONS
PinMnemonicDescription
1SDADigital I/O (Open-Drain). SMBus bidirectional serial data. Requires SMBus pull-up.
2SCLDigital Input (Open-Drain). SMBus serial clock input. Requires SMBus pull-up.
3GNDGround Pin for the ADM1027.
4V
CC
5VID0Digital Input (Open-Drain). Voltage supply readouts from CPU. This value is read into the
6VID1Digital Input (Open-Drain). Voltage supply readouts from CPU. This value is read into the
7VID2Digital Input (Open-Drain). Voltage supply readouts from CPU. This value is read into the
8VID3Digital Input (Open-Drain). Voltage supply readouts from CPU. This value is read into the
9TACH3Digital Input (Open-Drain). Fan tachometer input to measure speed of Fan 3. Can be
11TACH1Digital Input (Open-Drain). Fan tachometer input to measure speed of Fan 1. Can be
12TACH2Digital Input (Open-Drain). Fan tachometer input to measure speed of Fan 2. Can be
13
PWM3/ADDRESS ENABLE
14
TACH4/ADDRESS SELECT
15D2–Cathode Connection to Second Thermal Diode.
16D2+Anode Connection to Second Thermal Diode.
17D1–Cathode Connection to First Thermal Diode.
18D1+Anode Connection to First Thermal Diode.
19VID4Digital Input (Open-Drain). Voltage supply readouts from CPU. This value is read into the
205V
2112V
222.5V
23V
IN
IN
IN
CCP
24PWM1/XTODigital Output (Open-Drain). Pulsewidth modulated output to control Fan 1 speed. Requires
Power Supply. Can be powered by 3.3 V standby if monitoring in low power states is required.
is also monitored through this pin. The ADM1027 can also be powered from a 5 V supply.
V
CC
Setting Bit 7 of Configuration Register 1 (Reg. 0x40) rescales the VCC input attenuators to
correctly measure a 5 V supply.
VID register (Reg. 0x43).
VID register (Reg. 0x43).
VID register (Reg. 0x43).
VID register (Reg. 0x43).
reconfigured as an analog input (AIN3) to measure the speed of 2-wire fans.
to control Fan 2 speed. This pin may be reconfigured as an SMBALERT interrupt output to
signal out-of-limit conditions.
reconfigured as an analog input (AIN1) to measure the speed of 2-wire fans.
reconfigured as an analog input (AIN2) to measure the speed of 2-wire fans.
Digital I/O (Open-Drain). Pulsewidth modulated output to control Fan 3 speed. Requires
10 kW typical pull-up. If pulled low on power-up, this places the ADM1027 into address
select mode, and the state of Pin 14 will determine the ADM1027’s slave address.
Digital Input (Open-Drain). Fan tachometer input to measure speed of Fan 4. Can be reconfigured
as an analog input (AIN4) to measure the speed of 2-wire fans. If in address select mode,
this pin determines the SMBus device address.
VID register (Reg. 0x43).
Analog Input. Monitors 5 V power supply.
Analog Input. Monitors 12 V power supply.
Analog Input. Monitors 2.5 V supply, typically a chipset voltage.
Analog Input. Monitors processor core voltage (0 V to 3 V).
10 kW typical pull-up. Also functions as the output from the XOR tree in XOR test mode.
REV. A
–5–
ADM1027
FUNCTIONAL DESCRIPTION
General Description
The ADM1027 is a complete systems monitor and multiple fan
controller for any system requiring monitoring and cooling. The
device communicates with the system via a serial system
management bus. The serial bus controller has an optional
address line for device selection (Pin 14), a serial data line
for reading and writing addresses and data (Pin 1), and an input
line for the serial clock (Pin 2). All control and programming
functions of the ADM1027 are performed over the serial bus. In
addition, one of the pins can be reconfigured as an SMBALERT
output to indicate out-of-limit conditions.
Measurement Inputs
The device has six measurement inputs, four for voltage and
two for temperature. It can also measure its own supply voltage
and can measure ambient temperature with its on-chip temperature sensor.
Pins 20 to 23 are analog inputs with on-chip attenuators,
configured to monitor 5 V, 12 V, 2.5 V, and the processor core
voltage (2.25 V input), respectively.
Power is supplied to the chip via Pin 4, which the system also
uses to monitor V
. In PCs, this pin is normally connected to a
CC
3.3 V standby supply. This pin can, however, be connected to a
5 V supply and monitor it without overranging.
Remote temperature sensing is provided by the D1+/– and
D2+/– inputs, to which diode-connected, external temperaturesensing transistors such as a 2N3906 or CPU thermal diode
may be connected.
The ADC also accepts input from an on-chip band gap temperature sensor that monitors system ambient temperature.
Sequential Measurement
When the ADM1027 monitoring sequence is started, it cycles
sequentially through the measurement of analog inputs and the
temperature sensors. Measured values from these inputs are
stored in value registers. These can be read out over the serial
bus, or can be compared with programmed limits stored in the
limit registers. The results of out-of-limit comparisons are stored
in the status registers, which can be read over the serial bus to
flag out-of-limit conditions.
Processor Voltage ID
Five digital inputs (VID0 to VID4 — Pins 5 to 8 and 19) read
the processor Voltage ID code and store it in the VID register,
from which it can be read out by the management system over
the serial bus. The VID code monitoring function is compatible
with both VRM9.x and future VRM10 solutions. The VID code
monitoring function is compatible with VRM9.x.
ADM1027 Address Selection
Pin 13 is the dual function PWM3/ADDRESS ENABLE pin.
If Pin 13 is pulled low on power-up, the ADM1027 will read the
state of Pin 14 (TACH4/ADDRESS SELECT pin) to determine
the ADM1027 slave address. If Pin 13 is high on power-up, then
the ADM1027 will default to SMBus slave address 0x5C. This
function is described later in more detail.
Internal Registers of the ADM1027
A brief description of the ADM1027’s principal internal registers follows. More detailed information on the function of each
register is given in Tables IV to XXXVI.
Configuration Registers
Provide control and configuration of the ADM1027, including
alternate pinout functionality.
Address Pointer Register
Contains the address that selects one of the other internal registers.
When writing to the ADM1027, the first byte of data is always a
register address, which is written to the Address Pointer Register.
Status Registers
Provide the status of each limit comparison and are used to
signal out-of-limit conditions on the temperature, voltage, or
fan speed channels. If Pin 10 is configured as SMBALERT,
then this pin will assert low whenever a status bit gets set.
Interrupt Mask Registers
Allow each interrupt status event to be masked when Pin 10 is
configured as an SMBALERT output. This affects only the
SMBALERT output and not the bits in the status register.
VID Register
The status of the VID0 to VID4 pins of the processor can be
read from this register.
Value and Limit Registers
The results of analog voltage inputs, temperature, and fan speed
measurements are stored in these registers, along with their limit
values.
Offset Registers
Allow each temperature channel reading to be offset by a twos
complement value written to these registers.
T
Registers
MIN
Program the starting temperature for each fan under automatic
fan speed control.
T
Registers
RANGE
Program the temperature-to-fan speed control slope in automatic
Fan Speed Control Mode for each PWM output.
Enhance Acoustics Registers
Allow each PWM output controlling fan to be tweaked to enhance
the system’s acoustics.
REV. A–6–
Typical Performance Characteristics–ADM1027
15
10
5
0
–5
–10
–15
REMOTE TEMPERATURE ERROR (ⴗC)
–20
1.03.3100.010.030.0
DXP TO GND
DXP TO VCC (3.3V)
LEAKAGE RESISTANCE (M⍀)
TPC 1. Remote Temperature
Error vs. Leakage Resistance
14.0
12.0
10.0
8.0
6.0
4.0
2.0
0
REMOTE TEMPERATURE ERROR (ⴗC)
–2.0
100k550k50M
250mV
100mV
FREQUENCY (Hz)
5M
TPC 4. Remote Temperature Error
vs. Power Supply Noise Frequency
3
0
–3
REMOTE TEMPERATURE
–6
–9
–12
–15
–18
–21
–24
–27
–30
REMOTE TEMPERATURE ERROR (ⴗC)
–33
–36
1
ERROR (ⴗC)
2.23.34.710.0 22.047.0
DXP – DXN CAPACITANCE (nF)
TPC 2. Remote Temperature Error
vs. Capacitance between D+ and D–
12.5
10.0
7.5
5.0
2.5
0
–2.5
LOCAL TEMPERATURE ERROR (ⴗC)
–5.0
100k550k50M
250mV
100mV
5M
FREQUENCY (Hz)
TPC 5. Local Temperature Error vs.
Power Supply Noise Frequency
3
2
1
0
–1
–2
REMOTE TEMPERATURE ERROR (ⴗC)
–3
–40
+3 SIGMA
–3 SIGMA
04080120
TEMPERATURE (ⴗC)
TPC 3. Remote Temperature Error
vs. Actual Temperature
1.90
1.85
1.80
1.75
1.70
1.65
1.60
1.55
SUPPLY CURRENT (mA)
1.50
1.45
1.40
2.60 3.00 3.40 3.80 4.20 4.60 5.00 5.40
2.50
5.50
TPC 6. Supply Current vs.
Supply Voltage
16.0
14.0
12.0
10.0
8.0
6.0
4.0
2.0
0
REMOTE TEMPERATURE ERROR (ⴗC)
–2.0
60k
110k1M10M50M
20mV
10mV
FREQUENCY (Hz)
TPC 7. Remote Temperature Error
vs. Differential Mode Noise
Frequency
REV. A
40.0
35.0
30.0
25.0
20.0
15.0
10.0
–5.0
REMOTE TEMPERATURE ERROR (ⴗC)
–10.0
5.0
0
10k
100mV
40mV
20mV
100k1M10M
FREQUENCY (Hz)
TPC 8. Remote Temperature Error
vs. Common Mode Noise Frequency
–7–
ADM1027
SERIAL BUS INTERFACE
Control of the ADM1027 is carried out using the serial System
Management Bus (SMBus). The ADM1027 is connected to this
bus as a slave device, under the control of a master controller.
The ADM1027 has a 7-bit serial bus address. When the device
is powered up with Pin 13 (PWM3/ADDRESS ENABLE) high,
the ADM1027 will have a default SMBus address of 0101110
or 0x5C. If more than one ADM1027 is to be used in a system,
then each ADM1027 should be placed in address select mode
by strapping Pin 13 low on power-up. The logic state of Pin 14
then determines the device’s SMBus address.
The device address is sampled and latched on the first valid
SMBus transaction, so any attempted addressing changes made
thereafter will have no immediate effect.
The facility to make hardwired changes to the SMBus slave
address allows the user to avoid conflicts with other devices
sharing the same serial bus (for example, if more than one
ADM1027 is used in a system).
Once the SMBus address has been assigned, these pins return
to their original function. However, since the circuits required
to set up the SMBus address are unworkable with the PWM
and TACH circuits, it would require the use of muxes to switch
in and out the correct circuit at the correct time.
ADM1027
ADDR_SEL
PWM3/ADDR_EN
Figure 4. SMBus Address = 0x5A (Pin 14 = 1)
V
CC
ADM1027
ADDR_SEL
PWM3/ADDR_EN
10k⍀
14
13
NC
DO NOT LEAVE ADDR_EN
UNCONNECTED! CAN
CAUSE UNPREDICTABLE
ADDRESSES
Figure 5. Unpredictable SMBus Address if Pin 13
is Unconnected
Care should be taken to ensure that Pin 13 (PWM3/
ADDR_EN) is either tied high or low. Leaving Pin 13
floating could cause the ADM1027 to power up with an
unexpected address.
Note that if the ADM1027 is placed into address select mode,
Pins 13 and 14 can be used as their alternate functions once
address assignment has taken place (PWM3, TACH4). Care
should be taken using muxes to connect in the appropriate circuit
at the appropriate time.
The serial bus protocol operates as follows:
1. The master initiates data transfer by establishing a start
condition, defined as a high to low transition on the serial
data line SDA while the serial clock line SCL remains high.
This indicates that an address/data stream will follow. All
slave peripherals connected to the serial bus respond to the
start condition and shift in the next eight bits, consisting
of a 7-bit address (MSB first) plus the R/W bit, which determines the direction of the data transfer, i.e., whether data
will be written to or read from the slave device.
The peripheral whose address corresponds to the transmitted
address responds by pulling the data line low during the low
period before the ninth clock pulse, known as the acknowledge
bit. All other devices on the bus now remain idle while the
selected device waits for data to be read from or written to
it. If the R/W bit is a 0, the master will write to the slave
device. If the R/W bit is a 1, the master will read from the
slave device.
2. Data is sent over the serial bus in sequences of nine clock
pulses, eight bits of data followed by an acknowledge 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, as a low to high transition
when the clock is high may be interpreted as a stop signal.
The number of data bytes that can be transmitted over the
serial bus in a single read or write operation is limited
only by what the master and slave devices can handle.
3. When all data bytes have been read or written, stop conditions
are established. In write mode, the master will pull the
data line high during the 10th clock pulse to assert a
stop condition. In read mode, the master device will
override the acknowledge bit by pulling the data line high
during the low period before the ninth clock pulse. This is
known as No Acknowledge. The master will then take the
data line low during the low period before the 10th clock
pulse, then high during the 10th clock pulse to assert a
stop condition.
REV. A–8–
ADM1027
Any number of bytes of data can be transferred over the serial
bus in one operation. However, it is not possible to mix read
and write in one operation because the type of operation is
determined at the beginning and subsequently cannot be changed
without starting a new operation.
In the case of the ADM1027, write operations contain either
one or two bytes, and read operations contain one byte and
perform the following functions:
To write data to one of the device data registers or read data
from it, the address pointer register must be set so the correct
data register is addressed, then data can be written into that
register or read from it. The first byte of a write operation always
contains an address that is stored in the address pointer register.
If data is to be written to the device, then the write operation
contains a second data byte that is written to the register selected
by the address pointer register.
This is illustrated in Figure 6. The device address is sent over
the bus followed by R/W being set to 0. This is followed by two
data bytes. The first data byte is the address of the internal data
19
SCL
0
SDA
START BY
MASTER
10
SERIAL BUS ADDRESS
1
FRAME 1
BYTE
1
SCL (CONTINUED)
A0
A1
R/W
ACK. BY
ADM1027
1
register to be written to, 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 ADM1027 address pointer register value is unknown or
not the desired value, it is first necessary to set it to the correct
value before data can be read from the desired data register.
This is done by performing a write to the ADM1027 as before,
but only sending the data byte containing the register address,
as data is not to be written to the register. This is shown in
Figure 7.
A read operation is then performed consisting of the serial
bus address, R/W bit set to 1, followed by the data byte read
from the data register. This is shown in Figure 8.
2. If the address pointer register is known to be already at the
desired address, data can be read from the corresponding data
register without first writing to the address pointer register,
so Figure 7 can be omitted.
D0
9
9
ACK. BY
ADM1027
1
D6
D7
ADDRESS POINTER REGISTER BYTE
D5
D4
FRAME 2
D3
D2
D1
SDA (CONTINUED)
D7
D6
D5
D4
D3
FRAME 3
DATA
BYTE
D2
D1
D0
ADM1027
ACK. BY
STOP BY
MASTER
Figure 6. Writing a Register Address to the Address Pointer Register, Then Writing Data to the Selected Register
D0
9
ACK. BY
ADM1027
STOP BY
MASTER
SCL
SDA
START BY
MASTER
19
0
10
SERIAL BUS ADDRESS
1
FRAME 1
BYTE
1
A0
A1
R/W
ACK. BY
ADM1027
1
D6
D7
D4
D5
ADDRESS POINTER REGISTER BYTE
D3
FRAME 2
D2
D1
Figure 7. Writing to the Address Pointer Register Only
D0
NO ACK. BY
MASTER
9
STOP BY
MASTER
SCL
SDA
START BY
MASTER
19
0
1011
FRAME 1
SERIAL BUS ADDRESS
BYTE
A0
A1
R/W
ACK. BY
ADM1027
1
D6
D7
D4
D5
DATA BYTE FROM ADM1027
D3
FRAME 2
D2
D1
Figure 8. Reading Data from a Previously Selected Register
REV. A
–9–
ADM1027
S
SLAVE
ADDRESS
RA
DATA
A
P
123456
Notes
1. It is possible to read a data byte from a data register without
first writing to the address pointer register if the address
pointer register is already at the correct value. However, it is
not possible to write data to a register without writing to the
address pointer register, because the first data byte of a write
is always written to the address pointer register.
2. In Figures 6 to 8, the serial bus address is shown as the default
value 01011(A1)(A0), where A1 and A0 are set by the address
select mode function previously defined.
3. In addition to supporting the send byte and receive byte
protocols, the ADM1027 also supports the read byte protocol
(see System Management Bus specifications Rev. 2.0 for
more information).
4. If it is required to perform several read or write operations in
succession, the master can send a repeat start condition instead
of a stop condition to begin a new operation.
ADM1027 WRITE OPERATIONS
The SMBus specification defines several protocols for different
types of read and write operations. The ones used in the
ADM1027 are discussed below. The following abbreviations are
used in the diagrams:
S – START
P– STOP
R– READ
W – WRITE
A– ACKNOWLEDGE
A – NO ACKNOWLEDGE
The ADM1027 uses the following SMBus write protocols:
Send Byte
In this operation, the master device sends a single command
byte to a slave device, as follows:
1. The master device asserts a start condition on SDA.
2. The master sends the 7-bit slave address followed by the
write bit (low).
3. The addressed slave device asserts ACK on SDA.
4. The master sends a command code.
5. The slave asserts ACK on SDA.
6. The master asserts a stop condition on SDA and the
transaction ends.
For the ADM1027, the send byte protocol is used to write a
register address to RAM for a subsequent single byte read from
the same address. This is illustrated in Figure 9.
123 4 56
S
ADDRESS
Figure 9. Setting a Register Address for Subsequent Read
If it is required to read data from the register immediately after
setting up the address, the master can assert a repeat start condition immediately after the final ACK and carry out a single
byte read without asserting an intermediate stop condition.
Write Byte
In this operation, the master device sends a command byte and
one data byte to the slave device, as follows:
1. The master device asserts a start condition on SDA.
2. The master sends the 7-bit slave address followed by the
write bit (low).
SLAVE
WAAP
REGISTER
ADDRESS
3. The addressed slave device asserts ACK on SDA.
4. The master sends a command code.
5. The slave asserts ACK on SDA.
6. The master sends a data byte.
7. The slave asserts ACK on SDA.
8. The master asserts a stop condition on SDA to end the
transaction.
This is illustrated in Figure 10.
123 4 56
WA
REGISTER
ADDRESS
A
SLAVE
S
ADDRESS
DATA
78
AP
Figure 10. Single Byte Write to a Register
ADM1027 READ OPERATIONS
The ADM1027 uses the following SMBus read protocols:
Receive Byte
This is useful when repeatedly reading a single register. The
register address needs to have been set up previously. In this
operation, the master device receives a single byte from a slave
device, as follows:
1. The master device asserts a start condition on SDA.
2. The master sends the 7-bit slave address followed by the
read bit (high).
3. The addressed slave device asserts ACK on SDA.
4. The master receives a data byte.
5. The master asserts NO ACK on SDA.
6. The master asserts a stop condition on SDA and the transaction ends.
In the ADM1027, the receive byte protocol is used to read a
single byte of data from a register whose address has previously
been set by a send byte or write byte operation.
Figure 11. Single Byte Read from a Register
Alert Response Address
Alert Response Address (ARA) is a feature of SMBus devices,
which allows an interrupting device to identify itself to the host
when multiple devices exist on the same bus.
The SMBALERT output can be used as an interrupt output or
can be used as an SMBALERT. One or more outputs can be
connected to a common SMBALERT line connected to the
master. If a device’s SMBALERT line goes low, the following
procedure occurs:
1. SMBALERT is pulled low.
2. Master initiates a read operation and sends the alert response
address (ARA = 0001 100). This is a general call address that
must not be used as a specific device address.
3. The device whose SMBALERT output is low responds to
the alert response address, and the master reads its device
address. The address of the device is now known and it can
be interrogated in the usual way.
4. If more than one device’s SMBALERT output is low, the one
with the lowest device address will have priority, in accordance
with normal SMBus arbitration.
REV. A–10–
ADM1027
5. Once the ADM1027 has responded to the alert response
address, the master must read the status registers and the
SMBALERT will only be cleared if the error condition has
gone away.
SMBus Timeout
The ADM1027 includes an SMBus timeout feature. If there is
no SMBus activity for a minimum of 15 ms and a maximum of
35 ms, the ADM1027 assumes that the bus is locked and releases
the bus. This prevents the device from locking or holding the
SMBus expecting data. Some SMBus controllers cannot handle
the SMBus timeout feature, so it can be disabled.
The ADM1027 has four external voltage measurement channels.
It can also measure its own supply voltage, V
CC
.
Pins 20 to 23 are dedicated to measuring 5 V, 12 V, 2.5 V supplies
and the processor core voltage V
supply voltage measurement is carried out through the V
V
CC
(0 V to 3 V input). The
CCP
CC
pin (Pin 4). Setting Bit 7 of Configuration Register 1 (Reg. 0x40)
allows a 5 V supply to power the ADM1027 and be measured
without overranging the V
measurement channel. The 2.5 V
CC
input can be used to monitor a chipset supply voltage in computer systems.
VOLTAGE MEASUREMENT LIMIT REGISTERS
Associated with each voltage 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.
Reg. 0x44 2.5 V Low Limit = 0x00 default
Reg. 0x45 2.5 V High Limit = 0xFF default
Reg. 0x46 V
Reg. 0x47 V
Reg. 0x48 V
Reg. 0x49 V
Low Limit = 0x00 default
CCP
High Limit = 0xFF default
CCP
Low Limit = 0x00 default
CC
High Limit = 0xFF default
CC
Reg. 0x4A 5 V Low Limit = 0x00 default
Reg. 0x4B 5 V High Limit = 0xFF default
Reg. 0x4C 12 V Low Limit = 0x00 default
Reg. 0x4D 12 V High Limit = 0xFF default
12V
IN
5V
IN
120k⍀
93k⍀
20k⍀
47k⍀
30pF
30pF
ANALOG-TO-DIGITAL CONVERTER
All analog inputs are multiplexed into the on-chip, successive
approximation, analog-to-digital converter. This has a resolution of 10 bits. The basic input range is 0 V to 2.25 V, but the
inputs have built-in attenuators to allow measurement of 2.5 V,
3.3 V, 5 V, 12 V and the processor core voltage V
, without
CCP
any external components. To allow for the tolerance of these
supply voltages, the ADC produces an output of 3/4 full scale
(768 decimal or 300 hex) for the nominal input voltage, and so
has adequate headroom to cope with overvoltages.
INPUT CIRCUITRY
The internal structure for the analog inputs is shown in Figure 12.
Each input circuit consists of an input protection diode, an
attenuator, and a capacitor to form a first order low-pass filter
that gives the input immunity to high frequency noise.
VOLTAGE MEASUREMENT REGISTERS
Reg. 0x20 2.5 V Reading = 0x00 default
Reg. 0x21 V
Reg. 0x22 V
Reading = 0x00 default
CCP
Reading = 0x00 default
CC
Reg. 0x23 5 V Reading = 0x00 default
Reg. 0x24 12 V Reading = 0x00 default
3.3V
2.5V
V
CCPIN
IN
IN
68k⍀
45k⍀
35k⍀
71k⍀
94k⍀
105k⍀
30pF
30pF
35pF
MUX
Figure 12. Structure of Analog Inputs
Table II shows the input ranges of the analog inputs and output
codes of the 10-bit A/D converter.
When the ADC is running, it samples and converts a voltage
input in 711 ms, and averages 16 conversions to reduce noise.
Therefore a measurement on any input takes nominally 11.38 ms.
*The VCC output codes listed assume that VCC is 3.3 V. If VCC input is reconfigured for 5 V operation (by setting Bit 7 of Configuration Register 1), then the V
output codes are the same as for the 5 VIN column.
CC
REV. A–12–
ADM1027
VID CODE MONITORING
The ADM1027 has five dedicated voltage ID (VID code) inputs.
These are digital inputs that can be read back through the
VID register (Reg. 0x43) to determine the processor voltage
required/being used in the system. Five VID code inputs
support VRM9.x solutions.
VID CODE REGISTER – Register 0x43
<0> = VID0 (reflects logic state of Pin 5)
<1> = VID1 (reflects logic state of Pin 6)
<2> = VID2 (reflects logic state of Pin 7)
<3> = VID3 (reflects logic state of Pin 8)
<4> = VID4 (reflects logic state of Pin 19)
ADDITIONAL ADC FUNCTIONS
A number of other functions are available on the ADM1027 to
offer the systems designer increased flexibility:
Turn Off Averaging
For each voltage measurement read from a value register,
16 readings have actually been made internally and the results
averaged before being placed into the value register. There may
be an instance where the user would like to speed up conversions.
Setting Bit 4 of Configuration Register 2 (Reg. 0x73) turns
averaging off. This effectively gives a reading 16¥ faster than
711 ms, but the reading may be noisier.
Bypass Voltage Input Attenuators
Setting Bit 5 of Configuration Register 2 (Reg. 0x73) removes
the attenuation circuitry from the 2.5 V, V
, VCC, 5 V, and
CCP
12 V inputs. This allows the user to directly connect external
sensors or rescale the analog voltage measurement inputs for
other applications. The input range of the ADC without the
attenuators is 0 V to 2.25 V.
Single-Channel ADC Conversions
Setting Bit 6 of Configuration Register 2 (Reg. 0x73) places the
ADM1027 into single-channel ADC conversion mode. In this
mode, the ADM1027 can be made to read a single voltage channel
only. If the internal ADM1027 clock is used, the selected input
will be read every 711 ms. The appropriate ADC channel is
selected by writing to Bits <7:5> of TACH1 minimum high
byte register (0x55).
<7:5> Selects ADC channel for single-channel convert mode
REV. A
–13–
ADM1027
TEMPERATURE MEASUREMENT SYSTEM
Local Temperature Measurement
The ADM1027 contains an on-chip band gap temperature
sensor whose output is digitized by the on-chip 10-bit ADC.
The 8-bit MSB temperature data is stored in the local temp
register (Address 0x26). As both positive and negative temperatures can be measured, the temperature data is stored in twos
complement format, as shown in Table III. Theoretically, the
temperature sensor and ADC can measure temperatures from
o
C to +127oC with a resolution of 0.25oC. However, this
–128
exceeds the operating temperature range of the device (0oC to
o
C), so local temperature measurements outside this range
105
are not possible. Temperature measurement from –127
o
C to
+127oC is possible using a remote sensor.
Remote Temperature Measurement
The ADM1027 can measure the temperature of two remote
diode sensors or diode-connected transistors connected to
Pins 15 and 16, or 17 and 18.
IN ⴛ II
CPU
BIAS
The forward voltage of a diode or diode-connected transistor,
operated at a constant current, exhibits a negative temperature
coefficient of about –2 mV/
value of V
varies from device to device, and individual calibra-
be
o
C. Unfortunately, the absolute
tion is required to null this out, so the technique is unsuitable
for mass production. The technique used in the ADM1027 is to
measure the change in V
when the device is operated at two
be
different currents. This is given by
DVKTq N
=¥
be
ln
()
where:
K is Boltzmann’s constant.
q is charge on the carrier.
T is absolute temperature in kelvins.
N is the ratio of the two currents.
Figure 13 shows the input signal conditioning used to measure
the output of a remote temperature sensor. This figure shows the
external sensor as a substrate transistor, provided for temperature
monitoring on some microprocessors. It could equally well be a
discrete transistor such as a 2N3904/06.
V
DD
REMOTE
SENSING
TRANSISTOR
THERMDA
THERMDC
D+
D–
BIAS
DIODE
LOW-PASS
FILTER
f
= 65kHz
C
V
V
Figure 13. Signal Conditioning for Remote Diode Temperature Sensors
OUT+
TO ADC
OUT–
REV. A–14–
If a discrete transistor is used, the collector will not be grounded,
and should be linked to the base. If a PNP transistor is used, the
base is connected to the D– input and the emitter to the D+
input. If an NPN transistor is used, the emitter is connected to
the D– input and the base to the D+ input. Figure 14 shows
how to connect the ADM1027 to an NPN or PNP transistor for
temperature measurement. To prevent ground noise from interfering with the measurement, the more negative terminal of the
sensor is not referenced to ground, but is biased above ground
by an internal diode at the D– input.
To measure DV
, the sensor is switched between operating cur-
be
rents of I and N ⫻ I. The resulting waveform is passed through a
65 kHz low-pass filter to remove noise, and to a chopper-stabilized
amplifier that performs the functions of amplification and rectification of the waveform to produce a dc voltage proportional to
. This voltage is measured by the ADC to give a temperature
DV
be
output in 10-bit, twos complement format. To further reduce
the effects of noise, digital filtering is performed by averaging the
results of 16 measurement cycles. A remote temperature measurement takes nominally 25.5 ms. The results of remote temperature
measurements are stored in 10-bit, twos complement format,
as illustrated in Table III. The extra resolution for the temperature
measurements is held in the Extended Resolution Register 2
(Reg. 0x77). This gives temperature readings with a resolution
Figure 14a. Measuring Temperature Using an
NPN Transistor
2N3906
PNP
Figure 14b. Measuring Temperature Using a
PNP Transistor
NULLING OUT TEMPERATURE ERRORS
As CPUs run faster, it is getting more difficult to avoid high
frequency clocks when routing the D–/D+ traces around a system
board. Even when recommended layout guidelines are followed,
there may still be temperature errors attributed to noise being
coupled onto the D+/D– lines. High frequency noise generally
has the effect of giving temperature measurements that are too
high by a constant amount. The ADM1027 has temperature
offset registers at addresses 0x70, 0x71, and 0x72 for the Remote 1,
Local, and Remote 2 temperature channels. By doing a one-time
calibration of the system, you 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 LSB adds a 1∞C
offset to the temperature reading so the 8-bit register effectively
allows temperature offsets of up to ⫾127∞C with a resolution of
1∞C. This ensures that the readings in the temperature measurement registers are as accurate as possible.
TEMPERATURE OFFSET REGISTERS
Reg. 0x70 Remote 1 Temperature Offset = 0x00 (0∞C default)
Reg. 0x71 Local Temperature Offset = 0x00 (0∞C default)
Reg. 0x72 Remote 2 Temperature Offset = 0x00 (0∞C default)
D+
D–
ADM1027
D+
D–
*Bold denotes 2 LSBs of measurement in Extended Resolution
Register 2 (Reg. 0x77) with 0.25oC resolution.
REV. A
–15–
ADM1027
TEMPERATURE MEASUREMENT REGISTERS
Reg. 0x25 Remote 1 Temperature = 0x80 default
Reg. 0x26 Local Temperature = 0x80 default
Reg. 0x27 Remote 2 Temperature = 0x80 default
Reg. 0x77 Extended Resolution 2 = 0x00 default
<7:6> TDM2 = Remote 2 Temperature LSBs
<5:4> LTMP = Local Temperature LSBs
<3:2> TDM1 = Remote 1 Temperature LSBs
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.
Reg. 0x4E Remote 1 Temperature Low Limit = 0x81 default
Reg. 0x4F Remote 1 Temperature High Limit = 0x7F default
Reg. 0x50 Local Temperature Low Limit = 0x81 default
Reg. 0x51 Local Temperature High Limit = 0x7F default
Reg. 0x52 Remote 2 Temperature Low Limit = 0x81 default
Reg. 0x53 Remote 2 Temperature High Limit = 0x7F default
READING TEMPERATURE FROM THE ADM1027
It is important to note that temperature can be read from the
ADM1027 as an 8-bit value (with 1∞C resolution), or as a 10bit value (with 0.25∞C resolution). If only 1∞C 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, this involves a 2-register
read for each measurement. The extended resolution register
(Reg. 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.
Single-Channel ADC Conversions
Setting Bit 6 of Configuration Register 2 (Reg. 0x73) places the
ADM1027 into single-channel ADC conversion mode. In this
mode, the ADM1027 can be made to read a single temperature
channel only. If the internal ADM1027 clock is used, the selected
input will be read every 1.4 ms. The appropriate ADC channel
is selected by writing to Bits <7:5> of TACH1 minimum high
byte register (Reg. 0x55).
<7:5> Selects ADC channel for single-channel convert mode
OVERTEMPERATURE EVENTS
Overtemperature events on any of the temperature channels can
be detected and dealt with automatically. Registers 0x6A to
0x6C are the THERM limits. When a temperature exceeds its
THERM limit, all fans will run at 100% duty cycle. The fans
will stay running at 100% until the temperature drops below
THERM – 4∞C.
THERM LIMIT
HYSTERESIS = 4ⴗC
TEMP
FANS
100%
ADDITIONAL ADC FUNCTIONS
A number of other functions are available on the ADM1027 to
offer the systems 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. There may
be an instance where the user would like to take a very fast
measurement, e.g., of CPU temperature. Setting Bit 4 of Configuration Register 2 (Reg. 0x73) turns averaging off. This takes
a reading every 13 ms. The measurement itself takes 4 ms.
Figure 15. THERM Limit Operation
REV. A–16–
ADM1027
SMBALERT, STATUS, AND MASK REGISTERS
SMBALERT CONFIGURATION
Pin 10 of the ADM1027 can be configured as either PWM2 or
as an SMBALERT output. The SMBALERT output may be
used to signal out-of-limit conditions as explained below. The
default state of Pin 10 is PWM2. To configure Pin 10 as
SMBALERT:
Associated with each measurement channel on the ADM1027
are high and low limits. These can form the basis of system
status monitoring; a status bit can be set for any out-of-limit
condition and detected by polling the device. Alternatively,
SMBALERT interrupts can be generated to flag a processor or
microcontroller of out-of-limit conditions.
8-BIT LIMITS
The following is a list of 8-bit limits on the ADM1027:
Voltage Limit Registers
Reg. 0x44 2.5 V Low Limit = 0x00 default
Reg. 0x45 2.5 V High Limit = 0xFF default
Reg. 0x46 V
Reg. 0x47 V
Reg. 0x48 V
Reg. 0x49 V
Low Limit = 0x00 default
CCP
High Limit = 0xFF default
CCP
Low Limit = 0x00 default
CC
High Limit = 0xFF default
CC
Reg. 0x4A 5 V Low Limit = 0x00 default
Reg. 0x4B 5 V High Limit = 0xFF default
Reg. 0x4C 12 V Low Limit = 0x00 default
Reg. 0x4D 12 V High Limit = 0xFF default
The fan TACH measurements are 16-bit results. The fan TACH
limits are also 16 bits, consisting of a high byte and low byte.
Since fans running underspeed or stalled are normally the only
conditions of interest, only high limits exist for fan TACHs.
Since fan TACH period is actually being measured, exceeding
the limit indicates a slow or stalled fan.
The ADM1027 will measure all parameters in round-robin format
and set the appropriate status bit for out-of-limit conditions.
Comparisons are done differently depending on whether the
measured value is being compared to a high or low limit.
HIGH LIMIT: > COMPARISON PERFORMED
LOW LIMIT: < OR = COMPARISON PERFORMED
REV. A
–17–
Loading...
+ 39 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.