MAXIM MAX6650_10

19-1784; Rev 4; 7/10
KIT
ATION
EVALU
E
L
B
AVAILA
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
The MAX6650/MAX6651 fan controllers use an
SMBus™/I2C-compatible interface to regulate and monitor
the speed of 5VDC/12VDC brushless fans with built-in
tachometers. They automatically force the fan’s tachometer frequency (fan speed) to match a preprogrammed
value in the Fan-Speed Register by using an external
MOSFET or bipolar transistor to linearly regulate the voltage across the fan. The MAX6650 regulates the speed of
a single fan by monitoring its tachometer output. The
MAX6651 also regulates the speed of a single fan, but it
contains additional tachometer inputs to monitor up to four
fans and control them as a single unit when they are used
in parallel.
The MAX6650/MAX6651 provide general-purpose
input/output (GPIO) pins that serve as digital inputs,
digital outputs, or various hardware interfaces. Capable
of sinking 10mA, these open-drain inputs/outputs can
drive an LED. To add additional hardware control, configure GPIO1 to fully turn on the fan in case of software
failure. To generate an interrupt when a fault condition
is detected, configure GPIO0 to behave as an activelow alert output. Synchronize multiple devices by setting GPIO2 (MAX6651 only) as an internal clock output
or an external clock input.
The MAX6650 is available in a space-saving 10-pin
µMAX® package, and the MAX6651 is available in a
small 16-pin QSOP package.
____________________________Features
♦ Closed/Open-Loop Fan-Speed Control for
5V/12V Fans
♦ 2-Wire SMBus/I2C-Compatible Interface
♦ Monitors Tachometer Output
Single Tachometer (MAX6650)
Up to Four Tachometers (MAX6651)
♦ Programmable Alert Output
♦ GPIOs
♦ Hardware Full-On Override
♦ Synchronize Multiple Fans
♦ Four Selectable Slave Addresses
♦ 3V to 5.5V Supply Voltage
♦ Small Packages
10-Pin µMAX (MAX6650)
16-Pin QSOP (MAX6651)
Ordering Information
PART
TEMP RANGE
PIN-PACKAGE
MAX6650EUB
-40°C to +85°C
10 µMAX
MAX6650EUB+
-40°C to +85°C
10 µMAX
MAX6651EEE
-40°C to +85°C
16 QSOP
MAX6651EEE+
-40°C to +85°C
16 QSOP
+Denotes a lead(Pb)-free/RoHS-compliant package.
________________________Applications
RAID
Desktop Computers
Servers
Networking
Workstations
Telecommunications
SMBus is a trademark of Intel Corp.
µMAX is a registered trademark of Maxim Integrated Products, Inc.
Pin Configurations appear at end of data sheet.
Typical Operating Circuit
VFAN
5V OR 12V
VCC
VCC
3V TO 5.5V
10kΩ
MAX6650
SMBus/I2C
INTERFACE
SCL
TACH0
SDA
FB
FAN
LED
ALERT
FULL ON
GPIO0
OUT
GPIO1
ADD
CCOMP
10μF
GND
________________________________________________________________ Maxim Integrated Products
1
For pricing, delivery, and ordering information, please contact Maxim Direct at 1-888-629-4642,
or visit Maxim’s website at www.maxim-ic.com.
MAX6650/MAX6651
General Description
MAX6650/MAX6651
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
ABSOLUTE MAXIMUM RATINGS
16-Pin QSOP (derate 8.3mW/°C above +70°C)..........667mW
Operating Temperature Range ...........................-40°C to +85°C
Junction Temperature .....................................................+150°C
Storage Temperature Range .............................-65°C to +150°C
Lead Temperature (soldering, 10s) .................................+300°C
Soldering Temperature (reflow)
Lead(Pb)-free..............................................................+260°C
Containing lead(Pb) ....................................................+240°C
VCC to GND ..............................................................-0.3V to +6V
FB, TACH_ ..........................................................-0.3V to +13.2V
All Other Pins..............................................-0.3V to (VCC + 0.3V)
Output Voltages..........................................-0.3V to (VCC + 0.3V)
Maximum Current
Into VCC, GND, VOUT ...................................................100mA
Into All Other Pins ..........................................................50mA
Continuous Power Dissipation (TA = +70°C)
10-Pin µMAX (derate 5.6mW/°C above +70°C) ..........444mW
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional
operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to
absolute maximum rating conditions for extended periods may affect device reliability.
ELECTRICAL CHARACTERISTICS
(VCC = 3.0V to 5.5V, TA = -40°C to +85°C, unless otherwise noted. Typical values are at TA = +25°C and VCC = 5V.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
POWER SUPPLY (VCC)
Supply Voltage
VCC
Supply Current
ICC
3.0
Full-on mode, IOUT = 0
5.5
V
10
mA
OUTPUT (OUT)
Output Voltage Range
VOUT
IOUT = ±100µA
0.3
Output Sink Current
ISINK
VOUT = 0.5V
10
mA
VOUT = VCC - 1.8V
50
mA
Output Source Current
ISOURCE
VCC - 0.3
V
TACHOMETER INPUTS (TACH_)
Tachometer Threshold
VTACH_
Tachometer Input Impedance
RTACH_
5V fan, 0 < VFB < 4.5V
VFB + 0.5
VFB +1.5
12V fan, 0 < VFB < 9V
VFB + 1.0
VFB +3
0 < VTACH < 9V
70
100
V
150
kΩ
FEEDBACK (FB)
DAC Differential Nonlinearity
Guaranteed monotonicity on FB (Note 1)
5
LSB
Useful DAC Resolution
Measured at FB (Note 1)
8
bits
150
kΩ
0.8
V
Feedback Input Impedance
RFB
0 < VFB < 9V
70
100
GENERAL-PURPOSE INPUTS/OUTPUTS (GPIO_) (Note 2)
Input Low Voltage
Input High Voltage
VIL(GPIO_)
VIH(GPIO_)
VCC ≤ 3.6V
2
VCC > 3.6V
3
V
Input Hysteresis
VHYS
200
mV
Pullup Resistor
RGPIO_
100
kΩ
Output Sink Current
IGPIO_
2
VGPIO_ = 0.4V
10
_______________________________________________________________________________________
mA
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
MAX6650/MAX6651
ELECTRICAL CHARACTERISTICS (continued)
(VCC = 3.0V to 5.5V, TA = -40°C to +85°C, unless otherwise noted. Typical values are at TA = +25°C and VCC = 5V.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
0.1
V
ADDRESS SELECT (ADD)
ADD Input Low Voltage
VIL(ADD)
Selects slave address 1001 000 (Table 1)
ADD Input High Voltage
VIH(ADD)
Selects slave address 1001 011 (Table 1)
ADD External Pulldown Resistor
to GND
RADD
Selects slave address 0011 111 (Table 1)
9.5
Open Resistance
ROPEN
Minimum resistance to GND, selects slave
address 0011 011 (Table 1)
5
IADD
VADD = 0.5V
40
ISDA
VSDA = 0.6V
6
ADD Pullup Current
VCC - 0.05V
V
10.5
kΩ
kΩ
80
µA
SMBus/I2C INTERFACE (SDA, SCL)
Data Output Sink Current
Input Leakage Current
Input Low Voltage
VIL
Input High Voltage
VIH
Input Hysteresis
mA
0 < VIN < VCC
VCC ≤ 3.6V
2
VCC > 3.6V
3
VHYS
±1
µA
0.8
V
V
200
mV
TIMING CHARACTERISTICS
(VCC = 3.0V to 5.5V, TA = -40°C to +85°C, unless otherwise noted. Typical values are at TA = +25°C and VCC = 5V.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
TACHOMETERS
Glitch Rejection
Minimum pulse duration
500
µs
GPIO2 (Note 2)
Clock Frequency
fCLK
Clock Frequency Uncertainty
fCLK
254
VCC = 5V
kHz
-10
+10
%
0
400
kHz
SMBus/I2C
INTERFACE (Figures 3, 4)
SCL Clock Frequency
fSCL
Bus Free Time Between Stop
and Start Condition
tBUF
1.3
µs
tHD:STA
0.6
µs
Low Period of the SCL Clock
tLOW
1.3
µs
High Period of the SCL Clock
tHIGH
0.6
Hold-Time Start Condition
Data Hold Time
tHD:DAT
Data Setup Time
tSU:DAT
(Note 3)
0
µs
900
100
µs
ns
Rise-Time SDA/SCL Signal
(Receiving)
tR
(Note 4)
20 + 0.1CB(pF)
300
ns
Fall-Time SDA/SCL Signal
(Receiving)
tF
(Note 4)
20 + 0.1CB(pF)
300
ns
Fall-Time SDA Signal
(Transmitting)
tF
ISINK < 6mA (Note 4)
20 + 0.1CB(pF)
250
ns
_______________________________________________________________________________________
3
TIMING CHARACTERISTICS (continued)
(VCC = 3.0V to 5.5V, TA = -40°C to +85°C, unless otherwise noted. Typical values are at TA = +25°C and VCC = 5V.)
PARAMETER
SYMBOL
Setup Time for Stop Condition
Pulse Width of Spike Suppressed
CONDITIONS
MIN
tSU:STO
0.6
tSPIKE
0
TYP
MAX
UNITS
µs
50
ns
Note 1: For proper measurement of VFB, connect OUT and FB as shown in the Typical Operating Circuit.
Note 2: GPIO2, GPIO3, and GPIO4 only in the MAX6651.
Note 3: Note that the transition must internally provide at least a hold time to bridge the undefined region (300ns max) of SCL’s
falling edge.
Note 4: CB is the total capacitance of one bus line in pF. Tested with CB = 400pF. Rise and fall times are measured between 0.3 x
VCC and 0.7 x VCC.
Typical Operating Characteristics
(TA = +25°C, unless otherwise noted.)
VCC = 5.5V
260
240
VCC = 3.0V
2.3
VCC = 5.5V,
VFAN = 5.5V, VFAN = 12.0V
2.2
2.1
2.0
VFAN = 12.0V, VFAN = 5.5V
VCC = 3.0V
220
245
1.9
3.5
4.0
4.5
5.0
-50
5.5
0
50
SUPPLY VOLTAGE (V)
TEMPERATURE (°C)
FEEDBACK VOLTAGE vs. SUPPLY
VOLTAGE (DAC SET TO 35)
SUPPLY CURRENT
vs. SUPPLY VOLTAGE
VFAN = 5.5V
SUPPLY CURRENT (mA)
2.10
2.05
VFAN = 12.0V
2.00
3.6
1.95
1.90
3.4
100
50
SUPPLY CURRENT vs. TEMPERATURE
3.2
3.0
2.8
2.6
2.4
1.85
0
TEMPERATURE (°C)
4.0
VCC = 5.5V
3.5
SUPPLY CURRENT (mA)
2.15
3.8
MAX6650/51-04
2.20
-50
100
MAX6650/51-05
3.0
3.0
2.5
VCC = 3V
2.0
2.2
1.80
2.0
3.0
3.5
4.0
4.5
SUPPLY VOLTAGE (V)
4
1.8
200
240
MAX6650/51-06
250
2.4
FEEDBACK VOLTAGE (V)
255
2.5
MAX6650/51-02
280
FREQUENCY (kHz)
260
FREQUENCY (kHz)
300
MAX6650/51-01
265
FEEDBACK VOLTAGE
vs. TEMPERATURE
INTERNAL OSCILLATOR FREQUENCY
vs. TEMPERATURE
MAX6650/51-03
INTERNAL OSCILLATOR FREQUENCY
vs. SUPPLY VOLTAGE
FEEDBACK VOLTAGE (V)
MAX6650/MAX6651
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
5.0
5.5
1.5
3.0 3.2 3.4 3.6 3.8 4.0 4.2 4.4 4.6 4.8 5.0
SUPPLY VOLTAGE (V)
-40
-20
0
20
40
60
TEMPERATURE (°C)
_______________________________________________________________________________________
80
100
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
PIN
PIN
NAME
FUNCTION
MAX6650
MAX6651
1
1
TACH0
—
2, 3, 16
TACH2, TACH3,
TACH1
2
4
GND
Ground
3
5
SDA
2-Wire Serial-Data Input/Output (open drain)
4
6
SCL
2-Wire Serial Clock Input
5
8
ADD
Slave Address Select Input (Table 1)
—
7, 12
GPIO4, GPIO3
6
9
GPIO1
General-Purpose Input/Output (open drain). Configurable to act either as an output or as an input (FULL ON or general purpose).
7
10
GPIO0
General-Purpose Input/Output (open drain). Configurable to act as a general
input/output line or an active-low ALERT output.
—
11
GPIO2
General-Purpose Input/Output (open drain). Configurable to act as a general
input/output line, an internal clock output, or an external clock input.
8
13
OUT
Output. Drives the external MOSFET or bipolar transistor.
9
14
VCC
+3.0V to +5.5V Power Supply
10
15
FB
Tachometer Input. Used to close the loop around the tachometer.
Tachometer Inputs. Used to monitor tachometers only.
General-Purpose Input/Output (open drain)
Feedback Input. Closes the loop around the external MOSFET or bipolar transistor.
Detailed Description
The MAX6650/MAX6651 use an SMBus/I2C-Compatible
interface to regulate and monitor the speed of
5VDC/12VDC brush-less fans with built-in open-collector/drain tachometers. Regulating fan speed proportionally with temperature saves power, increases fan
life, and reduces acoustic noise. Since fan speed is
proportional to the voltage across the fan, the
MAX6650/MAX6651 control the speed by regulating the
voltage on the low side of the fan with an external MOSFET or bipolar transistor.
The MAX6650/MAX6651 each contain two internal control loops. The first loop controls the voltage across the
fan. The internal digital-to-analog converter (DAC) sets
the reference voltage for an internal amplifier (Figure 1),
which then drives the gate of an external N-channel
MOSFET (or the base of a bipolar transistor) to regulate
the voltage on the low side of the fan. As the reference
voltage provided by the DAC changes, the feedback
amplifier automatically adjusts the feedback voltage,
which changes the voltage across the fan.
The second control loop consists of the internal digital
logic that controls the fan’s speed. The MAX6650/
MAX6651 control fan speed by forcing the tachometer
frequency to equal a reference frequency set by the
Fan-Speed Register, the prescaler, and the internal
oscillator (see the Fan-Speed Register section). When
the tachometer frequency is too high, the value of the
DAC’s input register is increased by the regulator.
Once the DAC voltage increases, the analog control
loop forces the feedback voltage to rise, which reduces
the voltage across the fan. Since fan speed is proportional to the voltage across the fan, the fan slows down.
2-Wire SMBus/I2C-Compatible
Digital Interface
From a software perspective, the MAX6650/MAX6651
appear as a set of byte-wide registers that contain
speed control, tachometer count, alarm conditions, or
configuration bits. These devices use a standard
SMBus/I2C-compatible 2-wire serial interface to access
the internal registers.
_______________________________________________________________________________________
5
MAX6650/MAX6651
Pin Description
MAX6650/MAX6651
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
VFAN = 5V OR 12V
VCC
3V TO 5.5V
VCC
SMBus/I2C
INTERFACE
FAN SPEED
SCL
CONFIGURE
SDA
ALARM ENABLE
SMBus/I2C
INTERFACE
ALARM STATUS
TACH COUNT
MAX6650
MAX6651
90kΩ
TACH0
FAN
10kΩ
TACHOMETER
COUNT
FB
VOFFSET
90kΩ
COUNT TIME
GPIO DEF
GPIO STATUS
OUT
CONTROL
LOGIC
10kΩ
DAC
ADD
ADDRESS
DECODE
8-BIT
DAC
VREF
10kΩ
GPIO0
ALERT
GPIO1
FULL ON
GPIO
BLOCKS
(FIGURE 5)
GND
Figure 1. Block Diagram
The MAX6650/MAX6651 employ three standard SMBus
protocols: write byte, read byte, and receive byte
(Figure 2). The shorter protocol (receive) allows quicker
transfers, provided that the correct data register was
previously selected by a write or read byte instruction.
Use caution with the shorter protocol in multimaster
systems, since a second master could overwrite the
command byte without informing the first master.
Slave Addresses
The device address can be set to one of four different
values. Accomplish this by pin-strapping ADD so that
more than one MAX6650/MAX6651 can reside on the
same bus without address conflicts (Table 1).
6
Table 1. Slave Address Decoding (ADD)
ADDRESS
ADD
BINARY
GND
1001 000
VCC
1001 011
No connection (high-Z)
0011 011
10kΩ resistor to GND
0011 111
_______________________________________________________________________________________
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
ADDRESS
WR
7 bits
0
ACK
COMMAND
ACK
DATA
8 bits
Slave Address
ACK
MAX6650/MAX6651
S
P
8 bits
Command byte: Selects
which register you are
writing to.
Data byte: Data goes into
the register set by the
command byte (to set
thresholds, configuration
masks, and sampling rate).
Figure 2a. SMBus Protocol: Write Byte Format
S
ADDRESS
WR
7 bits
0
ACK
ACK
8 bits
Slave Address
S
COMMAND
Command byte: Selects
which register you are
reading from.
ADDRESS
RD
7 bits
1
ACK
DATA
A
P
A
P
8 bits
Slave Address.
Repeated due to
change in data-flow
direction
Data byte: Reads from
the register set by the
command byte.
Figure 2b. SMBus Protocol: Read Byte Format
S
ADDRESS
RD
7 bits
1
ACK
Slave Address
DATA
8 bits
Data byte: Reads data
from the register commanded by the last
read-byte or write-byte
transmission; also
used for SMBus alert
response return address.
Figure 2c. SMBus Protocol: Receive Byte Format
S = Start condition
P = Stop condition
Shaded = Slave transmission
ACK = Acknowledged = 0
A = Not acknowledged = 1
WR = Write = 0
RD = Read =1
_______________________________________________________________________________________
7
MAX6650/MAX6651
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
A
tLOW
B
C
tHIGH
D
E
F
G
I
H
J
K
M
L
SMBCLK
SMBDATA
tSU:STA
tHD:STA
tSU:DAT
A = START CONDITION
B = MSB OF ADDRESS CLOCKED INTO SLAVE
C = LSB OF ADDRESS CLOCKED INTO SLAVE
D = R/W BIT CLOCKED INTO SLAVE
E = SLAVE PULLS SMBDATA LINE LOW
tHD:DAT
tSU:STO tBUF
F = ACKNOWLEDGE BIT CLOCKED INTO MASTER
G = MSB OF DATA CLOCKED INTO SLAVE
H = LSB OF DATA CLOCKED INTO SLAVE
I = SLAVE PULLS SMBDATA LINE LOW
J = ACKNOWLEDGE CLOCKED INTO MASTER
K = ACKNOWLEDGE CLOCK PULSE
L = STOP CONDITION, DATA EXECUTED BY SLAVE
M = NEW START CONDITION
Figure 3. SMBus Write Timing Diagram
A
B
tLOW
C
D
E
F
G
tHIGH
H
J
I
K
SMBCLK
SMBDATA
tSU:STA tHD:STA
tSU:STO
tSU:DAT
A = START CONDITION
B = MSB OF ADDRESS CLOCKED INTO SLAVE
C = LSB OF ADDRESS CLOCKED INTO SLAVE
D = R/W BIT CLOCKED INTO SLAVE
E = SLAVE PULLS SMBDATA LINE LOW
F = ACKNOWLEDGE BIT CLOCKED INTO MASTER
G = MSB OF DATA CLOCKED INTO MASTER
H = LSB OF DATA CLOCKED INTO MASTER
tBUF
I = ACKNOWLEDGE CLOCK PULSE
J = STOP CONDITION
K = NEW START CONDITION
Figure 4. SMBus Read Timing Diagram
Command-Byte Functions
The 8-bit Command-Byte Register (Table 2) is the master index that points to the various other registers within
MAX6650/MAX6651. The register’s power-on reset
(POR) state is 0000 0000, so that a receive-byte transmission (a protocol that lacks the command byte)
occurring immediately after POR returns the current
speed setting.
Fan-Speed Register
In closed-loop mode, the MAX6650/MAX6651 use the
Fan-Speed Register to set the period of the tachometer
signal that controls the fan speed. The Fan-Speed
Register is ignored in all other modes of operation. The
MAX6650/MAX6651 regulate the fan speed by forcing
the tachometer period (tTACH) equal to the scaled register value. One revolution of the fan generates two
8
tachometer pulses, so the required Fan-Speed Register
value (KTACH) may be calculated as:
tTACH = 1 / (2 x Fan Speed)
KTACH = [tTACH x KSCALE x (fCLK / 128)] - 1
where the fan speed is in rotations per second (RPS),
tTACH is the period of the tachometer signal, fCLK is the
internal oscillator frequency (254kHz ±10%), and
KSCALE is the prescaler value (see Configuration-Byte
Register). Since the fan speed is inversely proportional
to the tachometer period, the Fan-Speed Register value
(KTACH) does not linearly control the fan speed (Table
3). Select the prescaler value so the fan’s full speed is
achieved with a register value of approximately 64
(0100 0000) to optimize speed range and resolution.
The MAX6651 may be controlled by an external oscilla-
_______________________________________________________________________________________
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
MAX6650/MAX6651
Table 2. Command-Byte Assignments
REGISTER
COMMAND
READ
WRITE
POR (DEFAULT)
STATE
FUNCTION
SPEED
0000 0000
x
x
00h
Fan speed
CONFIG
0000 0010
x
x
0Ah
Configuration
GPIO DEF
0000 0100
x
x
FFh
GPIO definition
DAC
0000 0110
x
x
00h
DAC
ALARM ENABLE
0000 1000
x
x
00h
Alarm enable
ALARM
0000 1010
x
—
00h
Alarm status
TACH0
0000 1100
x
—
00h
Tachometer 0 count
TACH1
0000 1110
x
—
00h
Tachometer 1 count
TACH2
0001 0000
x
—
00h
Tachometer 2 count
TACH3
0001 0010
x
—
00h
Tachometer 3 count
GPIO STAT
0001 0100
x
—
1Fh
GPIO status
COUNT
0001 0110
x
x
02h
Tachometer count time
Table 3. Fan Speed
tTACH
FAN SPEED (RPS)
KSCALE (ms)
KTACH
FAN SPEED (RPM)
KSCALE
KSCALE
1
4
16
1
4
16
1
4
16
0000 0000
1.0
*
*
500
*
*
30,000
*
*
0000 0001
1.0
*
*
500
*
*
30,000
*
*
0000 0010
1.5
*
*
330
*
*
20,000
*
*
—
—
—
—
—
—
—
—
—
—
0001 1110
16
3.9
*
32
128
*
1900
7700
*
0001 1111
16
4.0
1.0
31
124
500
1900
7400
30,000
0010 0000
17
4.2
1.0
30
120
480
1800
7200
29,000
—
—
—
—
—
—
—
—
—
—
0100 0000
33
8.2
2.1
15.3
61.1
240
910
3700
15,000
—
—
—
—
—
—
—
—
—
—
1111 1000
125
31
7.8
4
15.9
64
240
960
3830
*The minimum allowed tachometer period is 1ms.
tor that overrides the internal oscillator (see GeneralPurpose Input/Output). When using an external oscillator
(fOSC), calculate the Fan-Speed Register value with fCLK
equal to f OSC . Codes above F8h (1111 1000) are
allowed, but will not significantly decrease the frequency.
Configuration-Byte Register
The Configuration-Byte Register (Table 4) adjusts the
prescaler, changes the tachometer threshold voltage,
and sets the mode of operation. The three least-significant bits configure the prescaler division used to scale
the tachometer period. Select the prescaler value so the
fan’s full speed is achieved with a register value of
approximately 64 (0100 0000) to optimize speed range
and resolution (see the Fan Speed Register section). The
fourth bit selects the fan operating voltage.
The fifth and sixth bits configure the operating mode.
The MAX6650/MAX6651 have four modes of operation:
full-on, full-off (shutdown), closed-loop, and open-loop.
In closed-loop operation, the external microcontroller
(µC) sets the desired speed by writing an 8-bit word to
the Fan-Speed Register (see the Fan-Speed Register
section). The MAX6650/MAX6651 monitor the fan’s
tachometer output and automatically adjust the voltage
_______________________________________________________________________________________
9
MAX6650/MAX6651
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
Table 4. Configuration Byte Register
BIT
NAME
POR (DEFAULT)
STATE
7 (MSB) to 6
—
0
Always 0
FUNCTION
5 to 4
MODE
00
Operating Mode:
00 = Software full-on (default)
01 = Software off (shutdown)
10 = Closed-loop operation
11 = Open-loop operation
3
5/12V
1
Fan/Tachometer Voltage:
0 = 5V
1 = 12V (default)
2 to 0 (LSB)
SCALE
010
Prescaler Division:
000 = Divide by 1
001 = Divide by 2
010 = Divide by 4 (default)
011 = Divide by 8
100 = Divide by 16
General-Purpose Input/Output
VCC
CBYPASS
MAX6650
MAX6651 100kΩ
GPIO
STATUS
REGISTER
GPIO
DEFINITION
REGISTER
VCC
3.0V TO 5.5V
GPIO_
GND
Figure 5. General-Purpose Input/Output Structure
across the fan until the desired speed is reached. Openloop operation allows the µC to regulate fan speed directly. The µC reads the fan speed from the Tachometer-Count Register. Based on the tachometer
count, the µC decides if the fan speed requires adjustment, and changes the voltage across the fan by writing an 8-bit word to the DAC Register. Full-on mode
applies the maximum voltage across the fan, forcing it
to spin at full speed. Configuring GPIO1 (see the
General-Purpose Input/Output section) as an active-low
input provides additional hardware control that fully
turns on the fan and overrides all software commands.
10
The GPIO pins connect to the drain of the internal Nchannel MOSFET and pullup resistor (Figure 5). When
the N-channel MOSFET is off (Table 5), the pullup resistor provides a logic-level high output. However, with the
MOSFET off, the GPIO may serve as an input pin and
its state is read from the GPIO Status Register (Table
6). The MAX6650/MAX6651 power up with the MOSFET
off, so input signals may be safely connected to the
GPIO pins. When using the GPIO pin as a general-purpose output, change the output by writing to the GPIO
Definition Register.
GPIO0 may be configured as an ALERT output that will
go low whenever a fault-condition is detected (see the
Alarm-Enable and Status Registers section). GPIO1
may be configured as a FULL ON input to allow hardware control to fully turn on the fan in case of software
or µC failure. GPIO2 (MAX6651 only) may be configured as an internal clock output or as an external clock
input to allow synchronization of multiple devices.
Alarm-Enable and Status Registers
The alarms are enabled only when the appropriate bits of
the Alarm-Enable Register are set (Table 7). The maximum and minimum output level alarms function only
when the device is configured to operate in the closedloop mode (see the Configuration-Byte Register section).
The Alarm Status Register allows the system to determine which alarm caused the alert output (Table 8).
The set-alarm and alert outputs clear after reading the
______________________________________________________________________________________
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
MAX6650/MAX6651
Table 5. GPIO Definition Register
BIT
POR
(DEFAULT)
STATE
MAX6650
PIN
MAX6651
PIN
7
1
N/A
(must be 1)
GPIO4
6
1
5:4
11
3:2
11
1:0
11
N/A
(must be 1)
N/A
(must be 11)
GPIO1
GPIO0
STATE
0
GPIO3
GPIO2
GPIO1
GPIO0
NAME
POR
(DEFAULT
STATE)
7 (MSB) to 5
Always 0
0
4
GPIO4 (MAX6651 only)
1
3
GPIO3 (MAX6651 only)
1
2
GPIO2 (MAX6651 only)
1
1
GPIO1
1
0 (LSB)
GPIO0
1
GPIO4 outputs a logic-low level.
1
GPIO4 outputs a logic-high level or serves as an input.
0
GPIO3 outputs a logic-low level.
1
GPIO3 outputs a logic-high level or serves as an input.
00
GPIO2 serves as an external clock input.
01
GPIO2 serves as an internal clock output.
10
GPIO2 outputs a logic-low level.
11
GPIO2 outputs a logic-high level or serves as an input.
00
GPIO1 outputs a logic-high level or serves as an input.
01
GPIO1 serves as a FULL ON input.
10
GPIO1 outputs a logic-low level.
11
GPIO1 outputs a logic-high level or serves as an input.
00
GPIO0 outputs a logic-high level or serves as an input.
01
GPIO0 serves as an ALERT output.
10
GPIO0 outputs a logic-low level.
11
GPIO0 outputs a logic-high level or serves as an input.
Table 6. GPIO Status Register
BIT
FUNCTION
Alarm Status Register if the condition that caused the
alarm is removed.
Tachometer
The Tachometer Count Registers record the number of
pulses on the corresponding tachometer input during the
period defined by the Tachometer Count-Time Register.
The MAX6651 contains three additional tachometer
inputs, which may be used to monitor additional fans. For
accurate control of multiple fans, use identical fans.
The Tachometer Count-Time Register sets the integration
time over which the MAX6650/MAX6651 count tachometer pulses. The devices can count up to 255 (FFh) pulses
during the selected count time. If more than 255 pulses
occur, the IC sets the overflow alarm and the Tachometer
Count Register reports the maximum value of 255. Set
the time register so the count register will not overflow
under worst-case conditions (maximum fan speed) while
maximizing resolution. Calculate the maximum measurable fan speed and minimum resolution with the following
equations:
Max Fan Speed (in RPS) = 255 / (2 x tCOUNT)
Min Resolution (in RPS) = 1 / (2 x tCOUNT)
where tCOUNT is the tachometer count time; 1kHz is the
maximum allowable tachometer input frequency for the
MAX6650/MAX6651.
______________________________________________________________________________________
11
MAX6650/MAX6651
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
Table 7. Alarm-Enable Register Bit Masks
NAME
POR
(DEFAULT)
STATE
7 (MSB) to 5
—
0
Always 0
4
GPIO2 (MAX6651 only)
0
GPIO2 Alarm Enable/Disable (MAX6651 only)
3
GPIO1
0
GPIO1 Alarm Enable/Disable
2
TACH
0
Tachometer Overflow Alarm Enable/Disable
1
MIN
0
Minimum Output Level Alarm Enable/Disable
0 (LSB)
MAX
0
Maximum Output Level Alarm Enable/Disable
BIT
FUNCTION
1 = Enabled
Table 8. Alarm Status Register Bit Assignments
NAME
POR
(DEFAULT)
STATE
7 (MSB) to 5
—
0
Always 0
4
GPIO2 (MAX6651 only)
0
GPIO2 Alarm. Set when GPIO2 is low (MAX6651 only).
3
GPIO1
0
GPIO1 Alarm. Set when GPIO1 is low.
2
TACH
0
Tachometer Overflow Alarm
1
MIN
0
Minimum Output Level Alarm
0 (LSB)
MAX
0
Maximum Output Level Alarm
BIT
FUNCTION
1 = Alarm condition
Table 9. Tachometer Count-Time Register
(Assumes two pulses per revolution)
REGISTER
VALUE
(KCOUNT)
COUNT
TIME
(s)
MAXIMUM
FAN SPEED
(RPS)
MINIMUM
RESOLUTION
(Hz/COUNT)
0000 0000
0.25
512
2
0000 0001
0.5
256
1
0000 0010
1.0
128
0.5
0000 0011
2.0
64
0.25
The first 6 bits of the Tachometer Count-Time Register
are always zero, and the last 2 bits set the count time
(Table 9). The count time may be determined from the
following equation:
tCOUNT = 0.25s x
2KCOUNT
where KCOUNT is the numerical value of the two 2LSBs.
The 0.25 factor has a ±10% uncertainty.
12
Upon power-up, the Tachometer Count Registers reset
to 00h and the Tachometer Count-Time Register sets a
1s integration time.
Digital-to-Analog Converter
When using the open-loop mode of operation, the DAC
Register sets the voltage on the low side of the fan. An
internal operational amplifier compares the feedback
voltage (VFB) with the reference voltage set by the 8-bit
DAC, and adjusts the output voltage (VOUT) until the
two input voltages are equal. The voltage at the FB pin
may be determined by the following equation:
VFB = (10 x VREF x KDAC) / 256
and the voltage across the fan is:
⎛ 90k ⎞ ⎛ KDAC
⎞
VFAN – ⎜
V
+ 1⎟ ⎜
⎟
⎝ 10k ⎠ ⎝ 256 REF ⎠
where KDAC is the numerical value of the DAC Register
and VREF = 1.5V. The minimum feedback voltage is
limited by the voltage drop across the external MOSFET (RON x IFAN), and the maximum voltage is limited
by the fan’s supply voltage (VFAN). For linear opera-
______________________________________________________________________________________
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
MAX6650/MAX6651
VFAN
5V OR 12V
VCC
VCC
3V TO 5.5V
10kΩ
MAX6650
SMBus/I2C
INTERFACE
ALERT
FULL ON
SCL
TACH0
SDA
FB
GPIO0
OUT
GPIO1
ADD
FAN
CCOMP
10μF
GND
Figure 6. Fan Control with a Bipolar Transistor
tion, use DAC values between 08h and B0h (see
Typical Operating Characteristics). When using the
closed-loop mode of operation, the contents of the
DAC Register are ignored. When writing to the DAC,
wait at least 500µs before attempting to read back.
Power-on Reset (POR)
The MAX6650/MAX6651 have volatile memory. To prevent ambiguous power-supply conditions from corrupting the data in the memory and causing erratic
behavior, a POR voltage detector monitors VCC and
clears the memory if VCC falls below 1.6V. When power
is first applied and VCC rises above 1.6V, the logic
blocks begin operating (though reads and writes at
VCC levels below 3V are not recommended).
Power-up defaults include the following:
• All alarms are disabled.
• Prescale divider is set to 4.
• Fan speed is set in full-on mode.
See Table 2 for the default states of all registers.
Applications Information
MOSFET and Bipolar Transistor
Selection
The MAX6650/MAX6651 drive an external N-channel
MOSFET that requires five important parameters for
proper selection: gate-to-source conduction threshold,
maximum gate-to-source voltage, drain-to-source
breakdown voltage, current rating, and drain-to-source
on-resistance (RDS(ON)). Gate-to-source conduction
threshold must be compatible with available VCC. The
maximum gate-to-source voltage and the drain-tosource breakdown voltage rating should both be at
least a few volts higher than the fan supply voltage
(VFAN). Choose a MOSFET with a maximum continuous
drain current rating higher than the maximum fan current. RDS(ON) should be as low as practical to maximize the feedback voltage range. Maximum power
dissipation in the power transistor can be approximated by P = (VFAN X IFAN(MAX)) / 4. Bipolar power transistors are practical for driving small and midsize fans
(Figure 6). Very-high-current fans may require output
transistor base current greater than the MAX6650’s
50mA drive capability. Bipolar Darlington transistors
will work but have poor saturation characteristics and
could lose up to 2V to 3V of drive voltage.
Resistor Selection
The tachometer input voltages (VTACH_) and feedback
voltage (V FB ) cannot exceed 13.2V (see Absolute
Maximum Ratings). When using a fan powered by a
13.2V or greater supply (VFAN), protect these inputs
from overvoltage conditions with series resistors. The
resistance required to protect these pins may be calculated from the following equation:
RPROTECT = [(VFAN(MAX) - 13.2V) x RIN] / 13.2V
where VFAN(MAX) is the worst-case maximum supply
voltage used to power the fan and RIN is the input
______________________________________________________________________________________
13
MAX6650/MAX6651
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
Fan Selection
impedance of the tachometer input (150kΩ max) or the
feedback input (150kΩ max).
For closed-loop operation and fan monitoring, the
MAX6650/MAX6651 require fans with tachometer outputs.
A tachometer output is typically specified as an option on
many fan models from a variety of manufacturers. Verify
the nature of the tachometer output (open collector, totempole) and the resultant levels, and configure the connection to the MAX6650/MAX6651 accordingly. Note how
many pulses per revolution are generated by the
tachometer output (this varies from model to model and
among manufacturers, though two pulses per revolution is
the most common).
Table 10 lists the representative fan manufacturers and
the models they make available with tachometer outputs.
Compensation Capacitor
A compensation capacitor is needed from the fan’s low
side to ground to stabilize the analog control loop.
Typically, this capacitor should be 10µF, but depending on the type of fan being used, a value between 1µF
and 100µF may be required. The proper value has
been selected when no ringing is present on the voltage at the fan’s low side.
Table 10. Fan Manufacturers
MANUFACTURER
Low-Speed Operation
FAN MODEL OPTION
Comair Rotron
All DC brushless models can be
ordered with optional tachometer
output.
EBM-Papst
Tachometer output optional on some
models.
NMB
All DC brushless models can be
ordered with optional tachometer
output.
Panasonic
Panaflo and flat unidirectional
miniature fans can be ordered with
tachometer output.
Sunon
Tachometer output optional on some
models.
Brushless DC fans increase reliability by replacing
mechanical commutation with electronic commutation. By
lowering the voltage across the fan to reduce its speed,
the MAX6650/MAX6651 are also lowering the supply voltage for the electronic commutation and tachometer electronics. If the voltage supplied to the fan is lowered too
far, the internal electronics may no longer function properly. Some of the following symptoms are possible:
• The fan may stop spinning.
• The tachometer output may stop generating a signal.
• The tachometer output may generate more than two
pulses per revolution.
The problems that occur, and the supply voltages at
which they occur, depend on which fan is used. As a
VFAN 5V OR 12V
10kΩ
VCC
VCC
3V TO 5.5V
FAN
0
TACH0
10kΩ
FAN
1
MAX6651 TACH1
SCL
SMBus/I2C
INTERFACE
SDA
10kΩ
FAN
2
TACH2
FB
ALERT
FULL ON
GPIO0
OUT
GPIO1
ADD
CCOMP
GND
Figure 7. Using the MAX6651 to Control Parallel Fans
14
______________________________________________________________________________________
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
MAX6650/MAX6651
VCC
3V OR 5.5V
TACH0
MAX6651
TACH1
FAN TACH 1
FAN TACH 2
TACH2
FAN TACH 3
TACH3
TO FAN VOLTAGE
5V OR 12V
COM
NO0
FAN TACH 4
NO1
FAN TACH 5
NO2
FAN TACH 6
GPIO2
ADDA
NO3
FAN TACH 7
GPIO3
ADDB
NO4
FAN TACH 8
GPIO4
ADDC
NO5
FAN TACH 9
INH
NO6
FAN TACH 10
NO7
V-
FAN TACH 11
MAX4051
GND
Figure 8. Monitoring Multiple Fans
very rough rule of thumb, 12V fans can be expected to
experience problems somewhere around 1/4 to 1/2
their rated speed.
Predicting Future Fan Failure
In systems that require maximum reliability, such as
servers and network equipment, it can be advantageous
to predict fan failure before it actually happens, to alert
the system operator before the fan fails, minimizing down
time. The MAX6650 allows the user to monitor the fan’s
condition through the following modes.
Full-On Mode
By occasionally (over a period of days or weeks) turning
the fan on full and measuring the resultant speed, a
failing fan can be detected by a trend of decreasing
speeds at a given power-supply voltage. Power-up is a
convenient time to measure the maximum fan speed.
Open-Loop Mode
The fan’s condition can also be monitored using openloop mode. By characterizing the fan while it is new,
fan failure can be determined by writing a predetermined value to the DAC and measuring the resultant
fan speed. A decrease over time of the resultant speed
may be an indication of future fan failure.
Closed-Loop Mode
The MAX6650 allows the system to read the DAC value
used to regulate the fan speed. For a given speed, a
significant change in the required DAC value may indicate future fan problems.
Monitoring More than 4 Fans
Use the MAX6651 to monitor up to four fans at a time
(Figure 7). For systems requiring more than four fans,
Figure 8 shows an application using an analog multiplexer (mux) to monitor 11 fans. GPIO2, GPIO3, and
GPIO4 are connected to the mux’s address pins. By
writing the appropriate value to the GPIO pins, the
desired tachometer gets selected and counted by the
TACH3 input. Because the TACH inputs are doublebuffered, and only sampled every other time slot, it is
important to wait at least 4 times the tachometer count
time before reading the register after changing the mux
address. In the extreme case, a total of 25 fans can be
monitored using three multiplexers connected to
TACH1, TACH2, and TACH3. Do not connect TACH0 to
a mux if the MAX6651 is under closed-loop mode.
N + 1 Fan Application
As shown in Figure 9, if any MAX6650 cannot maintain
speed regulation, all other fans will automatically be
turned on full. This can be useful in high-reliability systems where any single fan failure should not cause
______________________________________________________________________________________
15
MAX6650/MAX6651
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
TO INT PIN
ON NC
ALERT
GPIO0
MAX6650
FULL ON
ALERT
GPIO1
GPIO0
MAX6650
FULL ON
ALERT
ALERT
GPIO0
FAN
3
GPIO1
GPIO0
MAX6650
FULL ON
FAN
2
GPIO1
MAX6650
FULL ON
FAN
1
FAN
4
GPIO1
Figure 9. N + 1 Application
downtime. The system should be designed so that the
number of fans used is one more than are actually
needed. This way, there is sufficient cooling even if a
fan fails. With all fans operating correctly, it is unnecessary to run the fans at their maximum speed. Reducing
fan speed can reduce noise and increase the life of the
fans. However, once a fan fails, it is important that the
remaining fans spin at their maximum speed.
In Figure 9, all the GPIO0s are configured as ALERT
outputs, and all the GPIO1s are configured as
FULL ON inputs. If any MAX6650 generates an ALERT
(indicating failure), the remaining MAX6650s will automatically turn their fans on full.
Temperature Monitoring and Fan Control
The circuit shown in Figure 10 provides complete temperature monitoring and fan control. The MAX1617A (a
remote/local temperature serial interface with SMBus)
monitors temperature with a diode-connected transistor. Based on the temperature readings provided by
the MAX1617A, the µC can adjust the fan speed proportionally with temperature. Connecting the ALERT
output of the MAX1617A to the FULL ON input of the
MAX6650/MAX6651 (see the General-Purpose Input/
Output section) allows the fan to turn on fully if the
MAX1617A detects an overtemperature condition.
MAX6501 Hardware Fail-Safe
Figure 11 shows an application using a MAX6501 as a
hardware fail-safe. The MAX6650 has its GPIO1 config16
ured as FULL ON input. The MAX6501 TOVER pin goes
low whenever its temperature goes above a preset value.
This pulls the FULL ON pin (GPIO1) low, forcing the fan to
spin at its maximum speed. Figure 12 shows the use of
multiple MAX6501s. The MAX6501 has an open-drain
output, allowing multiple devices to be wire ORed to the
FULL ON input. This configuration allows fail-safe monitoring of multiple locations around the system.
Hot-Swap Application
Hot swapping of a fan can be detected using the circuit
in Figure 13 where GPIO2 is configured to generate an
alert whenever it is pulled low. As long as the fan card
is connected, GPIO2 is high. However, when the fan
card is removed, a 2.2kΩ resistor pulls GPIO2 low,
causing an interrupt. This signals to the system that a
hot swap is occurring.
Step-by-Step Part Selection
and Software Setup
Determining the Fan System Topology
The MAX6650/MAX6651 support three fan system
topologies. These are single fan control, parallel fan
control, and synchronized fan control.
Single Fan Control
The simplest configuration is a single MAX6650 for
each fan. If two or more fans are required per system,
then additional MAX6650 controllers are used (one per
fan). The advantage of this configuration is the ability to
______________________________________________________________________________________
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
MAX6650/MAX6651
GND
ADD1
ADD0
MAX1617A
TEMPERATURE
SENSOR
STBY
DXP
VCC
DXN
SCL
INTERRUPT TO μC
ALERT
SDA
VCC
GPIO0
GPIO1
ALERT
FULL ON
VCC
VFAN = 5V OR 12V
MAX6650
MAX6651
μC
SCL
SCL
TACH0
SDA
SDA
FB
GND
VCC
OUT
FAN
ADD
GND
Figure 10. Temperature Monitoring and Fan Control
______________________________________________________________________________________
17
MAX6650/MAX6651
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
VFAN
5V OR 12V
VCC
VCC
3V TO 5.5V
10kΩ
MAX6650
SMBus/I2C
INTERFACE
ALERT
SCL
TACH0
SDA
FB
FAN
GPIO0
CCOMP
10μF
OUT
MAX6501
FULL ON
TOVER
GPIO1
ADD
GND
Figure 11. MAX6501 Hardware Fail-Safe
VFAN
5V OR 12V
VCC
VCC
3V TO 5.5V
10kΩ
MAX6650
SMBus/I2C
INTERFACE
ALERT
SCL
TACH0
SDA
FB
GPIO0
MAX6501
OUT
TOVER
FULL ON
MAX6501
TOVER
FAN
GPIO1
CCOMP
10μF
ADD
GND
MAX6501
TOVER
Figure 12. MAX6501 Hardware Fail-Safe
independently control each fan. The disadvantage is
cost, size, and complexity.
For single fan control, use the MAX6650 (unless additional GPIOs are needed).
Parallel Fan Control
If multiple fans are required but independent control is
not, then a single MAX6650/MAX6651 connected to
two or more fans in parallel may make sense (Figure 7).
The obvious advantage is simplicity, size, and cost
18
savings. If all the fans connected in parallel are the
same type, they will tend to run at similar speeds.
However, if one or more of the fans are wearing out,
speed mismatches can occur. The MAX6651 allows the
system to monitor up to four fans, ensuring any significant speed mismatches can be detected.
For parallel fan control while monitoring up to four fan
speeds, select the MAX6651.
______________________________________________________________________________________
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
MAX6650/MAX6651
VFAN
5V OR 12V
HOT-SWAP SECTION
VCC
VCC
3V TO 5.5V
10kΩ
MAX6651
SMBus/I2C
INTERFACE
ALERT
SCL
TACH0
SDA
FB
FAN
GPIO0
CCOMP
10μF
OUT
FULL ON
GPIO1
ADD
GND
VID
GPIO2
2.2kΩ
Figure 13. Hot-Swap Application
For parallel fan control while monitoring only a single
fan, select the MAX6650.
Synchronized Fan Control (MAX6651 Only)
In systems with multiple fans, an audible beat frequency
can sometimes be detected due to fan speed mismatch.
This happens in systems where fans are connected in
parallel or in systems with a MAX6650 controlling each
fan. In parallel fan systems, speed mismatches occur
because no two fans are identical. Slight mechanical
variations or loading differences can result in enough of
a speed mismatch to cause an audible beat.
Even in systems where there is a MAX6650/MAX6651
for each fan, there can still be speed mismatches. This
is primarily due to the oscillator tolerance. The
MAX6650/MAX6651 oscillator tolerance is specified to
be ±10%. In the worst case, this could result in a 20%
(one 10% high, one 10% low) speed mismatch.
The solution is to use a single MAX6651 for each fan,
and configure the parts to use a shared clock. The
shared clock can either be an external system clock or
one of the MAX6651’s internal clocks. If an external
clock is used, its frequency can range from approximately 50kHz to 500kHz.
For synchronized fan control, select the MAX6651.
Combination
In more complex systems, a combination of some or all
of the above control types may be needed.
Choosing a Fan
Once the topology is chosen, the next step is to choose
a fan. See the appropriate section.
Enter a zero in bit 3 of the configuration register for a
5V fan and 1 for a 12V fan.
Configuring this bit also adjusts the tachometer input
threshold voltage. This optimizes operation of the
MAX6650/MAX6651 for the operating voltage of the fan
being used.
Setting the Mode of Operation
The MAX6650/MAX6651 have four modes of operation
as determined by bits 5 and 6 of the configuration register: full on, full off, open loop, and closed loop.
Full-On
The full-on mode applies the maximum available voltage across the fan, guaranteeing maximum cooling.
Full-on mode can be entered through software or hard-
______________________________________________________________________________________
19
MAX6650/MAX6651
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
ware control. To enter full-on mode through hardware,
see the Setting Up the GPIOs section. Note that a hardware full-on overrides all other modes.
Below is a possible strategy for controlling the fan
under open-loop mode:
Configure the MAX6650/MAX6651 to run in software
full-on mode by entering 00 into bits 5 and 4 of the configuration register.
1) On power-up, put the device in open-loop mode with
a DAC value of 00 (full speed).
2) Allow the fan speed to settle.
3) Read the TACH register to determine the speed.
Full-Off
The full-off mode removes all the voltage across the
fan, causing the fan to stop. Because the MAX6650/
MAX6651 work by controlling the voltage on the low
side of the fan, either 5V or 12V will be on both leads.
Enter full-off mode by entering 01 into bits 5 and 4 of
the configuration register.
4) Gradually increase the DAC register value (in steps
of 1 or 2) until the desired speed is obtained.
In open-loop mode, any one of the four tachometer registers (MAX6651) can be used to measure and regulate the
fan’s speed. This is especially useful in parallel fan systems where up to four fans will be controlled as one unit.
Open Loop
In open-loop mode, the MAX6650/MAX6651 do not
actually regulate the fan speed. Speed regulation
requires an external µC. Although open-loop mode
allows maximum flexibility, it also requires the most
software/processor overhead.
In open-loop mode, the MAX6650/MAX6651 act as an
SMB/I2C-controlled voltage regulator. The µC adjusts
the voltage across the fan by writing an 8-bit value to
the DAC register. This gives the µC direct control of the
voltage across the fan. Speed regulation is accomplished by periodically reading the tachometer register(s) and adjusting the DAC register appropriately. The
DAC value controls the voltage across the fan according to the following equation:
VFAN = VFAN_SUPPLY - [((R2) / R1) + 1] x VREF x KDAC /
256
where VFAN = the voltage across the fan, VFAN_SUPPLY
= the supply voltage for the fan (5V or 12V), R2 = 90kΩ
(typ), R1 = 10kΩ (typ), VREF = 1.5V (typ), and KDAC =
the value in the DAC register.
Note several important things in this equation. First, the
voltage across the fan moves in the opposite direction
of the DAC value. In other words, low DAC values correspond to higher voltages across the fan and therefore
higher speeds. Second, DAC values greater than 180
will result in 0V across a 12V fan. Similarly, DAC values
greater than 76 will produce 0V across a 5V fan. This
limits the useful range of the DAC from 0 to 180 for 12V
fans and 0 to 76 for 5V fans.
Remember that device tolerances can cause the output
voltage value to vary significantly from unit to unit and
over temperature. However, because this voltage is
within a closed speed-control loop, such errors are corrected by the loop.
Care must be taken with this mode to prevent instability, which can be caused by trying to update the fan
speed too often or in increments that are too large.
Instability can result in the fan speeding up and slowing
down repeatedly. Determining the proper update rate,
as shown in the following steps, depends largely on the
fan’s mechanical time constant and the system’s loop
gain (DAC step sizes):
1) Enter open-loop mode by setting bits 5 and 4 of the
control register to 11.
2) Determine the speed of the fan(s) by reading the
TACH register(s).
3) Increase or decrease the DAC register to decrease
or increase the voltage across the fan, thereby
adjusting its speed.
Closed Loop
In closed-loop mode, the SMBus/I2C master (usually a
µC) writes a desired fan speed to the MAX6650/
MAX6651, and the device automatically adjusts the
voltage across the fan to maintain this speed. This
operation mode requires less software/processor overhead than the open-loop mode. Once the desired
speed has been written, the MAX6650/MAX6651 control the fan’s speed independently, with no intervention
required from the master. If desired, the MAX6650/
MAX6651 can be configured to generate an interrupt if
it is unable to regulate the fan’s speed at the desired
value (see Setting Up Alarms). The MAX6650/MAX6651
can regulate only the speed of the fan connected to the
TACH0 input. Fans connected in parallel to the TACH0
fan will tend to run at similar speeds (assuming similar
fans). When going from full-off to closed-loop-mode, it
is recommended following this sequence:
1) Full-off mode
2) Full-on mode (with sufficient pause to initiate
movement)
3) Closed-loop mode
20
______________________________________________________________________________________
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
When in regulation:
[fCLK / (128 x (KTACH + 1))] = 2 x FanSpeed / KSCALE
where fCLK = oscillator frequency (either the 254kHz
internal oscillator or the externally applied clock), KTACH
= the value in the speed register, FanSpeed = the
speed of the fan in revolutions per second (Hz),
KSCALE = the prescaler value (1, 2, 4, 8, or 16).
Solving for all four variables:
KTACH = [(fCLK x KSCALE) / (256 x FanSpeed)] - 1
KSCALE = [256 x FanSpeed x (KTACH + 1)] / fCLK
FanSpeed = KSCALE x fCLK / [256 x (KTACH + 1)]
fCLK = 256 x FanSpeed x (KTACH + 1) / KSCALE
If the internal oscillator is used, setting fCLK to 254kHz
can further reduce the equations:
Equation 1: KSCALE = FanSpeed x (KTACH + 1) / 992
Equation 2: KTACH = (992 x KSCALE / FanSpeed) - 1
Equation 3: FanSpeed = 992 x KSCALE / (KTACH + 1)
Enter closed-loop mode by entering 10 into bits 5 and 4
of the configuration register.
Note that in equation 3, the fan speed is inversely proportional to (KTACH + 1). This means the regulated fan
speed is a nonlinear function of the value written to the
speed register. Low values written to the speed register
can result in large relative changes in fan speed. For
best results, design the system so that small values
(such as 02h) are not needed. This is easily accomplished because an 8-bit speed register is used, and
fan-speed control should rarely need more than 16
speeds. A good compromise is to design the system
(by selecting the appropriate prescaler value) so that
the maximum-rated speed of the fan occurs when the
speed register equals approximately 64 (decimal).
Although 64 is a good target value, values between 20
and 100 will work fine.
The prescaler value also affects the response time and
the stability of the speed-control loop. Adjusting the
prescaler value effectively adjusts the loop gain. A larger prescaler value will slow the response time and
increase stability, while a smaller prescaler value will
yield quicker response time. The optimum prescaler
value for response time and stability depends on the
fan’s mechanical time constant. Small, fast-spinning
fans will tend to have small mechanical time constants
and can benefit from smaller prescaler values. A good
rule of thumb is to try the selected prescaler value in
the target system. Set K TACH to around 75% of full
scale, and watch for overshoot or oscillation in the fan
speed. Also look for overshoot or oscillation when
KTACH is changed from one value to another (e.g., from
75% of full-scale speed to 90% of full scale). If there is
unacceptable overshoot or if the fan speeds up and
slows down with K TACH , set it to a constant value;
increase the prescaler value.
Enter the appropriate prescaler value in bits zero to 2 of
the configuration register.
Fan speed is a trade-off between cooling requirements,
noise, power, and fan wear. In general, it is desirable
(within limits) to run the fan at the slowest speed that
will accomplish the cooling goals. This will reduce
power consumption, increase fan life, and minimize
noise. When calculating the desired fan speed, remember that the above equations are written in rotations per
second (RPS), where most fans are specified in rotations per minute (RPM).
Write the desired fan speed to the speed register.
Example:
Assume the following:
• 12V fan is rated at 2000RPM at 12V.
• Use the internal oscillator (fCLK = 254kHz).
• Desired fan speed = 1500RPM (25RPS).
First, calculate an appropriate prescaler value
(KSCALE) using equation 1. Attempt to get KTACH as
close to 64 as possible for the maximum speed of
2000RPM.
• Set FanSpeed = 33.3RPS (2000RPM/60).
• Set KTACH = 64.
• Solving equation 1 gives KSCALE = 2.18.
______________________________________________________________________________________
21
MAX6650/MAX6651
The MAX6650 regulates fan speed in the following
manner. The output of an internal 254kHz oscillator is
divided by 128, generating a roughly 2kHz signal. This
signal is divided by 1 plus the value in the speed register and is used as a reference frequency. For example,
02h in the speed register will result in a 667Hz [2kHz /
(02h+1)] reference frequency, which is then compared
against the frequency at the tachometer input divided
by the prescaler value. The MAX6650/MAX6651
attempt to keep the tachometer frequency divided by
the prescaler equal to the reference frequency by
adjusting the voltage across the fan. If the tachometer
frequency divided by the prescaler value is less than
the reference frequency, the voltage across the fan is
increased. Remember that the tachometer will give two
pulses per revolution of the fan. The following equations
describe the operation.
MAX6650/MAX6651
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
We will start with KSCALE = 2 (to increase stability, a 4
could be tried, or to improve response time, a 1 could
be tried).
Second, calculate the appropriate value for the Speed
Register (KTACH) using equation 2.
• Set FanSpeed = 25RPS (1500PRM/60).
• Solving for equation 2 gives KTACH = 78 for KSCALE
= 2, KTACH = 39 for KSCALE = 1, or KTACH = 158 for
K = 4.
Determining the Tachometer Count Time
To monitor the fan speed using the SMBus/I2C, the next
step is to determine the tachometer count time. In systems running in open-loop mode, this is necessary. In
closed-loop or full-speed mode, reading the tachometer can serve as a valuable check to ensure the fan and
the control loop are operating properly.
The MAX6650/MAX6651 use an 8-bit counter to count
the tachometer pulses. This means the device can
count from 0 to 255 tachometer pulses before overflowing. The MAX6650/MAX6651 can accommodate a large
range of fan speeds by allowing the counting interval to
be programmed. Smaller/faster fans should use smaller
count times. Although larger fans could also use smaller count times, resolution would suffer. Choose the
slowest count time that will not overflow under worstcase conditions. Fans are mechanical devices, and
their speeds are subject to large tolerance variations. If
an overflow does occur, the counter will read 255. The
MAX6650/MAX6651 can be configured to generate an
alert if an overflow is encountered (see Setting Up
Alarms). Note that the prescaler value has no effect on
the TACH0 register.
Enter the appropriate count-time value in the tachometer
count-time register.
Example:
Assume a 12V fan rated at 2000 RPM.
To accommodate large tolerance variations, choose a
count time appropriate for a maximum speed of
3000RPM; 3000RPM is 50RPS and generates a 100Hz
(2 pulses/revolution) tachometer signal. Table 9 indicates a count time of 2s will optimize resolution. With a
2s count time, speeds as fast as 3825RPM can be
monitored without overflow. The minimum resolution will
be 15RPM or 0.75% of the rated speed of 2000RPM.
Setting Up the GPIOs
To increase versatility, the MAX6650/MAX6651 have
two and five general-purpose digital inputs/outputs,
respectively. These GPIOs can be configured through
the SMBus/I2C.
22
Digital Out Low
All GPIOs can be configured to output a logic-level low.
The MAX6650/MAX6651 are designed to sink up to
10mA. This high sink current can be especially useful
for driving LEDs.
On the MAX6651, for GPIO3 and GPIO4, write a zero to
the appropriate location in the GPIO definition register.
For GPIO0, GPIO1, and (MAX6551 only) GPIO2, write a
10 to the appropriate location in the GPIO definition
register.
Digital Out High
All GPIOs can be configured to generate a logic-level
high. An output high is generated using an open-drain
output stage with an internal pullup resistor of nominally
100kΩ. The MAX6650/MAX6651 power-up default state
is with all GPIOs configured as output highs.
On the MAX6651, for GPIO3 and GPIO4, write a 1 to
the appropriate location in the GPIO definition register.
For GPIO0, GPIO1, and (MAX6551 only) GPIO2, write
an 11 to the appropriate location in the GPIO definition
register.
Digital Input
Since a logic-level high output is open drain with an
internal pullup, an external device can actively pull this
pin low. The MAX6650/MAX6651 allow the user to read
the GPIO value through the GPIO status register.
• Configure the GPIO as an output logic level high (see
above).
• Read the state of the GPIO by reading the GPIO status register.
Alert Output
GPIO0 can also serve as an ALERT output. The ALERT
output is designed to drive an interrupt on a µC. The
ALERT output goes low whenever an enabled alarm
condition occurs (see Setting Up Alarms).
Configure GPIO0 as an ALERT output by writing a 01 to
bits 1 and 0 of the GPIO definition register.
Full-On Input
GPIO1 can also be configured as a full-on input. When
the full-on pin is pulled low, the MAX6650/MAX6651
apply the full available voltage across the fan. This happens independently of the software mode of operation.
This is a particularly valuable feature in high-reliability
systems, designed to prevent software malfunctions
from causing system overheating.
Configure GPIO1 as a full-on input by writing a 01 to
bits 3 and 2 of the GPIO definition register.
______________________________________________________________________________________
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
• Electrically connect all MAX6651 GPIO2s together.
• Configure one of the MAX6651’s GPIO2s to be a
clock output, using the GPIO Definition Register (set
bits 5 and 4 to 01).
• Configure the rest of the GPIO2s as clock inputs, using
the GPIO Definition Register (set bits 5 and 4 to 00).
• Configure all MAX6651s in closed-loop mode.
MAX6501
CLOCK OUT
Setting Up Alarms
The MAX6650/MAX6651 can be configured to generate
an ALERT output on GPIO0 whenever certain events,
such as control loop out of regulation, tachometer overflow, or GPI01/GPI02 being driven low, occur. This is
designed to enhance the “set and forget” functionality
of the fan control system.
Configure GPIO0 to be an ALERT output (see above).
Minimum/Maximum Output Level Alarm
The minimum/maximum output level alarms are
designed to warn the system when the MAX6650/
MAX6651 are unable to maintain speed regulation in
closed-loop mode. The MAX6650/MAX6651 maintain
speed regulation by adjusting the voltage across the
fan. If the desired speed can’t be attained, one of these
alarms will be generated. Possible causes for failure to
attain the desired speed include system programming
problems, incipient fan failure, and a programmed
speed that the fan cannot support.
The minimum output alarm occurs when the DAC output is 00h. A DAC value of 00h means that the
MAX6650/MAX6651 have applied the largest available
voltage across the fan. This typically means the fan is
unable to spin as fast as the desired speed.
The maximum output alarm occurs when the DAC value
is FFh. A DAC value of FFh means the MAX6650/MAX6651
have tried to reduce the voltage across the fan to 0.
Although this would seem to indicate the fan is spinning
faster than the desired speed, this should rarely happen. If this alarm occurs, it probably indicates some
type of system error.
MAX6501
CLOCK IN
FAN
2
GPIO2
• Configure all prescaler values to be equal.
• Write identical values to all speed registers.
FAN
1
GPIO2
MAX6501
CLOCK IN
MAX6650/MAX6651
Synchronizing Fans
GPIO2 can be configured to allow multiple MAX6651s
to synchronize the speeds of the fans they are driving
(Figure 14). Synchronization is accomplished by having
one of the MAX6651s (or an external clock) serve as
the clock master by configuring one of the GPIO2s in
the system as a clock output. The remaining GPIO2s in
the system need to be configured as clock inputs:
FAN
3
GPIO2
Figure 14. Synchronizing Fans
Enable the minimum/maximum output level alarm by
setting bits 0 and 1 of the alarm enable register to 11.
Tachometer Overflow Alarm
If any tachometer counter overflows (reaches a count of
255), this alarm will be set.
Enable the overflow output level alarm by setting bit 2
of the alarm enable register bit to 1.
GPIO1/2 Pulled Low
Enabling this alarm causes the ALERT output to go low
whenever GPIO1 or GPIO2 is pulled low. This will occur
independent of the configuration of GPIO1 or GPIO2.
Enable the GPIO1/GPIO2 output level alarms by setting
bits 3 and/or 4 of the alarm enable register bit to 1.
Clearing the ALERT
Once an ALERT is generated, determine which alarm
caused the ALERT pin to go low. Do this by reading the
Alarm Status Register. An ALERT output will stay active
(low) even if the condition that caused the alert is
removed. Reading the Alarm Status Register clears the
ALERT, if the condition that caused the alert is gone. If
the condition has not gone away, the ALERT will stay
active. Disabling the alarm with the Alarm Enable
Register will cause the ALERToutput to go inactive.
Read the Alarm Status Register.
______________________________________________________________________________________
23
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
MAX6650/MAX6651
Pin Configurations
TOP VIEW
TACH0 1
GND
2
SDA
3
SCL
4
ADD
MAX6650
5
10 FB
TACH0 1
16 TACH1
9
VCC
TACH2 2
15 FB
8
OUT
TACH3 3
14 VCC
7
GPIO0
GND 4
GPIO1
SDA 5
12 GPIO3
SCL 6
11 GPIO2
GPIO4 7
10 GPIO0
6
μMAX
MAX6651
ADD 8
13 OUT
9
GPIO1
QSOP
Package Information
For the latest package outline information and land patterns, go to www.maxim-ic.com/packages. Note that a “+”, “#”, or “-” in
the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing pertains to
the package regardless of RoHS status.
24
PACKAGE TYPE
PACKAGE CODE
OUTLINE NO.
LAND PATTERN NO.
10 µMAX
U10-2
21-0061
90-0330
16 QSOP
E16-1
21-0055
90-0167
______________________________________________________________________________________
Fan-Speed Regulators and Monitors
with SMBus/I2C-Compatible Interface
REVISION
NUMBER
REVISION
DATE
4
7/10
DESCRIPTION
PAGES
CHANGED
Added lead-free parts to the Ordering Information
1
Updated Table 5 to include the pins for both the MAX6650 and MAX6651
11
Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are
implied. Maxim reserves the right to change the circuitry and specifications without notice at any time.
Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600 ____________________ 25
© 2010 Maxim Integrated Products
Maxim is a registered trademark of Maxim Integrated Products, Inc.
MAX6650/MAX6651
Revision History