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