MAXIM MAX6660

19-2225; Rev 0; 10/01
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
Features
♦ Integrated Thermal Sensing and Fan-Regulation
Solution
♦ Programmable Fan Threshold Temperature
♦ Programmable Temperature Range for Full-Scale
Fan Speed
♦ Accurate Closed-Loop Fan-Speed Regulation
♦ On-Chip Power Device Drives Fans Rated
Up to 250mA
♦ Programmable Under/Overtemperature Alarms
♦ SMBus 2-Wire Serial Interface with Timeout
(Cannot “Lock Up” the SMBus)
♦ Supports SMBus Alert Response
♦ ACPI Compatible, Including OVERT System
Shutdown Function
♦ ±1°C (+60°C to +100°C) Thermal-Sensing Accuracy
♦ MAX6660EVKIT Available
Ordering Information
PART
MAX6660AEE
TEMP. RANGE
PIN-PACKAGE
-40°C to +125°C
16 QSOP
Typical Operating Circuit
Applications
+3V TO +5.5V
PC
0.1µF
50Ω
Notebooks
Telecom Systems
10kΩ
EACH
+12V
Industrial Control Systems
Servers
5kΩ
VFAN
VCC
STBY
Workstations
1µF
FAN
TACH IN
FAN
SMBCLK
MAX6660
SMBDATA
DATA
DXP
SMBus is a trademark of Intel Corp.
ALERT
2200pF
DXN
Pin Configuration appears at end of data sheet.
CLOCK
PENTIUM
OVERT
INTERUPT
TO µP
TO SYSTEM
SHUTDOWN
AGND
ADD0
ADD1
PGND
________________________________________________________________ Maxim Integrated Products
For pricing, delivery, and ordering information, please contact Maxim/Dallas Direct! at
1-888-629-4642, or visit Maxim’s website at www.maxim-ic.com.
1
MAX6660
General Description
The MAX6660 is a remote temperature sensor and fanspeed regulator that provides a complete fan-control
solution. The remote temperature sensor is typically a
common-collector PNP, such as a substrate PNP of a
microprocessor, or a diode-connected transistor, typically a low-cost, easily mounted 2N3904 NPN type or
2N3906 PNP type.
The device also incorporates a closed-loop fan controller that regulates fan speed with tachometer feedback. The MAX6660 compares temperature data to a
fan threshold temperature and gain setting, both programmed over the SMBus™ by the user. The result is
automatic fan control that is proportional to the remotejunction temperature. The temperature feedback loop
can be broken at any time for system control over the
speed of the fan.
Fan speed is voltage controlled as opposed to PWM
controlled, greatly reducing acoustic noise and maximizing fan reliability. An on-chip power device drives
fans rated up to 250mA.
Temperature data is updated every 0.25s and is readable at any time over the SMBus interface. The
MAX6660 is accurate to 1°C (max) when the remote
junction is between +60°C to +100°C. Data is formatted
as a 10-bit + sign word with 0.125°C resolution.
The MAX6660 is specified for -40°C to +125°C and is
available in a 16-pin QSOP package.
MAX6660
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
ABSOLUTE MAXIMUM RATINGS
All Voltages Referenced to GND
VCC, ADD0, ADD1, SMBDATA,
SMBCLK, ALERT, OVERT ...................................-0.3V to +6V
VFAN, TACH IN, FAN .............................................-0.3V to +16V
DXP, GAIN..................................................-0.3V to (VCC + 0.3V)
DXN.............................................................................-0.3V to 1V
SMBDATA, ALERT, OVERT Current ...................-1mA to +50mA
DXN Current ......................................................................±1mA
FAN Out Current ..............................................................500mA
ESD Protection (Human Body Model)................................2000V
Continuous Power Dissipation (TA = +70°C)
16-Pin QSOP (derate 8.3mW/°C above +70°C)..........667mW
Operating Temperature Range ........................ -40°C to +125°C
Junction Temperature .....................................................+150°C
Storage Temperature Range .............................-65°C to +150°C
Lead Temperature (soldering, 10s) .................................+300°C
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 = +3V to +5.5V, VVFAN = +12V, TA = -40°C to +125°C, unless otherwise specified. Typical values are at VCC = +3.3V and
TA = +25°C.) (Note 1)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
5.5
V
ADC AND POWER SUPPLY
VCC Supply Voltage
VCC
VFAN Supply Voltage
VVFAN
Operating Supply Current
ICC
Shutdown Supply Current
ISHDN
3.0
4.5
Fan off
Shutdown
Temperature Resolution
Temperature Error (Note 2)
TE
TA = +85°C,
VCC = +3.3V
Internal Reference Frequency
Accuracy
3
10
µA
0.125
°C
11
Bits
-1
+1
TRJ = +25°C to +125°C
-3
+3
TRJ = -40°C to +125°C
-5
+5
+25
-25
%
+25
%
3.00
V
-25
Undervoltage Lockout Threshold
VUVLO
Undervoltage Lockout Threshold
Hysteresis
VHYST
Power-On-Reset (POR)
Threshold (VCC)
VCC falling
2.50
2.80
mV
VCC rising
1.4
2.0
High level
80
100
120
Low level
8
10
12
2.5
90
IRJ
VDXN
0.7
_______________________________________________________________________________________
°C
s
90
POR Threshold Hysteresis
2
µA
0.25
Conversion Rate Timing Error
DXN Source Voltage
V
500
TRJ = +60°C to +100°C
Temperature Conversion Time
Remote-Junction Source Current
13.5
250
V
mV
µA
V
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
(VCC = +3V to +5.5V, VVFAN = +12V, TA = -40°C to +125°C, unless otherwise specified. Typical values are at VCC = +3.3V and
TA = +25°C.) (Note 1)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
Tach Input Transition Level
VVFAN = 12V
10.5
V
Tach Input Hysteresis
VFAN = 12V
190
mV
Current-Sense Tach Threshold
20
mA
Current-Sense Tach Hysteresis
0.3
mA
Fan Output Current
250
Fan Output Current Limit (Note 3)
Fan Output On-Resistance
mA
320
RONF
250mA load
410
mA
Ω
4
SMBus INTERFACE: SMBDATA, ALERT, STBY, OVERT
Logic Input Low Voltage
Logic Input High Voltage
Input Leakage Current
VIL
VIH
I_leak
Output Low Sink Current
IOL
Input Capacitance
Cin
Output High Leakage Current
VCC = +3.0V to +5.5V
2.2
VCC = +5.5V
2.6
VIN = GND or VCC
-2
VOL = 0.4V
6
fSCL
Bus Free Time Between Stop
and Start Conditions
tBUF
(Note 4)
Start Condition Setup Time
0
V
V
+2
µA
mA
5
VOH = 5.5V
Serial Clock Frequency
Repeat Start Condition Setup
Time
0.8
VCC = +3.0V
pF
1
µA
100
kHz
4.7
µs
4.7
µs
tSU:STA
90% to 90%
50
µs
Start Condition Hold Time
tHD:STA
10% of SMBDATA to 90% of SMBCLK
4
µs
Stop Condition Setup Time
tSU:STO
90% of SMBCLK to 10% of SMBDATA
4
µs
4.7
µs
4
µs
Clock Low Time
tLOW
10% to 10%
Clock High Time
tHIGH
90% to 90%
Data Setup Time
tSU:DAT
90% of SMBDATA to 10% of SMBCLK
Data Hold Time
tHD:DAT
(Note 5)
250
ns
0
µs
Receive SMBCLK/SMBDATA
Rise Time
tR
1
µs
Receive SMBCLK/SMBDATA
Fall Time
tF
300
ns
40
ms
SMBus Timeout
tTIMEOUT
SMBDATA and SMBCLK time low for reset
of serial interface
25
Junction Temperature = TA. This implies zero dissipation in pass transistor (no load, or fan turned off).
TRJ, Remote Temperature accuracy is guaranteed by design, not production tested.
Guaranteed by design. Not production tested.
The MAX6660 includes an SMBus timeout, which resets the interface whenever SMBCLK or SMBDATA has been low for
greater than 25ms. This feature can be disabled by setting bit 2 of the Fan Gain register at 16h/1Bh to a 1. When the timeout
is disabled, the minimum clock frequency is DC.
Note 5: Note that a transition must internally provide at least a hold time in order to bridge the undefined region (300ns max) of
SMBCLK’s falling edge.
Note 1:
Note 2:
Note 3:
Note 4:
_______________________________________________________________________________________
3
MAX6660
ELECTRICAL CHARACTERISTICS (continued)
Typical Operating Characteristics
(VCC = +3.3V, TA = +25°C, unless otherwise noted.)
TEMPERATURE ERROR
vs. REMOTE-DIODE TEMPERATURE
PATH = DXP TO GND
5
0
-5
-10
PATH = DXP TO VCC (+5V)
-15
3
2
1
0
-1
-2
5
-5
-10
-15
-20
-25
-4
-25
-30
-5
100
0
50
100
100 1k
2.5
VIN = 100mVp-p
2.0
1.5
1.0
0.5
VIN = 50mVp-p
0
0
-0.5
-1.0
MAX6660 toc05
1
MAX6660 toc04
VIN = SQUARE WAVE
AC-COUPLED TO DXN
10k 100k 1M 10M 100M
FREQUENCY (Hz)
TEMPERATURE ERROR
vs. DXP-DXN CAPACITANCE
TEMPERATURE ERROR (°C)
TEMPERATURE ERROR (°C)
10
TEMPERATURE (°C)
4.0
-1
-2
-3
-4
-5
-6
-7
VIN = 25mVp-p
-8
-1.5
1
10
100
1k
0 10 20 30 40 50 60 70 80 90 100
10k 100k 1M 10M 100M
FREQUENCY (Hz)
DXP-DXN CAPACITANCE (nF)
STANDBY SUPPLY CURRENT
vs. SUPPLY VOLTAGE
AVERAGE SUPPLY CURRENT
vs. SUPPLY VOLTAGE
3
2
1
0
MAX6660 toc07
4
400
AVERAGE SUPPLY CURRENT (µA)
MAX6660 toc06
5
STANDBY SUPPLY CURRENT (µA)
1
150
TEMPERATURE ERROR
vs. COMMON-MODE NOISE FREQUENCY
3.0
VIN = 100mVp-p
-30
-50
LEAKAGE RESISTANCE (MΩ)
3.5
VIN = 250mVp-p
0
-3
10
VIN = SQUARE WAVE APPLIED TO VCC
WITH NO 0.1µF VCC CAPACITOR
10
-20
1
300
200
100
3.0
3.5
4.0
4.5
SUPPLY VOLTAGE (V)
4
20
15
TEMPERATURE ERROR (°C)
10
4
TEMPERATURE ERROR (°C)
15
MAX6660 toc02
5
MAX6660 toc01
20
TEMPERATURE ERROR
vs. POWER-SUPPLY NOISE FREQUENCY
MAX6660 toc03
TEMPERATURE ERROR
vs. PC BOARD RESISTANCE
TEMPERATURE ERROR (°C)
MAX6660
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
5.0
5.5
3.0
3.3
3.6
3.9
4.2
4.5
4.8
5.1
5.4
SUPPLY VOLTAGE (V)
_______________________________________________________________________________________
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
PIN
NAME
1
VFAN
FUNCTION
Fan Drive Power-Supply Input. 4.5V to 13.5V.
2
VCC
Supply Voltage Input. +3V to +5.5V. Bypass VCC to ground with a 0.1µF capacitor.
3
DXP
Input: Remote-Junction Anode. Place a 2200pF capacitor between DXP and DXN for noise filtering.
4
DXN
Input: Remote-Junction Cathode. DXN is internally biased to a diode voltage above ground.
5
FAN
Open-Drain Output to Fan Low Side. Connect a minimum 1µF capacitor between FAN and VFAN.
6
ADD1
SMBus Address Select Pin. ADD0 and ADD1 are sampled upon power-up.
7
PGND
Power Ground
8
AGND
Analog Ground
9
OVERT
Overtemperature Shutdown Output. Active-low output (programmable for active high if desired). Open drain.
10
ADD0
SMBus Slave Address Select Pin. ADD0 and ADD1 are sampled upon power-up.
11
ALERT
SMBus Alert (Interrupt) Output. Open-drain, active-low output.
12
SMBDATA
13
GAIN
14
SMBCLK
15
STBY
16
TACH IN
SMBus Serial Data Input/Output. Open drain.
Gain Control. Connect an external resistor from GAIN to VCC to reduce the gain of the current-sense mode.
SMBus Clock Line from Controller. This line tolerates inputs up to VCC even if MAX6660 is not powered.
Hardware Standby Input. Drive STBY low to reduce supply current. Temperature and comparison
data are retained in standby mode.
Fan Tachometer Input. Tolerates voltages up to VFAN.
Detailed Description
The MAX6660 is a remote temperature sensor and fan
controller with an SMBus interface. The MAX6660 converts the temperature of a remote-junction temperature
sensor to a 10-bit + sign digital word. The remote temperature sensor can be a diode-connected transistor,
such as a 2N3906, or the type normally found on the
substrate of many processors’ ICs. The temperature
information is provided to the fan-speed regulator and
is read over the SMBus interface. The temperature
data, through the SMBus, can be read as a 10-bit +
sign two’s complement word with a 0.125°C resolution
(LSB) and is updated every 0.25s.
The MAX6660 incorporates a closed-loop fan controller
that regulates fan speed with tachometer feedback. The
temperature information is compared to a threshold and
range setting, which enables the MAX6660 to automatically set fan speed proportional to temperature. Full control of these modes is available, including being able to
open either the thermal control loop or the fan control
loop. Figure 1 shows a simplified block diagram.
ADC
The ADC is an averaging type that integrates over a
60ms period with excellent noise rejection. A bias cur-
rent is steered through the remote diode, where the forward voltage is measured, and the temperature is computed. The DXN pin is the cathode of the remote diode
and is biased at 0.65V above ground by an internal
diode to set up the ADC inputs for a differential measurement. The worst-case DXP-DXN differential input
voltage range is 0.25V to 0.95V. Excess resistance in
series with the remote diode causes about +1/2°C error
per ohm. Likewise, 200mV of offset voltage forced on
DXP-DXN causes approximately 1°C error.
A/D Conversion Sequence
A conversion sequence is initiated every 250ms in the
free-running autoconvert mode (bit 6 = 0 in the
Configuration register) or immediately by writing a OneShot command. The result of the new measurement is
available after the end of conversion. The results of the
previous conversion sequence are still available when
the ADC is converting.
Remote-Diode Selection
Temperature accuracy depends on having a goodquality, diode-connected small-signal transistor.
Accuracy has been experimentally verified for all
devices listed in Table 1. The MAX6660 can also direct-
_______________________________________________________________________________________
5
MAX6660
Pin Description
MAX6660
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
VFAN
TACH IN
FAN-SPEED
REGULATOR
FAN
FAN
N
REGISTERS
TMAX
DXP
MUX
ADC
THYST
COMPARAT0R
OVERT
DXN
REMOTE DATA
TEMPERATURE
CENTRAL
LOGIC
ALERT
THIGH
SMBCLK
SMBDATA
ADD0
ADD1
SMBus
INTERFACE
ADDRESS
DECODER
TLOW
CONFIGURATION
FAN COUNT DIVISOR
(FC)
TFAN (FT)
THERMAL OPEN/
CLOSED LOOP
FAN
CONTROL
CIRCUIT
FAN OPEN/
CLOSED LOOP
FAN GAIN (FG)
FAN SPEED LIMIT
(FS)
FAN LIMIT (FL)
MODE (M)
FAN CONVERSION
RATE (FCR)
FAN-SPEED CONTROL
(FSC)
STATUS
Figure 1. MAX6660 Block Diagram
6
________________________________________________________________________________________
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
Table 1. Remote-Sensor Transistor
MANUFACTURER
2N3904, 2N3906
2N3904, 2N3906
SST3904
KST3904-TF
SMBT3904
Zetex (England)
FMMT3904CT-ND
Note: Transistors must be diode connected (base shorted to
collector).
PC Board Layout
Follow these guidelines to reduce the measurement
error of the temperature sensors:
1)
2)
High-frequency EMI is best filtered at DXP and DXN
with an external 2200pF capacitor. This value can be
increased to about 3300pF (max), including cable
capacitance. Capacitance higher than 3300pF introduces errors due to rise time of the switched current
source. Nearly all noise sources tested cause the ADC
measurements to be higher than the actual temperature, typically by +1°C to +10°C, depending on the frequency and amplitude.
Place the MAX6660 as close as is practical to the
remote diode. In noisy environments, such as a
computer motherboard, this distance can be 4in to
8in (typ). This length can be increased if the worst
noise sources are avoided. Noise sources include
CRTs, clock generators, memory buses, and
ISA/PCI buses.
Do not route the DXP-DXN lines next to the deflection coils of a CRT. Also, do not route the traces
across fast digital signals, which can easily introduce +30°C error, even with good filtering.
3)
Route the DXP and DXN traces in parallel and in
close proximity to each other, away from any higher voltage traces, such as +12VDC. Leakage currents from PC board contamination must be dealt
with carefully since a 20MΩ leakage path from
DXP to ground causes about +1°C error. If highvoltage traces are unavoidable, connect guard
traces to GND on either side of the DXP-DXN
traces (Figure 2).
4)
Route through as few vias and crossunders as possible to minimize copper/solder thermocouple
effects.
5)
When introducing a thermocouple, make sure that
both the DXP and the DXN paths have matching
thermocouples. A copper-solder thermocouple
exhibits 3µV/°C, and it takes about 200µV of voltage
error at DXP-DXN to cause a +1°C measurement
error. Adding a few thermocouples causes a negligible error.
6)
Use wide traces. Narrow traces are more inductive
and tend to pick up radiated noise. The 10mil widths
and spacings that are recommended in Figure 2 are
not absolutely necessary, as they offer only a minor
ADC Noise Filtering
The ADC is an integrating type with inherently good noise
rejection, especially of low-frequency signals such as
60Hz/120Hz power-supply hum. Micropower operation
places constraints on high-frequency noise rejection;
therefore, careful PC board layout and proper external
noise filtering are required for high-accuracy remote measurements in electrically noisy environments.
MODEL NO.
Central Semiconductor (USA)
Fairchild Semiconductor (USA)
Rohm Semiconductor (Japan)
Samsung (Korea)
Siemens (Germany)
Thermal Mass and Self-Heating
When measuring the temperature of a CPU or other IC
with an on-chip sense junction, thermal mass has virtually no effect; the measured temperature of the junction
tracks the actual temperature within a conversion cycle.
When measuring temperature with discrete remote sensors, smaller packages (e.g., a SOT23) yield the best
thermal response times. Take care to account for thermal gradients between the heat source and the sensor,
and ensure that stray air currents across the sensor
package do not interfere with measurement accuracy.
Self-heating does not significantly affect measurement
accuracy. Remote-sensor self-heating due to the diode
current source is negligible.
MAX6660
ly measure the die temperature of CPUs and other ICs
that have on-board temperature-sensing diodes.
The transistor must be a small-signal type with a relatively high forward voltage. Otherwise, the A/D input
range could be violated. The forward voltage must be
greater than 0.25V at 10µA. Check to ensure this is true
at the highest expected temperature. The forward voltage must be less than 0.95V at 100µA. Check to ensure
that this is true at the lowest expected temperature.
Large power transistors, power diodes, or small-signal
diodes must not be used. Also, ensure that the base
resistance is less than 100Ω. Tight specifications for
forward current gain (50 < β <150, for example) indicate that the manufacturer has good process controls
and that the devices have consistent VBE characteristics. Bits 5–2 of the Mode register can be used to
adjust the ADC gain to achieve accurate temperature
measurements with diodes not included in the recommended list or to individually calibrate the MAX6660 for
use in specific control systems.
_______________________________________________________________________________________
7
MAX6660
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
improvement in leakage and noise over narrow
traces. Use wider traces when practical.
7)
PC Board Layout Checklist
• Place the MAX6660 close to the remote-sense junction.
• Keep traces away from high voltages (+12V bus).
• Keep traces away from fast data buses and CRTs.
• Use recommended trace widths and spacings.
• Place a ground plane under the traces.
• Use guard traces flanking DXP and DXN and connecting to GND.
• Place the noise filter and the 0.1µF V CC bypass
capacitors close to the MAX6660.
Twisted-Pair and Shielded Cables
Use a twisted-pair cable to connect the remote sensor
for remote-sensor distances longer than 8in or in very
noisy environments. Twisted-pair cable lengths can be
between 6ft and 12ft before noise introduces excessive
errors. For longer distances, the best solution is a
shielded twisted pair like that used for audio microphones. For example, Belden #8451 works well for distances up to 100ft in a noisy environment. At the
device, connect the twisted pair to DXP and DXN and
the shield to GND. Leave the shield unconnected at the
remote sensor.
For very long cable runs, the cable’s parasitic capacitance often provides noise filtering, so the 2200pF
capacitor can often be removed or reduced in value.
Cable resistance also affects remote-sensor accuracy.
For every 1Ω of series resistance, the error is approximately +1/2°C.
Low-Power Standby Mode
Standby mode reduces the supply current to less than
10µA by disabling the ADC, the control loop, and the
fan driver. Enter hardware standby mode by forcing
STBY low, or enter software standby by setting the
RUN/STOP bit to 1 in the Configuration Byte register.
Hardware and software standbys are very similar; all
data is retained in memory, and the SMB interface is
alive and listening for SMBus commands. The only difference is that in software standby mode, the one-shot
command initiates a conversion. With hardware standby, the one-shot command is ignored. Activity on the
SMBus causes the device to draw extra supply current.
Driving STBY low overrides any software conversion
command. If a hardware or software standby command
8
GND
Add a 50Ω resistor in series with V CC for best
noise filtering (see Typical Operating Circuit).
10mils
10mils
DXP
MINIMUM
10mils
DXN
10mils
GND
Figure 2. Recommended DXP-DXN PC Trace
is received while a conversion is in progress, the conversion cycle is interrupted, and the temperature registers are not updated. The previous data is not changed
and remains available.
SMBus Digital Interface
From a software perspective, the MAX6660 appears as
a set of byte-wide registers that contain temperature
data, alarm threshold values, and control bits. The
device responds to the same SMBus slave address for
access to all functions.
The MAX6660 employs four standard SMBus protocols:
Write Byte, Read Byte, Send Byte, and Receive Byte
(Figures 3, 4, 5) to program the alarm thresholds, read
the temperature data, and read and write to all fan control loop registers. The shorter Receive Byte protocol
allows quicker transfers, provided that the correct data
register was previously selected by a Read Byte
instruction. Use caution with the shorter protocols in
multimaster systems, since a second master could
overwrite the command byte without informing the first
master.
Table 2. Temperature Data Format (Two’s
Complement)
TEMP. (°C)
DIGITAL OUTPUT
+127
+125.00
+25
+0.125
0
-0.125
-25
0111 1111 111
0111 1101 000
0001 1001 000
0000 0000 001
0000 0000 000
1111 1111 111
1110 0111 111
-40
1101 1000111
_______________________________________________________________________________________
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
S
ADDRESS
WR
ACK
COMMAND
7 bits
ACK
DATA
8 bits
Slave Address: equivalent to chip-select line of
a 3-wire interface
ACK
P
8 bits
Command Byte: selects which
register you are writing to
MAX6660
Write Byte Format
1
Data Byte: data goes into the register
set by the command byte (to set
thresholds, configuration masks, and
sampling rate)
Read Byte Format
S
ADDRESS
WR
ACK
COMMAND
7 bits
ACK
S
8 bits
Slave Address: equivalent to chip-select line
ADDRESS
RD
ACK
DATA
7 bits
Command Byte: selects
which register you are
reading from
P
Data Byte: reads from
the register set by the
command byte
Receive Byte Format
WR
ACK
COMMAND
7 bits
ACK
P
S
ADDRESS
8 bits
RD
ACK
DATA
7 bits
///
P
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
Command Byte: sends command with no data, usually
used for one-shot command
S = Start condition
P = Stop condition
///
8 bits
Slave Address: repeated
due to change in dataflow direction
Send Byte Format
S
ADDRESS
Shaded = Slave transmission
/// = Not acknowledged
Figure 3. SMBus Protocols
A
tLOW
B
C
tHIGH
E
D
F
G
I
H
J
K
L
M
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
J = ACKNOWLEDGE CLOCKED INTO MASTER
K = ACKNOWLEDGE CLOCK PULSE
L = STOP CONDITION, DATA EXECUTED BY SLAVE
M = NEW START CONDITION
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
Figure 4. SMBus Write Timing Diagram
A
B
tLOW
C
D
E
F
G
tHIGH
H
I
J
K
L
M
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
I = MASTER PULLS DATA LINE LOW
J = ACKNOWLEDGE CLOCKED INTO SLAVE
K = ACKNOWLEDGE CLEAR PULSE
tBUF
J = STOP CONDITION, DATA
EXECUTED BY SLAVE
K = NEW START CONDITION
Figure 5. SMBus Read Timing Diagram
_______________________________________________________________________________________
9
MAX6660
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
The SMBus interface includes a Timeout, which resets
the interface any time the data or clock line is held low
for more than 35ms, ensuring that the MAX6660 can
never “lock” the bus.
Remote Temperature Data Register
Two registers, at addresses 00h and 01h, store the
measured temperature data from the remote diode. The
data format for the remote-diode temperature is 10 bit
+ sign, with each bit corresponding to 0.125°C, in two’s
complement format (Table 2). Register 01h contains the
sign bit and the first 7 bits. Bits 7, 6, 5 of Register 00h
are the 3LSBs. If the two registers are not read at the
same time, their contents may be the result of two different temperature measurements leading to erroneous
temperature data. For this reason, a parity bit has been
added to the 00h register. Bit 4 of this is zero if the data
in 00h and 01h are from the same temperature conversion and are 1 if they are not. The remaining bits are
“don’t cares.” When reading temperature data, register
01h must be read first.
Alarm Threshold Registers
The MAX6660 provides four alarm threshold registers
that can be programmed with a two’s complement temperature value with each bit corresponding to 1°C. The
registers are THIGH, TLOW, TMAX, and THYST. If the
measured temperature equals or exceeds THIGH, or is
less than TLOW, an ALERT interrupt is asserted. If the
measured temperature equals or exceeds TMAX, the
OVERT output is asserted (see Over-Temperature
Output (OVERT) section). If ALERT and OVERT are activated by the temperature exceeding TMAX, they can
only be deasserted by the temperature dropping below
THYST. The POR state for THIGH is +127°C, for TLOW is 55°C, for TMAX is +100°C, and for THYST is +95°C.
Over-Temperature Output (OVERT)
The MAX6660 has an over-temperature output (OVERT)
that is set when the remote-diode temperature crosses
the limits set in the TMAX register. It is always active if
the remote-diode temperature exceeds T MAX . The
OVERT line clears when the temperature drops below
THYST. Bit 1 of the Configuration register can be used
to mask the OVERT output. Typically, the OVERT output
is connected to a power-supply shutdown line to turn
system power off. At power-up, OVERT defaults to
active-low but the polarity can be reversed by setting
bit 5 of the Configuration register.
The OVERT line can be taken active, either by the
MAX6660 or driven by an external source. An external
source can be masked by bit 2 of the Configuration
register. When OVERT is active, the fan loop forces the
fan to full speed and bit 1 of the Status register is set.
10
Diode Fault Alarm
A continuity fault detector at DXP detects an open circuit between DXP and DXN. If an open or short circuit
exists, register 01h is loaded with 000 0000.
Additionally, if the fault is an open circuit, bit 2 of the
status byte is set to 1 and the ALERT condition is activated at the end of the conversion. Immediately after
POR, the Status register indicates that no fault is present until the end of the first conversion.
ALERT Interrupts
The ALERT interrupt output signal is activated (unless it
is masked by bit 7 in the Configuration register) whenever the remote-diode’s temperature is below TLOW or
exceeds THIGH. A disconnected remote diode (for continuity detection), a shorted diode, or an active OVERT
also activates the ALERT signal. The activation of the
ALERT signal sets the corresponding bits in the Status
register. There are two ways to clear the ALERT: sending the ALERT Response Address or reading the Status
register.
The interrupt does not halt automatic conversions. New
temperature data continues to be available over the
SMBus interface after ALERT is asserted. ALERT is an
active-low open-drain output so that devices can share
a common interrupt line. The interrupt is updated at the
end of each temperature conversion so, after being
cleared, reappears after the next temperature conversion, if the cause of the fault has not been removed.
By setting bit 0 in the Configuration register to 1, the
Status register can only be cleared by sending the
SMBus Alert Response Address (see Alert Response
Address section). Prior to taking corrective action,
always check to ensure that an interrupt is valid by
reading the current temperature. To prevent recurring
interrupts, the MAX6660 asserts ALERT only once per
crossing of a given temperature threshold. To enable a
new interrupt, the value in the limit register that triggered the interrupt must be rewritten. Other interrupt
conditions can be caused by crossing the opposite
temperature threshold, or a diode fault can still cause
an interrupt.
Example: The remote temperature reading crosses
T HIGH, activating ALERT. The host responds to the
interrupt and reads the Alert Response Address, clearing the interrupt. The system may also read the status
byte at this time. If the condition persists, the interrupt
reappears. Finally, the host writes a new value to
T HIGH . This enables the device to generate a new
THIGH interrupt if the alert condition still exists.
______________________________________________________________________________________
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
The Alert Response can activate several different slave
devices simultaneously, similar to the I2C™ General
Call. If more than one slave attempts to respond, bus
arbitration rules apply, and the device with the lower
address code wins. The losing device does not generate an Acknowledge and continues to hold the ALERT
line low until cleared. (The conditions for clearing an
alert vary depending on the type of slave device.)
Successful completion of the Alert Response protocol
clears the interrupt latch, provided the condition that
caused the alert no longer exists. If the condition still
exists, the device reasserts the ALERT interrupt at the
end of the next conversion.
Table 3. Read Format for Alert Response
Address
Command Byte Functions
The 8-bit Command Byte register (Table 4) is the master index that points to the other registers within the
MAX6660. The register’s POR is 0000 0000, so that a
receive byte transmission (a protocol that lacks the
BIT
NAME
7 (MSB)
6
5
4
3
2
1
0 (LSB)
ADD7
ADD6
ADD5
ADD4
ADD3
ADD2
ADD1
1
FUNCTION
Provide the current MAX6660
slave address
Logic 1
command byte) that occurs immediately after POR
returns the current remote temperature data.
One-Shot
The one-shot command immediately forces a new conversion cycle to begin. In software standby mode
(RUN/STOP bit = high), a new conversion is begun, after
which the device returns to standby mode. If a conversion
I2C is a trademark of Philips Corp.
is in progress when a one-shot command is received, the
command is ignored. If a one-shot command is between
conversions, in autoconvert mode (RUN/STOP bit = low),
a new conversion begins immediately.
Configuration Byte Functions
The Configuration Byte register (Table 5) is used to
mask (disable) the ALERT signal to place the device in
software standby mode, to change the polarity of
OVERT, to set MAX6660 to thermal open/closed-loop
mode, to inhibit the OVERT signal, to mask OVERT output, and to clear the ALERT signal. The MAX6660 has a
write protection feature (bit 4) that prohibits write commands to bits 6–3 of the Configuration register. It also
prohibits writes to the T MAX , T HYST , and Fan
Conversion Rate registers.
Status Byte Functions
The status byte (Table 6) reports several fault conditions. It indicates when the fan driver transistor of the
MAX6660 has overheated and/or is thermal shutdown,
when the temperature thresholds, TLOW and THIGH,
have been exceeded, and whether there is an open circuit in the DXP-DXN path. The register also reports the
state of the ALERT and OVERT lines and indicates
when the fan driver is fully on. The final bit in the Status
register indicates when a fan failure has occurred.
After POR, the normal state of the flag bits is zero,
assuming no alert or overtemperature conditions are
present. Bits 2 through 6 of the Status register are
cleared by any successful read of the Status register,
unless the fault persists. The ALERT output follows the
status flag bit. Both are cleared when successfully
read, but if the condition still exists, the ALERT is
reasserted at the end of the next conversion.
The MAX6660 incorporates collision avoidance so that
completely asynchronous operation is allowed between
SMBus operations and temperature conversions.
When autoconverting, if the THIGH and TLOW limits are
close together, it is possible for both high-temperature
and low-temperature status bits to be set, depending
on the amount of time between status read operations.
In these circumstances, it is best not to rely on the status bits to indicate reversals in long-term temperature
changes. Instead, use a current temperature reading to
establish the trend direction.
Manufacturer and Device ID Codes
Two ROM registers provide manufacturer and device
ID codes. Reading the manufacturer ID returns 4D,
which is the ASCII code M (for Maxim). Reading the
device ID returns 09h, indicating the MAX6660 device.
If READ WORD 16-bit SMBus protocol is employed
______________________________________________________________________________________
11
MAX6660
Alert Response Address
The SMBus Alert Response interrupt pointer provides
quick fault identification for simple slave devices that
lack the complex, expensive logic needed to be a bus
master. Upon receiving an ALERT interrupt signal, the
host master can broadcast a Receive Byte transmission
to the Alert Response slave address (see Slave
Addresses section). Then, any slave device that generated an interrupt attempts to identify itself by putting its
own address on the bus (Table 3).
MAX6660
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
Table 4. Command-Byte Bit Assignments
REGISTERS
RRL
COMMAND
00h
POR STATE
00000000
FUNCTION
Read Remote Temperature Low Byte (3MSBs)
RRH
01h
00000000
Read Remote Temperature High Byte (Sign Bit and First 7 Bits)
RSL
02h
00000000
Read Status Byte
RCL/WCL
03h/09h
00000000
Read/Write Configuration Byte
RFCR/WFCR
04h/0Ah
00000010
Read/Write Fan-Conversion Rate Byte
RTMAX/WTMAX
10h/12h
01100100 at +100°C
RTHYST/WTHYST
11h/13h
01011111 at +95°C
Read/Write Remote THYST
RTHIGH/WTHIGH
07h/0Dh
01111111 at +127°C
Read/Write Remote THIGH
RTLOW/WTLOW
Read/Write Remote TLOW
Read/Write Remote TMAX
08h/0Eh
11001001 at -55°C
SPOR
FCh
N/A
Write Software POR
OSHT
0Fh
N/A
Write One-Shot Temperature Conversion
RTFAN/WTFAN
14h/19h
00111100 at +60°C
RFSC/WFSC
15h/1Ah
00000000
Read/Write Fan-Speed Control
RFG/WFG
16h/1Bh
10000000
Read/Write Fan Gain
RFTC
Read/Write Fan-Control Threshold Temperature TFAN
17h
00000000
Read Fan Tachometer Count
RFTCL/WFTCL
18h/1Ch
11111111
Read/Write Fan Tachometer Count Limit (Fan Failure Limit)
RFCD/WFCD
1Dh/1Eh
00000001
Read/Write Fan Count Divisor
RFS/WFS
1Fh/20h
11111111
Read/Write Full-Scale Register
RM/WM
FAh/FBh
00000000
Read/Write Mode Register
ID Code
FEh
01001101
Read Manufacturer ID Code
ID Code
9Dh
00001001
Read Device ID Code
(rather than the 8-bit READ BYTE), the LSB contains the
data and the MSB contains 00h in both cases.
Slave Addresses
The MAX6660 can be programmed to have one of nine
different addresses by pin strapping ADD0 and ADD1
so that up to nine MAX6660s can reside on the same
bus without address conflicts. See Table 7 for address
information.
The address pin state is checked at POR only, and the
address data stays latched to reduce quiescent supply
current due to the bias current needed for high-Z state
detection.
The MAX6660 also responds to the SMBus Alert
Response slave address (see the Alert Response
Address section).
falls below 1.91V (typ, see Electrical Characteristics).
When power is first applied and VCC rises above 2.0V
(typ), the logic blocks begin operating, although reads
and writes at VCC levels below 3.0V are not recommended. A second VCC comparator, the ADC undervoltage lockout (UVLO) comparator prevents the ADC
from converting until there is sufficient headroom (VCC
= 2.8V typ).
The SPOR software POR command can force a power-on
reset of the MAX6660 registers through the serial interface.
Use the SEND BYTE protocol with COMMAND = FCh.
POR and UVLO
The MAX6660 has a volatile memory. To prevent unreliable power-supply conditions from corrupting the data
in memory and causing erratic behavior, a POR voltage
detector monitors VCC and clears the memory if VCC
12
______________________________________________________________________________________
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
MAX6660
Table 5. Configuration-Byte Bit Assignments
POR
STATE
DESCRIPTION
BIT
NAME
7(MSB)
ALERT Mask
0
When set to 1, ALERT is masked from internally generated errors.
6
Run/Stop
0
When set to 1, the MAX6660 enters low-power standby.
5
OVERT Polarity
0
0 provides active low, 1 provides active high.
0
When set to 1, Write Protect is in effect for the following applicable registers:
1. Configuration register bits 6, 5, 4, 3
2. TMAX register
3. THYST register
4. Fan Conversion Rate register
4
Write Protect
3
Thermal Closed/
Open Loop
0
When set to 1, the thermal loop is open. The Fan Speed Control retains the last
closed-loop value unless overwritten by a bus command (in closed loop, the Fan
Speed Control is read only). If Fan Mode is set to Open Loop by writing a 1 to bit
0 of the Fan Gain register, then this bit is automatically set.
2
OVERT Input Inhibit
0
When set to 1, an external signal on OVERT is masked from bit 1 of the Status
register.
1
Mask OVERT
Output
0
Mask the OVERT output from an internally generated overtemperature error.
0
ALERT Clear Mode
0
When 0, reading the Status register clears or sending an Alert Response Request
clears ALERT (if the fault condition is no longer true). When set high, only an Alert
Response Request clears ALERT.
Table 6. Status-Byte Bit Assignments
BIT
NAME
POR
STATE
7 (MSB)
MAX6660 Overheat
0
When high, indicates that the fan driver transistor of the MAX6660 has
overheated (temp > +150°C) and is in thermal shutdown. The fan driver remains
disabled until temperature falls below +140°C.
6
ALERT
0
When high, indicates ALERT has been activated (pulled low), regardless of
cause (internal or external).
5
Fan Driver Full
Scale
0
When high, indicates the fan driver is at full scale. Only valid in fan
closed-loop mode (Register FG B170 = 0). Set to high in fan open-loop mode
(Register FG B170 = 1).
4
Remote High
0
When high, the remote-junction temperature exceeds the temperature in the
Remote High register.
3
Remote Low
0
When high, the remote-junction temperature is lower than the temperature in the
Remote Low register.
2
Diode Open
0
When high, the remote-junction diode is open.
1
OVERT
0
When high, indicates that OVERT has been activated, regardless of cause
(internal or external).
0
Fan Failure
0
When high, indicates the count in the Fan Tachometer Count register is higher
than the limit set in the Fan Tachometer Count Limit register.
DESCRIPTION
______________________________________________________________________________________
13
MAX6660
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
Table 7. POR Slave Address Decoding
(ADD0 and ADD1)
ADD0
GND
ADD1
GND
ADDRESS
0011 000
GND
High-Z
0011 001
•
•
•
•
•
Interrupt latch is cleared.
ADC begins autoconverting.
Command register is set to 00h to facilitate quick
internal Receive Byte queries.
THIGH and TLOW registers are set to +127°C and
-55°C, respectively.
T HYST and T MAX are set to +95°C and +100°C,
respectively.
GND
VCC
0011 010
High-Z
GND
0101 001
High-Z
High-Z
0101 010
Fan Control
High-Z
VCC
0101 011
The fan-control function can be divided into the thermal
loop, the fan-speed-regulation loop (fan loop), and the
fan-failure sensor. The thermal loop sets the desired fan
speed based on temperature while the fan-speed-regulation loop uses an internally divided down reference
oscillator to synchronize to and regulate the fan speed.
The fan-speed-regulation loop includes the fan driver
and the tachometer sensor. The fan-failure sensor provides a FAN FAIL alarm that signals when the fan
tachometer count is greater than the fan tachometer
value, which corresponds to a fan going slower than
the limit. The fan driver is an N-channel, 4Ω, 320mA
MOSFET with a 16V maximum VDS whose drain terminal connects to the low side of the fan. The tachometer
sensor (TACH IN) of the MAX6660 is driven from the
tachometer output of the fan and provides the feedback signal to the fan-speed-regulation loop for controlling the fan speed. For fans without tachometer outputs,
the MAX6660 can generate its own tachometer pulses
by monitoring the commutating current pulses (see
Commutating Current Pulses section).
VCC
GND
1001 100
VCC
High-Z
1001 101
VCC
VCC
1001 110
TEMPDATA
FCR
0.25s TO 16s
UPDATE
TFAN
FSC
Thermal Loop
FG
4/5/6 BITS
FAN CONTROL
DRIVER CIRCUIT
Figure 6. MAX6660 Thermal Loop
Power-up defaults include:
14
Thermal Closed Loop
The MAX6660 can be operated in a complete closedloop mode, with both the thermal and fan loops closed,
where the remote-diode sensor temperature directly
controls fan speed. Setting bit 3 of the Configuration
register to zero places the MAX6660 in thermal closed
loop (Figure 6). The remote-diode temperature sensor
is updated every 250ms. The value is stored in a temporary register (TEMPDATA) and compared to the programmed temperature values in the T HIGH , T LOW ,
THYST, TMAX, and TFAN registers to produce the error
outputs OVERT and ALERT.
The Fan Conversion Rate (FCR) register (Table 8) can
be programmed to update the TEMPDATA every 0.25s
______________________________________________________________________________________
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
The Fan Gain (FG) register (Table 10) determines the
number of bits used in the Fan-Speed Control register.
This gain can be set to 4, 5, or 6. If bits 6 and 5 are set
to 10, all 6 bits of TEMPDATA are used directly to program the speed of the fan so that the thermal loop has
a control range of +32°C with 64 temperature steps
Table 8. Fan Conversion Update Rate
DATA
BINARY
FAN
UPDATE
RATE (Hz)
SECONDS
BETWEEN
UPDATES
00h
01h
02h
03h
04h
05h
00000000
00000001
00000010
00000011
00000100
00000101
0.0625
0.125
0.25
0.5
1
2
16
8
4 (POR)
2
1
0.5
06h
00000110
4
0.25
from fan off to full fan speed. If bits 6 and 5 are set to
01, the thermal control loop has a control range of 16°C
with 32 temperature steps from fan off to full fan speed.
If bits 6 and 5 are set to 00, the thermal control loop
has a control range of 8°C with 16 temperature steps
from fan off to full fan speed.
Thermal Open Loop
Setting bit 3 of the Configuration register (Table 5) to 1
places the MAX6660 in thermal open loop. In thermal
open-loop mode, the FSC register is read/write and contains the 7-bit result of UPDATE subtracted from TFAN.
In fan open loop, the FSC register programs fan voltage
with acceptable values from 0 to 64 (40h). For example,
in fan open-loop mode, 0 corresponds to zero output
and 40h corresponds to full fan voltage, for example
(11.3V, typ). Proportional control is available over the 0
to 63 (3Fh) range with 64 (40h) forcing unconditional
full speed. In fan closed-loop mode, 0 corresponds to
zero fan speed and 10h corresponds to 100% fan
speed, when the FG register is set to 4 bits, 20h at 5
bits, and 3Fh at 6 bits.
Fan Loop
The fan controller (Figure 7) is based on an up/down
counter where there is a reference clock representing
the desired fan speed counting up, while tachometer
pulses count down. The reference clock frequency is
divided down from the MAX6660 internal clock to a frequency of 8415Hz. This clock frequency is further
divided by the Fan Full-Scale (FS) register (Table 11),
which is limited to values between 127 to 255, for a
Table 9. Fan-Speed Control Register (RFSC/W FSC)
REGISTER/
ADDRESS
COMMAND
FSC (15h = READ, 1Ah = WRITE)
READ/WRITE FAN DAC REGISTER
Bit
7
N/A
6
Overflow Bit
5
(MSB)
4
Data
3
Data
2
Data
1
Data
0
Data
POR State
0
0
0
0
0
0
0
0
Note: In thermal closed-loop mode, the fan DAC is read only and contains the difference between the measured temperature and
the fan threshold temperature. The LSB is 0.5°C and bit 5 is 16°C. If the difference is higher than 32°C, then bit 6 is set to 1,
together with bits 5–0. Bit 6 can be regarded as an overflow bit for differences higher than 32°C. Bit 7 is always zero. The FSC
register can be programmed directly in thermal open mode. In fan closed-loop mode, FSC programs fan speed with acceptable values from 0 to 10h, when FG is set to 4 bits or 20h when FG is set to 5 bits, or 3F when FG is set to 6 bits. In fan openloop mode, FSC programs fan voltage with acceptable values from 0 to 64 (40h). For example, in fan closed-loop mode, zero
corresponds to zero fan speed and 10h corresponds to 100% fan speed. In fan open-loop mode, zero corresponds to zero
volts out and 40h corresponds to full fan voltage (11.3V typ).
______________________________________________________________________________________
15
MAX6660
to 16s and stores the data in an update register
(UPDATE). This enables control over timing of the thermal feedback loop to optimize stability.
The Fan Threshold (TFAN) register value is subtracted
from the UPDATE register value. If UPDATE exceeds
TFAN temperature, then the Fan-Speed Control (FSC)
register (Table 9) stores the excess temperature in the
form of a 7-bit word with an LSB of 0.5°C for bits 4–0,
with bit 5 = 16°C. If the difference between the TFAN
and UPDATE registers is higher than 32°C, then bit 6 is
set to 1, along with bits 5–1. In thermal closed loop, the
Fan Speed Control register is READ ONLY.
MAX6660
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
range of reference clock full-scale frequencies from
33Hz to 66Hz. A further division is performed to set the
actual desired fan speed. This value appears in the FanSpeed Control register in thermal closed-loop mode. If
the thermal loop is open, but the fan-speed control loop
is closed, this value is programmable in the fan DAC.
When in fan open-loop mode (which forces the thermal
loop to open), the FSC register becomes a true DAC,
programming the voltage across the fan from zero to
nearly 12V to VVFAN.
The tachometer input (TACH IN) includes a programmable (1/2/4/8) prescalar. The divider ratio for the
(1/2/4/8) prescalar is stored in the Fan Count Divisor
(FCD) register (Table 12). In general, the values in FC
should be set such that the full-speed fan frequency
divided by the prescalar fall in the 33Hz to 66Hz range.
The (UP/DN) counter has six stages that form the input
of a 6-bit resistive ladder DAC whose voltage is divided
down from VVFAN. This DAC determines the voltage
applied to the fan. Internal coding is structured such
that when in fan closed-loop mode (which includes
thermal closed loop) that higher values in the 0 to 32
range correspond to higher fan speeds and greater
voltage across the fan. In fan open-loop mode (which
forces thermal open loop) acceptable values range
from 0 to 63 (3Fh) for proportional control; a value of 64
(40h) commands unconditional full speed.
Table 10. Fan Gain Register (RFG/WFG)
REGISTER/
ADDRESS
COMMAND
FG (16h = READ, 1Bh = WRITE)
READ/WRITE FAN GAIN REGISTER
Bit
7
Reserved
6
Fan Gain
5
Fan Gain
4
3
2
SMBus
Timeout
POR State
1
0
0
x
x
x
1
Fan
Feedback
Mode
0
0
Fan
Driver
Mode
0
Notes:
Bit 7:
Reserved. Always 1. If bit 7 is written to zero, then bits 7, 6, and 5 are set to 100.
Bits 6, 5: Fan gain of the fan loop, where 00 = 8°C with resolution = 4 bits. This means that the fan reaches its full-scale (maximum)
speed when there is an 8°C difference between the remote-diode temperature and the value stored in TFAN, 01 = 16°C,
with a 5-bit resolution and 10 = 32°C with a 6-bit resolution.
Bits 4, 3: Reserved.
Bit 2:
SMBus Timeout. When 1, the SMBus timeout is disabled. This permits full I2C compatibility with minimum clock frequency
to DC.
Bit 1:
Fan feedback mode. When bit 1 is set to 1, the fan loop uses driver current sense rather than tachometer feedback.
Bit 0:
Fan Driver Mode. When bit 0 is set to 1, the fan driver is in fan open-loop mode. In this mode, the fan DAC programs the
fan voltage rather than the fan speed. Tachometer feedback is ignored, and the user must consider minimum fan drive and
startup issues. Thermal open loop is automatically set to 1 (see Configuration register). Fan Fail (bit 0 of the Status register)
is set to 1 in this mode and should be ignored.
Table 11. Fan Full-Scale Register (RFS/WFS)
REGISTER/
ADDRESS
COMMAND
FS (1Fh = READ, 20h = WRITE)
READ/WRITE MAXIMUM TEMPERATURE LIMIT BYTE
Bit
7
(MSB)
6
Data Bit
5
Data Bit
4
Data Bit
3
Data Bit
2
Data Bit
1
Data Bit
0
Data Bit
POR State
1
1
1
1
1
1
1
1
Note: This register determines the maximum reference frequency at the input of the phase detector. It controls a programmable
divider that can be set anywhere between 127 and 255. The value in this register must be set in accordance with the procedure described in the TACH IN section (equivalent to 8415/(Fan Frequency/Fan Count Divisor)). Programmed value below 127
defaults to 127. POR value is 255.
16
______________________________________________________________________________________
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
REGISTER/
ADDRESS
COMMAND
FCD (1Dh = READ, 1Eh = WRITE)
READ LIMIT/FAILURE REGISTER
Bit
7
6
5
4
3
2
1
0
POR State
0
0
0
0
0
0
0
1
Notes: This byte sets the prescalar division ratio for tachometer or current-sense feedback. (This register does not apply to the tach
signal used in the Fan-Speed register). Select this value such that the fan frequency (RPM/60 x number of poles) divided by
the FCD falls in the 33Hz to 66Hz range. See TACH IN section.
Bits 1, 0: 00 = divide by 1, 01 = divide by 2, 10 = divide by 4, 11 = divide by 8.
TEMPDATA
REF FREQUENCY
8415Hz
TACH IN
FS
127/255
FG
4/5/6
FTC
FTCL
1/64
COUNTER
COMPARATOR
FCD
1/2/4/8
FAN OPEN/CLOSED
LOOP
FAN FAIL
UP/DOWN
VFAN
FAN
DAC
DRIVER
N
Figure 7. MAX6660 Fan Loop Functional Diagram
______________________________________________________________________________________
17
MAX6660
Table 12. Fan Count Divisor Register (RFCD/WFCD)
MAX6660
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
Fan Conversion Rate Byte
TACH IN
The FCR register (Table 8) programs the fan’s update
time interval in free-running autonomous mode (RUN/
STOP = 0). The conversion rate byte’s POR state is 02h
(0.25Hz). The MAX6660 uses only the 3LSBs of this
register. The 4MSBs are “don’t cares.” The update rate
tolerance is ±25% (max) at any rate setting.
The TACH IN input connects directly to the tachometer
output of a fan. Most commercially available fans have
two tachometer pulses per revolution. The tachometer
input is fully compatible with tachometer signals, which
are pulled up to VVFAN.
Fan Closed Loop
When a fan does not come equipped with a tachometer
output, the MAX6660 uses commutating generated current pulses for speed detection. This mode is entered
by setting the FG register’s bit 1 to 1. An internal current pulse is generated whenever a step increase
occurs in the fan current. Connecting an external resistor between the GAIN pin and VCC can reduce the sensitivity of current pulses to changes in fan current. In
general, the lower the resistor value, then the lower the
sensitivity, and the fan is easier to turn ON and can use
a smaller external capacitor across its terminals. A suitable resistor range is 1kΩ to 5kΩ.
In the thermal open loop but fan closed-loop mode, the
feedback loop can be broken and the temperature data
read directly. After performing external manipulations,
the result can be injected back into the fan control loop
by writing to the FSC register to control fan speed. Fan
closed-loop mode is selected by setting bit 0 of the FG
to zero.
Fan Open Loop
In fan control open-loop mode, selected by setting bit 0
of the FG register to 1, the gain block is bypassed and
the FSC register is used to program the fan voltage
rather than the fan speed. In the fan open-loop mode,
both the temperature feedback loop and fan-speed
control loop are broken, which results in the TACH IN
input becoming disabled. A direct voltage can be
applied after reading the temperature, using the FSC
register, to the fan that provides more flexibility in external control algorithms. By selecting fan open-loop
mode, the MAX6660 automatically invokes thermal
open-loop mode.
Fan Driver
The fan driver consists of an amplifier and low-side
NMOS device whose drain is connected to FAN and is
the input from the low side of the fan. The FET has a
typical 4Ω on-resistance with a typical 320mA maximum current limit. The driver has a thermal shutdown
sensor that senses the driver’s temperature. It shuts
down the driver if the temperature exceeds +150°C.
The driver is reactivated once the temperature has
dropped below +140°C.
Commutating Current Pulses
Fan-Failure Detection
The MAX6660 detects fan failure by comparing the
value in the Fan Tachometer Count (FTC) register, a
READ ONLY register, with a limit stored in the Fan
Tachometer Count Limit (FTCL) register (Table 13). A
counter counts the number of on-chip oscillator pulses
between successive tachometer pulses and loads the
FTC register every time a tachometer pulse arrives. If
the value in FTC is greater than the value in FTCL, a
failure is indicated. In fan closed loop, a flag is activated when the fan is at full speed.
Set the Fan Tachometer Limit Byte to:
fL = 8415/[N ✕ f]
where N = fan fail ratio and f = frequency of fan
tachometer.
The factor N is less than 1 and produces a fan failure
indication when the fan should be running at full speed
but is only reaching a factor N of its expected frequency. The factor N is typically set to 0.75 for all fan
Table13. Fan Tachometer Count Limit (RFTCL/WFTCL)
REGISTER/
ADDRESS
FL (18h = READ, 1Ch = WRITE)
COMMAND
READ LIMIT/FAILURE REGISTER
BIT
7
(MSB)
6
5
4
3
2
1
0
POR STATE
1
1
1
1
1
1
1
1
Note: The Fan Limit register is programmed with the maximum speed that is compared against the value in the FS register (Address
17) to produce an error output to the Status register.
18
______________________________________________________________________________________
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
Applications Information
Mode Register
Resistance in series with the remote-sensing junction
causes conversion errors on the order of 0.5°C per ohm.
The MAX6660 Mode register gives the ability to eliminate the effects of external series resistance of up to
several hundred ohms on the remote temperature measurement and to adjust the temperature measuring
ADC to suit different types of remote-diode sensor. For
systems using external switches or long cables to connect to the remote sensor, a parasitic resistance cancellation mode can be entered by setting Mode register
bit 7 = 1. This mode requires a longer conversion time
and so can only be used for fan conversion rates of
1Hz or slower. Bits 6, 1, and 0 are Reserved. Use bits
5–2 to adjust the ADC gain to achieve accurate temperature measurements with diodes not included in the
recommended list or to individually calibrate the
MAX6660 for use in specific control systems. These
bits adjust gain to set the temperature reading at
+25°C, using two’s complement format reading. Bit 5 is
the sign (1 = increase, 0 = decrease), bit 4 = 2°C shift,
bit 3 = 1°C shift, bit 2 = 1/2°C shift.
General Programming Techniques
The full-scale range of the fan regulation loop is
designed to accommodate fans operating between the
1000rpm to 8000rpm range of different fans. An onchip 8415Hz oscillator is used to generate the 33Hz to
66Hz reference frequency. Choose the prescalar such
that the fan full-speed frequency divided by the
prescalar falls in the 33Hz to 66Hz range. The full-scale
reference frequency is further divided by the value in
the FSC register to the desired fan frequency [read:
speed].
2) Set the programmable FCD to a value P so that the
above frequency falls in the 33Hz to 66Hz range.
3) Determine the value required for the Fan FS register:
FS =
8415
f
 
 P
Example: Fan A has a 2500rpm rating:
2500rpm / 60s gives an output of 41.7Hz
41.7Hz x 2 pulses = 83.4Hz
The 83.4Hz value is out of the 33Hz to 66Hz decrement/increment range.
4) Set bits in the FC register to divide the signal down
within the 33Hz to 66Hz range. Bits 1, 0 = 10
(divide by 2: P = 2):
83.4 / 2 = 41.7Hz
5) Set the FS register to yield approximately 42Hz:
42 = 8415 / FS (value)
FS (value) = 200
FS register = 11001000
6) In current-sense feedback, a current pulse is generated whenever there is a step increase in fan current. The frequency of pulses is then not only
determined by the fan rpms and the number of
poles, but also by the update rate at which the fan
driver forces an increase in voltage across the fan.
The maximum current pulse frequency is then given
by:
fC = f ✕ P / (P-1)
Where f = {RPM/60} ✕ poles and P is the value in FCD.
The value required for the fan FS register is:
FS = 8415 / {f / (P-1)}
The fan speed limit in FCTL should be set to:
1) Determine the fan’s maximum tachometer frequency:
fL = 8415 / (N ✕ fC)
 RPM 
f = 
 x poles
 60 
A value of P = 1 cannot be used in current-sense mode.
Where poles = number of tachometer poles (pulses
per revolution). Most fans are two poles; therefore,
two pulses per revolution.
Fan Selection
For closed-loop operation and fan monitoring, the
MAX6660 requires fans with tachometer outputs. A
tachometer output is typically specified as an option on
many fan models from a variety of manufacturers. Verify
______________________________________________________________________________________
19
MAX6660
speeds except at very low speeds where a fan failure is
indicated by an overflow of the fan speed counter
rather than fL. The overflow flag cannot be viewed separately in the Status Byte but is ORed with bit 0, the fan
fail bit.
MAX6660
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
Low-Speed Operation
Table 14. Fan Manufacturers
MANUFACTURER
FAN MODEL OPTION
Comair Roton
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.
the nature of the tachometer output (open collector,
totem pole) and the resultant levels and configure the
connection to the MAX6660. For a fan with an open
drain/collector output, a pullup resistor of typically 5kΩ
must be connected between FAN and VFAN. 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 14 lists the representative fan manufacturers and the model they make
available with tachometer outputs.
Brushless DC fans increase reliability by replacing
mechanical commutation with electronic commutation.
By lowering the voltage across the fan to reduce its
speed, the MAX6660 is 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 rule of thumb, 12V fans can be expected to experience problems somewhere around 1/4 and 1/2
their rated speed.
Chip Information
TRANSISTOR COUNT: 22,142
PROCESS: BiCMOS
Pin Configuration
TOP VIEW
VFAN 1
16 TACH IN
VCC 2
15 STBY
DXP 3
14 SMBCLK
DXN 4
MAX6660
13 GAIN
12 SMBDATA
FAN 5
ADD1 6
11 ALERT
PGND 7
10 ADDO
AGND 8
9
OVERT
QSOP
20
______________________________________________________________________________________
Remote-Junction Temperature-Controlled
Fan-Speed Regulator with SMBus Interface
QSOP.EPS
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 ____________________ 21
© 2001 Maxim Integrated Products
Printed USA
is a registered trademark of Maxim Integrated Products.
MAX6660
Package Information