MAXIM MAX31785_11

19-5703; Rev 1; 11/11
6-Channel Intelligent Fan Controller
The MAX31785 is a closed-loop multichannel fan controller. Automatic closed-loop fan control saves system
power by operating the fans at the lowest possible
speeds. Added benefits of slower fan speeds include
lower audible noise, longer fan life, and reduced system
maintenance. Based on a user-programmable lookup
table (LUT), the device automatically adjusts the speeds
of the six independent fans based on one or more of the
11 available temperature sensors. Alternately, an external host can manually command the fan speeds and the
device automatically adjusts the fan speeds. The device
contains a fan-health-diagnostic function to help users
predict impending fan failures. The device can also
monitor up to six remote voltages.
Applications
Network Switches/Routers
Base Stations
SSix Independent Channels of Fan Control
Supports 3-Wire and 4-Wire Fans
Automatic Closed-Loop Fan Speed Control
RPM- or PWM-Based Control
Optional Manual Mode Control
Fast and Slow PWM Frequency Options
Staggered Fan Spin-Up Eases Power-Supply
Stress
Dual Tachometer (12-Fan Support)
Fan-Fault Detection
Fan-Health Status Meter
Nonvolatile Fan Operating Run Time Meter
SSupports Up to 11 Temperature Sensors
Up to Six External Thermal Diodes with
Automatic Series Resistance Cancellation
One Internal Temperature Sensor
Up to Four I2C Digital Temperature Sensors
Fault Detection on All Temperature Sensors
SAvailable 6-Channel ADC to Measure Remote
Voltages
Servers
Smart Grid Network Systems
SPMBus™-Compliant Command Interface
Industrial Controls
Ordering Information
PART
Features
TEMP RANGE
PIN-PACKAGE
MAX31785ETL+
-40NC to +85NC
40 TQFN-EP*
MAX31785ETL+T
-40NC to +85NC
40 TQFN-EP*
+Denotes a lead(Pb)-free/RoHS-compliant package.
T = Tape and reel.
*EP = Exposed pad.
SI2C/SMBus-Compatible Serial Bus with Bus
Timeout Function
SOn-Board Nonvolatile Fault Logging and Default
Configuration Setting
SNo External Clocking Required
S+3.3V Supply Voltage
PMBus is a trademark of SMIF, Inc.
Note: Some revisions of this device may incorporate deviations from published specifications known as errata. Multiple revisions of any device
may be simultaneously available through various sales channels. For information about device errata, go to: www.maxim-ic.com/errata.
________________________________________________________________ Maxim Integrated Products 1
For pricing, delivery, and ordering information, please contact Maxim Direct at 1-888-629-4642,
or visit Maxim’s website at www.maxim-ic.com.
MAX31785
General Description
MAX31785
6-Channel Intelligent Fan Controller
TABLE OF CONTENTS
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Recommended Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
DC Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
I2C/SMBus Interface Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
I2C/SMBus Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Typical Operating Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Multiple Device Connection Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Address Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
SMBus/PMBus Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
SMBus/PMBus Communication Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Group Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Group Command Write Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
ALERT and Alert Response Address (ARA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Alert Response Address (ARA) Byte Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Host Sends or Reads Too Few Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Host Sends or Reads Too Few Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Host Sends Too Many Bytes or Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Host Reads Too Many Bytes or Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Host Sends Improperly Set Read Bit in the Slave Address Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Unsupported Command Code Received . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Invalid Data Received . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Host Reads from a Write-Only Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Host Writes to a Read-Only Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
SMBus Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
PMBus Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
PMBus Protocol Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Interpreting Received DIRECT Format Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Sending a DIRECT Format Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Fault Management and Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
System Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Temperature Sensor Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2
6-Channel Intelligent Fan Controller
Fan Control Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Dual Fan Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Automatic Fan Control Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Pulse Stretching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Fan Spin-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Fan Power-On Sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Fan Health-Meter Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
PAGE (00h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
CLEAR_FAULTS (03h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
WRITE_PROTECT (10h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
STORE_DEFAULT_ALL (11h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
RESTORE_DEFAULT_ALL (12h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
CAPABILITY (19h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
VOUT_MODE (20h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
VOUT_SCALE_MONITOR (2Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
FAN_CONFIG_1_2 (3Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
FAN_COMMAND_1 (3Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
VOUT_OV_FAULT_LIMIT (40h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
VOUT_OV_WARN_LIMIT (42h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
VOUT_UV_WARN_LIMIT (43h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
VOUT_UV_FAULT_LIMIT (44h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
OT_FAULT_LIMIT (4Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
OT_WARN_LIMIT (51h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
STATUS_BYTE (78h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
STATUS_WORD (79h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
STATUS_VOUT (7Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
STATUS_CML (7Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
STATUS_MFR_SPECIFIC (80h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
STATUS_FANS_1_2 (81h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
READ_VOUT (8Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
READ_TEMPERATURE_1 (8Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
READ_FAN_SPEED_1 (90h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
PMBUS_REVISION (98h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
MFR_ID (99h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
MFR_MODEL (9Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
MFR_REVISION (9Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
MFR_LOCATION (9Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3
MAX31785
TABLE OF CONTENTS (continued)
MAX31785
6-Channel Intelligent Fan Controller
TABLE OF CONTENTS (continued)
MFR_DATE (9Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
MFR_SERIAL (9Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
MFR_MODE (D1h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
MFR_VOUT_PEAK (D4h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
MFR_TEMPERATURE_PEAK (D6h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
MFR_VOUT_MIN (D7h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
MFR_FAULT_RESPONSE (D9h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
MFR_NV_FAULT_LOG (DCh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
MFR_TIME_COUNT (DDh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
MFR_TEMP_SENSOR_CONFIG (F0h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
MFR_FAN_CONFIG (F1h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
MFR_FAN_LUT (F2h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
TEMPERATURE STEP: Temperature Level Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
FAN SPEED STEP: Fan PWM Duty Cycle or Fan Speed Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
MFR_READ_FAN_PWM (F3h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
MFR_FAN_FAULT_LIMIT (F5h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
MFR_FAN_WARN_LIMIT (F6h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
MFR_FAN_RUN_TIME (F7h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
MFR_FAN_PWM_AVG (F8h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
MFR_FAN_PWM2RPM (F9h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Applications Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Power-Supply Decoupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Open-Drain Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Typical Operating Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Package Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
LIST OF FIGURES
Figure 1. Automatic Fan Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figure 2. Fan Speed Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figure 3. Fan Spin-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figure 4. Fan PWM to RPM Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figure 5. MFR_NV_FAULT_LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 6. Fan Lookup Table (LUT) Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4
6-Channel Intelligent Fan Controller
Table 1. PMBus Command Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 2. PMBus/SMBus Serial-Port Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Table 3. PMBus Command Code Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table 4. Coefficients for DIRECT Format Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Table 5. Device Parametric Monitoring States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Table 6. DS75LV Address Pin Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Table 7. Fan Control Operation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Table 8. Fan Health Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Table 9. Page Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table 10. WRITE_PROTECT Command Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 11. CAPABILITY Command Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 12. VOUT_SCALE_MONITOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Table 13. FAN_CONFIG_1_2 Command Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Table 14. PWM Fan Mode (FAN_CONFIG_1_2 Bit 6 = 0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 15. RPM Fan Mode (FAN_CONFIG_1_2 Bit 6 = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 16. STATUS_BYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Table 17. STATUS_WORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Table 18. STATUS_VOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Table 19. STATUS_CML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 20. STATUS_MFR_SPECIFIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 21. STATUS_FANS_1_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 22. MFR_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 23. MFR_FAULT_RESPONSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 24. MFR_NV_FAULT_LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Table 25. MFR_TEMP_SENSOR_CONFIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table 26. MFR_FAN_CONFIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table 27. MFR_FAN_LUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table 28. Valid Temperature Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table 29. Monitored Fan Fault and Warning Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Table 30. MFR_FAN_PWM2RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5
MAX31785
LIST OF TABLES
MAX31785
6-Channel Intelligent Fan Controller
ABSOLUTE MAXIMUM RATINGS
VDD to VSS............................................................-0.3V to +5.5V
RS- to VSS.............................................................-0.3V to +0.3V
All Other Pins Except REG18 and
REG25 Relative to VSS......................... -0.3V to (VDD + 0.3V)*
Continuous Power Dissipation (TA = +70NC)
TQFN (derate 35.7mW/NC above +70NC)...............2857.1mW
Operating Temperature Range........................... -40NC to +85NC
Storage Temperature Range............................. -55NC to +125NC
Lead Temperature (soldering, 10s).................................+300NC
Soldering Temperature (reflow).......................................+260NC
*Subject to not exceeding +5.5V.
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.
RECOMMENDED OPERATING CONDITIONS
(TA = -40NC to +85NC.)
PARAMETER
SYMBOL
MAX
UNITS
2.7
5.5
V
VIH
0.7 x
VDD
VDD +
0.3
V
VIL
0
0.3 x
VDD
V
VDD Operating Voltage Range
VDD
Input Logic 1
Input Logic 0
CONDITIONS
(Note 1)
MIN
TYP
Input Logic-High: SCL, SDA,
MSCL, MSDA
VI2C_IH
2.7V P VDD P 3.6V (Note 1)
2.1
VDD +
0.3
V
Input Logic-Low: SCL, SDA,
MSCL, MSDA
VI2C_IL
2.7V P VDD P 3.6V (Note 1)
0
+0.8
V
DC ELECTRICAL CHARACTERISTICS
(VDD = 2.7V to 5.5V, TA = -40NC to +85NC, unless otherwise noted. Typical values are at VDD = 3.3V, TA = +25NC, unless otherwise noted.)
PARAMETER
Supply Current
Brownout Voltage
SYMBOL
ICPU
CONDITIONS
Brownout Hysteresis
VBOH
Monitors VDD (Note 1)
Internal System Clock
fMOSC
Output Logic-Low
Output Logic-High
PWM Pullup Current
VOL1
VOH1
IPU
2.40
6
2.46
2.55
30
mV
MHz
-3
+2
-6.5
+1.6
VPIN = VSS, VDD = 3.3V
0.4
VDD 0.5
38
-1
%
V
V
55
107
FA
+1
%
1.225
VERR
V
4.0
-40NC P TA P +25NC
IOL = 4mA (Note 1)
IOH = -2mA (Note 1)
UNITS
mA
+25NC P TA P +85NC
ADC Internal Reference
ADC Voltage Measurement Error
MAX
8
Monitors VDD (Note 1)
fERR:MOSC
TYP
3
IPROGRAM
VBO
System Clock Error (Note 3)
MIN
(Note 2)
V
6-Channel Intelligent Fan Controller
(VDD = 2.7V to 5.5V, TA = -40NC to +85NC, unless otherwise noted. Typical values are at VDD = 3.3V, TA = +25NC, unless otherwise noted.)
PARAMETER
SYMBOL
CONDITIONS
ADC Internal Reference
Temperature Drift
ADC Internal Reference Initial
Accuracy (+25NC)
ADC Full-Scale Input Voltage
VFS
ADC Measurement Resolution
VLSB
TYP
UNITS
-0.5
+0.5
%
-1
+1
mV
1.237
V
1.225
300
FV
12
RS+ Input Resistance
RIN
ADC Integral Nonlinearity
INL
ADC Offset
MAX
1.213
ADC Bit Resolution
ADC Differential Nonlinearity
MIN
Bits
15
MI
DNL
VOFFSET
Internal Temperature
Measurement Error
LSB
Q1
LSB
LSB
Q2
-3
+3
TA = 0NC to +60NC,
TDIODE = +60NC to +120NC
-1.5
+1.5
TA = 0NC to +60NC,
TDIODE = -45NC to +120NC
-1.75
+1.75
TA = -40NC to +85NC,
TDIODE = +60NC to +120NC
-2.75
+2.75
TA = -40NC to +85NC,
TDIODE = -45NC to +120NC
-3.0
+3.0
TA = -40NC to +85NC
Remote Temperature
Measurement Error
(MAX31785 Error Only)
Q8
NC
NC
Store Default All Time
45
ms
Nonvolatile Log Write Time
12
ms
Nonvolatile Log Delete Time
200
Flash Endurance
Data Retention
NFLASH
TA = +50NC
20,000
TA = +50NC
100
Voltage Sample Rate
ms
Write
Cycles
Years
10
ms
RPM Sample Rate
1000
ms
Temperature Sample Rate
1000
ms
12
ms
Device Startup Time
Fan PWM Frequency
Fan PWM Resolution
Measured from POR until monitoring
begins
30
25,000
7
Hz
Bits
7
MAX31785
DC ELECTRICAL CHARACTERISTICS (continued)
MAX31785
6-Channel Intelligent Fan Controller
I2C/SMBUS INTERFACE ELECTRICAL CHARACTERISTICS
(VDD = 2.7V to 5.5V, TA = -40NC to +85NC, unless otherwise noted. Typical values are at VDD = 3.3V, TA = +25NC, unless otherwise noted.)
PARAMETER
SYMBOL
CONDITIONS
MIN
TYP
MAX
UNITS
100
kHz
SCL Clock Frequency
fSCL
10
Bus Free Time Between STOP
and START Conditions
tBUF
4.7
Fs
Hold Time (Repeated) START
Condition
tHD:STA
4.0
Fs
Low Period of SCL
tLOW
4.7
Fs
High Period of SCL
tHIGH
4.0
Fs
Receive
0
Transmit
300
Data Hold Time
tHD:DAT
Data Setup Time
tSU:DAT
100
START Setup Time
tSU:STA
4.7
SDA and SCL Rise Time
ns
ns
Fs
tR
SDA and SCL Fall Time
tF
STOP Setup Time
Clock Low Timeout
tSU:STO
4.0
tTO
25
300
ns
300
ns
35
ms
Fs
Note 1: All voltages are referenced to ground (VSS). Currents entering the IC are specified as positive, and currents exiting the IC
are negative.
Note 2: This does not include pin input/output currents.
Note 3: Guaranteed by design.
I2C/SMBus Timing
SDA
tBUF
tF
tLOW
tHD:STA
tSP
SCL
tHD:STA
tHIGH
tR
tHD:DAT
STOP
START
NOTE: TIMING IS REFERENCED TO VIL(MAX) AND VIH(MIN).
8
tSU:STA
tSU:DAT
REPEATED
START
tSU:STO
6-Channel Intelligent Fan Controller
(TA = +25°C, unless otherwise noted.)
SUPPLY CURRENT vs. TEMPERATURE
(VDD = 3.3V, NO PWM SWITCHING)
SUPPLY CURRENT vs. SUPPLY VOLTAGE
(NO PWM SWITCHING)
3.6
3.8
3.6
3.4
3.2
3.2
IDD (mA)
3.4
3.0
3.0
2.8
2.8
2.6
2.6
2.4
2.4
2.2
2.2
2.0
2.0
2.7
3.1
3.5
3.9
4.3
4.7
5.1
-40
5.5
0V
-20
0
20
40
60
80
100
VDD (V)
TEMPERATURE (°C)
WEAK PULLUP VOLTAGE
vs. TIME DURING POWER-UP
IDD vs. TIME DURING A NONVOLATILE LOG WRITE
(TA = +25°C, VDD = 3.3V)
MAX31785 toc03
0V
MAX31785 toc02
3.8
IDD (mA)
4.0
MAX31785 toc01
4.0
MAX31785 toc04
VDD
NO LOAD
CONNECTED
TO PWM
PWMO
1mA/div
2V/div
0mA
2ms/div
2ms/div
FAN POWER-ON SEQUENCING
MAX31785 toc05
0V
0V
CONTROL
PWM0
5V/div
0V
0V
PWM1
PWM2
100ms/div
9
MAX31785
Typical Operating Characteristics
6-Channel Intelligent Fan Controller
VSS
REG18
TACH3
PWM2
TACH2
TACH1
PWM1
PWM0
TOP VIEW
REG25
TACH0
MAX31785
Pin Configuration
30 29 28 27 26 25 24 23 22 21
SDA 31
20 PWM3
SCL 32
19 TACH4
A0 33
18 PWM4
FAULT 34
17 TACH5
CONTROL 35
16 PWM5
MAX31785
VSS 36
15 MSCL
A1/TACHSEL 37
14 MSDA
ALERT 38
RS-5 39
13 RST
EP
+
12 RS-2
11 RS+2
6
7
8
9
10
RS+1
VDD
RS-1
RS+4
5
RS-0
VSS
4
RS+0
3
RS-3
2
RS+3
1
RS-4
RS+5 40
TQFN
(6mm × 6mm × 0.75mm)
Pin Description
10
PIN
NAME
1
RS-4
Ground Reference for Thermal Diode or Remote Voltage ADC4 Measurement
FUNCTION
2, 21, 36
VSS
Digital-Supply Return Node (Ground)
3
RS+4
Thermal Diode or Remote Voltage ADC Input, Measurement Relative to RS-4
4
RS-3
Ground Reference for Thermal Diode or Remote Voltage ADC3 Measurement
5
RS+3
Thermal Diode or Remote Voltage ADC Input, Measurement Relative to RS-3
6
RS+0
Thermal Diode or Remote Voltage ADC Input, Measurement Relative to RS-0
7
RS-0
Ground Reference for Thermal Diode or Remote Voltage ADC0 Measurement
8
RS+1
Thermal Diode or Remote Voltage ADC Input, Measurement Relative to RS-1
9
VDD
Supply Voltage. Bypass VDD to VSS with a 0.1FF capacitor.
10
RS-1
Ground Reference for Thermal Diode or Remote Voltage ADC1 Measurement
11
RS+2
Thermal Diode or Remote Voltage ADC Input, Measurement Relative to RS-2
12
RS-2
Ground Reference for Thermal Diode or Remote Voltage ADC2 Measurement
13
RST
Reset Active-Low Input
14
MSDA
Master I2C Data Input/Output. Open-drain output.
15
MSCL
Master I2C Clock Input/Output. Open-drain output.
16
PWM5
Fan PWM Output #5. CMOS push-pull output. Low when the fan is disabled. A 100% duty cycle
implies this pin is continuously high.
17
TACH5
Fan Tachometer Input
18
PWM4
Fan PWM Output #4. CMOS push-pull output. Low when the fan is disabled. A 100% duty cycle
implies this pin is continuously high.
19
TACH4
Fan Tachometer Input
6-Channel Intelligent Fan Controller
PIN
NAME
FUNCTION
20
PWM3
Fan PWM Output #3. CMOS push-pull output. Low when the fan is disabled. A 100% duty cycle
implies this pin is continuously high.
22
REG18
Regulator for Low-Voltage Digital Circuitry. Bypass REG18 to VSS with 1FF and 10nF capacitors. Do
not connect other circuitry to this pin.
23
TACH3
Fan Tachometer Input
24
PWM2
Fan PWM Output #2. CMOS push-pull output. Low when the fan is disabled. A 100% duty cycle
implies this pin is continuously high.
25
TACH2
Fan Tachometer Input
26
PWM1
Fan PWM Output #1. CMOS push-pull output. Low when the fan is disabled. A 100% duty cycle
implies this pin is continuously high.
27
TACH1
Fan Tachometer Input
28
PWM0
Fan PWM Output #0. CMOS push-pull output. Low when the fan is disabled. A 100% duty cycle
implies this pin is continuously high.
29
REG25
Regulator for Analog Circuitry. Bypass REG25 to VSS with 1FF and 10nF capacitors. Do not connect
other circuitry to this pin.
30
TACH0
Fan Tachometer Input
31
SDA
I2C/SMBus-Compatible Input/Output
32
SCL
I2C/SMBus-Compatible Clock Input
33
A0
SMBus Address 0 Input. This pin is sampled on device power-up to determine the SMBus address;
connect a 100kI resistor from this pin to either VSS or VDD to set the address.
34
FAULT
Active-Low, Open-Drain Fault Input/Output. If enabled with the MFR_FAULT_RESPONSE command, this
pin is asserted during a fault condition (fan speed, overtemperature, overvoltage, or undervoltage). Also,
if enabled with the MFR_FAULT_RESPONSE command, this pin is monitored and when it is asserted the
fans can be configured to be forced to 100% PWM duty cycle. This pin is used to provide hardware fault
control across multiple devices. This output is unconditionally deasserted when RST is asserted or the
device is power cycled. This pin has a 50Fs deglitch filter.
35
CONTROL
Global Fan-Off Control. When this pin is connected low, all fans are forced off (other functionality
remains active). When this pin is connected high (or left open circuit), fans operate normally. This pin
has a 50Fs deglitch filter and contains a weak pullup.
37
A1/
TACHSEL
SMBus Address 1 Input/Dual Tach-Select Output. This dual-function pin is sampled on device
power-up to determine the SMBus address; connect a 100kI resistor from this pin to either VSS or
VDD to set the address. After device power-up, this pin becomes an output that selects between two
tachometers in dual-fan applications.
38
ALERT
39
RS-5
Ground Reference for Thermal Diode or Remote Voltage ADC5 Measurement
40
RS+5
Thermal Diode or Remote Voltage ADC Input, Measurement Relative to RS-5
—
EP
Active-Low, Open-Drain Alert Output
Exposed Pad (Bottom Side of Package). Connect EP to VSS.
Note: All pins except VDD, VSS, REG18, REG25, ADC, and the EP are high impedance with a 50µA pullup during device power-up
and reset. After device reset, the weak pullup is removed, and the pin is configured as input or output.
11
MAX31785
Pin Description (continued)
6-Channel Intelligent Fan Controller
MAX31785
Block Diagram
VDD
VSS
REG25
VSS
REG18
VSS
POWER
CONTROL
MSCL
PULSEWIDTH
MODULATOR
2.5V
VREG
1.8V
VREG
4MHz
OSCILLATOR
MSDA
MAX31785
SMBus
MASTER
INTERFACE
16-BIT
MAXQ®
RISC CORE
FAN
TACHOMETER
INPUTS
RST
SCL
ALERT
CONTROL
FAULT
A0
A1/TACHSEL
SMBus
SLAVE
INTERFACE
SYSTEM
CONTROL
SIGNALS
MAXQ is a registered trademark of Maxim Integrated
Products, Inc.
12
ADC
MUX
SDA
RAM
FLASH
TEMP
SENSOR
PWM0
PWM1
PWM2
PWM3
PWM4
PWM5
TACH0
TACH1
TACH2
TACH3
TACH4
TACH5
RS+0
RS-0
RS+1
RS-1
RS+2
RS-2
RS+3
RS-3
RS+4
RS-4
RS+5
RS-5
6-Channel Intelligent Fan Controller
+3.3V
ALERT
HOST
INTERFACE
CLOCK
DATA
CONTROL
RST
SDA
SCL
RST
ALERT
MAX31785
#0
FAULT
CONTROL
A1/TACHSEL
A0
+3.3V
SDA
SCL
RST
ALERT
FAULT
MAX31785
#1
CONTROL
A1/TACHSEL
A0
ADDITIONAL DEVICES
13
MAX31785
Multiple Device Connection Diagram
MAX31785
6-Channel Intelligent Fan Controller
Detailed Description
The MAX31785 is a closed-loop fan controller. Automatic
closed-loop fan control saves system power by operating the fans at the lowest possible speeds. Added benefits of slower fan speeds include lower audible noise,
longer fan life, and reduced system maintenance. Based
on a user-programmable lookup table (LUT), the device
automatically adjust the speeds of the six independent
fans based on one or more of the 11 available temperature sensors. Temperature offset can be added to
individual sensors to compensate for thermal differences
in a system. Alternately, an external host can manually
command the fan speeds and the device automatically
adjusts the fan speeds. The device can also monitor up
to six remote voltages.
The device provides ALERT and FAULT output signals. Host communications are conducted through a
PMBusK-compatible communications port. Address
input connections are also provided to allow up to four
MAX31785 devices to reside on the system’s I/O bus.
Table 1. PMBus Command Codes
CODE
00h
03h
10h
11h
12h
19h
20h
2Ah
3Ah
3Bh
40h
42h
43h
44h
4Fh
51h
78h
79h
7Ah
7Eh
80h
81h
8Bh
8Dh
90h
98h
99h
9Ah
9Bh
9Ch
COMMAND NAME
PAGE
CLEAR_FAULTS
WRITE_PROTECT
STORE_DEFAULT_ALL
RESTORE_DEFAULT_ALL
CAPABILITY
VOUT_MODE
VOUT_SCALE_MONITOR
FAN_CONFIG_1_2
FAN_COMMAND_1
VOUT_OV_FAULT_LIMIT
VOUT_OV_WARN_LIMIT
VOUT_UV_WARN_LIMIT
VOUT_UV_FAULT_LIMIT
OT_FAULT_LIMIT
OT_WARN_LIMIT
STATUS_BYTE
STATUS_WORD
STATUS_VOUT
STATUS_CML
STATUS_MFR_SPECIFIC
STATUS_FANS_1_2
READ_VOUT
READ_TEMPERATURE_1
READ_FAN_SPEED_1
PMBUS_REVISION
MFR_ID
MFR_MODEL
MFR_REVISION
MFR_LOCATION
PMBus is a trademark of SMIF, Inc.
14
TYPE
PAGE
0–5
R/W Byte
Send Byte
R/W Byte
Send Byte
Send Byte
Read Byte
Read Byte
R/W Word
R/W Byte
R/W Word
R/W Word
R/W Word
R/W Word
R/W Word
R/W Word
R/W Word
Read Byte
Read Word
Read Byte
Read Byte
Read Byte
Read Byte
Read Word
Read Word
Read Word
Read Byte
Read Byte
Read Byte
Read Word
Block R/W
R/W
W
R/W
W
W
R
R
—
R/W
R/W
—
—
—
—
—
—
R
R
—
R
—
R
—
—
R
R
R
R
R
R/W
PAGE
6–16
PAGE
17–22
(NOTE
R/W
W
R/W
W
W
R
R
—
—
—
—
—
—
—
R/W
R/W
R
R
—
R
R
—
—
R
—
R
R
R
R
R/W
1)
R/W
W
R/W
W
W
R
R
R/W
—
—
R/W
R/W
R/W
R/W
—
—
R
R
R
R
—
—
R
—
—
R
R
R
R
R/W
PAGE
255
R/W
W
R/W
W
W
R
R
—
—
—
—
—
—
—
—
—
R
R
—
R
—
—
—
—
—
R
R
R
R
R/W
NO. OF
BYTES
FLASH
STORED
(NOTE 2)
DEFAULT
VALUE
(NOTE 2)
1
0
1
0
0
1
1
2
1
2
2
2
2
2
2
2
1
2
1
1
1
1
2
2
2
1
1
1
2
8
N
N
N
N
N
N
FIXED
Y
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
N
N
N
N
N
N
FIXED
FIXED
FIXED
FIXED
Y
00h
—
00h
—
—
00h/10h
40h
7FFFh
00h
FFFFh
7FFFh
7FFFh
0000h
0000h
7FFFh
7FFFh
00h
0000h
00h
00h
00h
00h
0000h
0000h
0000h
11h
4Dh
53h
3030h
(Note 3)
6-Channel Intelligent Fan Controller
CODE
9Dh
9Eh
D1h
D4h
D6h
D7h
D9h
DCh
DDh
F0h
F1h
F2h
F3h
F5h
F6h
F7h
F8h
F9h
COMMAND NAME
TYPE
MFR_DATE
Block R/W
MFR_SERIAL
Block R/W
MFR_MODE
R/W Word
MFR_VOUT_PEAK
R/W Word
MFR_TEMPERATURE_PEAK
R/W Word
MFR_VOUT_MIN
R/W Word
MFR_FAULT_RESPONSE
R/W Byte
MFR_NV_FAULT_LOG
Block Read
MFR_TIME_COUNT
Block R/W
MFR_TEMP_SENSOR_CONFIG R/W Word
MFR_FAN_CONFIG
R/W Word
MFR_FAN_LUT
Block R/W
MFR_READ_FAN_PWM
Read Word
MFR_FAN_FAULT_LIMIT
R/W Word
MFR_FAN_WARN_LIMIT
R/W Word
MFR_FAN_RUN_TIME
R/W Word
MFR_FAN_PWM_AVG
R/W Word
MFR_FAN_PWM2RPM
Block R/W
PAGE
0–5
R/W
R/W
R/W
—
—
—
R/W
R
R/W
—
R/W
R/W
R
R/W
R/W
R/W
R/W
R/W
PAGE
6–16
PAGE
17–22
(NOTE
R/W
R/W
R/W
—
R/W
—
R/W
R
R/W
R/W
—
—
—
—
—
—
—
—
1)
R/W
R/W
R/W
R/W
—
R/W
R/W
R
R/W
—
—
—
—
—
—
—
—
—
PAGE
255
R/W
R/W
R/W
—
—
—
—
R
R/W
—
—
—
—
—
—
—
—
—
NO. OF
BYTES
FLASH
STORED
(NOTE 2)
DEFAULT
VALUE
(NOTE 2)
8
8
2
2
2
2
1
255
4
2
2
32
2
2
2
2
2
8
Y
Y
Y
N
N
N
Y
Y
N
Y
Y
Y
N
Y
Y
Y
Y
Y
(Note 3)
(Note 3)
0000h
0000h
8000h
7FFFh
00h
(Note 4)
(Note 5)
0000h
0000h
(Note 5)
0000h
0000h
0000h
0000h
0000h
(Note 5)
Note 1: Common commands are shaded. Access through any page results in the same device response.
Note 2: In the Flash Stored column, an “N” indicates that this parameter is not stored in flash memory when the STORE_
DEFAULT_ALL command is executed and the value shown in the Default Value column is automatically loaded upon
power-on reset or when the RST pin is asserted. A “Y” in the Flash Stored column indicates that the currently loaded
value in this parameter is stored in flash memory when the STORE_DEFAULT_ALL command is executed and is automatically loaded upon power-on reset or when the RST pin is asserted and the value shown in the Default Value column is
the value when shipped from the factory. “FIXED” in the Flash Stored column means this value is fixed at the factory and
cannot be changed.
Note 3: The factory-set default value for this 8-byte block is 3130313031303130h.
Note 4: The factory-set default value for the complete block of the MFR_NV_FAULT_LOG is FFh.
Note 5: The factory-set default value for the complete block is 00h.
15
MAX31785
Table 1. PMBus Command Codes (continued)
MAX31785
6-Channel Intelligent Fan Controller
Address Select
Table 2. PMBus/SMBus Serial-Port
Address
A1
7-BIT SLAVE
ADDRESS
A0
100kI to VSS
100kI to VDD
On device power-up, the device samples the A0 and A1
pins to determine the PMBus/SMBus serial-port address.
100kI to VSS
1010 010 (A4h)
100kI to VDD
1010 011 (A6h)
100kI to VSS
100kI to VDD
1010 100 (A8h)
SMBus/PMBus Operation
The device implements the PMBus command structure
using the SMBus format. The structure of the data flow
between the host and the slave is shown below for several different types of transactions. Data is sent most
significant bit (MSB) first.
1010 101 (AAh)
SMBus/PMBus Communication Examples
READ WORD FORMAT
1
7
1
1
8
1
1
7
1
1
8
1
8
1
1
S
SLAVE
ADDRESS
W
A
COMMAND
CODE
A
Sr
SLAVE
ADDRESS
R
A
DATA BYTE
LOW
A
DATA BYTE
HIGH
NA
P
1
8
1
1
7
1
1
8
1
1
A
COMMAND
CODE
A
Sr
SLAVE
ADDRESS
R
A
DATA BYTE
NA
P
READ BYTE FORMAT
1
7
S
SLAVE
ADDRESS
1
W
WRITE WORD FORMAT
1
7
1
1
8
1
8
1
8
1
1
S
SLAVE
ADDRESS
W
A
COMMAND
CODE
A
DATA BYTE
LOW
A
DATA BYTE
HIGH
A
P
WRITE BYTE FORMAT
1
7
1
1
8
1
8
1
1
S
SLAVE
ADDRESS
W
A
COMMAND
CODE
A
DATA BYTE
A
P
SEND BYTE FORMAT
16
1
7
1
1
8
1
1
S
SLAVE
ADDRESS
W
A
COMMAND
CODE
A
P
KEY:
S = START
Sr = REPEATED START
P = STOP
W = WRITE BIT (0)
R = READ BIT (1)
A = ACKNOWLEDGE (0)
NA = NOT ACKNOWLEDGE (1)
SHADED BLOCK = SLAVE TRANSACTION
6-Channel Intelligent Fan Controller
continuous data stream. All the devices addressed during this transaction wait for the host to issue a STOP
before beginning to respond to the command.
Group Command Write Format
SLAVE ADDRESS, COMMAND BYTE, AND DATA WORD FOR DEVICE 1
1
7
S
SLAVE
ADDRESS
1
W
1
8
A
COMMAND
CODE
1
8
A
DATA BYTE
LOW
1
8
1
A
DATA BYTE
HIGH
A
UUU
SLAVE ADDRESS, COMMAND BYTE, AND DATA BYTE FOR DEVICE 2
1
7
Sr
SLAVE
ADDRESS
1
W
1
8
1
8
1
A
COMMAND
CODE
A
DATA BYTE
A
UUU
KEY:
S = START
Sr = REPEATED START
P = STOP
W = WRITE BIT (0)
A = ACKNOWLEDGE (0)
SHADED BLOCK = SLAVE TRANSACTION
SLAVE ADDRESS AND SEND BYTE FOR DEVICE 3
1
7
1
1
8
1
Sr
SLAVE
ADDRESS
W
A
COMMAND
CODE
A
UUU
UUU
SLAVE ADDRESS, COMMAND BYTE, AND DATA WORD FOR DEVICE N
1
7
1
1
8
1
8
1
8
1
1
Sr
SLAVE
ADDRESS
W
A
COMMAND
CODE
A
DATA BYTE
LOW
A
DATA BYTE
HIGH
A
P
Addressing
The device responds to receiving its fixed slave address
by asserting an acknowledge (ACK) on the bus. The
device does not respond to a general call address; it
only responds when it receives its fixed slave address.
The only exception to this operation is if the ALERT
output is enabled (ALERT bit = 1 in MFR_MODE) and
ALERT has been asserted. When this condition occurs,
the device only recognizes the alert response address
(0001 100, 18h). See the ALERT and Alert Response
Address (ARA) section for more details.
ALERT and Alert Response Address (ARA)
If the ALERT output is enabled (ALERT bit = 1 in
MFR_MODE), when a fault occurs the device asserts the
ALERT signal and then waits for the host to send the alert
response address (ARA) as shown in the Alert Response
Address (ARA) Byte Format section. While waiting for
the ARA, the device does not respond to its fixed
slave address.
When the ARA is received and the device is asserting
ALERT, the device ACKs it and then attempts to place
its fixed slave address on the bus by arbitrating the
bus, since another device could also try to respond to
the ARA. The rules of arbitration state that the lowest
address device wins. If the device wins the arbitration,
it deasserts ALERT and begins to respond to its fixed
slave address. If the device loses arbitration, it keeps
ALERT asserted and waits for the host to once again
send the ARA.
17
MAX31785
Group Command
The device supports the group command. With the
group command, a host can write different data to
multiple devices on the same serial bus with one long
MAX31785
6-Channel Intelligent Fan Controller
Alert Response Address (ARA) Byte Format
1
7
S
ARA
0001100
1
R
1
8
1
1
A
DEVICE SLAVE ADDRESS
WITH LSB = 0
NA
P
Host Sends or Reads Too Few Bits
If for any reason the host does not complete writing a full
byte or reading a full byte from the device before a START
or STOP is received, the device does the following:
1) Ignores the command.
2) Sets the CML bit in STATUS_BYTE.
3) Sets the CML bit in STATUS_WORD.
4) Sets the DATA_FAULT bit in STATUS_CML.
5) Notifies the host through ALERT assertion (if enabled).
Host Sends or Reads Too Few Bytes
For each supported command, the device expects a
fixed number of bytes to be written or read from the
device. If for any reason fewer than the expected number
of bytes is written to or read from the device, the device
completely ignores the command and takes no action.
Host Sends Too Many Bytes or Bits
For each supported command, the device expects a
fixed number of bytes to be written to the device. If for
any reason more than the expected number of bytes or
bits is written to the device, the device does the following:
1) Ignores the command.
2) Sets the CML bit in STATUS_BYTE.
3) Sets the CML bit in STATUS_WORD.
4) Sets the DATA_FAULT bit in STATUS_CML.
5) Notifies the host through ALERT assertion (if enabled).
Host Reads Too Many Bytes or Bits
For each supported command, the device expects a fixed
number of bytes to be read from the device. If for any
reason more than the expected number of bytes or bits is
read from the device, the device does the following:
1)Sends all ones (FFh) as long as the host keeps
acknowledging.
2) Sets the CML bit in STATUS_BYTE.
3) Sets the CML bit in STATUS_WORD.
4) Sets the DATA_FAULT bit in STATUS_CML.
5) Notifies the host through ALERT assertion (if enabled).
18
Host Sends Improperly Set Read Bit
in the Slave Address Byte
If the device receives the R/W bit in the slave address
set to one immediately preceding the command code,
the device does the following (note this does not apply
to ARA):
1) ACKs the address byte.
2)Sends all ones (FFh) as long as the host keeps
acknowledging.
3) Sets the CML bit in STATUS_BYTE.
4) Sets the CML bit in STATUS_WORD.
5) Sets the DATA_FAULT bit in STATUS_CML.
6) Notifies the host through ALERT assertion (if enabled).
Unsupported Command Code Received
If the host sends the device a command code that it
does not support, or if the host sends a command code
that is not supported by the current PAGE setting, the
device does the following:
1) Ignores the command.
2) Sets the CML bit in STATUS_BYTE.
3) Sets the CML bit in STATUS_WORD.
4) Sets the COMM_FAULT bit in STATUS_CML.
5) Notifies the host through ALERT assertion (if enabled).
Invalid Data Received
The device checks the PAGE and WRITE_PROTECT
command codes for valid data. If the host writes a data
value that is invalid, the device does the following:
1) Ignores the command.
2) Sets the CML bit in STATUS_BYTE.
3) Sets the CML bit in STATUS_WORD.
4) Sets the DATA_FAULT bit in STATUS_CML.
5) Notifies the host through ALERT assertion (if enabled).
6-Channel Intelligent Fan Controller
1) ACKs the address byte.
2) Ignores the command.
3)Sends all ones (FFh) as long as the host keeps
acknowledging.
4) Sets the CML bit in STATUS_BYTE.
5) Sets the CML bit in STATUS_WORD.
6) Sets the DATA_FAULT bit in STATUS_CML.
7) Notifies the host through ALERT assertion (if enabled).
Host Writes to a Read-Only Command
When a write request is issued to a read-only command,
the device does the following:
1) Ignores the command.
2) Sets the CML bit in STATUS_BYTE.
3) Sets the CML bit in STATUS_WORD.
4) Sets the COMM_FAULT bit in STATUS_CML.
5) Notifies the host through ALERT assertion (if enabled).
SMBus Timeout
If during an active SMBus communication sequence
the SCL signal is held low for greater than the timeout
duration (tTO), the device terminates the sequence and
resets the serial bus. It takes no other action. No status
bits are set.
PMBus Operation
From a software perspective, the device appears as a
PMBus device capable of executing a subset of PMBus
commands. A PMBus 1.1-compliant device uses the
SMBus version 1.1 for transport protocol and responds
to the SMBus slave address. In this data sheet, the term
SMBus is used to refer to the electrical characteristics
of the PMBus communication using the SMBus physical layer. The term PMBus is used to refer to the PMBus
command protocol. The device employs a number of
standard SMBus protocols to program output voltage
and warning/faults thresholds, read monitored data, and
provide access to all manufacturer-specific commands.
The device supports the group command. The group
command is used to send commands to more than one
PMBus device. It is not required that all the devices
receive the same command. However, no more than
one command can be sent to any one device in one
group command packet. The group command must not
be used with commands that require receiving devices
to respond with data, such as the STATUS_BYTE command. When the device receives a command through
this protocol, it immediately begins execution of the
received command after detecting the STOP condition.
The device supports the PAGE command and uses it to
select which individual channel to access. When a data
word is transmitted, the lower order byte is sent first and
the higher order byte is sent last. Within any byte, the
most significant bit (MSB) is sent first and the least significant bit (LSB) is sent last.
PMBus Protocol Support
The device supports a subset of the commands defined
in the PMBus™ Power System Management Protocol
Specification Part II - Command Language, Revision 1.1.
For detailed specifications and the complete list of
PMBus commands, refer to Part II of the PMBus specification available at www.PMBus.org. The supported PMBus commands and the corresponding device
behavior are described in this document. All data values
are represented in DIRECT format, unless otherwise
stated. Whenever the PMBus specification refers to the
PMBus device, it is referring to the MAX31785 operating in conjunction with a fan. While the command can
call for turning on or turning off the PMBus device, the
MAX31785 always remains on to continue communicating with the PMBus master, and the MAX31785 transfers
the command to the fan accordingly.
Data Format
Voltage data for commanding or reading the output
voltage or related parameters (such as the overvoltage threshold) is presented in DIRECT format. DIRECT
format data is a 2-byte, two’s complement binary value.
DIRECT format data can be used with any command that
sends or reads a parametric value. The DIRECT format
uses an equation and defined coefficients to calculate
the desired values. Table 3 shows the coefficients used
by the device.
19
MAX31785
Host Reads from a Write-Only Command
When a read request is issued to a write-only
command (CLEAR_FAULTS, STORE_DEFAULT_ALL,
RESTORE_DEFAULT_ALL), the device does the following:
MAX31785
6-Channel Intelligent Fan Controller
Table 3. PMBus Command Code Coefficients
PARAMETER
UNITS
RESOLUTION
MAX
m
b
R
Voltage
VOUT_OV_FAULT_LIMIT
VOUT_OV_WARN_LIMIT
VOUT_UV_WARN_LIMIT
VOUT_UV_FAULT_LIMIT
READ_VOUT
MFR_VOUT_PEAK
MFR_VOUT_MIN
mV
1
32,767
1
0
0
Voltage Scaling
VOUT_SCALE_MONITOR
—
1/32,767
1
32,767
0
0
OT_FAULT_LIMIT
OT_WARN_LIMIT
READ_TEMPERATURE_1
MFR_TEMPERATURE_PEAK
NC
0.01
327.67
1
0
2
READ_FAN_SPEED_1
FAN_COMMAND_1
MFR_FAN_FAULT_LIMIT
MFR_FAN_WARN_LIMIT
RPM
1
32,767
1
0
0
FAN_COMMAND_1
MFR_READ_FAN_PWM
MFR_FAN_FAULT_LIMIT
MFR_FAN_WARN_LIMIT
MFR_FAN_PWM_AVG
%
0.01
327.67
1
0
2
Temperature
Fan Speed
COMMANDS
Interpreting Received
DIRECT Format Values
The host system uses the following equation to convert
the value received from the PMBus device—in this case,
the MAX31785—into a reading of volts, degrees Celsius,
or other units as appropriate:
X = (1/m) x (Y x 10-R - b)
where X is the calculated, real world value in the appropriate units (V, NC, etc.); m is the slope coefficient; Y is
the 2-byte, two’s complement integer received from the
PMBus device; b is the offset; and R is the exponent.
Sending a DIRECT Format Value
To send a value, the host must use the below equation
to solve for Y:
Y = (mX + b) x 10R
where Y is the 2-byte, two’s complement integer to be
sent to the unit; m is the slope coefficient; X is the real
world value, in units such as volts, to be converted for
transmission; b is the offset; and R is the exponent.
20
The following example demonstrates how the host can
send and retrieve values from the device. Table 4 shows
the coefficients used in the following parameters.
Table 4. Coefficients for DIRECT Format
Value
COMMAND
CODE
8Bh
COMMAND NAME
READ_VOUT
m
b
R
1
0
0
If the host received a value of 0D89h on a READ_VOUT
command, this is equivalent to:
X = (1/1) x (0D89h x 10-(-0) - 0) = 3465mV = 3.465V
All voltage-related parameters of PMBus devices are
reported as positive values. It is up to the system to know
that a particular output is negative if that is of interest to
the system. All output voltage-related commands use 2
data bytes.
6-Channel Intelligent Fan Controller
PARAMETER
REQUIRED CONDITIONS FOR ACTIVE MONITORING
ACTION DURING A FAULT
Overvoltage
Voltage Monitoring Enabled (ADC_ENABLE in MFR_MODE = 1)
Continue Monitoring
Undervoltage
Voltage Monitoring Enabled (ADC_ENABLE in MFR_MODE = 1)
Continue Monitoring
Temp Sensor Enabled (ENABLE in MFR_TEMP_SENSOR_CONFIG = 1)
Continue Monitoring
Fan Enabled (Bit 7 in FAN_CONFIG_1_2 = 1)
Continue Monitoring
Overtemperature
Fan Speed
Fault Management and Reporting
For reporting faults/warnings to the host on a real-time
basis, the device asserts the open-drain ALERT pin (if
enabled in MFR_MODE) and sets the appropriate bit in
the various status registers. On recognition of the ALERT
assertion, the host or system manager is expected to poll
the I2C bus to determine the device asserting ALERT.
The host sends the SMBus ARA (0001 100). The device
ACKs the SMBus ARA, transmits its slave address, and
deasserts ALERT. The system controller then communicates with PMBus commands to retrieve the fault/warning status information from the device.
See the individual command sections for more details.
Faults and warnings that are latched in the status registers are cleared when any one of the following conditions
occurs:
• A CLEAR_FAULTS command is received.
• The RST pin is toggled.
• Bias power to the device is removed and then reapplied.
The device responds to fault conditions according to the manufacturer fault response command
(MFR_FAULT_RESPONSE). This command byte
determines how the device should respond to each
particular fault. Table 5 illustrates the required conditions and fault actions for specific parameters.
System Watchdog Timer
The device uses an internal watchdog timer that is internally reset every 10ms. In the event that the device is
locked up and this watchdog reset does not occur after
500ms, the device automatically resets. After the reset
occurs, the device reloads all configuration values that
were stored to flash and begins normal operation. After
the reset, the device also does the following:
1) Sets the NONE OF THE ABOVE bit in STATUS_BYTE.
2)Sets the NONE OF THE ABOVE and MFR bits in
STATUS_WORD.
3) Sets the WATCHDOG bit in STATUS_MFR_SPECIFIC.
4) Notifies the host through ALERT assertion (if enabled
in MFR_MODE).
Temperature Sensor Operation
The device can monitor up to 11 different temperature
sensors. It can monitor up to four remote I2C-based
temperature sensors plus six remote diodes and its own
internal temperature sensor. Each of the enabled temperature sensors is measured once a second. The remote
diode and internal temperature sensors are averaged
eight times to reduce the affect of noise. Each time the
device attempts to read a temperature sensor it checks
for faults. For the remote diode, a fault is defined as
reading greater than +160NC or less than -60NC. For the
internal temperature sensor, a fault is defined as reading
greater than +130NC or less than -60NC. For the I2C temperature sensors, a fault is defined as a communication
access failure. Temperature sensor faults are reported by
setting the temperature reading to 7FFFh. A temperature
sensor fault results in the setting of the TEMPERATURE
bit in STATUS_BYTE and STATUS_WORD and ALERT is
asserted (if enabled in MFR_MODE). No bits are set in
STATUS_MFR_SPECIFIC.
The temperatures do not have to be used to control the
fan speed. They can be enabled and used for temperature monitoring only. Reading disabled temperature sensors returns a fixed value of 0000h.
The remote diode temperature sensor can support either
npn or pnp transistors. The device automatically cancels
the series resistance that can affect remote diodes that
are located far from the device.
The device can control up to four DS75LV digital temperature sensors. The A0, A1, and A2 pins on the DS75LV
should be configured as shown in Table 6. The thermostat function on the DS75LV is not used and thus the O.S.
output should be left open circuit.
Table 6. DS75LV Address Pin Configurations
PAGE
13
14
15
16
MAX31785 I2C
TEMP SENSOR
TEMP
TEMP
TEMP
TEMP
SENSOR
SENSOR
SENSOR
SENSOR
I2C
I2C
I2C
I2C
0
1
2
3
DS75LV ADDRESS PIN
CONFIGURATION
A2
A1
A0
0
0
0
0
0
1
0
1
0
0
1
1
21
MAX31785
Table 5. Device Parametric Monitoring States
MAX31785
6-Channel Intelligent Fan Controller
Fan Control Operation
Fan control has four operational modes. The mode is
determined by the combination of FAN_COMMAND_1
and bit 6 of FAN_CONFIG_1_2 (see Table 7). Fan control
can be disabled by setting bit 7 in FAN_CONFIG_1_2 to
zero.
Dual Fan Applications
In dual fan applications operating in RPM mode, the
tachometer selected when TACHSEL = 0 is closeloop-controlled to the target RPM. Once PWM ramping is complete, TACHSEL toggles between the two
tachometers every 500ms for monitoring purposes. The
slower of the two tachometer signals is reported by
READ_FAN_SPEED_1 and is used as a comparison for
fan faults and warning. If one of the two tachometer signals operate at a slower speed, it is recommended that
the slower tachometer be presented to the TACH input
when TACHSEL = 0. If more than one fan channel is
configured for dual fan operation, these fans must complete ramping to the target fan speed before the device
begins to toggle the TACHSEL output and monitor both
tachometers.
Automatic Fan Control Operation
In the automatic mode, the fan is controlled in a closed
loop based on the controlling temperature (the highest
postnormalized temperature reading) and the associated fan control PWM duty cycle (in %) or fan speed
(in RPM). These parameters are assigned in the fan
lookup table (LUT). See the MFR_FAN_LUT description
for configuration details. When a controlling temperature
exceeds the temperature level programmed in the LUT,
the device outputs a PWM duty cycle or adjusts the fan
speed associated with that temperature. See Figure 1 for
an example.
One or all of the 11 available temperature sensors can
be used to control the fan speed. Each temperature
sensor has an offset adjustment that allows monitoring
specific temperature zones with different thermal characteristics. In Figure 1, remote diode temperature sensor
0 is monitoring a zone that is 15NC more sensitive than
the zone that the I2C temperature sensor 3 is measuring.
To keep the audible noise and fan power consumption
as low as possible, the device allows each temperature
sensor to have a temperature offset added. This allows
temperature zones with different thermal profiles to control the fan at the lowest possible speed to maintain the
required temperature.
If no temperature sensors are assigned to control the fan,
the output fan PWM signal is ramped to 100% duty cycle.
In Figure 2, at temperature sample 1, the required fan
speed is at the level associated with temperature level
2 and since temperature sample 1 is above temperature
level 3, the fan PWM duty cycle needs to be increased
to increase the fan speed. The device increases the fan
PWM duty cycle at a rate controlled by the RAMP bits in
the MFR_FAN_CONFIG command code. If the PWM duty
cycle has not reached the target value before the temperature sample detects that a new PWM target value is
needed, the device stops moving toward the old target
and starts moving to the new target according to the
programmed ramp rate.
Table 7. Fan Control Operation Modes
FAN CONTROL
MODE
FAN OPERATIONAL DETAILS
BIT 6 OF
FAN_CONFIG_1_2
VALUE IN
FAN_COMMAND_1
Manual PWM
External host controls the fan speed by directly setting the fan
PWM duty-cycle values.
0
0000h to 7FFFh
Manual RPM
External host controls the fan speed by setting target fan speed
values. The device reads the actual fan speed and close loop
adjusts the output fan PWM to match the target fan speed.
1
0000h to 7FFFh
Automatic PWM
The device sets the output PWM based on the fan LUT that
maps the temperature sensor readings to the required fan PWM
duty-cycle values.
0
8000h to FFFFh
Automatic RPM
The device reads the actual fan speed and close loop adjusts
the output fan PWM to match the target fan speed based on
the fan LUT that maps the temperature sensor readings to the
required fan speed.
1
8000h to FFFFh
Note: The RPM modes should only be used with fans that provide a tachometer output.
22
6-Channel Intelligent Fan Controller
REMOTE DIODE
TEMP SENSOR 0
REMOTE DIODE
TEMP SENSOR 1
TEMP SENSOR TO
FAN MAPPING
MAX31785
OFFSET ADJUSTMENT
ALLOWS TEMPERATURE ZONE
NORMALIZATION
EACH FAN HAS A
UNIQUE 8-LEVEL LUT
TEMP SENSOR DIODE 0
+15°C
FAN 2
FAN 0 1 2 3 4 5
TEMP SENSOR DIODE 1
+10°C
FAN 0 1 2 3 4 5
TEMP SENSOR DIODE 2
REMOTE DIODE
TEMP SENSOR 2
0°C
HIGHEST TEMPERATURE
CONTROLS THE FAN
FAN 0 1 2 3 4 5
FAN 5
TEMP SENSOR I2C 3
I2C REMOTE
TEMP SENSOR 3
0°C
FAN 0 1 2 3 4 5
TEMP SENSOR INTERNAL
INTERNAL
TEMP SENSOR
+5°C
FAN 0 1 2 3 4 5
Figure 1. Automatic Fan Control
SENSOR
TEMPERATURE
FAN SPEED
T7
S7
T6
THERMAL
HYSTERESIS
SAMPLED TEMPERATURES
T5
S5
SAMPLE 2
SAMPLE 3
T4
T3
S6
S4
SAMPLE 1
SAMPLE 4
S3
T2
S2
T1
S1
T0
S0
ELAPSED TIME
TEMPERATURE SAMPLE RATE
(ONCE PER SECOND)
Figure 2. Fan Speed Example
23
MAX31785
6-Channel Intelligent Fan Controller
At temperature sample 2, the temperature has increased
to greater than temperature level 4 so again the PWM
duty cycle must be increased. At temperature sample
3, the temperature has dropped but not below the thermal hysteresis level (which is set by the HYS bits in the
MFR_FAN_CONFIG command code), so the fan speed
remains at level 4. At temperature sample 4, the temperature has dropped below the hysteresis point so the
PWM duty cycle is decreased.
Pulse Stretching
In some 3-wire fan applications, when the supply power
is interrupted to control fan speed, the tachometer signal is not available. Some fan controllers periodically
stretch the PWM signal to allow the tachometer to be
accurately detected. Pulse stretching can create audible
noise. This device does not implement pulse stretching. Hence, the RPM fan modes that require a reliable
tachometer signal to be available at all times should
100%
Fan Spin-Up
Figure 3 shows the fan spin-up process. When the fan is
spinning up, the number of revolutions is checked every
200ms for up to 2s. When the number of cumulated revolutions is greater than or equal to the spin-up relaxation
criteria, the fan passes spin-up. If the fan has a locked
rotor output, fan spin-up passes when the locked rotor
signal is no longer asserted.
When spin-up passes, the device forces the fan PWM
with a 40% duty cycle. The 40% duty cycle is maintained
until the next temperature conversion is completed,
which occurs once a second. After the temperature conversion, the device enters either manual mode operation
or automatic operation using MFR_FAN_LUT.
SPIN-UP
CRITERIA MET
AUTOMATIC
SPIN-UP
ENABLED
90%
not be used in applications that switch power to the fan
to control the speed of the fan. For example, low-side
switching of a 3-wire fan should not use either of the RPM
fan modes.
80%
70%
RAMP PWM TO TARGET PWM OR RPM
(CONSTRAINED BY THE RAMP BITS)
60%
50%
40%
AUTOMATIC
SPIN-UP
DISABLED
30%
ALWAYS RETURN TO 40% DUTY
CYCLE AFTER AUTOMATIC SPIN-UP
BEFORE BEGINNING PWM RAMP
(EVEN IF BEYOND 1 SECOND)
20%
INITIAL TARGET PWM OR
RPM DETERMINED AFTER
TEMPERATURE CONVERSION
10%
0
0.2
0.4
0.6
0.8
TIME (SECONDS)
Figure 3. Fan Spin-Up
24
1.0
1.2
1.4
6-Channel Intelligent Fan Controller
function is enabled, it runs once per second for each
enabled fan. If the fan’s PWM duty cycle has been stable
for 30s, the measured RPM is compared to the expected RPM and the correct fan-health-color bit (GREEN,
ORANGE, or RED) is set in STATUS_FAN_1_2. If the duty
cycle has been unstable for greater than 10 minutes, the
YELLOW bit is set in STATUS_FANS_1_2.
Fan Health-Meter Function
The expected fan-speed profile is entered with the
MFR_FAN_PWM2RPM command. With this command,
a table is filled with four preassigned PWM duty cycle
(40%, 60%, 80%, and 100%) vs. expected fan-speed
values, as shown in Figure 4. The comparison of the
measured RPM to expected RPM is performed when the
The device has a fan-health-diagnostic function to help
predict the remaining life of the fan. This function compares the measured vs. expected fan speed for the
applied PWM duty cycle to determine if the fan is operating normally. This function is enabled with the HEALTH bit
(bit 4) in MFR_FAN_CONFIG. When the fan-health-meter
RED
EXPECTED FAN
SPEED IN RPM
ORANGE
GREEN
RPM@100% PWM
R
LO
CO R
O
N
LO
CO
NO
D
RE
GE
AN
OR
RPM@60% PWM
GREEN
ORANGE
RED
N
EE
GR
N
EE
GR
GE
AN
OR
RED
GE
AN
RPM@60% PWM
OR
EEN
GR
EEN
GR
RPM@40% PWM
R
LO
CO
NO
R
LO
CO
NO
OR
D
RE
GE
AN
RED
EXPECTED FAN PWM
TO SPEED PROFILE
20
40
60
80
100
PWM DUTY CYCLE (%)
Figure 4. Fan PWM to RPM Example
25
MAX31785
Fan Power-On Sequencing
Multiple fans are not started at the same time. Fans are
started in increments of 200ms to relieve the strain on the
power supply. This sequencing occurs both at initial fan
power-up and when fans are turned off and on during
normal operation.
MAX31785
6-Channel Intelligent Fan Controller
fan’s PWM duty cycle is between 40% and 80%. The
masured fan speed is also compared to the expected
at 100% duty cycle. In the 40% to 80% range, a fan’s
expected fan-speed profile is approximately linear. At
duty cycles outside this range (with the exception of
100%), the shape of the expected fan-speed profile
varies too much between fans, and it is not possible to
predict an expected speed.
A fan-health-color bit in STATUS_FANS_1_2 is set based
upon the difference between the measured and expected fan speed and the FAN_HEALTH_CRITERIA bits in
MFR_MODE, as shown in Table 8. If the fan PWM duty
cycle is less than 40% or between 80% and 100%, a
fan-health color cannot be assigned and all the color
bits are cleared. If the fan is unstable, the YELLOW color
bit is set.
Table 8. Fan Health Conditions
LOWER NIBBLE OF
STATUS_FAN_1_2
GREEN
YELLOW
ORANGE
RED
26
FAN_HEALTH_CRITERIA BITS IN
MFR_MODE
MONITORED FAN SPEED VS.
EXPECTED TARGET
00
Within 10%
01
Within 10%
10
Within 15%
11
Within 15%
—
Fan speed is not stable
00
Between 10% and 15%
01
Between 10% and 20%
10
Between 15% and 20%
11
Between 15% and 25%
00
Over 15%
01
Over 20%
10
Over 20%
11
Over 25%
6-Channel Intelligent Fan Controller
A summary of the PMBus commands supported by the device are described in the following sections.
PAGE (00h)
The device can control up to six fans, up to 11 temperature sensors, and measure up to six remote voltages using one
PMBus (I2C) address. Send the PAGE command with data 0 to 22 to select which fan, temperature sensor, or remote
voltage fan is affected by all the PMBus commands shown in Table 1. Not all commands are supported within each
page. If an unsupported command is received, the CML status bit is set. Some commands are common, meaning that
any selected page has the same effect on and the same response from the device.
Set the PAGE to 255 when it is desired that the following PMBus commands should apply to all pages at the same time.
Table 9. Page Commands
PAGE (DEC)
ASSOCIATED CONTROL
0
Fan Connected to PWM 0
1
Fan Connected to PWM 1
2
Fan Connected to PWM 2
3
Fan Connected to PWM 3
4
Fan Connected to PWM 4
5
Fan Connected to PWM 5
6
Remote Thermal Diode Connected to ADC 0
7
Remote Thermal Diode Connected to ADC 1
8
Remote Thermal Diode Connected to ADC 2
9
Remote Thermal Diode Connected to ADC 3
10
Remote Thermal Diode Connected to ADC 4
11
Remote Thermal Diode Connected to ADC 5
12
Internal Temperature Sensor
13
Remote I2C Temperature Sensor with Address 0
14
Remote I2C Temperature Sensor with Address 1
15
Remote I2C Temperature Sensor with Address 2
16
Remote I2C Temperature Sensor with Address 3
17
Remote Voltage Connected to ADC 0
18
Remote Voltage Connected to ADC 1
19
Remote Voltage Connected to ADC 2
20
Remote Voltage Connected to ADC 3
21
Remote Voltage Connected to ADC 4
22
Remote Voltage Connected to ADC 5
23 to 254
255
Reserved
Applies to All Pages
27
MAX31785
PMBus Commands
MAX31785
6-Channel Intelligent Fan Controller
CLEAR_FAULTS (03h)
The CLEAR_FAULTS command is used to clear any fault or warning bits in the status registers that have been set. This
command clears all bits simultaneously. If a fault is still present after the CLEAR_FAULTS command is executed, the
fault status bit is set again and the host is also notified by asserting ALERT (if enabled in MFR_MODE). This command
is write-only. There is no data byte for this command.
WRITE_PROTECT (10h)
The WRITE_PROTECT command is used to provide protection against accidental changes to the device operating
memory. All supported commands can have their parameters read, regardless of the WRITE_PROTECT settings. The
WRITE_PROTECT message content is described in Table 10.
Table 10. WRITE_PROTECT Command Byte
COMMAND BYTE
MEANING
80h
Disable all writes except the WRITE_PROTECT command.
40h
Disable all writes except the WRITE_PROTECT and PAGE commands.
00h
Enable writes for all commands (default).
Note: No fault or error is generated if the host attempts to write to a protected area.
STORE_DEFAULT_ALL (11h)
The STORE_DEFAULT_ALL command instructs the device to transfer the device configuration information to the
internal flash memory array. Not all information is stored. Only configuration data is stored, not any status or operational data. If an error occurs during the transfer, ALERT asserts if enabled and the CML bit in STATUS_BYTE and
STATUS_WORD is set to 1. No bits are set in STATUS_CML. It is NOT recommended to use the STORE_DEFAULT_ALL
command while the device is operating fans. The device is unresponsive to PMBus commands and does not monitor
fans while transferring the configuration. This command is write-only. There is no data byte for this command.
USER NOTE: VDD must be above 2.9V for the device to perform the STORE_DEFAULT_ALL command.
RESTORE_DEFAULT_ALL (12h)
The RESTORE_DEFAULT_ALL command transfers the default configuration information from the internal flash memory
array to the user memory registers in the device. The RESTORE_DEFAULT_ALL command should only be executed
when the device is not operating the fans. Upon a device reset, this command is automatically executed by the device
without PMBus action required. This command is write-only. There is no data byte for this command.
CAPABILITY (19h)
The CAPABILITY command is used to determine some key capabilities of the device. The CAPABILITY command is
read-only. The message content is described in Table 11.
Table 11. CAPABILITY Command Byte
BIT
7
6:5
4
3:0
28
DESCRIPTION
MEANING
Packet-Error Checking
0 = PEC not supported.
PMBus Speed
00 = Maximum supported bus speed is 100kHz.
ALERT
1 = Device supports an ALERT output (if ALERT is enabled in MFR_MODE).
0 = Device does not support ALERT output (ALERT is disabled in MFR_MODE).
Reserved
Always returns 0000.
6-Channel Intelligent Fan Controller
VOUT_SCALE_MONITOR (2Ah)
VOUT_SCALE_MONITOR is used in applications where the measured remote voltage is not equal to the voltage at the
ADC input. For example, if the ADC input expects a 1.0V input for a 12V output, VOUT_SCALE_MONITOR = 1.0V/12V
= 0.0833. In applications where the remote voltage is greater than the device input range, the voltage of the remote
supply is sensed through a resistive voltage-divider. The resistive voltage-divider reduces or scales the remote voltage.
The PMBus commands specify the actual remote voltages and not the input voltage to the ADC. To allow the device to
map between the remote voltage (such as 12V) and the voltage at the ADC input, the VOUT_SCALE_MONITOR command is used. The 2 data bytes are in DIRECT format. This value is dimensionless. For example, if the required scaling
factor is 0.0833, then VOUT_SCALE_MONITOR should be set to 0AABh (2731/32,767 = 0.0833).
Table 12. VOUT_SCALE_MONITOR
NOMINAL VOLTAGE LEVEL
MONITORED (V)
NOMINAL ADC INPUT VOLTAGE
LEVEL (V) (SEE NOTE)
RESISTIVE VOLTAGEDIVIDER RATIO
VOUT_SCALE_MONITOR
VALUE (HEX)
1.2
1.0
0.833
6AAAh
1.5
1.0
0.667
5555h
1.8
1.0
0.555
470Ah
2.5
1.0
0.4
3333h
3.3
1.0
0.303
26C8h
5
1.0
0.2
1999h
12
1.0
0.0833
0AABh
USER NOTE: On the device, the full-scale ADC voltage is 1.225V. The scaling factor where a 1.0V ADC input
represents a nominal 100% voltage level is recommended.
FAN_CONFIG_1_2 (3Ah)
The FAN_CONFIG_1_2 command is used in conjunction with MFR_FAN_CONFIG to configure the fan. See the
MFR_FAN_CONFIG (F1h) section for more details on this command. The FAN_CONFIG_1_2 command is described
in Table 13.
Table 13. FAN_CONFIG_1_2 Command Byte
BIT
NAME
7
FAN ENABLE
6
RPM/PWM
5:4
PULSE
3:0
0
MEANING
0 = Fan disabled (PWM forced low).
1 = Fan enabled.
0 = PWM duty cycle is the fan-controlling parameter.
1 = RPM is the fan-controlling parameter.
00
01
10
11
=
=
=
=
1
2
3
4
Tach
Tach
Tach
Tach
pulse per fan revolution.
pulses per fan revolution.
pulses per fan revolution.
pulses per fan revolution.
These bits always return a 0.
29
MAX31785
VOUT_MODE (20h)
The VOUT_MODE command is used to report the data format of the device. The device uses the DIRECT format for all
the voltage-related commands. The value returned is 40h, indicating DIRECT data format. This command is read-only.
If a host attempts to write this command, the CML status bit is asserted. See Table 3 for the m, b, and R values for the
various commands.
MAX31785
6-Channel Intelligent Fan Controller
FAN_COMMAND_1 (3Bh)
The FAN_COMMAND_1 command is used to override the device’s automatic fan-control function and force the fan to
either a fixed PWM duty-cycle value or a target fan speed (in RPM). The units of FAN_COMMAND_1 are either percent
duty cycle (if bit 6 of FAN_CONFIG_1_2 is zero) or RPM (if bit 6 of FAN_CONFIG_1_2 is one). Any value less than 0%
duty cycle or 0 RPM causes the device to ignore this command and use the automatic fan-control function. Any value
greater than or equal to 0% duty cycle or 0 RPM causes the device to ignore the automatic fan-control function and
force the fan to the PWM value or RPM value provided by the FAN_COMMAND_1 command. The 2 data bytes are in
DIRECT format.
Table 14. PWM Fan Mode (FAN_CONFIG_1_2 Bit 6 = 0)
FAN_COMMAND_1 VALUE
DEVICE RESPONSE
8000h to FFFFh
Ignore FAN_COMMAND_1 and use automatic fan-control function
0000h to 2710h
0 to 100% fan PWM duty cycle
2711h to 7FFFh
100% fan PWM duty cycle
Table 15. RPM Fan Mode (FAN_CONFIG_1_2 Bit 6 = 1)
FAN_COMMAND_1 VALUE
DEVICE RESPONSE
8000h to FFFFh
Ignore FAN_COMMAND_1 and use automatic fan-control function
0000h to 7FFFh
0 to 32,767 RPM
VOUT_OV_FAULT_LIMIT (40h)
The VOUT_OV_FAULT_LIMIT command sets the value of the output voltage that causes an output overvoltage fault.
The monitored voltage must drop by at least 2% below the limit before the fault is allowed to clear. The 2 data bytes
are in DIRECT format. In response to the VOUT_OV_FAULT_LIMIT being exceeded, the device does the following:
1) Sets the VOUT_OV bit in STATUS_BYTE.
2) Sets the VOUT_OV and VOUT bits in STATUS_WORD.
3) Sets the VOUT_OV_FAULT bit in STATUS_VOUT.
4) Responds as specified in the MFR_FAULT_RESPONSE.
5) Notifies the host through ALERT assertion (if enabled in MFR_MODE).
VOUT_OV_WARN_LIMIT (42h)
The VOUT_OV_WARN_LIMIT command sets the value of the output voltage that causes an output-voltage high warning. This value is typically less than the output overvoltage threshold in VOUT_OV_FAULT_LIMIT. The monitored voltage must drop by at least 2% below the limit before the warning is allowed to clear. The 2 data bytes are in DIRECT
format. In response to the VOUT_OV_WARN_LIMIT being exceeded, the device does the following:
1) Sets the NONE OF THE ABOVE bit in STATUS_BYTE.
2) Sets the NONE OF THE ABOVE and VOUT bits in STATUS_WORD.
3) Sets the VOUT_OV_WARN bit in STATUS_VOUT.
4) Notifies the host using ALERT assertion (if enabled in MFR_MODE).
30
6-Channel Intelligent Fan Controller
1) Sets the NONE OF THE ABOVE bit in STATUS_BYTE.
2) Sets the NONE OF THE ABOVE and VOUT bits in STATUS_WORD.
3) Sets the VOUT_UV_WARN bit in STATUS_VOUT.
4) Notifies the host using ALERT assertion (if enabled in MFR_MODE).
VOUT_UV_FAULT_LIMIT (44h)
The VOUT_UV_FAULT_LIMIT command sets the value of the output voltage that causes an output undervoltage fault.
The monitored voltage must increase by at least 2% above the limit before the fault is allowed to clear. The 2 data bytes
are in DIRECT format. In response to violation of the VOUT_UV_FAULT_LIMIT, the device does the following:
1) Sets the NONE OF THE ABOVE bit in STATUS_BYTE.
2) Sets the NONE OF THE ABOVE and VOUT bits in STATUS_WORD.
3) Sets the VOUT_UV_FAULT bit in STATUS_VOUT.
4) Responds as specified in MFR_FAULT_RESPONSE.
5) Notifies the host using ALERT assertion (if enabled in MFR_MODE).
OT_FAULT_LIMIT (4Fh)
The OT_FAULT_LIMIT command sets the temperature, in degrees Celsius, of the selected temperature sensor at which an
overtemperature fault is detected. The monitored temperature must drop by at least 4°C below the limit before the fault is
allowed to clear. The 2 data bytes are in DIRECT format. In response to the OT_FAULT_LIMIT being exceeded, the device
does the following:
1) Sets the TEMPERATURE bit in STATUS_BYTE.
2) Sets the TEMPERATURE and MFR bits in STATUS_WORD.
3) Sets the OT_FAULT bit in STATUS_MFR_SPECIFIC.
4) Responds as specified in MFR_FAULT_RESPONSE.
5) Notifies the host using ALERT assertion (if enabled in MFR_MODE).
OT_WARN_LIMIT (51h)
The OT_WARN_LIMIT command sets the temperature, in degrees Celsius, of the selected temperature sensor at which
an overtemperature warning is detected. The monitored temperature must drop by at least 4°C below the limit before
the warning is allowed to clear. The 2 data bytes are in DIRECT format. In response to the OT_WARN_LIMIT being
exceeded, the device does the following:
1) Sets the TEMPERATURE bit in STATUS_BYTE.
2) Sets the TEMPERATURE and MFR bits in STATUS_WORD.
3) Sets the OT_WARN bit in STATUS_MFR_SPECIFIC.
4) Notifies the host through ALERT assertion (if enabled in MFR_MODE).
31
MAX31785
VOUT_UV_WARN_LIMIT (43h)
The VOUT_UV_WARN_LIMIT command sets the value of the output voltage that causes an output-voltage low warning.
This value is typically greater than the output undervoltage fault threshold in VOUT_UV_FAULT_LIMIT. The monitored
voltage must increase by at least 2% above the limit before the warning is allowed to clear. The 2 data bytes are in
DIRECT format. In response to violation of the VOUT_UV_WARN_LIMIT, the device does the following:
MAX31785
6-Channel Intelligent Fan Controller
STATUS_BYTE (78h)
The STATUS_BYTE command returns 1 byte of information with a summary of the most critical faults. A value of 1 indicates that a fault or warning event has occurred and a 0 indicates otherwise. Bits for unsupported features are reported
as 0. The STATUS_BYTE cannot be restored by the RESTORE_DEFAULT_ALL command. The STATUS_BYTE message
content is described in Table 16. This command is read-only.
Table 16. STATUS_BYTE
BIT
BIT NAME
7:6
0
5
VOUT_OV
4:3
0
2
TEMPERATURE
1
CML
0
MEANING
These bits always return a 0.
An overvoltage fault has occurred.
These bits always return a 0.
A temperature fault or warning has occurred.
A communication, memory, or logic fault has occurred.
NONE OF THE ABOVE A fault or warning not listed in bits [7:1] has occurred.
STATUS_WORD (79h)
The STATUS_WORD command returns 2 bytes of information with a summary of the reason for a fault. The low byte of
the STATUS_WORD is the same data as the STATUS_BYTE. Table 17 describes the STATUS_WORD message content.
Table 17. STATUS_WORD
BIT
BIT NAME
15
VOUT
14:13
0
12
MFR
11
0
10
FANS
9:6
0
5
VOUT_OV
4:3
0
2
TEMPERATURE
1
0
CML
MEANING
An output voltage fault or warning has occurred.
These bits always return a 0.
A bit in STATUS_MFR_SPECIFIC has been set.
This bit always returns a 0.
A fan fault or warning has occurred.
These bits always return a 0.
An overvoltage fault has occurred.
These bits always return a 0.
A temperature fault or warning has occurred.
A communication, memory, or logic fault has occurred.
NONE OF THE ABOVE A fault or warning not listed in bits [7:1] has occurred.
STATUS_VOUT (7Ah)
The STATUS_VOUT command returns 1 byte of information with contents as described in Table 18.
Table 18. STATUS_VOUT
32
BIT
BIT NAME
7
VOUT_OV_FAULT
VOUT overvoltage fault.
MEANING
6
VOUT_OV_WARN
VOUT overvoltage warning.
5
VOUT_UV_WARN
VOUT undervoltage warning.
4
VOUT_UV_FAULT
VOUT undervoltage fault.
3:0
0
These bits always return a 0.
6-Channel Intelligent Fan Controller
Table 19. STATUS_CML
BIT
BIT NAME
7
COMM_FAULT
An invalid or unsupported command has been received.
6
DATA_FAULT
An invalid or unsupported data has been received.
5:1
0
0
FAULT_LOG_FULL
MEANING
These bits always return a 0.
MFR_NV_FAULT_LOG is full and needs to be cleared.
STATUS_MFR_SPECIFIC (80h)
The STATUS_MFR_SPECIFIC command returns 1 byte of information with a summary of the reason for a fault. The
STATUS_MFR_SPECIFIC message content is described in Table 20.
Table 20. STATUS_MFR_SPECIFIC
BIT
BIT NAME
MEANING
7
0
This bit always returns a 0.
6
OT_WARN
Overtemperature warning.
5
OT_FAULT
Overtemperature fault.
4
WATCHDOG
3:0
0
A watchdog reset has occurred.
These bits always return a 0.
STATUS_FANS_1_2 (81h)
The STATUS_FANS_1_2 command returns 1 byte of information with the status of the fan. The STATUS_FANS_1_2
command is described in Table 21.
Table 21. STATUS_FANS_1_2
BIT
BIT NAME
7
FAN_1_FAULT
6
0
5
FAN_1_WARN
4
0
3
RED
2
ORANGE
1
YELLOW
0
GREEN
MEANING
Fan 1 fault.
This bit always returns a 0.
Fan 1 warning.
This bit always returns a 0.
The lower nibble reports the estimated health of the fan. Only one of the four bits is set at any
one time. If no bits are set, the fan health cannot be estimated. RED is the worst health state
and GREEN is the best health state. The CLEAR_FAULTS command does not affect these
bits.
Note: The settings of the RED, ORANGE, YELLOW, and GREEN bits does not assert the ALERT signal.
33
MAX31785
STATUS_CML (7Eh)
The STATUS_CML command returns 1 byte of information with contents as described in Table 19.
MAX31785
6-Channel Intelligent Fan Controller
READ_VOUT (8Bh)
The READ_VOUT command returns the actual measured output voltage. READ_VOUT is measured and updated every
10ms. The 2 data bytes are in DIRECT format.
READ_TEMPERATURE_1 (8Dh)
The READ_TEMPERATURE_1 command returns the temperature returned from the temperature sensor. The value of
READ_TEMPERATURE_1 does not have offset from MFR_TEMP_SENSOR_CONFIG added. READ_TEMPERATURE_1
returns 7FFFh if the sensor is faulty and 0000h if the sensor is disabled. READ_TEMPERATURE_1 is measured and
updated once a second. The 2 data bytes are in DIRECT format.
READ_FAN_SPEED_1 (90h)
The READ_FAN_SPEED_1 command returns the fan speed in RPM. READ_FAN_SPEED_1 is updated once a second,
even if the fan is disabled. The PULSE bits in FAN_CONFIG_1_2 must be properly configured to receive the correct
fan speed. Fan speeds below 60 RPM (360 RPM for dual mode fans) are reported as 0 RPM. The 2 data bytes are in
DIRECT format.
PMBUS_REVISION (98h)
The PMBUS_REVISION command returns the revision of the PMBus specification to which the device is compliant. The
command has 1 data byte. Bits [7:4] indicate the revision of PMBus specification Part I to which the device is compliant. Bits [3:0] indicate the revision of PMBus specification Part II to which the device is compliant. This command is
read-only. The PMBUS_REVISION value returned is always 11h, which indicates that it is compliant with Part I Rev 1.1
and Part II Rev 1.1.
MFR_ID (99h)
The MFR_ID command returns the text (ISO/IEC 8859-1) character of the manufacturer’s (Maxim) identification. The
default MFR_ID value is 4Dh (M). This command is read-only.
MFR_MODEL (9Ah)
The MFR_MODEL command returns the text (ISO/IEC 8859-1) character of the device model number. The default
MFR_MODEL value is 53h (S). This command is read-only.
MFR_REVISION (9Bh)
The MFR_REVISION command returns two text (ISO/IEC 8859-1) characters that contain the device revision numbers
for hardware (upper byte) and firmware (lower byte). The default MFR_REVISION value is 3030h (00). This command
is read-only.
MFR_LOCATION (9Ch)
The MFR_LOCATION command loads the device with text (ISO/IEC 8859-1) characters that identify the facility that
manufactures the equipment. The maximum number of characters is 8. This data is written to internal flash using the
STORE_DEFAULT_ALL command. The factory default text string value is 10101010.
MFR_DATE (9Dh)
The MFR_DATE command loads the device with text (ISO/IEC 8859-1) characters that identify the date of manufacture of the equipment. The maximum number of characters is 8. This data is written to internal flash using the
STORE_DEFAULT_ALL command. The factory default text string value is 10101010.
MFR_SERIAL (9Eh)
The MFR_SERIAL command loads the device with text (ISO/IEC 8859-1) characters that uniquely identify the equipment.
The maximum number of characters is 8. This data is written to internal flash using the STORE_DEFAULT_ALL command. The factory default text string value is 10101010.
34
6-Channel Intelligent Fan Controller
Table 22. MFR_MODE
BIT
BIT NAME
MEANING
FORCE_NV_FAULT_LOG
Setting this bit to 1 forces the device to log data into the nonvolatile fault log. Once set, the
device clears this bit when the action is completed. The host must set again for subsequent
action. If an error occurs during this action, the device sets the CML bit in STATUS_BYTE
and STATUS_WORD; no bits are set in STATUS_CML.
14
CLEAR_NV_FAULT_LOG
Setting this bit to 1 forces the device to clear the nonvolatile fault log by writing FFh to all
byte locations. Once set, the device clears this bit when the action is completed. The host
must set again for subsequent action. If an error occurs during this action, the device sets
the CML bit in STATUS_BYTE and STATUS_WORD; no bits are set in STATUS_CML.
13
ALERT
15
12
0
11
SOFT_RESET
10:8
0
0 = ALERT disabled (device does not respond to ARA).
1 = ALERT enabled (device responds to ARA and ARA must be used).
This bit always returns a 0.
This bit must be set, then cleared and set again within 8ms for a soft reset to occur.
These bits always return a 0.
These bits select the threshold for the expected RPM in the fan health monitor.
BIT
7:6
FAN_HEALTH_CRITERIA
GREEN
ORANGE
RED
0
0
< 10%
< 15%
> 15%
0
1
< 10%
< 20%
> 20%
1
0
< 15%
< 20%
> 20%
1
1
< 15%
< 25%
> 25%
5
ADC5_ENABLE
0 = ADC5 voltage sense disabled.
1 = ADC5 voltage sense enabled (overridden if temp sense enabled)
4
ADC4_ENABLE
0 = ADC4 voltage sense disabled.
1 = ADC4 voltage sense enabled (overridden if temp sense enabled)
3
ADC3_ENABLE
0 = ADC3 voltage sense disabled.
1 = ADC3 voltage sense enabled (overridden if temp sense enabled)
2
ADC2_ENABLE
0 = ADC2 voltage sense disabled.
1 = ADC2 voltage sense enabled (overridden if temp sense enabled)
1
ADC1_ENABLE
0 = ADC1 voltage sense disabled.
1 = ADC1 voltage sense enabled (overridden if temp sense enabled)
0
ADC0_ENABLE
0 = ADC0 voltage sense disabled.
1 = ADC0 voltage sense enabled (overridden if temp sense enabled)
35
MAX31785
MFR_MODE (D1h)
The MFR_MODE command is used to configure the device to support manufacturer specific commands. The
MFR_MODE command is described in Table 22.
MAX31785
6-Channel Intelligent Fan Controller
MFR_VOUT_PEAK (D4h)
The MFR_VOUT_PEAK command returns the maximum actual measured output voltage. To reset this value to 0, write to this
command with a data value of 0. Any values written to this command are used as a comparison for future peak updates. The
2 data bytes are in DIRECT format.
MFR_TEMPERATURE_PEAK (D6h)
The MFR_TEMPERATURE_PEAK command returns the maximum measured temperature. To reset this value to its lowest value, write to this command with a data value of 8000h. Any other values written by this command are used as a
comparison for future peak updates. The 2 data bytes are in DIRECT format.
MFR_VOUT_MIN (D7h)
The MFR_VOUT_MIN command returns the minimum actual measured output voltage. To reset this value, write to this command with a data value of 7FFFh. Any values written to this command are used as a comparison for future minimum updates.
The 2 data bytes are in DIRECT format.
MFR_FAULT_RESPONSE (D9h)
The MFR_FAULT_RESPONSE command specifies the response to each fault condition supported by the device. In
response to a fault, the device always report the fault in the appropriate status register and asserts the ALERT output
(if enabled in MFR_MODE). A CML fault cannot cause any device action other than setting the status bit and asserting
the ALERT output. The MFR_FAULT_RESPONSE command is described in Table 23.
Table 23. MFR_FAULT_RESPONSE
BIT
BIT NAME
7
NV_LOG
6
NV_LOG_OV
5
UV_OV_FILTER
4:3
0
2
FAULT_PIN_ENABLE_OV
1
FAULT_PIN_ENABLE
0
FAULT_PIN_MONITOR
MEANING
0 = Do not log the fault into MFR_NV_FAULT_LOG.
1 = Log the fault into MFR_NV_FAULT_LOG.
This bit is only valid for pages 17 to 22. Other pages always return a 0.
0 = Bit 7 is ignored for overvoltage faults.
1 = Bit 7 also applies to overvoltage faults.
This bit is only valid for pages 17 to 22. Other pages always return a 0.
0 = Fault or warning on first voltage sample excursion occurrence.
1 = Requires two consecutive voltage sample excursions before a fault or warning
is declared and action taken.
These bits always return a 0.
This bit is only valid for pages 17 to 22. Other pages always return a 0.
0 = Bit 1 is ignored for overvoltage faults.
1 = Bit 1 also applies to overvoltage faults.
0 = Never assert the FAULT pin.
1 = Assert the FAULT pin during an active fault.
This bit is only valid for pages 0 to 5. Other pages always return a 0.
0 = Ignore the FAULT pin.
1 = Force fan to 100% PWM duty cycle when the FAULT pin is asserted.
Note 1: For fault responses, a fault is defined as either a fan fault, an overtemperature fault, or an undervoltage fault. Bits 2 and 6
allow the addition of an overvoltage fault to the fault definition.
Note 2: If FAULT_PIN_MONITOR = 1, the device reacts to both internal and external assertions of the FAULT pin.
36
6-Channel Intelligent Fan Controller
There is a FAULT_LOG_COUNT (16-bit counter) at the beginning of each fault log that indicates which fault log is
the latest. This counter rolls over should more than 65,535 faults be logged. This counter is not cleared when the
CLEAR_NV_FAULT_LOG bit in MFR_MODE is toggled. The 255 bytes returned by the MFR_NV_FAULT_LOG command are described in Table 24.
If an error occurs while the device is attempting to write or clear the NV_FAULT_LOG, the device sets the CML bit in
STATUS_BYTE and STATUS_WORD; no bits are set in STATUS_CML. ALERT is asserted (if enabled in MFR_MODE).
See Figure 5.
USER NOTE: VDD must be above 2.9V for the device to clear or log data into MFR_NV_FAULT_LOG.
EACH FAULT IS WRITTEN INTO
THE NEXT FAULT LOG
FLASH
EACH COMMAND READ
ACCESSES THE NEXT FAULT LOG
FAULT LOG INDEX 0
(255 BYTES)
RAM
FAULT LOG INDEX 1
(255 BYTES)
STATUS
VOLTAGE
TEMPERATURE
FAN SPEED
FAULT OCCURENCE
MFR_NV_FAULT_LOG
FAULT LOG INDEX 2
(255 BYTES)
FAULT LOG INDEX 14
(255 BYTES)
Figure 5. MFR_NV_FAULT_LOG
37
MAX31785
MFR_NV_FAULT_LOG (DCh)
Each time the MFR_NV_FAULT_LOG command is executed, the device returns a block of 255 bytes containing one
of the 15 nonvolatile fault logs. The MFR_NV_FAULT_LOG command must be executed 15 times to dump the complete nonvolatile fault log. If the returned fault log is all FFs, this indicates that this fault log has not been written by the
device. As the device is operating, it is reading the latest operating conditions for fan speed, voltage, and temperature,
and it is updating the status registers. All this information is stored in on-board RAM. When a fault is detected (if so
enabled in MFR_FAULT_RESPONSE), the device automatically logs this information to one of the 15 nonvolatile fault
logs. After 15 faults have been written, bit 0 of STATUS_CML is set and the host must clear the fault log by setting the
CLEAR_NV_FAULT_LOG bit in MFR_MODE before any additional faults are logged. All the latest status information is
logged as well as eight readings of voltage from the last 800ms in 100ms increments. If a fan is not enabled or if voltage or a temperature sensor is disabled, the associated fault log position returns 0000h.
MAX31785
6-Channel Intelligent Fan Controller
Table 24. MFR_NV_FAULT_LOG
BYTE
38
PARAMETER
BYTE
PARAMETER
0
00h/FAULT_LOG_INDEX
128
READ_VOUT Index = 3, Page 19
2
FAULT_LOG_COUNT
130
READ_VOUT Index = 3, Page 20
4
MFR_TIME_COUNT (LSW)
132
READ_VOUT Index = 3, Page 21
6
MFR_TIME_COUNT (MSW)
134
READ_VOUT Index = 3, Page 22
8
STATUS_BYTE/STATUS_CML
136
READ_VOUT Index = 4, Page 17
10
STATUS_WORD
138
READ_VOUT Index = 4, Page 18
12
STATUS_VOUT Pages 17/18
140
READ_VOUT Index = 4, Page 19
14
STATUS_VOUT Pages 19/20
142
READ_VOUT Index = 4, Page 20
16
STATUS_VOUT Pages 21/22
144
READ_VOUT Index = 4, Page 21
18
STATUS_MFR_SPECIFIC Pages 6/7
146
READ_VOUT Index = 4, Page 22
20
STATUS_MFR_SPECIFIC Pages 8/9
148
READ_VOUT Index = 5, Page 17
22
STATUS_MFR_SPECIFIC Pages 10/11
150
READ_VOUT Index = 5, Page 18
24
STATUS_MFR_SPECIFIC Pages 12/13
152
READ_VOUT Index = 5, Page 19
26
STATUS_MFR_SPECIFIC Pages 14/15
154
READ_VOUT Index = 5, Page 20
28
STATUS_MFR_SPECIFIC Pages 16/00h
156
READ_VOUT Index = 5, Page 21
30
STATUS_FANS_1_2 Pages 0/1
158
READ_VOUT Index = 5, Page 22
32
STATUS_FANS_1_2 Pages 2/3
160
READ_VOUT Index = 6, Page 17
34
STATUS_FANS_1_2 Pages 4/5
162
READ_VOUT Index = 6, Page 18
36
MFR_VOUT_PEAK Page 17
164
READ_VOUT Index = 6, Page 19
38
MFR_VOUT_PEAK Page 18
166
READ_VOUT Index = 6, Page 20
40
MFR_VOUT_PEAK Page 19
168
READ_VOUT Index = 6, Page 21
42
MFR_VOUT_PEAK Page 20
170
READ_VOUT Index = 6, Page 22
44
MFR_VOUT_PEAK Page 21
172
READ_VOUT Index = 7, Page 17
46
MFR_VOUT_PEAK Page 22
174
READ_VOUT Index = 7, Page 18
48
MFR_TEMPERATURE_PEAK Page 6
176
READ_VOUT Index = 7, Page 19
50
MFR_TEMPERATURE_PEAK Page 7
178
READ_VOUT Index = 7, Page 20
52
MFR_TEMPERATURE_PEAK Page 8
180
READ_VOUT Index = 7, Page 21
54
MFR_TEMPERATURE_PEAK Page 9
182
READ_VOUT Index = 7, Page 22
56
MFR_TEMPERATURE_PEAK Page 10
184
READ_FAN_SPEED_1 Page 0
58
MFR_TEMPERATURE_PEAK Page 11
186
READ_FAN_SPEED_1 Page 1
60
MFR_TEMPERATURE_PEAK Page 12
188
READ_FAN_SPEED_1 Page 2
62
MFR_TEMPERATURE_PEAK Page 13
190
READ_FAN_SPEED_1 Page 3
64
MFR_TEMPERATURE_PEAK Page 14
192
READ_FAN_SPEED_1 Page 4
66
MFR_TEMPERATURE_PEAK Page 15
194
READ_FAN_SPEED_1 Page 5
68
MFR_TEMPERATURE_PEAK Page 16
196
MFR_READ_FAN_PWM Page 0
70
MFR_VOUT_MIN Page 17
198
MFR_READ_FAN_PWM Page 1
72
MFR_VOUT_MIN Page 18
200
MFR_READ_FAN_PWM Page 2
74
MFR_VOUT_MIN Page 19
202
MFR_READ_FAN_PWM Page 3
76
MFR_VOUT_MIN Page 20
204
MFR_READ_FAN_PWM Page 4
78
MFR_VOUT_MIN Page 21
206
MFR_READ_FAN_PWM Page 5
80
MFR_VOUT_MIN Page 22
208
MFR_FAN_RUN_TIME Page 0
82
RESERVED (0000h)
210
MFR_FAN_RUN_TIME Page 1
6-Channel Intelligent Fan Controller
BYTE
PARAMETER
BYTE
MAX31785
Table 24. MFR_NV_FAULT_LOG (continued)
PARAMETER
84
RESERVED (0000h)
212
MFR_FAN_RUN_TIME Page 2
86
VOLTAGE_INDEX/00h
214
MFR_FAN_RUN_TIME Page 3
88
READ_VOUT Index = 0, Page 17
216
MFR_FAN_RUN_TIME Page 4
90
READ_VOUT Index = 0, Page 18
218
MFR_FAN_RUN_TIME Page 5
92
READ_VOUT Index = 0, Page 19
220
MFR_FAN_PWM_AVG Page 0
94
READ_VOUT Index = 0, Page 20
222
MFR_FAN_PWM_AVG Page 1
96
READ_VOUT Index = 0, Page 21
224
MFR_FAN_PWM_AVG Page 2
98
READ_VOUT Index = 0, Page 22
226
MFR_FAN_PWM_AVG Page 3
100
READ_VOUT Index = 1, Page 17
228
MFR_FAN_PWM_AVG Page 4
102
READ_VOUT Index = 1, Page 18
230
MFR_FAN_PWM_AVG Page 5
104
READ_VOUT Index = 1, Page 19
232
READ_TEMPERATURE_1 Page 6
106
READ_VOUT Index = 1, Page 20
234
READ_TEMPERATURE_1 Page 7
108
READ_VOUT Index = 1, Page 21
236
READ_TEMPERATURE_1 Page 8
110
READ_VOUT Index = 1, Page 22
238
READ_TEMPERATURE_1 Page 9
112
READ_VOUT Index = 2, Page 17
240
READ_TEMPERATURE_1 Page 10
114
READ_VOUT Index = 2, Page 18
242
READ_TEMPERATURE_1 Page 11
116
READ_VOUT Index = 2, Page 19
244
READ_TEMPERATURE_1 Page 12
118
READ_VOUT Index = 2, Page 20
246
READ_TEMPERATURE_1 Page 13
120
READ_VOUT Index = 2, Page 21
248
READ_TEMPERATURE_1 Page 14
122
READ_VOUT Index = 2, Page 22
250
READ_TEMPERATURE_1 Page 15
124
READ_VOUT Index = 3, Page 17
252
READ_TEMPERATURE_1 Page 16
126
READ_VOUT Index = 3, Page 18
254
LOG_VALID (see note)
Note: LOG_VALID is set to DDh if the fault log contains valid data.
39
MAX31785
6-Channel Intelligent Fan Controller
MFR_TIME_COUNT (DDh)
The MFR_TIME_COUNT command returns the number of seconds of device lifetime operation. Once every hour, the
device automatically stores this counter in flash memory. The counter is a 32-bit value that rolls over. The latest stored
value is automatically recalled from flash memory upon device power cycle, RST action, or a soft reset. This count
can be reset to zero by writing a sequence of all zeros (00000000h), followed by all ones (FFFFFFFFh), followed by all
zeros (00000000h) within 8ms.
MFR_TEMP_SENSOR_CONFIG (F0h)
The MFR_TEMP_SENSOR_CONFIG command is used to configure the temperature sensors. Table 25 describes the
MFR_TEMP_SENSOR_CONFIG command.
Table 25. MFR_TEMP_SENSOR_CONFIG
BIT
15
BIT NAME
ENABLE
MEANING
0 = Temperature sensor disabled.
1 = Temperature sensor enabled.
The OFFSET setting is used to allow the temperature reading to be normalized among multiple
temperature sensors. Values from 00h to 1Eh select the offset value. The valid range is 0NC to
+30NC in 1NC steps. If OFFSET is 1Fh, the device automatically uses the value written to the
OT_WARN_LIMIT command code for the LUT instead of the digitized measured temperature.
OFFSET VALUE
14:10
40
OFFSET
CONFIGURATION
00h
Offset = 0NC
01h
Offset = +1NC
02h
Offset = +2NC
1Dh
Offset = +29NC
1Eh
Offset = +30NC
1Fh
Test Mode
9:6
0
These bits always return a 0.
5
FAN5
0 = Temperature sensor is not used to control fan 5 speed.
1 = Temperature sensor is used to control fan 5 speed.
4
FAN4
0 = Temperature sensor is not used to control fan 4 speed.
1 = Temperature sensor is used to control fan 4 speed.
3
FAN3
0 = Temperature sensor is not used to control fan 3 speed.
1 = Temperature sensor is used to control fan 3 speed.
2
FAN2
0 = Temperature sensor is not used to control fan 2 speed.
1 = Temperature sensor is used to control fan 2 speed.
1
FAN1
0 = Temperature sensor is not used to control fan 1 speed.
1 = Temperature sensor is used to control fan 1 speed.
0
FAN0
0 = Temperature sensor is not used to control fan 0 speed.
1 = Temperature sensor is used to control fan 0 speed.
6-Channel Intelligent Fan Controller
Table 26. MFR_FAN_CONFIG
BIT
BIT NAME
MEANING
The FREQ bits set the PWM frequency. Note: The device does not support pulse stretching.
15:13
12
FREQ[2:0]
DUAL_TACH
FREQ2
FREQ1
FREQ0
PWM FREQUENCY
0
0
0
30Hz
0
0
1
50Hz
0
1
0
100Hz
0
1
1
150Hz
1
0
0
Reserved
1
0
1
Reserved
1
1
0
Reserved
1
1
1
25kHz
0 = Dual tach functionality is disabled.
1 = Dual tach functionality is enabled.
Note: In dual tachometer applications, it is recommended that the slower tachometer signal be
presented to the TACH pin when TACHSEL = 0.
The HYS bits determine the amount of hysteresis the device uses to determine how far the temperature must fall below the temperature level threshold programmed in the LUT before switching to the lower PWM/RPM value. The hysteresis should be set lower than the minimum difference between two adjacent temperature steps. These bits are ignored if automatic fan control is
disabled.
11:10
9
8
HYS[1:0]
TSFO
TACHO
HSY1
HSY0
THERMAL HYSTERESIS (NC)
0
0
2
0
1
4
1
0
6
1
1
8
0 = Ramp to 100% PWM duty cycle if temp sensor faults (automatic fan mode) or if no
FAN_COMMAND_1 update occurs (manual fan mode) in any 10s period.
1 = Temp sensor fault or update rate to FAN_COMMAND_1 is ignored. Operate at the last
updated PWM/RPM value.
Note 1: A temp sensor fault is a faulty temperature sensor reading, not an overtemperature fault.
Note 2: In automatic fan mode, if the TSFO bit is set to 1, the device ignores a sensor fault and
uses the remaining assigned temperature sensors (if any) to control the fan PWM duty cycle; or,
if the fan has no available temperature sensors to use, it maintains the last updated PWM/RPM
fan value before the fault occurred.
0 = Ramp fan to 100% PWM duty cycle if fan fault is detected.
1 = Do not ramp fan to 100% PWM duty cycle if fan fault is detected.
Note: If the fan fault is removed after ramping the PWM to 100% duty cycle, normal fan operation is resumed.
41
MAX31785
MFR_FAN_CONFIG (F1h)
The MFR_FAN_CONFIG command is used with FAN_CONFIG_1_2 to configure the fan. See the FAN_CONFIG_1_2
description for more details on this command. Table 26 describes the MFR_FAN_CONFIG command.
MAX31785
6-Channel Intelligent Fan Controller
Table 26. MFR_FAN_CONFIG (continued)
BIT
BIT NAME
MEANING
The RAMP bits select how fast the device ramps the PWM from one duty cycle to another (either up
or down). In PWM mode, the following table always applies. In RPM mode, the fan speed is read
either every 200ms or 1000ms and when the reported fan speed is within 20% of the target speed,
the maximum allowed PWM duty cycle change is set to 1%. In RPM mode, the PWM duty cycle is
not changed as long as the fan is within Q5% of the target speed.
7:5
4
3
RAMP[2:0]
HEALTH
ROTOR_HI_LO
TIME TO RAMP
MAX PWM DUTY
FROM 40% TO
CYCLE CHANGE
100% PWM DUTY
ALLOWED (%)
CYCLE (seconds)
RAMP2
RAMP1
RAMP0
PWM DUTY
CYCLE UPDATE
RATE (ms)
0
0
0
1000
1
60
0
0
1
1000
2
30
0
1
0
1000
3
20
0
1
1
200
1
12
1
0
0
200
2
6
1
0
1
200
3
4
1
1
0
200
4
3
1
1
1
200
5
2.4
The HEALTH bit controls the automatic checking of the fan health. The fan-health diagnostic can
be enabled by setting this bit to 1.
0 = Health meter function is disabled.
1 = Health meter function is enabled.
Determines if a locked rotor indication is active low or active high. This bit is ignored if
ROTOR = 0.
0 = ROTOR is active low (TACH input is low if the rotor stops).
1 = ROTOR is active high (TACH input is high if the rotor stops).
The ROTOR bit selects if the fan does not have a tachometer but rather a stalled (or locked)
rotor output.
2
1:0
ROTOR
SPIN[1:0]
ROTOR
FAN OUTPUT
0
Tachometer
1
Stalled/locked rotor
detect
MAX31785 CONFIGURATION
TACH input expects fan RPM
TACH input expects locked rotor signal. The polarity is
selected with the ROTOR_HI_LO bit (also set
MFR_FAN_FAULT_LIMIT = 0001h).
The SPIN bits determine how the device spins up (or starts) the fan from a dead stop. To overcome the initial mechanical fan inertia, the device can be programmed to drive the fan at 100%
duty cycle until a programmable number of fan revolutions (cumulative count) is detected or a
locked rotor signal is negated. The device allows a 2s startup period during which the fan speed
monitors are disabled. If after 2s the fan does not respond, the PWM output remains at 100%
duty cycle (if TACHO = 0) or goes to 0% duty cycle (if TACHO = 1).
SPIN1
SPIN0
SPIN-UP RELAXATION CRITERIA
0
0
Automatic spin-up disabled
0
1
Two revolutions or locked rotor negated
1
0
Four revolutions or locked rotor negated
1
1
Eight revolutions or locked rotor negated
Note: It is recommended that the fan be disabled prior to changing MFR_FAN_CONFIG.
42
6-Channel Intelligent Fan Controller
USER NOTE: The programmable configuration of MFR_FAN_LUT must be monotonic.
Table 27. MFR_FAN_LUT
BYTE NUMBER
WORD NAME
0-1
TEMP STEP 0
Temperature for step 0.
MEANING
2-3
SPEED STEP 0
Fan PWM duty cycle or fan speed for step 0.
4-5
TEMP STEP 1
Temperature for step 1.
6-7
SPEED STEP 1
Fan PWM duty cycle or fan speed for step 1.
8-9
TEMP STEP 2
Temperature for step 2.
10-11
SPEED STEP 2
Fan PWM duty cycle or fan speed for step 2.
12-13
TEMP STEP 3
Temperature for step 3.
14-15
SPEED STEP 3
Fan PWM duty cycle or fan speed for step 3.
16-17
TEMP STEP 4
Temperature for step 4.
18-19
SPEED STEP 4
Fan PWM duty cycle or fan speed for step 4.
20-21
TEMP STEP 5
Temperature for step 5.
22-23
SPEED STEP 5
Fan PWM duty cycle or fan speed for step 5.
24-25
TEMP STEP 6
Temperature for step 6.
26-27
SPEED STEP 6
Fan PWM duty cycle or fan speed for step 6.
28-29
TEMP STEP 7
Temperature for step 7.
30-31
SPEED STEP 7
Fan PWM duty cycle or fan speed for step 7.
TEMPERATURE STEP: Temperature Level Setting
The TEMPERATURE STEP sets the temperature in degrees Celsius and represents a threshold level at which the
device updates the fan PWM duty cycle setting. The 2 data bytes are in DIRECT format. The valid temperature range
depends on the temperature sensor.
Table 28. Valid Temperature Range
TEMPERATURE SENSOR
VALID RANGE
Page 12: Internal Temp Sensor
-40NC to +85NC
Pages 13 to 16: I2C Remote Temp Sensor
-55NC to +125NC
Page 6 to 11: Remote Thermal Diode Temp Sensor
-40NC to +120NC
43
MAX31785
MFR_FAN_LUT (F2h)
The MFR_FAN_LUT command is used to configure the LUT that controls the fan. The fan has an LUT that maps eight
programmable temperature levels to eight programmable fan PWM duty-cycle levels (bit 6 in FAN_CONFIG_1_2 is
zero) or eight programmable target fan speeds (bit 6 in FAN_CONFIG_1_2 is one). The LUT allows a wide variety of
profiles to be used.
MAX31785
6-Channel Intelligent Fan Controller
FAN SPEED STEP: Fan PWM Duty Cycle or Fan Speed Setting
If bit 6 in FAN_CONFIG_1_2 is set to zero, the FAN SPEED STEP sets the fan PWM duty cycle at each temperature step
breakpoint. The valid duty cycle range is 0 to 100 (inclusive). Any values greater than 100 (decimal) result in 100% PWM
duty cycle being generated, and any values less than 0 (decimal) result in 0% PWM duty cycle.
If bit 6 in FAN_CONFIG_1_2 is set to 1, the FAN SPEED STEP sets the fan target speed (in RPM) at each temperature
step breakpoint. The valid fan speed range is 0 to 32,767 (inclusive).
THERMAL
HYSTERESIS
MAXIMUM
DESIRED FAN
DUTY CYCLE
OR SPEED
S7
S6
S5
S4
FAN PWM DUTY CYCLE
OR
FAN SPEED (IN RPM)
S3
S2
S1
S0
PWM = 0% DUTY CYCLE
T0
T1
T2
T3
T4
NORMALIZED TEMPERATURE
(FROM ONE OR MORE TEMP SENSORS)
Figure 6. Fan Lookup Table (LUT) Format
44
T5
T6
T7
6-Channel Intelligent Fan Controller
MFR_FAN_FAULT_LIMIT (F5h)
The MFR_FAN_FAULT_LIMIT command sets the value of the fan speed (in RPM) or percentage of target fan speed that
causes a fan fault. Fans operating below these limits for over 10s continuous trip the fault. When the fan is operating in
RPM mode, the 10s checking period starts after the device has completed a PWM ramp of the fan speed.
The slowest tachometer signal the device can measure for a fan is 60 RPM. In dual tachometer applications, the slowest RPM is 360. Tachometer signals slower than these minimums are reported as 0 RPM. Fault and warning limits
should be set to RPM values greater than these minimum RPM limits.
The 2 data bytes are in DIRECT format. Set to 0000h to disable the limit checking. Set to 0001h to only alarm when the
tachometer input is locked for greater than 10s (this mode should be used when the fan only has a locked rotor output). In
response to violation of the MFR_FAN_FAULT_LIMIT or if a stalled/locked rotor is detected, the device does the following:
1) Sets the NONE OF THE ABOVE bit in STATUS_BYTE.
2) Sets the NONE OF THE ABOVE and FANS bits in STATUS_WORD.
3) Sets the FAN_1_FAULT bit in STATUS_FANS_1_2.
4) Responds as specified in the MFR_FAULT_RESPONSE.
5) Notifies the host using ALERT assertion (if enabled in MFR_MODE).
USER NOTE: For proper fan operation, MFR_FAN_FAULT_LIMIT must be configured.
MFR_FAN_WARN_LIMIT (F6h)
The MFR_FAN_WARN_LIMIT command sets the value of the fan speed (in RPM) or percentage of target fan speed that
causes a fan speed warning. Fans operating below these limits for over 10s continuous trip the warning. When the fan is
operating in RPM mode, the 10s checking period starts after the device has completed a PWM ramp of the fan speed.
Normally, the MFR_FAN_WARN_LIMIT is set higher than the MFR_FAN_FAULT_LIMIT. The 2 data bytes are in DIRECT
format. Set to 0000h to disable the limit checking. Set to 0001h to generate a warning when using a locked rotor fan.
In response to violation of the MFR_FAN_WARN_LIMIT, the device does the following:
1) Sets the NONE OF THE ABOVE bit in STATUS_BYTE.
2) Sets the NONE OF THE ABOVE and FANS bits in STATUS_WORD.
3) Sets the FAN_1_WARN bit in STATUS_FANS_1_2.
4) Notifies the host using ALERT assertion (if enabled in MFR_MODE).
Table 29. Monitored Fan Fault and Warning Parameters
FAN CONTROL MODE
LIMIT PARAMETER
HYSTERESIS FOR
CLEARING THE FAULT/
WARNING
COMPARISON INTERVAL
Manual PWM
Fan speed (in RPM)
> (limit x 110%)
Checked once a second
Manual RPM
Percentage of programmed
target fan speed
> (limit + 5%)
Checked once a second
Automatic PWM
Fan speed (in RPM)
> (limit x 110%)
Checked once a second
Automatic RPM
Percentage of LUT target fan
speed
> (limit + 5%)
Checked once a second
45
MAX31785
MFR_READ_FAN_PWM (F3h)
The MFR_READ_FAN_PWM command returns the latest real-time value for the fan PWM in % duty cycle.
MFR_READ_FAN_PWM is updated whenever the PWM duty cycle is updated. This is determined by the RATE bits in
MFR_FAN_CONFIG. The 2 data bytes are in DIRECT format.
MAX31785
6-Channel Intelligent Fan Controller
MFR_FAN_RUN_TIME (F7h)
The MFR_FAN_RUN_TIME command returns the number of hours of fan lifetime operation. Once every hour, the device
automatically stores this counter in flash memory. The counter is a 16-bit value that rolls over. The latest stored value
is automatically recalled from flash memory upon device power cycle or RST action or a soft reset. This count can be
reset to zero by writing a sequence of all zeros (0000h), followed by all ones (FFFFh), followed by all zeros (0000h)
within 8ms. This value is not updated when the fan is turned off (0% PWM duty cycle).
MFR_FAN_PWM_AVG (F8h)
The MFR_FAN_PWM_AVG command returns the lifetime average of the fan PWM duty cycle in % duty cycle. This average is not updated when the fan is turned off (0% PWM duty cycle). When combined with the MFR_FAN_RUN_TIME
information, this duty cycle helps predict the remaining lifetime of the fan. Once every hour, the device automatically
stores this value in flash memory. The 2 data bytes are in DIRECT format. The latest stored value is automatically
recalled from flash memory upon device power cycle or RST action or a soft reset. This count can be reset to zero by
writing a sequence of all zeros (0000h), followed by all ones (FFFFh), followed by all zeros (0000h) within 8ms.
MFR_FAN_PWM2RPM (F9h)
The MFR_FAN_PWM2RPM command is used to configure the table the device uses to drive the fan-health status bits in
the lower nibble of STATUS_FAN_1_2. The table maps four preassigned PWM duty cycles to the expected fan speed
in RPM. Table 30 describes the MFR_FAN_PWM2RPM command.
RPM@PWM: Expected Fan Speed at a Certain PWM Duty Cycle: The expected fan speed at four PWM duty cycles
is used to determine the fan health. The fan speed is set in RPM at each PWM duty-cycle step breakpoint. The valid
fan-speed range is 0 to 32,767 (inclusive). The 2 data bytes are in DIRECT format.
Table 30. MFR_FAN_PWM2RPM
BYTE NUMBER
WORD NAME
6-7
RPM@100% PWM
Expected fan speed for a PWM duty cycle of 100%.
MEANING
4-5
RPM@80% PWM
Expected fan speed for a PWM duty cycle of 80%.
2-3
RPM@60% PWM
Expected fan speed for a PWM duty cycle of 60%.
0-1
RPM@40% PWM
Expected fan speed for a PWM duty cycle of 40%.
Applications Information
Power-Supply Decoupling
To achieve the best results when using the device,
decouple the VDD power supply with a 0.1FF capacitor.
Use a high-quality, ceramic, surface-mount capacitor
if possible. Surface-mount components minimize lead
inductance, which improves performance, and ceramic capacitors tend to have adequate high-frequency
response for decoupling applications.
46
Decouple the REG25 and REG18 regulator outputs using
1FF and 10nF capacitors (one each per output).
Open-Drain Pins
MSDA, MSCL, SCL, SDA, FAULT, and ALERT are opendrain pins and require external pullup resistors connected to VDD to realize high logic levels.
6-Channel Intelligent Fan Controller
OPTIONAL
SUPPORT FOR
TWO FANS
UP TO 4
CHANNELS
6 CHANNELS
PWM0
TACH0
RS+0
MSDA
DS75LV
I2C TEMP
SENSOR
MSCL
FROM
TACHSEL
RS-0
+3.3V
VDD
VSS
SDA
SCL
HOST
INTERFACE
SPDT
MUX
MAX31785
RST
ALERT
FAULT
A0
CONTROL
A1/TACHSEL
REMOTE
TEMPERATURE
DIODE
PWM1
TACH1
RS+1
RS-1
PWM2
TACH2
RS+2
RS-2
REMOTE
VOLTAGE
PWM3
TACH3
RS+3
RS-3
EACH CHANNEL
CAN READ A REMOTE
TEMPERATURE DIODE
OR A REMOTE VOLTAGE
PWM4
TACH4
RS+4
RS-4
REG18
REG25
PWM5
TACH5
RS+5
RS-5
Package Information
For the latest package outline information and land patterns (footprints), go to www.maxim-ic.com/packages. Note that a “+”, “#”,
or “-” in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing
pertains to the package regardless of RoHS status.
PACKAGE TYPE
PACKAGE CODE
OUTLINE NO.
LAND PATTERN NO.
40 TQFN-EP
T4066+2
21-0141
90-0053
47
MAX31785
Typical Operating Circuit
MAX31785
6-Channel Intelligent Fan Controller
Revision History
REVISION
NUMBER
REVISION
DATE
0
12/10
Initial release
1
11/11
Updated the lead temperature in the Absolute Maximum Ratings section, VIL(MIN)
and VI2C_IL(MIN) values in the Recommended Operating Conditions, INL (MAX)
value in the DC Electrical Characteristics, and page numbers in Table 6
DESCRIPTION
PAGES
CHANGED
—
6, 7, 21
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.
48
© Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600
2011 Maxim Integrated Products Maxim is a registered trademark of Maxim Integrated Products, Inc.