Intelligent Temperature Monitor and PWM Fan Controller

ADM1030
Intelligent Temperature
Monitor and PWM Fan
Controller
The ADM1030 is an ACPI-compliant two-channel digital
thermometer and under/over temperature alarm, for use in computers
and thermal management systems. Optimized for the Pentium III,
the higher 1C accuracy offered allows systems designers to safely
reduce temperature guardbanding and increase system performance.
A Pulsewidth Modulated (PWM) Fan Control output controls the
speed of a cooling fan by varying output duty cycle. Duty cycle values
between 33%–100% allow smooth control of the fan. The speed of the
fan can be monitored via a TACH input for a fan with a tach output.
The TACH input can be programmed as an analog input, allowing the
speed of a 2-wire fan to be determined via a sense resistor. The device
will also detect a stalled fan. A dedicated Fan Speed Control Loop
provides control even without the intervention of CPU software. It
also ensures that if the CPU or system locks up, the fan can still be
controlled based on temperature measurements, and the fan speed
adjusted to correct any changes in system temperature. Fan Speed may
also be controlled using existing ACPI software. One input (two pins)
is dedicated to a remote temperaturesensing diode with an accuracy of
1C, and a local temperature sensor allows ambient temperature to be
monitored. The device has a programmable INT output to indicate
error conditions. There is a dedicated FAN_FAULT output to signal
fan failure. The THERM pin is a fail-safe output for over-temperature
conditions that can be used to throttle a CPU clock.
Features
 Optimized for Pentium III: Allows Reduced Guardbanding
Software and Automatic Fan Speed Control
 Automatic Fan Speed Control Allows Control Independent of CPU
http://onsemi.com
QSOP−16
CASE 492
PIN ASSIGNMENT
PWM_OUT
1
16 SCL
TACH/AIN
2
15 SDA
NC
3
NC
4
GND
5
14 INT
ADM1030
13 ADD
Top View
(Not To Scale) 12 NC
VCC
6
11 NC
THERM
7
10 D+
FAN_FAULT
8
9
D−
NC = No Connect
MARKING DIAGRAM
Intervention after Initial Setup
 Control Loop Minimizes Acoustic Noise and Battery Consumption
 Remote Temperature Measurement Accurate to 1C Using Remote














1030A
RQZ
#YYWW
Diode
0.125C Resolution on Remote Temperature Channel
Local Temperature Sensor with 0.25C Resolution
Pulsewidth Modulation Fan Control (PWM)
1029ARQZ
= Special Device Code
#
= Pb-Free Package
Programmable PWM Frequency
YY
= Year
Programmable PWM Duty Cycle
WW
= Work Week
Tach Fan Speed Measurement
Analog Input To Measure Fan Speed of 2-wire Fans
ORDERING INFORMATION
(Using Sense Resistor)
See detailed ordering and shipping information in the package
2-wire System Management Bus (SMBus) with ARA Support
dimensions section on page 29 of this data sheet.
Overtemperature THERM Output Pin
Programmable INT Output Pin
Applications
Configurable Offset for All Temperature Channels
 Notebook PCs, Network Servers and Personal
3 V to 5.5 V Supply Range
Computers
Shutdown Mode to Minimize Power Consumption

Telecommunications Equipment
This is a Pb-Free Device*
* For additional information on our Pb-Free strategy and soldering details, please download the ON Semiconductor Soldering and Mounting
Techniques Reference Manual, SOLDERRM/D.
 Semiconductor Components Industries, LLC, 2012
April, 2012 − Rev. 3
1
Publication Order Number:
ADM1030/D
ADM1030
VCC
6
NC 3
ADM1030
NC 4
PWM_OUT
1
16 SCL
14 INT
TMIN/TRANGE
REGISTER
TACH/AIN
2
TACH SIGNAL
LIMIT
COMPARATOR
FAN SPEED
COUNTER
CONDITIONING
ANALOG
MULTIPLEXER
BANDGAP
TEMPERATURE
OFFSET
REGISTERS
ADC
2.5 V
BANDGAP
REFERENCE
SENSOR
7
THERM
8
FAN_FAULT
VALUE AND LIMIT
REGISTERS
D+ 10
D− 9
12 NC
INTERRUPT
STATUS
REGISTER
FAN SPEED
CONFIG
REGISTER
CONTROLLER
15 SDA
ADDRESS
POINTER
REGISTER
FAN
CHARACTERISTICS
REGISTER
PWM
13 ADD
SERIAL BUS
INTERFACE
SLAVE
ADDRESS
REGISTER
11 NC
CONFIGURATION
REGISTER
5
NC = NO CONNECT
GND
Figure 1. Functional Block Diagram
Table 1. ABSOLUTE MAXIMUM RATINGS
Rating
Value
Unit
Positive Supply Voltage (VCC)
6.5
V
−0.3 to +6.5
V
Input Current at Any Pin
5
mA
Package Input Current
20
mA
Maximum Junction Temperature (TJMAX)
150
C
Storage Temperature Range
−65 to +150
C
Lead Temperature, Soldering
Vapor Phase (60 sec)
Infrared (15 sec)
215
200
Voltage on Any Input or Output Pin
ESD Rating All Pins
C
2,000
V
Stresses exceeding Maximum Ratings may damage the device. Maximum Ratings are stress ratings only. Functional operation above the
Recommended Operating Conditions is not implied. Extended exposure to stresses above the Recommended Operating Conditions may affect
device reliability.
WARNING: Electrostatic Sensitive Device − Do not open packages or handle except at a static-free workstation.
WARNING:
Moisture Sensitive Device − Non-RoHS Compliant − Level 3 MSL; RoHS Compliant − Level 4 MSL. Do not open packages
except under controlled conditions.
Table 2. THERMAL CHARACTERISTICS
Package Type
16-lead QSOP
http://onsemi.com
2
qJA
qJC
Unit
105
39
C/W
ADM1030
Table 3. PIN FUNCTION DESCRIPTIONS
Pin No.
Mnemonic
1
PWM_OUT
Digital Output (Open-Drain). Pulsewidth modulated output to control fan speed. Requires pull-up
resistor (10 kW typical).
Description
2
TACH/AIN
Digital/Analog Input. Fan tachometer input to measure fan speed. May be reprogrammed as an
analog input to measure speed of a 2-wire fan via a sense resistor (2 W typical)
3, 4, 11, 12
NC
Not Connected.
5
GND
System Ground.
6
VCC
Power. Can be powered by 3.3 V Standby power if monitoring in low power states is required.
7
THERM
8
FAN_FAULT
9
D–
Analog Input. Connected to cathode of an external temperature-sensing diode. The
temperature-sensing element is either a Pentium III substrate transistor or a general-purpose
2N3904.
10
D+
Analog Input. Connected to anode of the external temperature-sensing diode.
13
ADD
Three-state Logic Input. Sets two lower bits of device SMBus address.
14
INT
Digital Output (Open-Drain). Can be programmed as an interrupt output for temperature/fan speed
interrupts. Requires pull-up resistor (10 kW typical).
15
SDA
Digital I/O. Serial Bus Bidirectional Data. Open-drain output. Requires pull-up resistor (2.2 kW typical).
16
SCL
Digital Input. Serial Bus Clock. Requires pull-up resistor (2.2 kW typical).
Digital I/O (Open-Drain). An active low thermal overload output that indicates a violation of a
temperature set point (overtemperature). Also acts as an input to provide external fan control. When
this pin is pulled low by an external signal, a status bit is set, and the fan speed is set to full-on.
Requires pull-up resistor (10 kW).
Digital Output (Open-Drain). Can be used to signal a fan failure. Requires pull-up resistor (typically
10 kW).
Table 4. ELECTRICAL CHARACTERISTICS (TA = TMIN to TMAX, VCC = VMIN to VMAX, unless otherwise noted. (Note 1))
Parameter
Test Conditions/Comments
Min
Typ
Max
Unit
3.0
3.3
5.5
V
−
−
1.4
32
3.0
50
mA
mA
−
1.0
3.0
C
−
0.25
−
C
−
−
1.0
C
−
0.125
−
C
−
−
180
11
−
−
mA
POWER SUPPLY
Supply Voltage, VCC
Supply Current, ICC
Interface Inactive, ADC Active
Standby Mode
TEMPERATURE-TO-DIGITAL CONVERTER
Internal Sensor Accuracy
Resolution
External Diode Sensor Accuracy
60C < TD < 100C
Resolution
Remote Sensor Source Current
High Level
Low Level
OPEN-DRAIN DIGITAL OUTPUTS (THERM, INT, FAN_FAULT, PWM_OUT)
Output Low Voltage, VOL
IOUT = −6.0 mA, VCC = 3 V
−
−
0.4
V
High Level Output Current, IOH
VOUT = VCC, VCC = 3 V
−
0.1
1.0
mA
–1.0
−
−
mA
−
−
1.0
mA
−
5
−
pF
Input High Voltage, VIH
2.1
−
−
V
Input Low Voltage, VIL
−
−
0.8
V
DIGITAL INPUT LEAKAGE CURRENT
Input High Current, IIH
VIN = VCC
Input Low Current, IIL
VIN = 0
Input Capacitance, CIN
DIGITAL INPUT LOGIC LEVELS (ADD, THERM, TACH) (Note 2)
OPEN-DRAIN SERIAL DATA BUS OUTPUT (SDA)
Output Low Voltage, VOL
IOUT = –6.0 mA, VCC = 3 V
−
−
0.4
V
High Level Output Leakage Current, IOH
VOUT = VCC
−
0.1
1.0
mA
http://onsemi.com
3
ADM1030
Table 4. ELECTRICAL CHARACTERISTICS (TA = TMIN to TMAX, VCC = VMIN to VMAX, unless otherwise noted. (Note 1))
Parameter
Test Conditions/Comments
Min
Typ
Max
Unit
Input High Voltage, VIH
2.1
−
−
V
Input Low Voltage, VIL
−
−
0.8
V
Hysteresis
−
500
−
mV
−
−
6
%
−
−
8
Bits
−
−
−
−
4400
2200
1100
550
−
−
−
−
RPM
−
637
−
ms
10
−
100
kHz
Glitch Immunity, tSW
−
50
−
ns
Bus Free Time, tBUF
4.7
−
−
ms
Start Setup Time, tSU; STA
4.7
−
−
ms
Start Hold Time, tHD; STA
4.0
−
−
ms
Stop Condition Setup Time, tSU; STO
4.0
−
−
ms
SCL Low Time, tLOW
1.3
−
−
ms
SCL High Time, tHIGH
4.0
−
50
ms
SCL, SDA Rise Time, tR
−
−
1,000
ns
SCL, SDA Fall Time, tF
−
−
300
ns
Data Setup Time, tSU; DAT
250
−
−
ns
Data Hold Time, tHD; DAT
300
−
−
ns
SERIAL BUS DIGITAL INPUTS (SCL, SDA)
FAN RPM-TO-DIGITAL CONVERTER
Accuracy
60C  TA  100C
Resolution
TACH Nominal Input RPM
Divisor N = 1, Fan Count = 153
Divisor N = 2, Fan Count = 153
Divisor N = 4, Fan Count = 153
Divisor N = 8, Fan Count = 153
Conversion Cycle Time
SERIAL BUS TIMING (Note 3)
Clock Frequency, fSCLK
See Figure 2 for All Parameters.
1. Typicals are at TA = 25C and represent the most likely parametric norm. Shutdown current typ is measured with VCC = 3.3 V.
2. ADD is a three-state input that may be pulled high, low or left open-circuit.
3. Timing specifications are tested at logic levels of VIL = 0.8 V for a falling edge and VIH = 2.1 V for a rising edge.
NOTE: Specifications subject to change without notice.
t LOW
tF
t HD; STA
tR
SCL
t HD; STA
t HD; DAT
t HIGH
t SU; STA
t SU; DAT
t SU; STO
SDA
P
t BUF
S
S
Figure 2. Serial Bus Timing Diagram
http://onsemi.com
4
P
ADM1030
15
110
100
10
90
5
DXP TO GND
0
DXP TO VCC (3.3 V)
−5
80
READING (C)
REMOTE TEMPERATURE ERROR (C)
TYPICAL PERFORMANCE CHARACTERISTICS
70
60
50
40
−10
30
20
−15
−20
1
3.3
10
30
10
0
100
0
10 20
REMOTE TEMPERATURE ERROR (C)
REMOTE TEMPERATURE ERROR (C)
VIN = 100 mV p−p
13
11
9
7
5
3
1
VIN = 200 mV p−p
0
500k
2M
4M
6M
10M
100M 400M
1
0
−1
−2
−3
−4
−5
−6
−7
−8
−9
−10
−11
−12
−13
−14
−15
−16
2.2
1
Figure 5. Temperature Error vs. Power Supply
Noise Frequency
4.7
10
22
47
Figure 6. Temperature Error vs. Capacitance
between D+ and D−
110
7
100
6
SUPPLY CURRENT (mA)
REMOTE TEMPERATURE ERROR (C)
3.3
DXP − DXN CAPACITANCE (nF)
FREQUENCY (Hz)
5
4
3
VIN = 40 mV p−p
2
1
0
−1
90 100 110
Figure 4. Pentium) III Temperature Measurement
vs. ADM1030 Reading
17
−1
70 80
PIII TEMPERATURE (C)
LEAKAGE RESISTANCE (MW)
Figure 3. Temperature Error vs. PCB Track
Resistance
15
30 40 50 60
100k
80
70
VCC = 5 V
60
50
40
30
VCC = 3.3 V
20
10
VIN = 20 mV p−p
0
90
0
1M 100M 200M 300M 400M 500M
FREQUENCY (Hz)
0
1
5
10 25 50 75 100 250 500 750 1000
SCLK FREQUENCY (kHz)
Figure 7. Temperature Error vs. Common-mode
Noise Frequency
Figure 8. Standby Current vs. Clock Frequency
http://onsemi.com
5
ADM1030
7
0.08
−0
6
VIN = 30 mV p−p
5
−0.08
−0.16
4
ERROR (C)
REMOTE TEMPERATURE ERROR (C)
TYPICAL PERFORMANCE CHARACTERISTICS (Cont’d)
3
2
−0.32
−0.40
−0.48
−0.56
1
−0.64
0
−1
−0.24
−0.72
VIN = 20 mV p−p
0
100k
−0.80
1M 100M 200M 300M 400M 500M
0
20
40
FREQUENCY (Hz)
1.25
160
1.20
SUPPLY CURRENT (mA)
SUPPLY CURRENT (mA)
1.30
180
140
120
100
ADD = Hi-Z
40
ADD = VCC
ADD = GND
20
0
−20
100 105 120
1.15
1.10
1.05
1.00
0.95
0.90
0.85
0
1.1
1.3
1.5 1.7
1.9
2.1 2.5
0.80
2.9 4.5
2.0
2.4
2.8
SUPPLY VOLTAGE (V)
3.2
3.6
4.0
4.4
4.8
SUPPLY VOLTAGE (V)
Figure 11. Standby Supply Current vs. Supply
Voltage
Figure 12. Supply Current vs. Supply Voltage
0.16
0.08
−0
−0.08
−0.16
−0.24
−0.32
−0.40
−0.48
−0.56
−0.64
−0.72
−0.80
−0.88
120
110
TEMPERATURE (C)
ERROR (C)
85
Figure 10. Remote Sensor Error
200
60
80
TEMPERATURE (C)
Figure 9. Temperature Error vs. Differential-mode
Noise Frequency
80
60
0
20
40
60
80
85
100
90
80
70
60
50
40
30
20
10
0
100 105 120
TEMPERATURE (C)
0
1
2
3
4
5
6
7
8
TIME (s)
Figure 13. Local Sensor Error
Figure 14. Response to Thermal Shock
http://onsemi.com
6
9
10
ADM1030
General Description
The ADM1030 is a temperature monitor and PWM fan
controller for microprocessor-based systems. The device
communicates with the system via a serial System
Management Bus. The serial bus controller has a hardwired
address pin for device selection (Pin 13), a serial data line for
reading and writing addresses and data (Pin 15), and an
input line for the serial clock (Pin 16). All control and
programming functions of the ADM1030 are performed
over the serial bus. The device also supports the SMBus
Alert Response Address (ARA) function.
range over that auto fan control will be provided, and hence
determines the temperature at which the fan will run at full
speed.
Serial Bus Interface
Control of the ADM1030 is carried out via the SMBus.
The ADM1030 is connected to this bus as a slave device,
under the control of a master device, e.g., the 810 chipset.
The ADM1030 has a 7-bit serial bus address. When the
device is powered up, it will do so with a default serial bus
address. The five MSBs of the address are set to 01011, the
two LSBs are determined by the logical state of Pin 13
(ADD). This is a three-state input that can be grounded,
connected to VCC, or left open-circuit to give three different
addresses. The state of the ADD pin is only sampled at
power-up, so changing ADD with power on will have no
effect until the device is powered off, then on again.
Internal Registers of the ADM1030
A brief description of the ADM1030’s principal internal
registers is given below. More detailed information on the
function of each register is given in Table 16 to Table 30.
Configuration Register
Provides control and configuration of various functions
on the device.
Table 5. ADD PIN TRUTH TABLE
ADD Pin
A1
A0
Address Pointer Register
This register contains the address that selects one of the
other internal registers. When writing to the ADM1030, the
first byte of data is always a register address, which is written
to the Address Pointer Register.
GND
0
0
No Connect
1
0
VCC
0
1
If ADD is left open-circuit, the default address will be
0101110.
The facility to make hardwired changes at the ADD pin
allows the user to avoid conflicts with other devices sharing
the same serial bus, for example, if more than one ADM1030
is used in a system.
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 8 bits,
consisting of a 7-bit address (MSB first) plus an
R/W bit that 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
Status Registers
These registers provide status of each limit comparison.
Value and Limit Registers
The results of temperature and fan speed measurements
are stored in these registers, along with their limit values.
Fan Speed Config Register
This register is used to program the PWM duty cycle for
the fan.
Offset Registers
Allows the temperature channel readings to be offset by
a 5-bit two’s complement value written to these registers.
These values will automatically be added to the temperature
values (or subtracted from if negative). This allows the
systems designer to optimize the system if required, by
adding or subtracting up to 15C from a temperature
reading.
Fan Characteristics Register
This register is used to select the spin-up time, PWM
frequency, and speed range for the fan used.
THERM Limit Registers
These registers contain the temperature values at which
THERM will be asserted.
TMIN/TRANGE Registers
These registers are read/write registers that hold the
minimum temperature value below which the fan will not
run when the device is in Automatic Fan Speed Control
Mode. These registers also hold the values defining the
http://onsemi.com
7
ADM1030
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
tenth 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 tenth clock pulse, then high
during the tenth clock pulse to assert a STOP
condition.
two data bytes. The first data byte is the address of the
internal data 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 ADM1030’s 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 ADM1030 as
before, but only the data byte containing the
register address is sent, as data is not to be written
to the register. This is shown in Figure 16.
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 17.
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 16 can be omitted.
Any number of bytes of data may be transferred over the
serial bus in one operation, but it is not possible to mix read
and write in one operation, because the type of operation is
determined at the beginning and cannot subsequently be
changed without starting a new operation.
In the case of the ADM1030, 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 that
the correct data register is addressed; data can then 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 15. The device address is sent
over the bus followed by R/W set to 0. This is followed by
1
NOTES:
1. Although 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, 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 15 to 17, the serial bus address is shown as the
default value 01011(A1)(A0), where A1 and A0 are set by
the three-state ADD pin.
3. The ADM1030 also supports the Read Byte protocol, as
described in the System Management Bus specification.
9
1
9
SCL
SDA
0
1
0
1
1
A1
A0
START BY
MASTER
D7
R/W
D6
D5
D4
D3
D2
D1
D0
ACK. BY
ADM1030
FRAME 1
SERIAL BUS ADDRESS BYTE
ACK. BY
ADM1030
FRAME 2
ADDRESS POINTER REGISTER BYTE
1
9
SCL (CONTINUED)
SDA (CONTINUED)
D7
D6
D5
D4
D3
D2
D1
D0
FRAME 3
DATA BYTE
Figure 15. Writing a Register Address to the Address Pointer Register,
then Writing Data to the Selected Register
http://onsemi.com
8
ACK. BY
ADM1030
STOP BY
MASTER
ADM1030
1
9
9
1
SCL
SDA
0
1
0
1
1
A1
A0
START BY
MASTER
D7
R/W
D6
D4
D5
D3
D2
D1
D0
ACK. BY
ADM1030
ACK. BY
ADM1030
STOP BY
MASTER
FRAME 2
ADDRESS POINTER REGISTER BYTE
FRAME 1
SERIAL BUS ADDRESS BYTE
Figure 16. Writing to the Address Pointer Register Only
9
1
9
1
SCL
SDA
START BY
MASTER
0
1
0
1
1
A1
A0
FRAME 1
SERIAL BUS ADDRESS BYTE
R/W
D7
D6
ACK. BY
ADM1030
D5
D4
D3
D2
D1
FRAME 2
DATA BYTE FROM ADM1030
D0
STOP BY
NO ACK.
BY MASTER MASTER
Figure 17. Reading Data from a Previously Selected Register
Alert Response Address
Alert Response Address (ARA) is a feature of SMBus
devices that allows an interrupting device to identify itself
to the host when multiple devices exist on the same bus.
The INT output can be used as an interrupt output or can
be used as an SMBALERT. One or more INT outputs can be
connected to a common SMBALERT line connected to the
master. If a device’s INT line goes low, the following
procedure occurs:
1. SMBALERT 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 INT 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 can be interrogated in the usual
way.
4. If more than one device’s INT output is low, the
one with the lowest device address will have
priority, in accordance with normal SMBus
arbitration.
5. Once the ADM1030 has responded to the Alert
Response Address, it will reset its INT output;
however, if the error condition that caused the
interrupt persists, INT will be reasserted on the
next monitoring cycle.
10-bit two’s complement format. The resolution of the local
temperature sensor is 0.25C. The format of the temperature
data is shown in Table 6.
External Temperature Measurement
The ADM1030 can measure the temperature of an
external diode sensor or diode-connected transistor,
connected to Pins 9 and 10.
These pins are a dedicated temperature input channel. The
function of Pin 7 is as a THERM input/output and is used to
flag overtemperature conditions.
The forward voltage of a diode or diode-connected
transistor, operated at a constant current, exhibits a negative
temperature coefficient of about –2 mV/C. Unfortunately,
the absolute value of VBE, varies from device to device, and
individual calibration is required to null this out, so the
technique is unsuitable for mass production.
The technique used in the ADM1030 is to measure the
change in VBE when the device is operated at two different
currents.
This is given by:
DV BE + KTńq
ln(N)
(eq. 1)
where:
K is Boltzmann’s constant
q is charge on the carrier
T is absolute temperature in Kelvins
N is ratio of the two currents
Figure 18 shows the input signal conditioning used to
measure the output of an external temperature sensor. This
figure shows the external sensor as a substrate transistor,
provided for temperature monitoring on some
microprocessors, but it could equally well be a discrete
transistor.
Temperature Measurement System
Internal Temperature Measurement
The ADM1030 contains an on-chip bandgap temperature
sensor. The on-chip ADC performs conversions on the
output of this sensor and outputs the temperature data in
http://onsemi.com
9
ADM1030
I
NI
VDD
IBIAS
D+
REMOTE
SENSING
TRANSISTOR
VOUT+
To ADC
D−
VOUT−
BIAS
DIODE
LOW-PASS FILTER
fC = 65 kHz
Figure 18. Signal Conditioning
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.
One LSB of the ADC corresponds to 0.125C, so the
ADM1030 can theoretically measure temperatures from
–127C to +127.75C, although –127C is outside the
operating range for the device. The extended temperature
resolution data format is shown in Tables 7 and 8.
Table 7. REMOTE SENSOR EXTENDED
TEMPERATURE RESOLUTION
Table 6. TEMPERATURE DATA FORMAT (LOCAL
TEMPERATURE AND REMOTE TEMPERATURE HIGH
BYTES)
Temperature
Digital Output
−128C
1000 0000
−125C
1000 0011
−100C
1001 1100
−75C
1011 0101
−50C
1100 1110
−25C
1110 0111
−1C
1111 1111
0C
0000 0000
+1C
0000 0001
+10C
0000 1010
+25C
0001 1001
+50C
0011 0010
+75C
0100 1011
+100C
0110 0100
+125C
0111 1101
+127C
0111 1111
Extended Resolution (5C)
Remote Temperature
Low Bits
0.000
000
0.125
001
0.250
010
0.375
011
0.500
100
0.625
101
0.750
110
0.875
111
The extended temperature resolution for the local and
remote channels is stored in the Extended Temperature
Resolution Register (Register 0x06), and is outlined in
Table 22.
Table 8. LOCAL SENSOR EXTENDED
TEMPERATURE RESOLUTION
Extended Resolution (5C)
Local Temperature
Low Bits
0.00
00
0.25
01
0.50
10
0.75
11
To prevent ground noise 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. If the sensor is used in a very
http://onsemi.com
10
ADM1030
5. Place a 0.1 mF bypass capacitor close to the
ADM1030.
6. If the distance to the remote sensor is more than
8 inches, the use of twisted pair cable is
recommended. This will work up to about 6 to
12 feet.
7. For really long distances (up to 100 feet) use
shielded twisted pair such as Belden #8451
microphone cable. Connect the twisted pair to D+
and D– and the shield to GND close to the
ADM1030. Leave the remote end of the shield
unconnected to avoid ground loops.
noisy environment, a capacitor of value up to 1000 pF may
be placed between the D+ and D– inputs to filter the noise.
To measure DVBE, the sensor is switched between
operating currents of I and N  I. The resulting waveform is
passed through a 65 kHz low-pass filter to remove noise,
then to a chopperstabilized amplifier that performs the
functions of amplification and rectification of the waveform
to produce a dc voltage proportional to DVBE. This voltage
is measured by the ADC to give a temperature output in
11-bit two’s complement format. To further reduce the
effects of noise, digital filtering is performed by averaging
the results of 16 measurement cycles. An external
temperature measurement nominally takes 9.6 ms.
Because the measurement technique uses switched
current sources, excessive cable and/or filter capacitance
can affect the measurement. When using long cables, the
filter capacitor C1 may be reduced or removed. In any case
the total shunt capacitance should not exceed 1000 pF.
Cable resistance can also introduce errors. 1 W series
resistance introduces about 0.5C error.
Layout Considerations
Digital boards can be electrically noisy environments and
care must be taken to protect the analog inputs from noise,
particularly when measuring the very small voltages from
a remote diode sensor. The following precautions should be
taken:
1. Place the ADM1030 as close as possible to the
remote sensing diode. Provided that the worst
noise sources such as clock generators,
data/address buses, and CRTs are avoided, this
distance can be 4 to 8 inches.
2. Route the D+ and D– tracks close together, in
parallel, with grounded guard tracks on each side.
Provide a ground plane under the tracks if
possible.
3. Use wide tracks to minimize inductance and
reduce noise pick-up. 10 mil track minimum width
and spacing is recommended.
GND
Addressing the Device
ADD (Pin 13) is a three-state input. It is sampled, on
power-up to set the lowest two bits of the serial bus address.
Up to three addresses are available to the systems designer
via this address pin. This reduces the likelihood of conflicts
with other devices attached to the System Management Bus.
The ADM1030 Interrupt System
The ADM1030 has two interrupt outputs, INT and
THERM. These have different functions. INT responds to
violations of software programmed temperature limits and
is maskable (described in more detail later).
THERM is intended as a “fail-safe” interrupt output that
cannot be masked. If the temperature is below the low
temperature limit, the INT pin will be asserted low to
indicate an out-of-limit condition. If the temperature
exceeds the high temperature limit, the INT pin will also be
asserted low. A third limit; THERM limit, may be
programmed into the device to set the temperature limit
above which the overtemperature THERM pin will be
asserted low. The behavior of the high limit and THERM
limit is as follows:
1. Whenever the temperature measured exceeds the
high temperature limit, the INT pin is asserted low.
2. If the temperature exceeds the THERM limit, the
THERM output asserts low. This can be used to
throttle the CPU clock. If the THERM-to-Fan
Enable bit (Bit 7 of THERM behavior/revision
register) is cleared to 0, the fan will not run
full-speed. The THERM limit may be programmed
at a lower temperature than the high temperature
limit. This allows the system to run in silent mode,
where the CPU can be throttled while the cooling
fan is off. If the temperature continues to increase,
and exceeds the high temperature limit, an INT is
10 MIL
10 MIL
D+
10 MIL
10 MIL
D−
10 MIL
10 MIL
GND
10 MIL
Figure 19. Arrangement of Signal Tracks
4. Try to minimize the number of copper/solder
joints, which can cause thermocouple effects.
Where copper/solder joints are used, make sure
that they are in both the D+ and D– path and at the
same temperature.
Thermocouple effects should not be a major
problem as 1C corresponds to about 200 mV, and
thermocouple voltages are about 3 mV/C of
temperature difference. Unless there are two
thermocouples with a big temperature differential
between them, thermocouple voltages should be
much less than 200 mV.
http://onsemi.com
11
ADM1030
or low temperature limits for the external channel sets these
status bits. Reading the status register clears these bits.
However, these bits will be reasserted if the out-of limit
condition still exists on the next monitoring cycle. Bits 6 and
7 are the Local Temperature High and Low status bits. These
behave exactly the same as the Remote Temperature High
and Low status bits. Bit 4 of Status Register 1 indicates that
the Remote Temperature THERM limit has been exceeded.
This bit gets cleared on a read of Status Register 1 (see
Figure 20). Bit 5 indicates a Remote Diode Error. This bit
will be a 1 if a short or open is detected on the Remote
Temperature channel on power-up. If this bit is set to 1 on
power-up, it cannot be cleared. Bit 6 of Status Register 2
(0x03) indicates that the Local THERM limit has been
exceeded. This bit is cleared on a read of Status Register 2.
Bit 7 indicates that THERM has been pulled low as an input.
This bit can also be cleared on a read of Status Register 2.
generated. Software may then decide whether the
fan should run to cool the CPU. This allows the
system to run in SILENT MODE.
3. If the THERM-to-Fan Enable bit is set to 1, the fan
will run full-speed whenever THERM is asserted
low. In this case, both throttling and active cooling
take place. If the high temperature limit is
programmed to a lower value than the THERM
limit, exceeding the high temperature limit will
assert INT low. Software could change the speed
of the fan depending on temperature readings. If
the temperature continues to increase and exceeds
the THERM limit, THERM asserts low to throttle
the CPU and the fan runs full-speed. This allows
the system to run in PERFORMANCE MODE,
where active cooling takes place and the CPU is
only throttled at high temperature.
Using the high temperature limit and the THERM limit in
this way allows the user to gain maximum performance from
the system by only slowing it down, should it be at a critical
temperature.
Although the ADM1030 does not have a dedicated
Interrupt Mask Register, clearing the appropriate enable bits
in Configuration Register 2 will clear the appropriate
interrupts and mask out future interrupts on that channel.
Disabling interrupt bits will prevent out-of-limit conditions
from generating an interrupt or setting a bit in the Status
Registers.
THERM
LIMIT
TEMP
5
THERM
INT
INT REARMED
STATUS REG. READ
Figure 20. Operation of THERM and INT Signals
Using THERM as an Input
The THERM pin is an open-drain input/output pin. When
used as an output, it signals over-temperature conditions.
When asserted low as an output, the fan will be driven
full-speed if the THERM-to-Fan Enable bit is set to 1 (Bit 7
of Register 0x3F). When THERM is pulled low as an input,
the THERM bit (Bit 7) of Status Register 2 is set to 1, and
the fan is driven full-speed. Note that the THERM-to-Fan
Enable bit has no effect whenever THERM is used as an
input. If THERM is pulled low as an input, and the
THERM-to-Fan Enable bit = 0, the fan will still be driven
full-speed. The THERM-to-Fan Enable bit only affects the
behavior of THERM when used as an output.
Figure 20 shows the interaction between INT and
THERM. Once a critical temperature THERM limit is
exceeded, both INT and THERM assert low. Reading the
Status Registers clears the interrupt and the INT pin goes
high. However, the THERM pin remains asserted until the
measured temperature falls 5C below the exceeded
THERM limit. This feature can be used to CPU throttle or
drive a fan full-speed for maximum cooling. Note, that the
INT pin for that interrupt source is not rearmed until the
temperature has fallen below the THERM limit –5C. This
prevents unnecessary interrupts from tying up valuable CPU
resources.
Modes of Operation
The ADM1030 has four different modes of operation.
These modes determine the behavior of the system.
1. Automatic Fan Speed Control Mode
2. Filtered Automatic Fan Speed Control Mode
3. PWM Duty Cycle Select Mode (Directly Sets Fan
Speed Under Software Control)
4. RPM Feedback Mode
Status Registers
Registers 1 and 2 (0x02, 0x03). Bits 0 and 1 (Alarm
Speed, Fan Fault) of Status Register 1, once set, may be
cleared by reading Status Register 1. Once the Alarm Speed
bit is cleared, this bit will not be reasserted on the next
monitoring cycle even if the condition still persists. This bit
may be reasserted only if the fan is no longer at Alarm Speed.
Bit 1 (Fan Fault) is set whenever a fan tach failure is
detected.
Once cleared, it will reassert on subsequent fan tach
failures.
Bits 2 and 3 of Status Register 1 are the Remote
Temperature High and Low status bits. Exceeding the high
Automatic Fan Speed Control
The ADM1030 has a local temperature channel and a
remote temperature channel, which may be connected to an
on-chip diode-connected transistor on a CPU. These two
http://onsemi.com
12
ADM1030
temperature channels may be used as the basis for an
automatic fan speed control loop to drive a fan using
Pulsewidth Modulation (PWM).
same point. It can be seen how changing the TRANGE value
affects the PWM duty cycle versus temperature slope.
A
100
How Does the Control Loop Work?
The Automatic Fan Speed Control Loop is shown in
Figure 21 below.
C
PWM DUTY CYCLE (%)
93
SPIN-UP FOR 2 SECONDS
FAN SPEED
MAX
B
D
87
80
E
73
66
60
A − TRANGE = 5C
B − TRANGE = 10C
C − TRANGE = 20C
D − TRANGE = 40C
E − TRANGE = 80C
53
47
40
33
0 5 10
MIN
20
40
TMIN
60
80
TMAX = TMIN + TRANGE
TEMPERATURE (C)
TMIN
Figure 22. PWM Duty Cycle vs. Temperature
Slopes (TRANGE)
TMAX = TMIN + TRANGE
TEMPERATURE
Figure 23 shows how, for a given TRANGE, changing the
TMIN value affects the loop. Increasing the TMIN value will
increase the TMAX (temperature at which the fan runs full
speed) value, since TMAX = TMIN + TRANGE. Note,
however, that the PWM Duty Cycle vs Temperature slope
remains exactly the same. Changing the TMIN value merely
shifts the control slope. The TMIN may be changed in
increments of 4C.
Figure 21. Automatic Fan Speed Control
In order for the fan speed control loop to work, certain
loop parameters need to be programmed into the device.
1. TMIN. The temperature at which the fan should
switch on and run at minimum speed. The fan will
only turn on once the temperature being measured
rises above the TMIN value programmed. The fan
will spin up for a predetermined time
(default = 2 secs). See Fan Spin-up section for
more details.
2. TRANGE. The temperature range over which the
ADM1030 will automatically adjust the fan speed.
As the temperature increases beyond TMIN, the
PWM_OUT duty cycle will be increased
accordingly. The TRANGE parameter actually
defines the fan speed versus temperature slope of
the control loop.
3. TMAX. The temperature at which the fan will be at
its maximum speed. At this temperature, the PWM
duty cycle driving the fan will be 100%. TMAX is
given by TMIN + TRANGE. Since this parameter is
the sum of the TMIN and TRANGE parameters, it
does not need to be programmed into a register
on-chip.
4. A hysteresis value of 5C is included in the control
loop to prevent the fan continuously switching on
and off if the temperature is close to TMIN. The fan
will continue to run until such time as the
temperature drops 5C below TMIN.
PWM DUTY CYCLE (%)
100
93
87
80
73
66
60
53
47
TRANGE = 40C
40
33
0
TMIN
20
40
60
80
TMAX = TMIN + TRANGE
TEMPERATURE (C)
Figure 23. Effect of Increasing TMIN Value
on Control Loop
Fan Spin-up
As was previously mentioned, once the temperature being
measured exceeds the TMIN value programmed, the fan will
turn on at minimum speed (default = 33% duty cycle).
However, the problem with fans being driven by PWM is
that 33% duty cycle is not enough to reliably start the fan
spinning. The solution is to spin the fan up for a
Figure 22 shows the different control slopes determined
by the TRANGE value chosen, and programmed into the
ADM1030. TMIN was set to 0C to start all slopes from the
http://onsemi.com
13
ADM1030
If both temperature channels measure 20C, the local
channel will calculate 33% PWM duty cycle, while the
remote channel will calculate 50% PWM duty cycle. Thus,
the fan will be driven at 50% PWM duty cycle. Consider the
local temperature measuring 60C while the remote
temperature is measuring 70C. The PWM duty cycle
calculated by the local temperature control loop will be
100% (since the temperature = TMAX). The PWM duty
cycle calculated by the remote temperature control loop at
70C will be approximately 90%. So the fan will run
full-speed (100% duty cycle). Remember, that the fan speed
will be based on the fastest speed calculated, and is not
necessarily based on the highest temperature measured.
Depending on the control loop parameters programmed, a
lower temperature on one channel, may actually calculate a
faster speed, than a higher temperature on the other channel.
predetermined time, and once the fan has spun up, its
running speed may be reduced in line with the temperature
being measured.
The ADM1030 allows fan spin-up times between 200 ms
and 8 seconds. Bits <2:0> of Fan Characteristics Register 1
(Register 0x20) program the fan spin-up time.
Table 9. FAN SPIN-UP TIMES
Bits 2:0
Spin-up Times
(Fan Characteristics Register 1)
000
200 ms
001
400 ms
010
600 ms
011
800 ms
1 sec
101
2 sec (Default)
110
4 sec
100
111
8 sec
93
PWM DUTY CYCLE (%)
100
Once the Automatic Fan Speed Control Loop parameters
have been chosen, the ADM1030 device may be
programmed. The ADM1030 is placed into Automatic Fan
Speed Control Mode by setting Bit 7 of Configuration
Register 1 (Register 0x00). The device powers up into
Automatic Fan Speed Control Mode by default. The control
mode offers further flexibility in that the user can decide
which temperature channel/channels control the fan.
TRANGE = 40C
80
73
66
60
53
47
40
33
Table 10. AUTO MODE FAN BEHAVIOR
Bits 6, 5
87
0
TMIN
Control Operation (Config Register 1)
00
Remote Temperature Controls the Fan
11
Maximum Speed Calculated by Local and
Remote Temperature Channels Control the Fan
20
40
60
TMAX = TMIN + TRANGE
LOCAL TEMPERATURE (C)
Figure 24. Max Speed Calculated by Local
Temperature Control Loop Drives Fan
When Bits 5 and 6 of Config Register 1 are both set to 1,
it offers increased flexibility. The local and remote
temperature channels can have independently programmed
control loops with different control parameters. Whichever
control loop calculates the fastest fan speed based on the
temperature being measured, drives the fan.
Figures 24 and 25 show how the fan’s PWM duty cycle is
determined by two independent control loops. This is the
type of Auto Mode Fan Behavior seen when Bits 5 and 6 of
Config Register 1 are set to 11. Figure 24 shows the control
loop for the Local Temperature channel. Its TMIN value has
been programmed to 20C, and its TRANGE value is 40C.
The local temperature’s TMAX will thus be 60C. Figure 25
shows the control loop for the Remote Temperature channel.
Its TMIN value has been set to 0C, while its
TRANGE = 80C. Therefore, the Remote Temperature’s
TMAX value will be 80C.
Consider if both temperature channels measure 40C.
Both control loops will calculate a PWM duty cycle of 66%.
Therefore, the fan will be driven at 66% duty cycle.
PWM DUTY CYCLE (%)
100
93
87
80
73
66
60
53
47
40
33
0
TMIN
20
40
70
80
TMAX = TMIN + TRANGE
REMOTE TEMPERATURE (C)
Figure 25. Max Speed Calculated by Remote
Temperature Control Loop Drives Fan
http://onsemi.com
14
ADM1030
Programming the Automatic Fan Speed Control
Loop
1. Program a value for TMIN.
2. Program a value for the slope TRANGE.
3. TMAX = TMIN + TRANGE.
4. Program a value for Fan Spin-up Time.
5. Program the desired Automatic Fan Speed Control
Mode Behavior, i.e., which temperature channel
controls the fan.
6. Select Automatic Fan Speed Control Mode by
setting Bit 7 of Configuration Register 1.
Speed Config Register (Register 0x22). Table 11 shows the
relationship between the decimal values written to the Fan
Speed Config Register and PWM duty cycle obtained.
Table 11. PROGRAMMING PWM DUTY CYCLE
Other Control Loop Parameters
Having programmed all the above loop parameters, are
there any other parameters to worry about?
TMIN was defined as being the temperature at which the
fan switched on and ran at minimum speed. This minimum
speed is 33% duty cycle by default. If the minimum PWM
duty cycle is programmed to 33%, the fan control loops will
operate as previously described.
It should be noted however, that changing the minimum
PWM duty cycle affects the control loop behavior.
Slope 1 of Figure 26 shows TMIN set to 0C and the
TRANGE chosen is 40C. In this case, the fan’s PWM duty
cycle will vary over the range 33% to 100%. The fan will run
full-speed at 40C. If the minimum PWM duty cycle at
which the fan runs at TMIN is changed, its effect can be seen
on Slopes 2 and 3. Take Case 2, where the minimum PWM
duty cycle is reprogrammed from 33% (default) to 53%.
PWM DUTY CYCLE (%)
73
66
0%
01
7%
02
14%
03
20%
04
27%
05
33% (Default)
06
40%
07
47%
08
53%
09
60%
10 (0x0A)
67%
11 (0x0B)
73%
12 (0x0C)
80%
13 (0x0D)
87%
14 (0x0E)
93%
15 (0x0F)
100%
where:
TMAX
TMIN
Max DC
Min DC
3
TRANGE = 40C
2
60
47
40
33
16
28
40
T RANGEń10) (eq. 2)
= Temperature at which fan runs full speed
= Temperature at which fan will turn on
= Maximum Duty Cycle (100%) = 15 decimal
= Duty Cycle at TMIN, programmed into
Fan Speed Config Register
(default = 33% = 5 decimal)
= PWM Duty Cycle versus Temperature Slope
TRANGE
Example 1
TMIN
= 0C, TRANGE = 40C
Min DC = 53% = 8 decimal (Table 11)
Calculate TMAX
1
53
0
TMIN
00
T MAX + T MIN ) ((Max DC * Min DC)
93
80
PWM Duty Cycle
The temperature at which the fan will run full-speed
(100% duty cycle) is given by:
100
87
Decimal Value
60
TEMPERATURE (C)
Figure 26. Effect of Changing Minimum Duty Cycle
on Control Loop with Fixed TMIN and TRANGE Values
T MAX + T MIN ) ((Max DC * Min DC)
T RANGEń10)
T MAX + 0 ) ((100% DC * 53% DC)
40ń10)
T MAX + 0 ) ((15 * 8)
(eq. 3)
4) + 28
TMAX =285C. (As seen on Slope 2 of Figure 26)
Example 2
TMIN
= 0C, TRANGE = 40C
Min DC = 73% = 11 decimal (Table 11)
Calculate TMAX
The fan will actually reach full-speed at a much lower
temperature, 28C. Case 3 shows that when the minimum
PWM duty cycle was increased to 73%, the temperature at
which the fan ran full-speed was 16C. So the effect of
increasing the minimum PWM duty cycle, with a fixed TMIN
and fixed TRANGE, is that the fan will actually reach
full-speed (TMAX) at a lower temperature than
TMIN + TRANGE. How can TMAX be calculated?
In Automatic Fan Speed Control Mode, the register that
holds the minimum PWM duty cycle at TMIN, is the Fan
T MAX + T MIN ) ((Max DC * Min DC)
T RANGEń10)
T MAX + 0 ) ((100% DC * 73% DC)
40ń10)
T MAX + 0 ) ((15 * 11)
4) + 16
TMAX =165C. (As seen on Slope 3 of Figure 26)
http://onsemi.com
15
(eq. 4)
ADM1030
Example 3
TMIN
= 0C, TRANGE = 40C
Min DC = 33% = 5 decimal (Table 11)
Calculate TMAX
T MAX + T MIN ) ((Max DC * Min DC)
T RANGEń10)
T MAX + 0 ) ((100% DC * 33% DC)
40ń10)
T MAX + 0 ) ((15 * 5)
Register 0x22 Fan Speed Configuration Register
<3:0>
(eq. 5)
4) + 40
Register 0x24 Local Temp TMIN/TRANGE
TMAX =405C. (As seen on Slope 1 of Figure 26)
In this case, since the Minimum Duty Cycle is the default
33%, the equation for TMAX reduces to:
T MAX + T MIN ) ((Max DC * Min DC)
T MAX + T MIN ) ((15 * 5)
T MAX + T MIN ) (10
<7:3>
Local Temp TMIN. These bits set the
temperature at which the fan will turn on
when under Auto Fan Speed Control. TMIN
can be programmed in 4C increments.
00000 = 0C
00001 = 4C
00010 = 8C
00011 = 12C
|
|
01000 = 32C (Default)
|
|
11110 = 120C
11111 = 124C
<2:0>
Local Temperature TRANGE. This nibble sets
the temperature range over which Automatic
Fan Speed Control takes place.
000 = 5C
001 = 10C
010 = 20C
011 = 40C
100 = 80C
T RANGEń10)
T RANGEń10)
T RANGEń10)
(eq. 6)
T MAX + T MIN ) T RANGE
Relevant Registers for Automatic Fan Speed
Control Mode
Register 0x00 Configuration Register 1
<7>
<6:5>
Logic 1 selects Automatic Fan Speed
Control, Logic 0 selects software control
(Default = 1).
00 = Remote Temperature controls Fan
11 = Fastest Calculated Speed controls the
fan when Bit 7 = Logic 1.
Register 0x20 Fan Characteristics Register 1
<2:0>
<5:3>
<7:6>
Min Speed: This nibble contains the speed at
which the fan will run when the temperature
is at TMIN. The default is 0x05, meaning that
the fan will run at 33% duty cycle when the
temperature is at TMIN.
Fan 1 Spin-up Time
000 = 200 ms
001 = 400 ms
010 = 600 ms
011 = 800 ms
100 = 1 sec
101 = 2 secs (Default)
110 = 4 secs
111 = 8 secs
Register 0x25 Remote Temperature TMIN/TRANGE
PWM Frequency Driving the Fan
000 = 11.7 Hz
001 = 15.6 Hz
010 = 23.4 Hz
011 = 31.25 Hz (Default)
100 = 37.5 Hz
101 = 46.9 Hz
110 = 62.5 Hz
111 = 93.5 Hz
<7:3>
Remote Temperature TMIN. Sets the
temperature at which the fan will switch on
based on Remote Temperature Readings.
00000 = 0C
00001 = 4C
00010 = 8C
00011 = 12C
|
|
01100 = 48C
|
|
11110 = 120C
11111 = 124C
<2:0>
Remote Temperature TRANGE. This nibble
sets the temperature range over which the fan
will be controlled based on Remote
Temperature readings.
000 = 5C
001 = 10C
010 = 20C
011 = 40C
100 = 80C
Speed Range N; defines the lowest fan speed
that can be measured by the device.
00 = 1: Lowest Speed = 2647 RPM
01 = 2: Lowest Speed = 1324 RPM
10 = 4: Lowest Speed = 662 RPM
11 = 8: Lowest Speed = 331 RPM
http://onsemi.com
16
ADM1030
Filtered Control Mode
The Automatic Fan Speed Control Loop reacts
instantaneously to changes in temperature, i.e., the PWM
duty cycle will respond immediately to temperature change.
In certain circumstances, we may not want the PWM output
to react instantaneously to temperature changes. If
significant variations in temperature were found in a system,
it would have the effect of changing the fan speed, which
could be obvious to someone in close proximity. One way to
improve the system’s acoustics would be to slow down the
loop so that the fan ramps slowly to its newly calculated fan
speed. This also ensures that temperature transients will
effectively be ignored, and the fan’s operation will be
smooth.
There are two means by which to apply filtering to the
Automatic Fan Speed Control Loop. The first method is to
ramp the fan speed at a predetermined rate, to its newly
calculated value instead of jumping directly to the new fan
speed. The second approach involves changing the on-chip
ADC sample rate, to change the number of temperature
readings taken per second.
The filtered mode on the ADM1030 is invoked by setting
Bit 0 of the Fan Filter Register (Register 0x23). Once the Fan
Filter Register has been written to, and all other control loop
parameters (TMIN, TRANGE, etc.) have been programmed,
the device may be placed into Automatic Fan Speed Control
Mode by setting Bit 7 of Configuration Register 1 (Register
0x00) to 1.
PWM_OUT duty cycle needs to be increased. Figure 28
shows how the Filtered Mode algorithm operates.
READ
TEMPERATURE
CALCULATE
NEW PWM
DUTY CYCLE
IS NEW
PWM VALUE >
PREVIOUS
VAULE?
NO
DECREMENT
PREVIOUS
PWM VALUE
BY RAMP RATE
YES
INCREMENT
PREVIOUS PWM
VALUE BY RAMP
RATE
Figure 28. Filtered Mode Algorithm
The Filtered Mode algorithm calculates a new PWM duty
cycle based on the temperature measured. If the new PWM
duty cycle value is greater than the previous PWM value, the
previous PWM duty cycle value is incremented by either
1, 2, 4, or 8 time slots (depending on the setting of bits <6:5>
of the Fan Filter Register). If the new PWM duty cycle value
is less than the previous PWM value, the previous PWM
duty cycle is decremented by 1, 2, 4, or 8 time slots. Each
time the PWM duty cycle is incremented or decremented, it
is stored as the previous PWM duty cycle for the next
comparison.
So what does an increase of 1, 2, 4, or 8 time slots actually
mean in terms of PWM duty cycle?
A Ramp Rate of 1 corresponds to one time slot, which is
1/240 of the PWM period. In Filtered Auto Fan Speed
Control Mode, incrementing or decrementing by 1 changes
the PWM output duty cycle by 0.416%.
Effect of Ramp Rate on Filtered Mode
Bits <6:5> of the Fan Filter Register determine the ramp
rate in Filtered Mode. The PWM_OUT signal driving the
fan will have a period, T, given by the PWM_OUT drive
frequency, f, since T = 1/f. For a given PWM period, T, the
PWM period is subdivided into 240 equal time slots. One
time slot corresponds to the smallest possible increment in
PWM duty cycle. A PWM signal of 33% duty cycle will thus
be high for 1/3  240 time slots and low for 2/3  240 time
slots. Therefore, 33% PWM duty cycle corresponds to a
signal which is high for 80 time slots and low for 160 time
slots.
Table 12. EFFECT OF RAMP RATES ON PWM_OUT
PWM_OUT
33% DUTY
CYCLE
80 TIME
SLOTS
Ramp Rate
PWM Duty Cycle Change
1
0.416%
2
0.833%
4
1.66%
8
3.33%
160 TIME
SLOTS
PWM OUTPUT
(ONE PERIOD) =
240 TIME SLOTS
So programming a ramp rate of 1, 2, 4, or 8 simply
increases or decreases the PWM duty cycle by the amounts
shown in Table 9, depending on whether the temperature is
increasing or decreasing.
Figure 29 shows remote temperature plotted against
PWM duty cycle for Filtered Mode. The ADC sample rate
Figure 27. 33% PWM Duty Cycle Represented
in Time Slots
The ramp rates in Filtered Mode are selectable between
1, 2, 4, and 8. The ramp rates are actually discrete time slots.
For example, if the ramp rate = 8, then eight time slots will
be added to the PWM_OUT high duty cycle each time the
http://onsemi.com
17
ADM1030
RTEMP (C)
80
80
60
60
PWM DUTY CYCLE
40
80
80
60
60
PWM DUTY CYCLE
40
20
20
0
TIME (s)
0
100
120
60
PWM DUTY CYCLE
40
60
RTEMP (C)
80
20
120
100
RTEMP
80
80
60
60
PWM DUTY CYCLE
40
40
20
20
22
0
TIME (s)
112
0
Figure 32. Filtered Mode with Ramp Rate = 1
As can be seen from Figures 29 through 32, the rate at
which the fan will react to temperature change is dependent
on the ramp rate selected in the Fan Filter Register. The
higher the ramp rate, the faster the fan will reach the newly
calculated fan speed.
Figure 33 shows the behavior of the PWM output as
temperature varies. As the temperature is rising, the fan
speed will ramp up. Small drops in temperature will not
affect the ramp-up function since the newly calculated fan
speed will still be higher than the previous PWM value. The
20
TIME (s)
100
0
40
0
140
100
RTEMP
80
120
PWM DUTY CYCLE (%)
Figure 30 shows how changing the ramp rate from 8 to 4
affects the control loop. The overall response of the fan is
slower. Since the ramp rate is reduced, it takes longer for the
fan to achieve full running speed. In this case, it took
approximately 22 seconds for the fan to reach full speed.
140
TIME (s)
0
54
Finally, Figure 32 shows how the control loop reacts to
temperature with the slowest ramp rate. The ramp rate is set
to 1, while all other control parameters remain the same.
With the slowest ramp rate selected it took 112 seconds for
the fan to reach full speed.
Figure 29. Filtered Mode with Ramp Rate = 8
120
0
Figure 31. Filtered Mode with Ramp Rate = 2
0
12
20
RTEMP (C)
RTEMP (C)
RTEMP
20
PWM DUTY CYCLE (%)
RTEMP
40
PWM DUTY CYCLE (%)
100
100
100
0
120
40
120
0
120
100
120
140
140
PWM DUTY CYCLE (%)
is the highest sample rate; 11.25 kHz. The ramp rate is set to
8 which would correspond to the fastest ramp rate. With
these settings it took approximately 12 seconds to go from
0% duty cycle to 100% duty cycle (full-speed). The
TMIN value = 32C and the TRANGE = 80C. It can be seen
that even though the temperature increased very rapidly, the
fan gradually ramps up to full speed.
0
Figure 30. Filtered Mode with Ramp Rate = 4
Figure 31 shows the PWM output response for a ramp rate
of 2. In this instance the fan took about 54 seconds to reach
full running speed.
http://onsemi.com
18
ADM1030
90
Relevant Registers for Filtered Automatic Fan
Speed Control Mode
In addition to the registers used to program the normal
Automatic Fan Speed Control Mode, the following register
needs to be programmed.
80
Register 0x23 Fan Filter Register
90
RTEMP (C)
80
PWM DUTY CYCLE
70
70
60
60
50
50
RTEMP
40
40
30
30
20
20
10
10
0
0
PWM DUTY CYCLE (%)
Filtered Mode allows the PWM output to be made less
sensitive to temperature variations. This will be dependent
on the ramp rate selected and the ADC sample rate
programmed into the Fan Filter Register.
<7>
<6:5>
Ramp Rate: these bits set the ramp rate for
filtered mode.
00 = 1 (0.416% Duty Cycle Change)
01 = 2 (0.833% Duty Cycle Change)
10 = 4 (1.66% Duty Cycle Change)
11 = 8 (3.33% Duty Cycle Change)
<4:2>
ADC Sample Rate
000 = 87.5 Hz
001 = 175 Hz
010 = 350 Hz
011 = 700 Hz
100 = 1.4 kHz (Default)
101 = 2.8 kHz
110 = 5.6 kHz
111 = 11.2 kHz
TIME (s)
Figure 33. How Fan Reacts to Temperature Variation
in Filtered Mode
Effect of ADC Sample Rate on Filtered Mode
The second means by which to change the Filtered Mode
characteristics is to adjust the ADC sample rate. The faster
the ADC sample rate, the more temperature samples are
obtained per second. One way to apply filtering to the
control loop is to slow down the ADC sampling rate. This
means that the number of iterations of the Filtered Mode
algorithm per second are effectively reduced. If the number
of temperature measurements per second are reduced, how
often the PWM_OUT signal controlling the fan is updated
is also reduced.
Bits <4:2> of the Fan Filter Register (Reg 0x23) set the
ADC sample rate. The default ADC sample rate is 1.4 kHz.
The ADC sample rate is selectable from 87.5 Hz to
11.2 kHz. Table 13 shows how many temperature samples
are obtained per second, for each of the ADC sample rates.
Temperature Updates/Sec
87.5 Hz
0.0625
175 Hz
0.125
350 Hz
0.25
700 Hz
0.5
1.4 kHz
1 (Default)
2.8 kHz
2
5.6 kHz
4
11.2 kHz
8
<1>
Unused. Default = 0
<0>
Fan 1 Filter Enable: when this bit is set to 1,
it enables filtering on Fan 1. Default = 0.
Programming the Filtered Automatic Fan Speed
Control Loop
1. Program a value for TMIN.
2. Program a value for the slope TRANGE.
3. TMAX = TMIN + TRANGE.
4. Program a value for Fan Spin-up Time.
5. Program the desired Automatic Fan Speed Control
Mode Behavior, i.e., which temperature channel
controls the fan.
6. Program a ramp rate for the filtered mode.
7. Program the ADC sample rate in the Fan Filter
Register.
8. Set Bit 0 to enable fan filtered mode for the fan.
9. Select Automatic Fan Speed Control Mode by
setting Bit 7 of Configuration Register 1.
Table 13. TEMPERATURE UPDATES PER SECOND
ADC Sample Rate
Spin-up Disable: when this bit is set to 1, fan
spin-up is disabled. (Default = 0)
PWM Duty Cycle Select Mode
The ADM1030 may be operated under software control
by clearing Bit 7 of Configuration Register 1 (Register
0x00). This allows the user to directly control PWM Duty
Cycle.
http://onsemi.com
19
ADM1030
should the fan start to slow down. Conversely, should the fan
start to speed up due to aging, the RPM feedback will slow
the fan down to maintain the correct RPM speed. The value
to be programmed into each Fan Tach High Limit Register
is given by:
Clearing Bit 5 of Configuration Register 1 allows fan
control by varying PWM duty cycle. Values of duty cycle
between 0% to 100% may be written to the Fan Speed
Config Register (0x22) to control the speed of the fan.
Table 14 shows the relationship between hex values written
to the Fan Speed Configuration Register and PWM duty
cycle obtained.
Count + (f
Table 14. PWM DUTY CYCLE SELECT MODE
Hex Value
PWM Duty Cycle
00
0%
01
7%
02
14%
03
20%
04
27%
05
33%
06
40%
07
47%
08
53%
09
60%
0A
67%
60)ńR
N
(eq. 7)
where:
f = 11.25 kHz
R = desired RPM value
N = Speed Range; MUST be set to 2
The speed range, N, really determines what the slowest
fan speed measured can be before generating an interrupt.
The slowest fan speed will be measured when the count
value reaches 255.
Since speed range, N, = 2,
Count + (f 60)ńR
R + (f 60)ńCount
R + (11250
N
N
60)ń255
2
(eq. 8)
R + (675000)ń510
R + 1324 RPM, fan fail detect speed.
0B
73%
Programming RPM Values in RPM Feedback Mode
0C
80%
0D
87%
0E
93%
Rather than writing a value such as 5000 to a 16-bit
register, an 8-bit count value is programmed instead. The
count to be programmed is given by:
0F
100%
Count + (f
60)ńR
N
(eq. 9)
where:
f = 11.25 kHz
R = desired RPM value
N = Speed Range = 2
Example 1:
If the desired value for RPM Feedback Mode is 5000 RPM,
what value needs to be programmed for Count?
RPM Feedback Mode
The second method of fan speed control under software is
RPM Feedback Mode. This involves programming the
desired fan RPM value to the device to set fan speed. The
advantages include a very tightly maintained fan RPM over
the fan’s life, and virtually no acoustic pollution due to fan
speed variation.
Fans typically have manufacturing tolerances of 20%,
meaning a wide variation in speed for a typical batch of
identical fan models. If it is required that all fans run at
exactly 5000 RPM, it may be necessary to specify fans with
a nominal fan speed of 6250 RPM. However, many of these
fans will run too fast and make excess noise. A fan with
nominal speed of 6250 RPM could run as fast as 7000 RPM
at 100% PWM duty cycle. RPM Mode will allow all of these
fans to be programmed to run at the desired RPM value.
Clearing Bit 7 of Configuration Register 1 (Reg 0x00)
to 0 places the ADM1030 under software control. Once
under software control, the device may be placed in to RPM
Feedback Mode by writing to Bit 5 of Configuration
Register 1. Writing a 1 to Bit 5 selects RPM Feedback Mode
for the fan. Once RPM Feedback Mode has been selected,
the required fan RPM may be written to the Fan Tach High
Limit Register (0x10). The RPM Feedback Mode function
allows a fan RPM value to be programmed into the device,
and the ADM1030 will maintain the selected RPM value by
monitoring the fan tach and speeding up the fan as necessary,
Count + (f
60)ńR
N
(eq. 10)
Since the desired RPM value, R is 5000 RPM, the value
for Count is:
N = 2:
Count + (11250 60)ń5000 2
Count + 675000ń10000
Count + 67 (assumes 2 tach pulsesńrev).
(eq. 11)
Example 2:
If the desired value for RPM Feedback Mode is 3650 RPM,
what value needs to be programmed for Count?
Count + (f
60)ńR
N
(eq. 12)
Since the desired RPM value, R is 3650 RPM, the value
for Count is:
N = 2:
Count + (11250 60)ń3650 2
Count + 675000ń7300
Count + 92 (assumes 2 tach pulsesńrev).
http://onsemi.com
20
(eq. 13)
ADM1030
measurement equation needs to be adjusted to calculate and
display the correct fan speed, and also to program the correct
count value in RPM Feedback Mode.
Once the count value has been calculated, it should be
written to the Fan Tach High Limit Register. It should be
noted that in RPM Feedback Mode, there is no high limit
register for underspeed detection that can be programmed as
there are in the other fan speed control modes. The only time
each fan will indicate a fan failure condition is whenever the
count reaches 255. Since the speed range N = 2, the fan will
fail if its speed drops below 1324 RPM.
Fan Speed Measurement Equations
For a 4-pole fan (2 tach pulses/rev):
Fan RPM + (f
60)ńCount
N
(eq. 14)
For a 6-pole fan (3 tach pulses/rev):
Programming RPM Values
Fan RPM + (f
1. Choose the RPM value to be programmed.
2. Set speed range value, N = 2.
3. Calculate count value based on RPM and speed
range values chosen. Use Count Equation to
calculate Count Value.
4. Clear Bit 7 of Configuration Register 1
(Reg. 0x00) to place the ADM1030 under software
control.
5. Write a 1 to Bit 5 of Configuration Register 1 to
place the device in RPM Feedback Mode.
6. Write the calculated Count value to the Fan Tach
High Limit Register (Reg. 0x10). The fan speed
will now go to the desired RPM value and
maintain that fan speed.
60)ń(Count
N
1.5)
(eq. 15)
2)
(eq. 16)
For a 8-pole fan (4 tach pulses/rev):
Fan RPM + (f
60)ń(Count
N
If in doubt as to the number of poles the fans used have,
or the number of tach output pulses/rev, consult the fan
manufacturer’s data sheet, or contact the fan vendor for
more information.
Fan Drive Using PWM Control
The external circuitry required to drive a fan using PWM
control is extremely simple. A single NMOS FET is the only
drive transistor required. The specifications of the MOSFET
depend on the maximum current required by the fan being
driven. Typical notebook fans draw a nominal 170 mA, and
so SOT devices can be used where board space is a
constraint. If driving several fans in parallel from a single
PWM output, or driving larger server fans, the MOSFET
will need to handle the higher current requirements. The
only other stipulation is that the MOSFET should have a gate
voltage drive, VGS < 3.3 V, for direct interfacing to the
PWM_OUT pin. The MOSFET should also have a low
on-resistance to ensure that there is not significant voltage
drop across the FET. This would reduce the maximum
operating speed of the fan.
Figure 34 shows how a 3-wire fan may be driven using
PWM control.
RPM Feedback Mode Limitations
RPM feedback mode only controls Fan RPM over a
limited fan speed range of about 75% to 100%. However,
this should be enough range to overcome fan manufacturing
tolerance. In practice, however, the program must not
function at too low an RPM value for the fan to run at, or the
RPM Mode will not operate.
To find the lowest RPM value allowed for a given fan, do
the following:
1. Run the fan at 53% PWM duty cycle in Software
Mode. Clear Bits 5 and 7 of Configuration
Register 1 (Reg 0x00) to enter PWM duty cycle
mode. Write 0x08 to the Fan Speed Config
Register (Reg 0x22) to set the PWM output to
53% duty cycle.
2. Measure the fan RPM. This represents the fan
RPM below which the RPM mode will fail to
operate. Do NOT program a lower RPM than this
value when using RPM Feedback mode.
3. Ensure that Speed Range, N = 2 when using RPM
Feedback mode.
3.3 V
TACH/AIN
10 kW
TYPICAL
3.3 V
ADM1030
PWM_OUT
Fans come in a variety of different options. One
distinguishing feature of fans is the number of poles that a
fan has internally. The most common fans available have
four, six, or eight poles. The number of poles the fan has
generally affects the number of pulses per revolution the fan
outputs.
If the ADM1030 is used to drive fans other than 4-pole
fans that output 2 tach pulses/revolution, then the fan speed
+V
10 kW
TYPICAL
TACH
5 V OR 12 V
FAN
Q1
NDT3055L
Figure 34. Interfacing the ADM1030 to a 3-wire Fan
The NDT3055L n-type MOSFET was chosen since it has
3.3 V gate drive, low on-resistance, and can handle 3.5 A of
current. Other MOSFETs may be substituted based on the
system’s fan drive requirements.
http://onsemi.com
21
ADM1030
Fan Speed Measurement
The fan counter does not count the fan tach output pulses
directly, because the fan speed may be less than 1000 RPM
and it would take several seconds to accumulate a
reasonably large and accurate count. Instead, the period of
the fan revolution is measured by gating an on-chip
11.25 kHz oscillator into the input of an 8-bit counter. The
fan speed measuring circuit is initialized on the rising edge
of a PWM high output if fan speed measurement is enabled
(Bit 2 of Configuration Register 2 = 1). It then starts
counting on the rising edge of the second tach pulse and
counts for two fan tach periods, until the rising edge of the
fourth tach pulse, or until the counter overranges if the fan
tach period is too long. The measurement cycle will repeat
until monitoring is disabled. The fan speed measurement is
stored in the Fan Speed Reading register at address 0x08.
The fan speed count is given by:
+V
5 V OR 12 V
FAN
3.3 V
PWM_OUT
10 kW
TYPICAL
Q1
NDT3055L
TACH
ADM1030
TACH/AIN
RSENSE
2 W TYPICAL
0.01 mF
Figure 35. Interfacing the ADM1030 to a 2-wire Fan
Figure 35 shows how a 2-wire fan may be connected to the
ADM1030. This circuit allows the speed of the 2-wire fan to
be measured even though the fan has no dedicated Tach
signal. A series RSENSE resistor in the fan circuit converts
the fan commutation pulses into a voltage. This is
ac-coupled into the ADM1030 through the 0.01 mF
capacitor. On-chip signal conditioning allows accurate
monitoring of fan speed. For typical notebook fans drawing
approximately 170 mA, a 2 W RSENSE value is suitable. For
fans such as desktop or server fans, that draw more current,
RSENSE may be reduced. The smaller RSENSE is the better,
since more voltage will be developed across the fan, and the
fan will spin faster. Figure 36 shows a typical plot of the
sensing waveform at the TACH/AIN pin. The most
important thing is that the negative-going spikes are more
than 250 mV in amplitude. This will be the case for most
fans when RSENSE = 2 W. The value of RSENSE can be
reduced as long as the voltage spikes at the TACH/AIN pin
are greater than 250 mV. This allows fan speed to be reliably
determined.
T
Tek PreVu
Count + (f
N
(eq. 17)
where:
f = 11.25 kHz
R = Fan Speed in RPM
N = Speed Range (either 1, 2, 4, or 8)
The frequency of the oscillator can be adjusted to suit the
expected running speed of the fan by varying N, the Speed
Range. The oscillator frequency is set by Bits 7 and 6 of Fan
Characteristics Register 1 (20h) as shown in Table 15.
Figure 37 shows how the fan measurements relate to the
PWM_OUT pulse trains.
Table 15. OSCILLATOR FREQUENCIES
D: 250mV
@: –258mV
T
60)ńR
Bit 7
Bit 6
N
Oscillator Frequency (kHz)
0
0
1
11.25
0
1
2
5.625
1
0
4
2.812
1
1
8
1.406
CLOCK
1
CONFIG 2
REG. BIT 2
FAN
INPUT
START OF
MONITORING
CYCLE
4
CH1 100mV
CH3 50.0mV
CH2 5.00mV
CH4 50.0mV
M 4.00ms
A CH1
FAN
MEASUREMENT
PERIOD
Figure 37. Fan Speed Measurement
–2.00mV
In situations where different output drive circuits are used
for fan drive, it may be desirable to invert the PWM drive
Figure 36. Fan Speed Sensing Waveform at
TACH/AIN Pin
http://onsemi.com
22
ADM1030
Suppose the fan has already failed its fan speed
measurement twice previously. Looking at Figure 38,
PWM_OUT is brought high for two seconds, to restart the
fan if it has stalled. Sometime later a third tach failure
occurs. This is evident by the tach signal being low during
the high time of the PWM pulse, causing the Fan Speed
Reading register to reach its maximum count of 255. Since
the tach limit has been exceeded, an interrupt is generated on
the INT pin. The Fan Fault bit (Bit 1) of Interrupt Status
Register 1 (Register 0x02) will also be asserted. Once the
processor has acknowledged the INT by reading the status
register, the INT is cleared. PWM_OUT is then brought high
for another 2 seconds to restart the fan. Subsequent fan
failures cause INT to be reasserted and the PWM_OUT
signal is brought high for 2 seconds (fan spin-up default)
each time to restart the fan. Once the fifth tach failure occurs,
the failure is deemed to be catastrophic, and the
FAN_FAULT pin is asserted low. PWM_OUT is brought
high to attempt to restart the fan. The INT pin will continue
to generate interrupts after the assertion of FAN_FAULT
since tach measurement continues even after fan failure.
Should the fan recover from its failure condition, the
FAN_FAULT signal will be negated, and the fan will return
to its normal operating speed.
Figure 39 shows a typical application circuit for the
ADM1030. Temperature monitoring can be based around a
CPU diode or discrete transistor measuring thermal
hotspots. Either 2- or 3-wire fans may be monitored by the
ADM1030, as shown.
signal. Setting Bit 3 of Configuration Register 1 (0x00) to 1,
inverts the PWM_OUT signal. This makes the PWM_OUT
pin high for 100% duty cycle. Bit 3 of Configuration
Register 1 should generally be set to 1, when using an
n-MOS device to drive the fan. If using a p-MOS device,
Bit 3 of Configuration Register 1 should be cleared to 0.
Fan Faults
The FAN_FAULT output (Pin 8) is an active-low,
open-drain output used to signal fan failure to the system
processor. Writing a Logic 1 to Bit 4 of Configuration
Register 1 (0x00) enables the FAN_FAULT output pin. The
FAN_FAULT output is enabled by default. The
FAN_FAULT output asserts low only when five consecutive
interrupts are generated by the ADM1030 device due to the
fan running underspeed, or if the fan is completely stalled.
Note that the Fan Tach High Limit must be exceeded by at
least one before a FAN_FAULT can be generated. For
example, if we are only interested in getting a FAN_FAULT
if the fan stalls, then the fan speed value will be 0xFF for a
failed fan. Therefore, we should make the Fan Tach High
Limit = 0xFE to allow FAN_FAULT to be asserted after five
consecutive fan tach failures.
Figure 38 shows the relationship between INT,
FAN_FAULT, and the PWM drive channel. The
PWM_OUT channel is driving a fan at some PWM duty
cycle, say 50%, and the fan’s tach signal (or fan current for
a 2-wire fan) is being monitored at the TACH/AIN pin. Tach
pulses are being generated by the fan, during the high time
of the PWM duty cycle train. The tach is pulled high during
the off time of the PWM train because the fan is connected
high-side to the n-MOS device.
PWM_OUT
2 SECS
2 SECS
2 SECS
FULL SPEED
TACH/AIN
3RD TACH
FAILURE
INT
4TH TACH
FAILURE
STATUS REG READ TO
CLEAR INTERRUPT
FAN_FAULT
Figure 38. Operation of FAN_FAULT and Interrupt Pins
http://onsemi.com
23
5TH TACH
FAILURE
CONTINUING
TACH FAILURE
ADM1030
3.3 V
5V
10 kW
TYPICAL
FAN1
3-WIRE
FAN
TACH
3.3 V 3.3 V
2.2 kW
TYP.
NDT3055L
3.3 V
10 kW
TYP. PWM_OUT1
3.3 V
THERM
SIGNAL TO
THROTTLE
CPU CLOCK
1
16
2
15
NC 3
NC 4
GND
14
TACH1/AIN1
10 kW
3.3 V
FAN_FAULT
TO SIGNAL
FAN FAILURE
CONDITION
3.3 V
VCC
THERM
FAN_FAULT
ADM1030 13
2.2 kW
TYP.
SCL
SDA
SCL
3.3 V
SDA
INT (SMBALERT)
10 kW
TYP.
CPU INTERRUPT
ADD
5
12 NC
6
11 NC
7
10
8
9
D+
D−
2N3904 OR PENTIUM III
CPU THERMAL DIODE
10 kW
NC = NO CONNECT
Figure 39. Typical Application Circuit
Table 16. REGISTERS
Register Name
Value Registers
Address A7−A0 in Hex
0x06–0x1A
Comments
See Table 17.
Device ID Register
0x3D
This location contains the device identification number. Since this
device is the ADM1030, this register contains 0x30. This register is
read only.
Company ID
0x3E
This location contains the company identification number (0x41).
This register is read only.
THERM Behavior/Revision
0x3F
This location contains the revision number of the device. The lower
four bits reflect device revisions [3:0]. Bit 7 of this register is the
THERM-to-fan enable bit. See Table 28.
Configuration Register 1
0x00
See Table 18. Power-on value = 1001 0000.
Configuration Register 2
0x01
See Table 19. Power-on value = 0111 1111.
Status Register 1
0x02
See Table 20. Power-on value = 0000 0000.
Status Register 2
0x03
See Table 21. Power-on value = 0000 0000.
Manufacturer’s Test Register
0x07
This register is used by the manufacturer for test purposes only.
This register should not be read from or written to in normal
operation.
Fan Characteristics Register 1
0x20
See Table 23. Power-on value = 0101 1101.
Fan Speed Configuration Register
0x22
See Table 24. Power-on value = 0101 0101.
Fan Filter Register
0x23
See Table 25. Power-on value = 0101 0101.
Local Temperature TMIN/TRANGE
0x24
See Table 26. Power-on value = 0100 0001.
Remote Temperature TMIN/TRANGE
0x25
See Table 27. Power-on value = 0110 0001.
http://onsemi.com
24
ADM1030
Table 17. VALUE AND LIMIT REGISTERS
Address
Read/Write
0x06
Read/Only
Extended Temperature Resolution (see Table 22).
Description
0x08
Read/Write
Fan Speed Reading − this register contains the fan speed tach measurement.
0x0A
Read/Only
Local Temperature Value − this register contains the 8 MSBs of the local temperature measurement.
0x0B
Read/Only
Remote Temperature Value − this register contains the 8 MSBs of the remote temperature reading.
0x0D
Read/Write
Local Temperature Offset − See Table 29.
0x0E
Read/Write
Remote Temperature Offset − See Table 30.
0x10
Read/Write
Fan Tach High Limit − this register contains the limit for the fan tach measurement. Since the tach
circuit counts between pulses, a slow fan will result in a large measured value, so exceeding the limit
by one is the way to detect a slow or stalled fan. (Power-on Default = FFh)
0x14
Read/Write
Local Temperature High Limit (Power-on Default 60rC).
0x15
Read/Write
Local Temperature Low Limit (Power-on Default 0rC).
0x16
Read/Write
Local Temperature Therm Limit (Power-on Default 70rC).
0x18
Read/Write
Remote Temperature High Limit (Power-on Default 80rC).
0x19
Read/Write
Remote Temperature Low Limit (Power-on Default 0rC).
0x1A
Read/Write
Remote Temperature Therm Limit (Power-on Default 100rC).
Table 18. REGISTER 0X00 CONFIGURATION REGISTER 1 POWER-ON DEFAULT 90H
Bit
Name
R/W
Description
0
MONITOR
Read/Write
Setting this bit to a “1” enables monitoring of temperature and enables measurement of
the fan tach signals. (Power-up Default = 0)
1
INT Enable
Read/Write
Setting this bit to a “1” enables the INT output. 1 = Enabled 0 = Disabled (Power-up
Default = 0)
2
TACH/AIN
Read/Write
Clearing this bit to “0” selects digital fan speed measurement via the TACH pins. Setting
this bit to “1” configures the TACH pins as analog inputs that can measure the speed of
2-wire fans via a sense resistor. (Power-up Default = 0)
3
PWM Invert
Read/Write
Setting this bit to “1” inverts the PWM signal on the output pin. (Power-up Default = 0).
The power-up default makes the PWM_OUT pin go low for 100% duty cycle (suitable
for driving the fan using a PMOS device). Setting this bit to “1” makes the PWM_OUT
pin high for 100% duty cycle (intended for driving the fan using an NMOS device).
4
Fan Fault Enable
Read/Write
Logic 1 enables FAN_FAULT pin; Logic 0 disables FAN_FAULT output. (Power-up
Default = 1.)
6–5
PWM Mode
Read/Write
These two bits control the behavior of the fan in Auto Fan Speed Control Mode.
00 = Remote Temp controls Fan. (Program PWM duty cycle in Software Mode.)
11 = Fastest Calculated Speed Controls Fan. (Program RPM speed in Software Mode.)
7
Auto/SW Ctrl
Read/Write
Logic 1 selects Automatic Fan Speed Control; Logic 0 selects SW control. (Power-up
Default = 1) When under software control, PWM duty cycle or RPM values may be
programmed for the fan.
Table 19. REGISTER 0X01 CONFIGURATION 2 POWER-ON DEFAULT = 7FH
Bit
Name
R/W
Description
0
PWM 1 En
Read/Write
Enables fan PWM output when this bit is a “1.”
1
Unused
Read/Write
Unused
2
TACH 1 En
Read/Write
Enables Tach input when set to “1.”
3
Unused
4
Loc Temp En
Read/Write
Enables Interrupts on Local Channel when set to “1.”
5
Remote Temp En
Read/Write
Enables Interrupts on Remote Channel when set to “1.” Default is normally enabled,
except when a diode fault is detected on power-up.
6
Unused
Read/Write
Unused
7
SW Reset
Read/Write
When set to “1,” resets the device. Self-clears. Power-up Default = 0.
http://onsemi.com
25
ADM1030
Table 20. REGISTER 0X02 STATUS REGISTER 1 POWER-ON DEFAULT = 00H
Bit
R/W
Description
0
Alarm Speed
Name
Read Only
This bit is set to “1” when fan is running at alarm speed. Once read, this bit will not
reassert on next monitoring cycle, even if the fan is still running at alarm speed. This
gives an indication as to when the fan is running full-speed, such as in a THERM
condition.
1
Fan Fault
Read Only
This bit is set to “1” if fan becomes stuck or is running under speed. Once read, this
bit will reassert on next monitoring cycle, if the fan failure condition persists.
2
Remote Temp High
Read Only
“1” indicates Remote high temperature limit has been exceeded. If the temperature
is still outside the Remote Temp High Limit, this bit will reassert on next monitoring
cycle.
3
Remote Temp Low
Read Only
“1” indicates Remote low temperature limit exceeded (below). If the temperature is
still outside the Remote Temp Low Limit, this bit will reassert on next monitoring
cycle.
4
Remote Temp Therm
Read Only
“1” indicates Remote temperature Therm limit has been exceeded. This bit is cleared
on a read of Status Register 1. Once cleared, this bit will not get reasserted even if
the THERM condition persists.
5
Remote Diode Error
Read Only
This bit is set to “1” if a short or open is detected on the remote temperature channel.
This test is only done on power-up, and if set to 1 cannot be cleared by reading the
Status Register 1.
6
Loc Temp High
Read Only
“1” indicates Local Temp High Limit has been exceeded. If the temperature is still
outside the Local Temp High Limit, this bit will reassert on next monitoring cycle.
7
Loc Temp Low
Read Only
“1” indicates Local Temp Low Limit has been exceeded (below). If the temperature is
still outside the Local Temp Low Limit, this bit will reassert on next monitoring cycle.
Table 21. REGISTER 0X03 STATUS REGISTER 2 POWER-UP DEFAULT = 00H
Bit
Name
R/W
Description
0
Unused
Read Only
Unused
1
Unused
Read Only
Unused
2
Unused
Read Only
Unused
3
Unused
Read Only
Unused
4
Unused
Read Only
Unused
5
Unused
Read Only
Unused
6
Loc Therm
Read Only
“1” indicates Local temperature Therm limit has been exceeded. This bit clears on a
read of Status Register 2. Once cleared, this bit will not be reasserted even if the
THERM condition persists.
7
THERM
Read Only
Set to “1” when THERM is pulled low as an input. This bit clears on a read of Status
Register 2. The fan also runs full-speed.
Table 22. REGISTER 0X06 EXTENDED TEMPERATURE RESOLUTION POWER-ON DEFAULT = 00H
Bit
Name
R/W
Description
<2:0>
Remote Temp
Read Only
Holds extended temperature resolution bits for Remote Temperature channel.
<5:3>
Reserved
Read Only
Reserved
<7:6>
Local Temp
Read Only
Holds extended temperature resolution bits for Local Temperature channel.
http://onsemi.com
26
ADM1030
Table 23. REGISTER 0X20 FAN CHARACTERISTICS REGISTER 1 POWER-ON DEFAULT = 5DH
R/W
Description
<2:0>
Bit
Fan 1 Spin-up
Name
Read/Write
These bits contain the Fan Spin-up time to allow the fan to overcome its own inertia.
000 = 200 ms
001 = 400 ms
010 = 600 ms
011 = 800 ms
100 = 1 sec
101 = 2 secs (Default)
110 = 4 secs
111 = 8 secs
<5:3>
PWM 1 Frequency
Read/Write
These bits allow programmability of the nominal PWM output frequency driving the
fan (Default = 31 Hz).
000 = 11.7 Hz
001 = 15.6 Hz
010 = 23.4 Hz
011 = 31.25 Hz (Default)
100 = 37.5 Hz
101 = 46.9 Hz
110 = 62.5 Hz
111 = 93.5 Hz
<7:6>
Speed Range
Read/Write
These bits contain the Speed Range, N.
00 = 1 (Fail Speed = 2647 RPM)
01 = 2 (Fail Speed = 1324 RPM)
10 = 4 (Fail Speed = 662 RPM)
11 = 8 (Fail Speed = 331 RPM)
Table 24. REGISTER 0X22 FAN SPEED CONFIG REGISTER POWER-ON DEFAULT = 05H
Bit
Name
<3:0>
Normal/Min Spd 1
<7:4>
Unused
R/W
Read/Write
Description
This nibble contains the normal speed value for the fan. When in Automatic Fan
Speed Control Mode, this nibble contains the minimum speed at which the fan will
run. Default is 0x05 for 33% PWM duty cycle. (See Table 11.)
Unused
Table 25. REGISTER 0X23 FAN FILTER REGISTER POWER-ON DEFAULT = 50H
Bit
<7>
Name
R/W
Description
Spin-up Disable
Read/Write
When set to 1, disables fan spin-up.
<6:5>
Ramp Rate
Read/Write
These bits set the ramp rate for the PWM output.
00 = 1
01 = 2
10 = 4
11 = 8
<4:2>
ADC Sample Rate
Read/Write
These bits set the sampling rate for the ADC.
000 = 87.5 Hz 0.0625 Updates/sec
001 = 175 Hz 0.125 Updates/sec
010 = 350 Hz 0.25 Updates/sec
011 = 700 Hz 0.5 Updates/sec
100 = 1.4 kHz (Default) 1 Update/sec
101 = 2.8 kHz 2 Updates/sec
110 = 5.6 kHz 4 Updates/sec
111 = 11.2 kHz 8 Updates/sec
<1>
Unused
Read/Write
Unused
<0>
Fan Filter En
Read/Write
Setting this bit to 1 enables filtering of the PWM_OUT signal.
http://onsemi.com
27
ADM1030
Table 26. REGISTER 0X24 LOCAL TEMP TMIN/TRANGE POWER-ON DEFAULT = 41H
R/W
Description
<7:3>
Bit
Local Temp TMIN
Name
Read/Write
Contains the minimum temperature value for Automatic Fan Speed Control based
on Local Temperature Readings. TMIN can be programmed to positive values only
in 4C increments. Default is 32C.
00000 = 0C
00001 = 4C
00010 = 8C
00011 = 12C
|
|
01000 = 32C (Default)
|
|
|
11110 = 120C
11111 = 124C
<2:0>
Local Temp TRANGE
Read/Write
This nibble contains the temperature range value for Automatic Fan Speed Control
based on the Local Temperature Readings.
000 = 5C
001 = 10C (Default)
010 = 20C
011 = 40C
100 = 80C
Table 27. REGISTER 0X25 REMOTE TEMP TMIN/TRANGE POWER-ON DEFAULT = 61H
Bit
Name
R/W
Description
<7:3>
Remote Temp TMIN
Read/Write
Contains the minimum temperature value for Automatic Fan Speed Control based
on Remote Temperature Readings. TMIN can be programmed to positive values
only in 4C increments. Default is 48C.
00000 = 0C
00001 = 4C
00010 = 8C
00011 = 12C
|
|
01100 = 48C (Default)
|
|
11110 = 120C
11111 = 124C
<2:0>
Remote Temp TRANGE
Read/Write
This nibble contains the temperature range value for Automatic Fan Speed Control
based on the Remote 1 Temperature Readings.
000 = 5C
001 = 10C (Default)
010 = 20C
011 = 40C
100 = 80C
Table 28. REGISTER 0X3F THERM BEHAVIOR/REVISION POWER-ON DEFAULT = 80H
Bit
Name
R/W
Description
<7>
Therm-to-Fan Enable
Read/Write
Setting this bit to 1, enables the fan to run full-speed when THERM is asserted low.
This allows the system to be run in performance mode. Clearing this bit to 0
disables the fan from running full-speed whenever THERM is asserted low. This
allows the system to run in silent mode. (Power-on Default = 1.) Note that this bit
has no effect whenever THERM is pulled low as an input.
<6:4>
Unused
Read Only
Unused. Read back zeros.
<3:0>
Revision
Read Only
This nibble contains the revision number for the ADM1030.
http://onsemi.com
28
ADM1030
Table 29. REGISTER 0X0D LOCAL TEMP OFFSET POWER-ON DEFAULT = 00H
Bit
R/W
Description
Sign
Read/Write
When this bit is 0, the local offset will be added to the Local Temperature Reading.
When this bit is set to 1, the local temperature offset will be subtracted from the
Local Temperature Reading.
<6:4>
Reserved
Read/Write
Unused. Normally read back zeros.
<3:0>
Local Offset
Read/Write
These four bits are used to add a two’s complement offset to the Local
Temperature Reading, allowing 15C to be added to or subtracted from the
temperature reading.
<7>
Name
Table 30. REGISTER 0X0E REMOTE TEMP OFFSET POWER-ON DEFAULT = 00H
Bit
R/W
Description
Sign
Read/Write
When this bit is 0, the remote offset will be added to the Remote Temperature
Reading. When this bit is set to 1, the remote temperature offset will be subtracted
from the Remote Temperature Reading.
<6:4>
Reserved
Read/Write
Unused. Normally read back zeros.
<3:0>
Remote Offset
Read/Write
These four bits are used to add a two’s complement offset to the Remote
Temperature Reading, allowing 15C to be added to or subtracted from the
temperature reading.
<7>
Name
Table 31. ORDERING INFORMATION TABLE
Model*
Temperature Range
Package Type
Package Option
Shipping†
ADM1030ARQZ−REEL
0C to 100C
16-lead QSOP
RQ−16
2,500 Tape & Reel
* Z = Pb-free part.
†For information on tape and reel specifications, including part orientation and tape sizes, please refer to our Tape and Reel Packaging
Specifications Brochure, BRD8011/D.
http://onsemi.com
29
ADM1030
PACKAGE DIMENSIONS
QSOP16
CASE 492−01
ISSUE A
2X
NOTES:
1. DIMENSIONING AND TOLERANCING PER ASME
Y14.5M, 1994.
2. CONTROLLING DIMENSION: MILLIMETERS.
3. DIMENSION b DOES NOT INCLUDE DAMBAR
PROTRUSION.
4. DIMENSION D DOES NOT INCLUDE MOLD FLASH,
PROTRUSIONS, OR GATE BURRS. MOLD FLASH,
PROTRUSIONS, OR GATE BURRS SHALL NOT
EXCEED 0.005 PER SIDE. DIMENSION E1 DOES NOT
INCLUDE INTERLEAD FLASH OR PROTRUSION.
INTERLEAD FLASH OR PROTRUSION SHALL NOT
EXCEED 0.005 PER SIDE. D AND E1 ARE
DETERMINED AT DATUM H.
5. DATUMS A AND B ARE DETERMINED AT DATUM H.
0.20 C D
D
16
L2
D
A
9
GAUGE
PLANE
SEATING
PLANE
E
E1
C
L
C
DETAIL A
2X
2X 10 TIPS
0.20 C D
1
8
16X
e
B
0.10 C
16X
b
0.25
A2
0.10 C
A1
0.25 C D
M
C A-B D
h x 45 _
H
A
C
SEATING
PLANE
DETAIL A
M
DIM
A
A1
A2
b
c
D
E
E1
e
h
L
L2
M
INCHES
MIN
MAX
0.053
0.069
0.004
0.010
0.049
---0.008
0.012
0.007
0.010
0.193 BSC
0.237 BSC
0.154 BSC
0.025 BSC
0.009
0.020
0.016
0.050
0.010 BSC
0_
8_
MILLIMETERS
MIN
MAX
1.35
1.75
0.10
0.25
1.24
---0.20
0.30
0.19
0.25
4.89 BSC
6.00 BSC
3.90 BSC
0.635 BSC
0.22
0.50
0.40
1.27
0.25 BSC
0_
8_
SOLDERING FOOTPRINT
16X
16X
0.42
16
1.12
9
6.40
1
8
0.635
PITCH
DIMENSIONS: MILLIMETERS
Pentium is a registered trademark of Intel Corporation.
ON Semiconductor and
are registered trademarks of Semiconductor Components Industries, LLC (SCILLC). SCILLC reserves the right to make changes without further notice
to any products herein. SCILLC makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does SCILLC assume any liability
arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation special, consequential or incidental damages.
“Typical” parameters which may be provided in SCILLC data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All
operating parameters, including “Typicals” must be validated for each customer application by customer’s technical experts. SCILLC does not convey any license under its patent rights
nor the rights of others. SCILLC products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications
intended to support or sustain life, or for any other application in which the failure of the SCILLC product could create a situation where personal injury or death may occur. Should
Buyer purchase or use SCILLC products for any such unintended or unauthorized application, Buyer shall indemnify and hold SCILLC and its officers, employees, subsidiaries, affiliates,
and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death
associated with such unintended or unauthorized use, even if such claim alleges that SCILLC was negligent regarding the design or manufacture of the part. SCILLC is an Equal
Opportunity/Affirmative Action Employer. This literature is subject to all applicable copyright laws and is not for resale in any manner.
PUBLICATION ORDERING INFORMATION
LITERATURE FULFILLMENT:
Literature Distribution Center for ON Semiconductor
P.O. Box 5163, Denver, Colorado 80217 USA
Phone: 303−675−2175 or 800−344−3860 Toll Free USA/Canada
Fax: 303−675−2176 or 800−344−3867 Toll Free USA/Canada
Email: [email protected]
N. American Technical Support: 800−282−9855 Toll Free
USA/Canada
Europe, Middle East and Africa Technical Support:
Phone: 421 33 790 2910
Japan Customer Focus Center
Phone: 81−3−5817−1050
http://onsemi.com
30
ON Semiconductor Website: www.onsemi.com
Order Literature: http://www.onsemi.com/orderlit
For additional information, please contact your local
Sales Representative
ADM1030/D