19-5703; Rev 3; 8/12 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 S Six 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 S Supports 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 S Available 6-Channel ADC to Measure Remote Voltages Servers Smart Grid Network Systems S PMBusTM-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. S I2C/SMBus-Compatible Serial Bus with Bus Timeout Function S On-Board Nonvolatile Fault Logging and Default Configuration Setting S No 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. 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. 1 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 Operating Temperature Range........................... -40NC to +85NC Storage Temperature Range............................. -55NC to +125NC Lead Temperature (soldering, 10s).................................+300NC Soldering Temperature (reflow).......................................+260NC 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 *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 SYMBOL ICPU CONDITIONS Brownout Hysteresis VBOH Monitors VDD (Note 1) Internal System Clock fMOSC Output Logic-Low Output Logic-High PWM Pullup Current fERR:MOSC 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) System Clock Error (Note 3) TYP 3 IPROGRAM VBO Brownout Voltage 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 MAX UNITS -0.5 +0.5 % -1 +1 mV 1.237 V 1.213 TYP 1.225 300 ADC Bit Resolution FV 12 RS+ Input Resistance RIN ADC Integral Nonlinearity INL ADC Offset MIN 15 Q8 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) MI (Note 4) VOFFSET Internal Temperature Measurement Error Bits NC NC Store Default All Time 45 ms Nonvolatile Log Write Time 12 ms Nonvolatile Log Delete Time 200 Flash Endurance Data Retention NFLASH ms TA = +50NC 20,000 Write Cycles TA = +50NC 100 Years Voltage Sample Rate 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 SCL Clock Frequency fSCL Bus Free Time Between STOP and START Conditions tBUF Hold Time (Repeated) START Condition CONDITIONS MIN TYP 10 (Note 5) MAX UNITS 100 kHz 1.4 ms 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 300 tR SDA and SCL Fall Time 300 tF STOP Setup Time Clock Low Timeout tSU:STO 4.0 tTO 25 ns ns Fs 35 ms 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. Note 4: ADC has no missing codes. Note 5: Commands MFR_MODE, STORE_DEFAULT_ALL, and RESTORE_DEFAULT_ALL require a bus-free time of 250ms. 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 = +25C, 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 = +25C, 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 x 6mm x 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 14 MSDA Master I2C Data Input/Output. Open-drain output. Reset Active-Low Input 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 31 SDA I2C/SMBus-Compatible Input/Output Fan Tachometer Input 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 Active-Low, Open-Drain Alert Output 40 RS+5 Thermal Diode or Remote Voltage ADC Input, Measurement Relative to RS-5 -- EP 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 50A 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(R) 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 PMBusTM 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 +15C FAN 2 FAN 0 1 2 3 4 5 TEMP SENSOR DIODE 1 +10C FAN 0 1 2 3 4 5 TEMP SENSOR DIODE 2 REMOTE DIODE TEMP SENSOR 2 0C HIGHEST TEMPERATURE CONTROLS THE FAN FAN 0 1 2 3 4 5 FAN 5 TEMP SENSOR I2C 3 I2C REMOTE TEMP SENSOR 3 0C FAN 0 1 2 3 4 5 TEMP SENSOR INTERNAL INTERNAL TEMP SENSOR +5C 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 ED R 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. After this command is sent, another command should not be sent for at least 250ms. 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. After this command is sent, another command should not be sent for at least 250ms. 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 4C 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 4C 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. After this command is sent, another command should not be sent for at least 250ms. 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. RAMP2 7:5 4 3 RAMP[2:0] HEALTH ROTOR_HI_LO RAMP1 RAMP0 PWM DUTY CYCLE UPDATE RATE (ms) TIME TO RAMP MAX PWM DUTY FROM 40% TO CYCLE CHANGE 100% PWM DUTY ALLOWED (%) CYCLE (seconds) 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 DS75LV I2C TEMP SENSOR 6 CHANNELS PWM0 TACH0 RS+0 MSDA 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 6-Channel Intelligent Fan Controller MAX31785 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 2 1/12 Added Note 4 to the INL parameter and removed the DNL parameter in the DC Electrical Characteristics 8/12 Added Note 5 to the tBUF parameter conditions and changed tBUF(MIN) from 4.7s to 1.4ms in the I2C/SMBus Interface Electrical Characteristics; added statement about not sending another command for at least 250ms to the STORE_DEFAULT_ALL (11h), RESTORE_DEFAULT_ALL (12h), and MFR_MODE (D1h) command sections 3 DESCRIPTION PAGES CHANGED -- 6, 7, 21 7, 8 8, 28, 35 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. The parametric values (min and max limits) shown in the Electrical Characteristics table are guaranteed. Other parametric values quoted in this data sheet are provided for guidance. 48 (c) Maxim Integrated Products, Inc. 160 Rio Robles, San Jose, CA 95134 USA 1-408-601-1000 2012 Maxim Integrated Products Maxim is a registered trademark of Maxim Integrated Products, Inc. Mouser Electronics Authorized Distributor Click to View Pricing, Inventory, Delivery & Lifecycle Information: Maxim Integrated: MAX31785ETL+ MAX31785ETL+T