EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown PRODUCT FEATURES Datasheet General Description Features The EMC2104 is an SMBus compliant fan controller with up to five (up to 4 external and 1 internal) temperature channels. The fan drivers can be operated using two methods each with two modes. The methods include an RPM based Fan Speed Control Algorithm and a direct drive setting. The modes include manually programming the desired settings or using the internal programmable temperature look-up table to select the desired setting based on measured temperature. The temperature monitors offer 1C accuracy (for external diodes) with sophisticated features to reduce errors introduced by series resistance and beta variation of substrate thermal diode transistors commonly found in processors. -- -- -- -- Notebook Computers Embedded Applications Projectors Industrial and Networking Equipment 4-wire fan compatible High speed PWM (26khz) Low speed PWM (9.5Hz - 2240Hz) Optional detection of aging fans RPM based fan control algorithm Temperature Look-Up Table -- 2% accuracy from 500RPM to 16k RPM -- -- -- -- Allows programmed fan response to temperature 1 to 4 thermal zones to control each fan driver Controls fan speed or drive setting Allows externally generated temperature data to control fan drivers including two DTS channels Up to Four External Temperature Channels -- Designed to support 45nm, 60nm, and 90nm CPUs -- Automatically detects and supports CPUs requiring the BJT or Transistor models -- Resistance error correction -- 1C accurate (60C to 100C) -- 0.125C resolution -- Detects fan aging and variation The EMC2104 also includes a hardware programmable temperature limitS and dedicated system shutdown output for thermal protection of critical circuitry. Applications Two Programmable Fan Control circuits Up to three thermistor compatible voltage inputs Hardware Programmable Thermal Shutdown Temperature -- Cannot be altered by software -- 60C to 122C Range or 92C to 154C Range Programmable High and Low Limits for all channels 3.3V Supply Voltage SMBus 2.0 Compliant -- SMBus Alert compatible SMSC EMC2104 Available in 20-pin QFN Package - Lead Free RoHS compliant (4mm x 4mm) DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Order Number(s): ORDERING NUMBER EMC2104-BP-TR PACKAGE FEATURES 20 pin QFN Lead-Free RoHS compliant Two PWM fan drivers, up to 4 external diode measurement channels, one Critical / Thermal Shutdown inputs. REEL SIZE IS 4,000 PIECES This product meets the halogen maximum concentration values per IEC61249-2-21 For RoHS compliance and environmental information, please visit www.smsc.com/rohs 80 ARKAY DRIVE, HAUPPAUGE, NY 11788 (631) 435-6000, FAX (631) 273-3123 Copyright (c) 2011 SMSC or its subsidiaries. All rights reserved. Circuit diagrams and other information relating to SMSC products are included as a means of illustrating typical applications. Consequently, complete information sufficient for construction purposes is not necessarily given. Although the information has been checked and is believed to be accurate, no responsibility is assumed for inaccuracies. SMSC reserves the right to make changes to specifications and product descriptions at any time without notice. Contact your local SMSC sales office to obtain the latest specifications before placing your product order. The provision of this information does not convey to the purchaser of the described semiconductor devices any licenses under any patent rights or other intellectual property rights of SMSC or others. All sales are expressly conditional on your agreement to the terms and conditions of the most recently dated version of SMSC's standard Terms of Sale Agreement dated before the date of your order (the "Terms of Sale Agreement"). The product may contain design defects or errors known as anomalies which may cause the product's functions to deviate from published specifications. Anomaly sheets are available upon request. SMSC products are not designed, intended, authorized or warranted for use in any life support or other application where product failure could cause or contribute to personal injury or severe property damage. Any and all such uses without prior written approval of an Officer of SMSC and further testing and/or modification will be fully at the risk of the customer. Copies of this document or other SMSC literature, as well as the Terms of Sale Agreement, may be obtained by visiting SMSC's website at http://www.smsc.com. SMSC is a registered trademark of Standard Microsystems Corporation ("SMSC"). Product names and company names are the trademarks of their respective holders. SMSC DISCLAIMS AND EXCLUDES ANY AND ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY AND ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND AGAINST INFRINGEMENT AND THE LIKE, AND ANY AND ALL WARRANTIES ARISING FROM ANY COURSE OF DEALING OR USAGE OF TRADE. IN NO EVENT SHALL SMSC BE LIABLE FOR ANY DIRECT, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES; OR FOR LOST DATA, PROFITS, SAVINGS OR REVENUES OF ANY KIND; REGARDLESS OF THE FORM OF ACTION, WHETHER BASED ON CONTRACT; TORT; NEGLIGENCE OF SMSC OR OTHERS; STRICT LIABILITY; BREACH OF WARRANTY; OR OTHERWISE; WHETHER OR NOT ANY REMEDY OF BUYER IS HELD TO HAVE FAILED OF ITS ESSENTIAL PURPOSE, AND WHETHER OR NOT SMSC HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Revision 1.78 (02-28-11) 2 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table of Contents Chapter 1 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Chapter 2 Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Chapter 3 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1 3.2 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 SMBus Electrical Specifications (client mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Chapter 4 Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 System Management Bus Interface Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Read Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Send Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Receive Byte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alert Response Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SMBus Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SMBus Time-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 18 19 19 19 19 20 20 Chapter 5 Product Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 Critical/Thermal Shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 SHDN_SEL Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 TRIP_SET / VIN4 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fan Control Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PWM Fan Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fan Control Look-Up Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Programming the Look Up Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2 DTS Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RPM based Fan Speed Control Algorithm (FSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.1 Programming the RPM Based Fan Speed Control Algorithm . . . . . . . . . . . . . . . . . . . . . Tachometer Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.1 Stalled Fan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.2 32kHz Clock Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6.3 Aging Fan or Invalid Drive Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spin Up Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ramp Rate Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fault Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Temperature Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11.1 Dynamic Averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11.2 Resistance Error Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11.3 Beta Compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11.4 Digital Averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Thermistor Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diode Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.13.1 Diode Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPIOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 23 23 25 26 26 28 28 28 31 31 31 32 32 32 33 34 35 35 35 35 36 36 36 36 37 37 37 Chapter 6 Register Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.1 Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.1.1 Lock Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 SMSC EMC2104 3 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 6.21 6.22 6.23 6.24 6.25 6.26 6.27 6.28 6.29 6.30 6.31 6.32 6.33 6.34 6.35 6.36 6.37 6.38 6.39 6.40 6.41 6.42 6.43 6.44 6.45 6.46 Temperature Data Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Critical/Thermal Shutdown Temperature Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pushed Temperature Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Voltage Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Beta Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REC Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Critical Temperature Limit Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration 2 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration 3 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interrupt Status Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.13.1 Tcrit Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fan Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interrupt Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fan Interrupt Enable Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PWM Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PWM Base Frequency Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Limit Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fan Setting Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PWM 1 and 2 Divide Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fan Configuration 1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fan Configuration 2 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gain Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fan Spin Up Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fan Step Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fan Minimum Drive Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Valid TACH Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fan Drive Fail Band Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TACH Target Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TACH Reading Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Look Up Table Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Look Up Table 1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Look Up Table 2 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Muxed Pin Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPIO Direction Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPIO / PWM Pin Output Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPIO Input Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPIO Output Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPIO Interrupt Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GPIO Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Software Lock Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Product Features Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Product ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Manufacturer ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Revision Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 51 52 52 53 54 55 55 56 57 58 59 59 60 60 61 62 62 63 64 64 65 67 69 69 71 72 72 73 73 74 75 76 78 79 80 80 80 81 81 81 82 82 83 83 83 Chapter 7 Package Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.1 7.2 QFN 20-Pin 4mm x 4mm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Package Markings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Appendix A Thermistors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 A.1 Thermistor Look Up Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Revision 1.78 (02-28-11) 4 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Appendix B Look Up Table Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 B.1 B.2 B.3 Example #1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.1.1 LUT Configuration Bit Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example #2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2.1 Configuration 3 Bit Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2.2 Fan Configuration 1 Bit Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2.3 Fan Spin Up Configuration Bit Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2.4 LUT Configuration - Bit Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example #3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.3.1 Fan Configuration 1 Bit Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.3.2 Fan Spin Up Configuration Bit Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.3.3 LUT Configuration - Bit Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 92 93 94 94 94 94 96 96 97 97 Chapter 8 Datasheet Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 SMSC EMC2104 5 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet List of Figures Figure 1.1 Figure 2.1 Figure 4.1 Figure 5.1 Figure 5.2 Figure 5.3 Figure 5.4 Figure 5.5 Figure 5.6 Figure 5.7 Figure 6.1 Figure 7.1 Figure 7.2 Figure A.1 EMC2104 Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 EMC2104 Pin Diagram (20 Pin QFN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 SMBus Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 System Diagram of EMC2104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 EMC2104 Critical/Thermal Shutdown Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Fan Control Look-Up Table Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 RPM based Fan Speed Control Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Spin Up Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Ramp Rate Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Diode Connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 LOWDRIVE Supported Drive Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 EMC2104 20-Pin 4x4mm QFN Package Outline and Parameters . . . . . . . . . . . . . . . . . . . . 84 EMC2104 Package Markings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 "Low Side" Thermistor Connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Revision 1.78 (02-28-11) 6 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet List of Tables Table 2.1 Pin Description for EMC2104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 2.2 Pin Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 3.1 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 3.2 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 3.3 SMBus Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 4.1 Protocol Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 4.2 Write Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 4.3 Read Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 4.4 Send Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 4.5 Receive Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 4.6 Alert Response Address Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.1 SHDN_SEL Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.2 TRIP_SET Resistor Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.3 Fan Controls Active for Operating Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5.4 Dynamic Averaging Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.1 EMC2104 Register Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.2 Temperature Data Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.3 Temperature Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.4 Critical/Thermal Shutdown Temperature Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.5 Critical / Thermal Shutdown Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.6 Pushed Temperature Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.7 TripSet Voltage Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.8 Beta Configuration Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.9 Beta Compensation Look Up Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.10 REC Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.11 Limit Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.12 Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.13 Configuration 2 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.14 Fault Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.15 Conversion Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.16 Configuration 3 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.17 Interrupt Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.18 Error Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.19 Fan Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.20 Interrupt Enable Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.21 Fan Interrupt Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.22 PWM Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.23 PWM Base Frequency Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.24 PWM_BASEx[1:0] Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.25 Limit Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.26 Fan Driver Setting Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.27 PWM 1 and 2 Divide Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.28 Fan Configuration 1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.29 Range Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.30 Minimum Edges for Fan Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.31 Update Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.32 Fan Configuration 1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.33 Derivative Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.34 Error Range Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.35 Gain Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.36 Gain Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.37 Fan Spin Up Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.38 DRIVE_FAIL_CNT[1:0] Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SMSC EMC2104 7 DATASHEET 11 13 14 14 16 18 18 19 19 19 19 23 24 26 35 38 50 51 51 51 52 52 53 53 54 55 55 56 57 57 57 58 59 60 60 61 62 62 63 63 64 64 65 65 66 66 67 67 68 69 69 69 70 Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.39 Spin Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.40 Spin Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.41 Fan Step Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.42 Minimum Fan Drive Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.43 Valid TACH Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.44 Fan Drive Fail Band Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.45 TACH Target Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.46 TACH Reading Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.47 Look Up Table Configuration Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.48 TEMP3_CFG Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.49 TEMP4_CFG Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.50 Look Up Table 1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.51 Look Up Table2 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.52 Muxed Pin Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.53 GPIO Direction Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.54 GPIO / PWM Pin Output Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.55 GPIO Input Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.56 GPIO Output Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.57 GPIO Interrupt Enable Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.58 GPIO Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.59 Software Lock Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.60 Product Features Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.61 SHDN_SEL Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.62 Product ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.63 Manufacturer ID Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6.64 Revision Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table A.1 "Low Side" Thermistor Look Up Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table A.2 Inverted Thermistor Look Up Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table B.1 Look Up Table Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table B.2 Look Up Table Example #1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table B.3 Fan Speed Control Table Example #1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table B.4 Fan Speed Determination for Example #1 (using settings in Table B.3) . . . . . . . . . . . . . . . . . Table B.5 Look Up Table Example #2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table B.6 Fan Speed Control Table Example #2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table B.7 Fan Speed Determination for Example #2 (using settings in Table B.6) . . . . . . . . . . . . . . . . . Table B.8 Look Up Table Example #3 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table B.9 Fan Speed Control Table Example #3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table B.10 Fan Speed Determination for Example #3 (using settings in Table B.9) . . . . . . . . . . . . . . . . . Table 8.1 Customer Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Revision 1.78 (02-28-11) 8 DATASHEET 70 71 71 72 72 73 73 74 75 76 76 76 78 79 80 80 80 81 81 81 82 82 82 83 83 83 87 89 91 92 92 93 93 95 95 96 97 98 99 SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet GND VDD SYS_SHDN# SHDN_SEL VIN3* VIN2* VIN1* Chapter 1 Block Diagram TRIP_SET* DP1 DN1 DP2 DN2 DP3 / DN4* DN3 / DP4* Thermal Shutdown Logic External Temp Diodes SMCLK Analog Mux Antiparallel diode SMDATA 11 bit ADC Temp Registers Internal Temp Diode ALERT# Temp Limit Registers SMBus Slave Protocol Configuration PWM1 PWM2* PWM Drivers Lookup Table / RPM Control GPIOs GPIO1* GPIO2* GPIO3* Reference VREF* TACH1 TACH2* Tachs CLK_IN* * denotes multiple pin functions Figure 1.1 EMC2104 Block Diagram SMSC EMC2104 9 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 16 SHDN_SEL 17 DN3 / DP4 / VIN3 18 DP3 / DN4 / VREF_T3 19 DN2 / VIN2 20 DP2 / VREF_T2 Chapter 2 Pin Description DN1 / VIN1 1 15 TRIP_SET / VIN4 DP1 / VREF_T1 2 14 n/c GND 3 VDD 4 12 TACH1 ALERT# 5 11 TACH2 / GPIO2 8 9 SMDATA SMCLK 13 PWM1 PWM2 / GPIO3 10 7 SYS_SHDN# CLK_IN / GPIO1 6 EMC2104 20-QFN Figure 2.1 EMC2104 Pin Diagram (20 Pin QFN) Revision 1.78 (02-28-11) 10 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 2.1 Pin Description for EMC2104 PIN NUMBER EMC2104 1 2 PIN NAME PIN FUNCTION PIN TYPE DN1 - Negative (cathode) analog input for External Diode 1 (default) AIO (2V) VIN1 - General voltage input for use with a thermistor AI (2V) DP1 - Positive (anode) analog input for External Diode 1 (default) AIO (2V) VREF_T1 - Reference output for use with a thermistor and to drive VIN1 AO (2V) DN1 / VIN1 DP1 / VREF_T1 3 GND Ground connection Power 4 VDD Power Supply Power 5 ALERT# Active low interrupt - requires external pull-up resistor. OD (5V) CLK_IN - 32.768KHz clock input. DI (5V) GPI1 - General Purpose Input (default) DI (5V) GPO1 - General Purpose push/ pull Output DI (5V) GPO1 - General Purpose open drain Output. DI (5V) 6 CLK_IN / GPIO1 7 SYS_SHDN# Active low Critical System Shutdown output OD (5V) 8 SMDATA SMBus data input/output - requires external pull-up resistor DIOD (5V) 9 SMCLK SMBus clock input - requires external pull-up resistor DIOD (5V) 10 SMSC EMC2104 PWM2 / GPIO3 PWM2 - Open Drain PWM drive output for Fan 2 (default) OD (5V) PWM2 - Push-Pull PWM drive output for Fan 2 DO GPI3 - General Purpose Input (software programmed) DI (5V) GPO3 - General Purpose push-pull Output DO GPO3 - General Purpose open drain Output OD (5V) 11 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 2.1 Pin Description for EMC2104 (continued) PIN NUMBER EMC2104 11 12 13 14 15 16 17 18 19 20 Revision 1.78 (02-28-11) PIN NAME PIN FUNCTION PIN TYPE TACH2 - Tachometer input for Fan 2 (default) DI (5V) GPI2 - General Purpose Input DI (5V) GPO2 - General Purpose push-pull Output DO GPO2 - General Purpose open drain Output OD (5V) TACH1 Tachometer input for Fan 1 DI (5V) OD (5V) PWM1 PWM1 - Open Drain PWM drive output for Fan 1 (default) PWM1 - Push-Pull PWM drive output for Fan 1 DO n/c Not Internally Connected N/A AI (2V) TRIP_SET / VIN4 TRIP_SET - Determines HW Shutdown temperature features for the hardware shutdown channel VIN4 - General voltage input when Thermal / Critical shutdown disabled AI (2V) Determines HW Shutdown temperature features and measurement channel AIO DN3 / DP4 - Negative (cathode) analog input for External Diode 3 and positive (anode) Analog Input for External Diode 4 (default) AIO (2V) VIN3 - General voltage input for use with a thermistor AI (2V) DP3 / DN4 - Positive (anode) analog input for External Diode 3 and negative (cathode) analog input for External Diode 4 (default) AIO (2V) VREF_T3 - Reference output for use with a thermistor and to drive VIN3 AO (2V) DN2 - Negative (cathode) analog input for External Diode 2 (default) AIO (2V) VIN2 - General voltage input for use with a thermistor AI (2V) DP2 - Positive (anode) analog input for External Diode 2 (default) AIO (2V) VREF_T2 - Reference output for use with a thermistor and to drive VIN2 AO (2V) TACH2 / GPIO2 SHDN_SEL DN3 / DP4 / VIN3 DP3 / DN4 / VREF_T3 DN2 / VIN2 DP2 / VREF_T2 12 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet The pin type are described in detail below. All pins labelled with (5V) are 5V tolerant. All pin labelled with (2V) should not be exposed to any voltage level greater than 2V. Table 2.2 Pin Types SMSC EMC2104 PIN TYPE DESCRIPTION Power This pin is used to supply power or ground to the device. DI Digital Input - this pin is used as a digital input. This pin is 5V tolerant. AI Analog Input - this pin is used as an input for analog signals. AO Analog Output - this pin is used as an output for analog signals. AIO Analog Input / Output - this pin is used as an I/O for analog signals. DO Push / Pull Digital Output - this pin is used as a digital output. It can both source and sink current. DIOD Digital Input / Open Drain Output this pin is used as an digital I/O. When it is used as an output, It is open drain and requires a pull-up resistor. This pin is 5V tolerant. OD Open Drain Digital Output - this pin is used as a digital output. It is open drain and requires a pull-up resistor. This pin is 5V tolerant. 13 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Chapter 3 Electrical Specifications Table 3.1 Absolute Maximum Ratings Voltage on 5V tolerant pins -0.3 to 6.5 V Voltage on VDD pin -0.3 to 4 V Voltage on 2V tolerant pins -0.3 to 2.5 V Voltage on any other pin to GND -0.3 to VDD + 0.3 V Package Power Dissipation See Note 3.1 1 up to TA = 85C W Junction to Ambient (JA) See Note 3.2 40 C/W Operating Ambient Temperature Range -40 to 85C C Storage Temperature Range -55 to 150 C ESD Rating, All Pins, HBM 2000 V Note: Stresses above those listed could cause permanent damage to the device. This is a stress rating only and functional operation of the device at any other condition above those indicated in the operation sections of this specification is not implied. When powering this device from laboratory or system power supplies, it is important that the Absolute Maximum Ratings not be exceeded or device failure can result. Some power supplies exhibit voltage spikes on their outputs when the AC power is switched on or off. In addition, voltage transients on the AC power line may appear on the DC output. If this possibility exists, it is suggested that a clamp circuit be used. 3.1 Note 3.1 All voltages are relative to ground. Note 3.2 The Package Power Dissipation specification assumes a recommended thermal via design consisting of four 12mil vias connected to the ground plane with a 2x2mm thermal landing. Electrical Specifications Table 3.2 Electrical Specifications VDD = 3V to 3.6V, VDD_5V = 4.5V to 5.5V, TA = -40C to 85C, all Typical values at TA = 27C unless otherwise noted. CHARACTERISTIC SYMBOL MIN TYP MAX UNIT 3.3 3.6 V CONDITIONS DC Power Supply Voltage VDD Supply Current (active) IDD 2 3 mA 4 Conversions / second Dynamic Averaging Enabled Fan Driver enabled at max PWM frequency Supply Current IDD 500 750 uA 1 Conversions / secondDynamic Averaging disabled, Fan Driver disabled. Revision 1.78 (02-28-11) 3 14 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 3.2 Electrical Specifications (continued) VDD = 3V to 3.6V, VDD_5V = 4.5V to 5.5V, TA = -40C to 85C, all Typical values at TA = 27C unless otherwise noted. CHARACTERISTIC SYMBOL Supply Current from VDD_5V IDD_5 SMBus Delay tSMB MIN TYP MAX 100 Time to First Round Robin UNIT CONDITIONS uA Fan Driver enabled, No load current 15 ms Delay from power to first SMBus communication 300 ms External Temperature Monitors Temperature Accuracy Temperature Resolution 0.25 1 C 60C < TDIODE < 110C 30C < TDIE < 85C 0.5 2 C 0C < TDIODE < 125C, 0C < TDIE < 115C 0.125 Diode decoupling capacitor CFILTER Resistance Error Corrected RSERIES 2200 C 2700 pF Connected across external diode, CPU, GPU, or AMD diode 100 Ohm Sum of series resistance in both DP and DN lines Internal Temperature Monitor Temperature Accuracy 1 TDIE Temperature Resolution 2 0.125 C C Voltage Measurement Total Unadjusted Error TUE Reference Voltage VREF 800 mV VREF 1 % Reference Accuracy 1 % Measured at 3/4 full scale PWM Fan Driver PWM Resolution PWM PWM Duty Cycle DUTY 256 Steps 0 100 % RPM Based Fan Controller Tachometer Range Tachometer Setting Accuracy TACH 480 16000 RPM TACH 1 2 % External oscillator 32.768kHz TACH 2.5 5 % Internal Oscillator 40C < TDIE < 100C Digital I/O pins Input High Voltage SMSC EMC2104 VIH 2.0 V 15 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 3.2 Electrical Specifications (continued) VDD = 3V to 3.6V, VDD_5V = 4.5V to 5.5V, TA = -40C to 85C, all Typical values at TA = 27C unless otherwise noted. CHARACTERISTIC SYMBOL Input Low Voltage VIL Output High Voltage MIN TYP MAX UNIT 0.8 V VDD 0.4 VOH CONDITIONS 4 mA current drive V Output Low Voltage VOL 0.4 V 4 mA current sink Leakage current ILEAK 5 uA ALERT and SYS_SHDN pins Powered and unpowered 3.2 SMBus Electrical Specifications (client mode) Table 3.3 SMBus Electrical Specifications VDD= 3V to 3.6V, TA = -40C to 85C Typical values are at TA = 27C unless otherwise noted. CHARACTERISTIC SYMBOL MIN TYP MAX UNITS CONDITIONS SMBus Interface Input High Voltage VIH Input Low Voltage VIL Output High Voltage Output Low Voltage Input High/Low Current Input Capacitance VOH 2.0 V 0.8 VDD - 0.4 V V VOL 0.4 V 4 mA current sink IIH / IIL 5 uA Powered and unpowered CIN 5 pF SMBus Timing Clock Frequency fSMB 10 400 kHz 50 ns Spike Suppression tSP Bus free time Start to Stop tBUF 1.3 us Setup Time: Start tSU:STA 0.6 us Setup Time: Stop tSU:STP 0.6 us Data Hold Time tHD:DAT 0.6 6 us Data Setup Time tSU:DAT 0.6 72 us Revision 1.78 (02-28-11) 16 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 3.3 SMBus Electrical Specifications (continued) VDD= 3V to 3.6V, TA = -40C to 85C Typical values are at TA = 27C unless otherwise noted. CHARACTERISTIC SYMBOL MIN Clock Low Period tLOW 1.3 us Clock High Period tHIGH 0.6 us Clock/Data Fall time tFALL 300 ns Min = 20+0.1CLOAD ns Clock/Data Rise time tRISE 300 ns Min = 20+0.1CLOAD ns CLOAD 400 pF per bus line Capacitive Load SMSC EMC2104 TYP MAX 17 DATASHEET UNITS CONDITIONS Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Chapter 4 Communications 4.1 System Management Bus Interface Protocol The EMC2104 communicates with a host controller, such as an SMSC SIO, through the SMBus. The SMBus is a two-wire serial communication protocol between a computer host and its peripheral devices. A detailed timing diagram is shown in Figure 4.1. Stretching of the SMCLK signal is supported, however the EMC2104 will not stretch the clock signal. The EMC2104 powers up as an SMBus client. TLOW THIGH THD:STA TSU:STO TRISE SMCLK THD:STA TFALL THD:DAT TSU:STA TSU:DAT SMDATA TBUF P S S S - Start Condition P - Stop Condition P Figure 4.1 SMBus Timing Diagram The EMC2104 contains a single SMBus interface. The EMC2104 client interfaces are SMBus 2.0 compatible and support Send Byte, Read Byte, Receive Byte and the Alert Response Address as valid protocols. These protocols are used as shown below. All of the below protocols use the convention in Table 4.1. Table 4.1 Protocol Format DATA SENT TO DEVICE # of bits sent 4.2 DATA SENT TO THE HOST # of bits sent Write Byte The Write Byte is used to write one byte of data to the registers as shown below Table 4.2: Table 4.2 Write Byte Protocol START SLAVE ADDRESS WR ACK REGISTER ADDRESS ACK REGISTER DATA ACK STOP 0 -> 1 0101_111 0 0 XXh 0 XXh 0 1 -> 0 Revision 1.78 (02-28-11) 18 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 4.3 Read Byte The Read Byte protocol is used to read one byte of data from the registers as shown in Table 4.3. Table 4.3 Read Byte Protocol START SLAVE ADDRESS WR ACK Register Address ACK START Slave Address RD ACK Register Data NACK STOP 0 -> 1 0101_111 0 0 XXh 0 0 -> 1 0101_111 1 0 XXh 1 1 -> 0 4.4 Send Byte The Send Byte protocol is used to set the internal address register pointer to the correct address location. No data is transferred during the Send Byte protocol as shown in Table 4.4. Table 4.4 Send Byte Protocol START SLAVE ADDRESS WR ACK REGISTER ADDRESS ACK STOP 0 -> 1 0101_111 0 0 XXh 0 1 -> 0 4.5 Receive Byte The Receive Byte protocol is used to read data from a register when the internal register address pointer is known to be at the right location (e.g. set via Send Byte). This is used for consecutive reads of the same register as shown in Table 4.5. Table 4.5 Receive Byte Protocol START SLAVE ADDRESS RD ACK REGISTER DATA NACK STOP 0 -> 1 0101_111 1 0 XXh 1 1 -> 0 4.6 Alert Response Address The ALERT# output can be used as a processor interrupt or as an SMBus Alert when configured to operate as an interrupt. When it detects that the ALERT# pin is asserted, the host will send the Alert Response Address (ARA) to the general address of 0001_100xb. All devices with active interrupts will respond with their client address as shown in Table 4.6. Table 4.6 Alert Response Address Protocol START ALERT RESPONSE ADDRESS RD ACK DEVICE ADDRESS NACK STOP 0 -> 1 0001_100 1 0 0101_111 1 1 -> 0 SMSC EMC2104 19 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet The EMC2104 will respond to the ARA in the following way if the ALERT# pin is asserted. 1. Send Slave Address and verify that full slave address was sent (i.e. the SMBus communication from the device was not prematurely stopped due to a bus contention event). 2. Set the MASK bit to clear the ALERT# pin. 4.7 SMBus Address The EMC2104 SMBus Address is fixed at 0101_111xb. Attempting to communicate with the EMC2104 SMBus interface with an invalid slave address or invalid protocol will result in no response from the device and will not affect its register contents. 4.8 SMBus Time-out The EMC2104 includes an SMBus time-out feature. Following a 30ms period of inactivity on the SMBus, the device will time-out and reset the SMBus interface. The SMBus Timeout defaults to enabled and can be disabled by setting the DIS_TO bit in the Configuration 2 register. Revision 1.78 (02-28-11) 20 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Chapter 5 Product Description The EMC2104 is an SMBus compliant fan controller with up to five (up to 4 external and 1 internal) temperature channels. It contains two fan drivers, both PWM outputs with programmable frequencies. The fan drivers can be operated using two methods each with two modes. The methods include an RPM based Fan Speed Control Algorithm and a direct PWM drive setting. The modes include manually programming the desired settings or using the internal programmable temperature look-up table to select the desired setting based on measured temperature. The temperature monitors offer 1C accuracy (for external diodes) with sophisticated features to reduce errors introduced by series resistance and beta variation of substrate thermal diode transistors commonly found in processors (including support for BJT or transistor model for CPU diodes). The EMC2104 also includes a hardware programmable temperature limit and dedicated system shutdown output for thermal protection of critical circuitry. Any of the three temperature channels can be configured to measure a thermistor or voltage channel using a precision reference voltage for reduced system complexity. Figure 5.1 shows a system diagram of the EMC2104. 3.3V 3.3V 3.3V VDD KBC tachometer TACH1 SMCLK SMDATA PWM1 ALERT# EMC2104 CPU Thermal diode 3.3V Drive Circuit DP1* tachometer TACH2* DN1* PWM2* 3.3V Drive Circuit 0.8V GPU DP2* Thermal diode DN2* SYS_SHDN# 1.2k SHDN_SEL TRIP_SET* 32.768KHz Clock CLK_IN* APD (optional) DP3 / DN4* DN3 / DP4* Figure 5.1 System Diagram of EMC2104 SMSC EMC2104 21 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 5.1 Critical/Thermal Shutdown The EMC2104 provides a hardware Critical/Thermal Shutdown function for systems. Figure 5.2 is a block diagram of this Critical/Thermal Shutdown function. The Critical/Thermal Shutdown function in the EMC2104 accepts configuration information from the fixed states of the SHDN_SEL pin as described in Section 5.1.1. Each of the software programmed temperature limits can be optionally configured to act as inputs to the Critical / Thermal Shutdown independent of the hardware shutdown operation. When configured to operate this way, the SYS_SHDN# pin will be asserted when the temperature meets or exceeds the limit. The pin will be released when the temperature drops below the limit however the individual status bits will not be cleared if set (see Section 6.13). The analog portion of the Critical/Thermal Shutdown function monitors the hardware determined temperature channel (see Section 5.1.1). This measured temperature is then compared with TRIP_SET point. This TRIP_SET point is set by the system designer with a single external resistor divider as described in Section 5.1.2. The SYS_SHDN# is asserted when the indicated temperature exceeds the temperature threshold established by the TRIP_SET input pin for a number of consecutive measurements defined by the fault queue. If the HW_SHDN output is asserted and the temperature drops below the Thermal / Critical Shutdown threshold then it will be set to a logic `0' state. Critical Shutdown Logic Register Enabled Sensor Register Enabled Sensor Configuration Register Temperature Conversion and Limit Registers Register Enabled Sensor SMBus Traffic SW_SHDN Register Enabled Sensor PIN Decode Internal Diode Channel SHDN_SEL `1' External Diode 1 Temperature Conversion 1 VREF 0 TRIP_SET HW_SHDN SYS_SHDN# Voltage Conversion Figure 5.2 EMC2104 Critical/Thermal Shutdown Block Diagram Revision 1.78 (02-28-11) 22 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 5.1.1 SHDN_SEL Pin The EMC2104 has a `strappable' input (SHDN_SEL) allowing for configuration of the hardware Critical/Thermal Shutdown input channels. This pin has 3 possible states and is monitored and decoded by the EMC2104 at power-up. The three possible states are 0 (tied to GND), 1 (tied to 3.3V) or High-Z (open). The state of this pin determines which external diode configuration is used for the Critical / Thermal shutdown function. The different configurations of the SHDN_SEL pin are described in Table 5.1. SHDN_SEL applies only to the selected temperature channel. Table 5.1 SHDN_SEL Pin Configuration SHDN_SEL 0 High-Z (open) 1 5.1.2 FUNCTION NAME TEMPERATURE MONITORING FEATURES CRITICAL / THERMAL SHUTDOWN RANGE Intel Transistor Mode (substrate PNP) The external diode 1 channel is configured with Beta Compensation enabled and Resistance Error Correction enabled. This mode is ideal for monitoring a substrate transistor such as an Intel CPU thermal diode. High - 92C to 154C AMD CPU / Diode Mode The external diode 1 channel is configured with Beta Compensation disabled and Resistance Error Correction disabled. This mode is ideal for monitoring an AMD processor diode or a 2N3904 diode. Low - 60C to 122C Internal The internal diode is linked to the Hardware set Thermal / Critical shutdown circuitry and the SYS_SHDN# pin. Low - 60C to 122C TRIP_SET / VIN4 Pin The EMC2104's TRIP_SET / VIN4 pin is an analog input to the Critical/Thermal Shutdown block which sets the Thermal Shutdown temperature. The system designer creates a voltage level at the input through a simple resistor connected to GND as shown in Figure 5.1. The value of this resistor is used to create an input voltage on the TRIP_SET / VIN4 pin which is translated into a temperature ranging from 60C to 122C or 90C to 152C as enumerated in Table 5.2. When the SHDN_SEL pin is pulled to `1' at power up, then the TRIP_SET / VIN4 pin is configured to measure VIN4 as its primary function. The circuitry will still calculate the thermal / critical shutdown threshold based on the voltage and compare this temperature against the Internal Diode temperature. This will cause the SYS_SHDN# pin to assert if the measured temperature exceeds this threshold. The device will also compare the measured voltage against the VIN4 High and Low limits. This function is not available if SHDN_SEL is set to `0' or `High-Z' at power up. APPLICATION NOTE: If the SHDN_SEL pin is pulled to `1' at power up and the TRIP_SET / VIN4 pin is intended for use as a voltage input then the SYS_SHDN# pin should be ignored. APPLICATION NOTE: If the SHDN_SEL pin is pulled to `1' at power up and the TRIP_SET / VIN4 pin is intended to be used to set a threshold level then the VIN4 channel should be masked. Furthermore, the voltage on the pin must be externally generated based on Equation [1]. Do not use Table 5.2. APPLICATION NOTE: When used in its TRIP_SET mode (i.e. the SHDN_SEL pin is not set to a logic `1'), current only flows when the TRIP_SET / VIN4 pin is being monitored. At all other times, the internal reference voltage is removed and the TRIP_SET / VIN4 pin will be pulled down to ground. SMSC EMC2104 23 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet APPLICATION NOTE: The TRIP_SET / VIN4 pin circuitry is designed to use a 1% resistor externally. Using a 1% resistor will result in the Thermal / Critical Shutdown temperature being decoded correctly. If a 5% resistor is used, then the Thermal / Critical Shutdown temperature may be decoded with as much as 1C error. VTRIP is the TRIP_SET voltage T TRIP - T MIN V TRIP = ---------------------------------80 TMIN is the minimum temperature based on the range [1] Table 5.2 TRIP_SET Resistor Setting TTRIP (C) LOW RANGE TTRIP (C) HIGH RANGE RSET (1%) TTRIP (C) LOW RANGE TTRIP (C) HIGH RANGE RSET (1%) 60 92 0.0 92 124 1240 61 93 28.7 93 125 1330 62 94 48.7 94 126 1400 63 95 69.8 95 127 1500 64 96 90.9 96 128 1580 65 97 113 97 129 1690 66 98 137 98 130 1820 67 99 158 99 131 1960 68 100 182 100 132 2050 69 101 210 101 133 2210 70 102 237 102 134 2370 71 103 261 103 135 2550 72 104 294 104 136 2740 73 105 324 105 137 2940 74 106 348 106 138 3160 75 107 383 107 139 3480 76 108 412 108 140 3740 77 109 453 109 141 4120 78 110 487 110 142 4530 79 111 523 111 143 4990 80 112 562 112 144 5490 81 113 604 113 145 6040 82 114 649 114 146 6810 Revision 1.78 (02-28-11) 24 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 5.2 TRIP_SET Resistor Setting (continued) TTRIP (C) LOW RANGE TTRIP (C) HIGH RANGE RSET (1%) TTRIP (C) LOW RANGE TTRIP (C) HIGH RANGE RSET (1%) 83 115 698 115 147 7870 84 116 750 116 148 9090 85 117 787 117 149 10700 86 118 845 118 150 12700 87 119 909 119 151 15800 88 120 953 120 152 20500 89 121 1020 121 153 29400 90 122 1100 122 154 49900 91 123 1150 60 92 Open 5.2 Fan Control Modes of Operation The EMC2104 has four modes of operation for each fan driver. Each mode of operation uses the Ramp Rate control and Spin Up Routine. 1. Direct Setting Mode- in this mode of operation, the user directly controls the fan drive setting. Updating the Fan Driver Setting Register (see Section 6.20) will instantly update the fan drive. Ramp Rate control is optional and enabled via the EN_RRC bits. This is the default mode. The Direct Setting Mode is enabled by clearing the LUT_LOCK bit in the Look Up Table Configuration Register (see Section 6.32) while the TACH / DRIVE bit is set to `0'. Whenever the Direct Setting Mode is enabled the current drive will be changed to what was last written into the Fan Driver Setting Register. 2. Fan Speed Control Mode (FSC) - in this mode of operation, the user determines a target tachometer count and the drive setting is automatically updated to achieve this target speed. The algorithm uses the Spin Up Routine and has user definable ramp rate controls. This mode is enabled by clearing the LUT_LOCK bit in the Look Up Table (LUT) Configuration Register and setting the EN_ALGO bit in the Fan Configuration Register. 3. Using the Look Up Table with Fan Drive Settings (Direct Setting w/ LUT Mode) - In this mode of operation, the user programs the Look Up Table with fan drive settings and corresponding temperature thresholds. The fan drive is set based on the measured temperatures and the corresponding drive settings. Ramp Rate control is optional and enabled via the EN_RRC bits. This mode is enabled by programming the Look Up Table then setting the LUT_LOCK bit while the TACH / DRIVE bit is set to `1'. The TACH / DRIVE bit in the Look Up Table Configuration Register MUST be set to `1' or the fan drive settings will be incorrectly set. Setting this bit to `1' ensures the settings will be PWM settings. 4. Using the Look Up Table with RPM Target Settings (FSC w/ LUT Mode) - In this mode of operation, the user programs the Look Up Table with TACH Target values and corresponding temperature thresholds. The TACH Target will be set based on the measured temperatures and the corresponding target settings. The fan drive settings will be determined automatically based on the RPM based Fan Speed Control Algorithm. SMSC EMC2104 This mode is enabled by programming the Look Up Table then setting the LUT_LOCK bit while the TACH / DRIVE bit is set to `0'. 25 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet APPLICATION NOTE: The TACH / DRIVE bit in the Look Up Table Configuration Register MUST be set to `0' or the TACH Target values will be incorrectly set. Setting this bit to `0' ensures that the settings will be RPM settings (Tachometer counts). It is important that the TACH Target settings are in the proper format when using the RPM based Fan Speed Control Algorithm. Table 5.3 Fan Controls Active for Operating Mode DIRECT SETTING MODE DIRECT SETTING W/ LUT MODE FSC MODE FSC W/ LUT MODE Fan Driver Setting (read / write) Fan Driver Setting (read only) Fan Driver Setting (read only) Fan Driver Setting (read only) EDGES[1:0] EDGES[1:0] (Fan Configuration) EDGES[1:0] EDGES[1:0] - RANGE[1:0] (Fan Configuration) - RANGE[1:0] (Fan Configuration) UPDATE[2:0] (Fan Configuration) UPDATE[2:0] (Fan Configuration) UPDATE[2:0] (Fan Configuration) UPDATE[2:0] (Fan Configuration) LEVEL (Spin Up Configuration) LEVEL (Spin Up Configuration) LEVEL (Spin Up Configuration) LEVEL (Spin Up Configuration) SPINUP_TIME[1:0] (Spin Up Configuration) SPINUP_TIME[1:0] (Spin Up Configuration) SPINUP_TIME[1:0] (Spin Up Configuration) SPINUP_TIME[1:0] (Spin Up Configuration) Fan Step Fan Step Fan Step Fan Step - Fan Minimum Drive Valid TACH Count Valid TACH Count Valid TACH Count Valid TACH Count - TACH Target (read / write) - TACH Target (read only) TACH Reading TACH Reading TACH Reading TACH Reading - - Look Up Table Drive / Temperature Settings (read only) Look up Table Drive / Temperature Settings (read only) - DRIVE_FAIL_CNT[1:0] and Drive Band Fail Registers - DRIVE_FAIL_CNT[1:0] and Drive Band Fail Registers 5.3 Fan Minimum Drive PWM Fan Driver The EMC2104 supports two PWM output drivers. These output drivers can be configured independently to operate as an open-drain (default) or push-pull driver and can be configured with normal or inverse polarity. Additionally, the each PWM driver frequency is programmable with ranges from 9.5Hz to 26kHz in four programmable frequency bands. 5.4 Fan Control Look-Up Table The EMC2104 uses a look-up table to apply a user-programmable fan control profile based on measured temperature to each fan driver. In this look-up table, each temperature channel is allowed Revision 1.78 (02-28-11) 26 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet to control the fan drive output independently (or jointly) by programming up to eight pairs of temperature and drive setting entries. The user programs the look-up table based on the desired operation. If the RPM based Fan Speed Control Algorithm is to be used (see Section 5.5), then the user must program an RPM target for each temperature setting of interest. Alternately, if the RPM based Fan Speed Control Algorithm is not to be used, then the user must program a drive setting for each temperature setting of interest. If the measured temperature on the External Diode channel meets or exceeds any of the temperature thresholds for any of the temperature columns (see Appendix B), the fan output will be automatically set to the desired setting corresponding to the exceeded temperature. In cases where multiple temperature channel thresholds are exceeded, the highest fan drive setting will take precedence. When the measured temperature drops to a point below a lower threshold minus the hysteresis value, the fan output will be set to the corresponding lower set point. Figure 5.3 shows an example of this operation using temperature - drive setting pairs for a single channel. See Appendix B for examples of the Look Up Table operation. Fan Setting Temp T8 T8 - Hyst T7 T7 - Hyst S8 S7 T6 T6 - Hyst S6 T5 T5 - Hyst S5 T4 T4 - Hyst S4 Averaged Temperature T3 T3 - Hyst S3 Fan Setting S2 T2 T2 - Hyst T1 Measurement taken S1 Time Figure 5.3 Fan Control Look-Up Table Example SMSC EMC2104 27 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 5.4.1 Programming the Look Up Table When the Look Up Table is used, it must be loaded and configured correctly based on the system requirements. The following steps outline the procedure. 1. Determine whether the Look Up Table will drive a fan setting or a tachometer target value and set the TACH / DRIVE bit in the Fan LUT Configuration Register. 2. Determine which measurement channels (up to four) are to be used with the Look Up Table and set the TEMP3_CFG and TEMP4_CFG bits accordingly in the Fan LUT Configuration Register. 3. For each step to be used in the LUT, set the Fan Setting (either fan setting or TACH Target as set by the TACH / DRIVE bit). If a setting is not used, then set it to FFh (if a fan setting) or 00h (if a TACH Target). Load the lowest settings first in ascending order (i.e. Fan Setting 1 is the lowest setting greater than "off". Fan Setting 2 is the next highest setting, etc.). 4. For each step to be used in the LUT, set each of the measurement channel thresholds. These values must be set in the same data format that the data is presented. If DTS is to be used, then the format should be in temperature with a maximum threshold of 100C (64h). If a measurement channel is not used, then set the threshold at FFh. 5. Set the Hysteresis value to be smaller than the smallest threshold step. 6. Configure the RPM based Fan Speed Control Algorithm if it is to be used. 7. Set the LUT_LOCK bit to enable the Look Up Table and begin fan control. 5.4.2 DTS Support The EMC2104 supports DTS (Intel's Digital Temperature Sensor) data in the Fan Control Look Up Table. Intel's DTS data is a positive number that represents the processor's relative temperature below a fixed value called TCONTROL which is generally equal to 100C for Intel Mobile processors. For example, a DTS value of 10C means that the actual processor temperature is 10C below TCONTROL or equal to 90C. Either or both of the Pushed Temperature Registers can be written with DTS data and used to control the respective fan driver. When DTS data is entered, then the USE_DTS_Fx bit must be set in the Fan LUT Configuration register. Once this bit is set, the DTS data entered is automatically subtracted from a value of 100C. This delta value is then used in the Look Up Table as standard temperature data. See Appendix B for examples on using DTS data in the Look Up Table. APPLICATION NOTE: The device is designed with the assumption that TCONTROL is 100C. As such, all DTS related conversions are done based on this value including Look Up Table comparisons. If TCONTROL is adjusted (i.e. TCONTROL is shifted to 105C), then all of the Look Up Table thresholds should be adjusted by a value equal to TCONTROL - 100C. 5.5 RPM based Fan Speed Control Algorithm (FSC) The EMC2104 includes antwo RPM based Fan Speed Control Algorithms. Each algorithm operates independently and controls a separate fan driver.Each algorithm can be controlled manually (by setting the target fan speed) or via a look up table. This fan control algorithm uses Proportional, Integral, and Derivative terms to automatically approach and maintain the system's desired fan speed to an accuracy directly proportional to the accuracy of the clock source. Figure 5.4 shows a simple flow diagram of the RPM based Fan Speed Control Algorithm operation. The desired tachometer count is set by the user inputting the desired number of 32.768KHz cycles that occur per fan revolution. This is done by either manually setting the TACH Target Register or by programming the Temperature Look-Up Table. The user may change the target count at any time. The user may also set the target count to FFh in order to disable the fan driver for lower current operation. Revision 1.78 (02-28-11) 28 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet For example, if a desired RPM rate for a 2-pole fan is 3000 RPMs, then the user would input the hexidecimal equivalent of 1296 (51h in the TACH Target Register). This number represents the number of 32.768KHz cycles that would occur during the time it takes the fan to complete a single revolution when it is spinning at 3000RPMs. The EMC2104's RPM based Fan Speed Control Algorithm has programmable configuration settings for parameters such as ramp-rate control and spin up conditions. The fan driver automatically detects and attempts to alleviate a stalled/stuck fan condition while also asserting the ALERT# pin. The EMC2104 works with fans that operate up to 16,000 RPMs and provide a valid tachometer signal. The fan controller will function either with an externally supplied 32.768KHz clock source or with it's own internal 32kHz oscillator depending on the required accuracy. SMSC EMC2104 29 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Set TACH Target Count Measure Fan Speed Spin Up Required ? Yes Perform Spin Up Routine No Yes Maintain Fan Drive TACH Reading = TACH Target? No Yes TACH Reading < TACH Target? Reduce Fan Drive No Ramp Rate Control Increase Fan Drive Figure 5.4 RPM based Fan Speed Control Algorithm Revision 1.78 (02-28-11) 30 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 5.5.1 Programming the RPM Based Fan Speed Control Algorithm The RPM based Fan Speed Control Algorithm is disabled upon device power up. The following registers control the algorithm. The EMC2104 fan control registers are pre-loaded with defaults that will work for a wide variety of fans so only the TACH Target Register is required to set a fan speed. The other fan control registers can be used to fine-tune the algorithm behavior based on application requirements. Note that steps 1 - 6 are optional and need only be performed if the default settings do not provide the desired fan response. 1. Set the Spin Up Configuration Register to the Spin Up Level and Spin Time desired. 2. Set the Fan Step Register to the desired step size. 3. Set the Fan Minimum Drive Register to the minimum drive value that will maintain fan operation. 4. Set the Update Time, and Edges options in the Fan Configuration Register. 5. Set the Valid TACH Count Register to the highest tach count that indicates the fan is spinning. 6. Set the TACH Target Register to the desired tachometer count. 7. Enable the RPM based Fan Speed Control Algorithm by setting the EN_ALGO bit. 5.6 Tachometer Measurement The tachometer measurement circuitry is used in conjunction with the RPM based Fan Speed Control Algorithm to update the fan driver output. Additionally, it can be used in Direct Setting mode as a diagnostic for host based fan control. This method monitors the TACHx signal in real time. It constantly updates the tachometer measurement by reporting the number of clocks between a user programmed number of edges on the TACHx signal (see Table 6.30). The tachometer measurement provides fast response times for the RPM based Fan Speed Control Algorithm and the data is presented as a count value that represents the fan RPM period. When this method is used, all fan target values must be input as a count value for proper operation. APPLICATION NOTE: The tachometer measurement method works independently of the drive settings. If the device is put into Direct Setting and the fan drive is set at a level that is lower than the fan can operate (including zero drive), then the tachometer measurement may signal a Stalled Fan condition and assert an interrupt. 5.6.1 Stalled Fan A Stalled fan is detected if the tach counter exceeds the user-programmable Valid TACH Count setting then it will flag the fan as stalled and trigger an interrupt. If the RPM based Fan Speed Control Algorithm is enabled, the algorithm will automatically attempt to restart the fan until it detects a valid tachometer level or is disabled. The FAN_STALL Status bit indicates that a stalled fan was detected. This bit is checked conditionally depending on the mode of operation. Whenever the Direct Setting Mode or Direct Setting with LUT Mode is enabled or whenever the Spin Up Routine is enabled, the FAN_STALL interrupt will be masked for the duration of the programmed Spin Up Time (see Table 6.40) to allow the fan an opportunity to reach a valid speed without generating unnecessary interrupts. In Direct Setting Mode or Direct Setting w/ LUT Mode, and the tachometer measurement is using the Tach Period Measurement method, then whenever the TACH Reading Register value exceeds the Valid TACH Count Register setting, the FAN_STALL status bit will be set. SMSC EMC2104 31 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 5.6.2 When using the RPM based Fan Speed Control Algorithm (either FSC Mode or LUT with FSC Mode), the stalled fan condition is checked whenever the Update Time is met and the fan drive setting is updated. It is not a continuous check. 32kHz Clock Source The EMC2104 allows the user to choose between supplying an external 32.768kHz clock or use of the internal 32kHz oscillator to measure the tachometer signal. This clock source is used by the RPM based Fan Speed Control Algorithm to calculate the current fan speed. This fan controller accuracy is directly proportional to the accuracy of the clock source. The external clock is provided on the CLK_IN. In order for the external clock to be used, the EXT_CLK bit must be set in the Configuration Register. 5.6.3 Aging Fan or Invalid Drive Detection This is useful to detect aging fan conditions (where the fan's natural maximum speed degrades over time) or incorrect fan speed settings.The EMC2104 contains circuitry that detects that the programmed fan speed can be reached by the fan. If the target fan speed cannot be reached within a user defined band of tach counts at maximum drive then the DRIVE_FAIL status bits are set and the ALERT# pin is asserted. 5.7 Spin Up Routine The EMC2104 also contains programmable circuitry to control the spin up behavior of the fan driver to ensure proper fan operation. The Spin Up Routine is initiated in Direct Setting mode (with or without the Look Up Table - when enabled) when the setting value changes from 00h to anything else. When the Fan Speed Control Algorithm is enabled, the Spin Up Routine is initiated under the following conditions when the Tach Period Measurement method of tach measurement is used: 1. The TACH Target Register value changes from a value of FFh to a value that is less than the Valid TACH Count (see Section 6.28). 2. The RPM based Fan Speed Control Algorithm's measured TACH Reading Register value is greater than the Valid TACH Count setting. When the Spin Up Routine is operating, the fan driver is set to full scale (optional) for one quarter of the total user defined spin up time. For the remaining spin up time, the fan driver output is set a a user defined level (30% through 65% drive). After the Spin Up Routine has finished, the EMC2104 measures the TACHx signal. If the measured TACH Reading Register value is higher than the Valid TACH Count Register setting, the FAN_SPIN status bit is set and the Spin Up Routine will automatically attempt to restart the fan. Figure 5.5 shows an example of the Spin Up Routine in response to a programmed fan speed change based on the first condition above. Revision 1.78 (02-28-11) 32 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 100% (optional) 30% through 65% Fan Step New Target Count Algorithm controlled drive Prev Target Count = FFh 1/4 of Spin Up Time Update Time Spin Up Time Check TACH Target Count Changed Target Count Reached Figure 5.5 Spin Up Routine 5.8 Ramp Rate Control The Fan Driver can be configured with automatic ramp rate control. Ramp rate control is accomplished by adjusting the drive output settings based on the Maximum Fan Step Register settings and the Update Time settings. If the RPM based Fan Speed Control Algorithm is used, then this ramp rate control is automatically used. The user programs a maximum step size for the fan drive setting and an update time. The update time varies from 100ms to 1.6s while the fan drive maximum step can vary from 1 count to 31 counts. When a new fan drive setting is entered, the delta from the next fan drive setting and the previous fan drive setting is determined. If this delta is greater than the Max Step settings, then the fan drive setting is incrementally adjusted every 100ms to 1.6s as determined by the Update Time until the target fan drive setting is reached. See Figure 5.6. SMSC EMC2104 33 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Next Desired Setting Max Step Max Step Previous Setting Update Time Update Time Setting Changed Figure 5.6 Ramp Rate Control 5.9 Watchdog Timer The EMC2104 contains two internal Watchdog Timers. Once the device has powered up the watchdog timer monitors the SMBus traffic for signs of activity. The Watchdog Timer starts when the internal supply has reached its operating point. The Watchdog Timer only starts immediately after power-up and once it has been triggered or deactivated will not restart. Each fan driver has an independent watchdog timer. Disabling the watchdog associated with Fan 1 will not disable the watchdog associated with Fan 2. If four (4) seconds elapse without the system host programming the device, then the watchdog will be triggered and the following will occur: 1. The WATCH status bit will be set. 2. The fan driver will be set to full scale drive. It will remain at full scale drive until one of the three conditions listed below are met. If the Watchdog Timer is triggered, the following three operations will disable the timer and return the device to normal operation. Alternately, if the Watchdog Timer has not yet been triggered performing any one of the following will disable it. 1. Writing the Fan Setting Register will disable the Watchdog Timer. 2. Enabling the RPM based Fan Speed Control Algorithm by setting the EN_ALGO bit will disable the Watchdog Timer. The fan driver will be set based on the RPM based Fan Speed Control Algorithm. 3. Setting the LUT_LOCK bit will disable the Watchdog Timer. The fan driver will be set based on the Look Up Table settings. Writing any other configuration registers will not disable the Watchdog Timer. Revision 1.78 (02-28-11) 34 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet APPLICATION NOTE: Disabling the Watchdog will not automatically set the fan drive. This must be done manually (or via the Look Up Table). 5.10 Fault Queue The EMC2104 contains a programmable fault queue on all fault conditions except a FAN_SHORT or TSD condition (including all temperature high, low, and tcrit limits as well as the hardware set thermal limit). The fault queue defines how many consecutive out-of-limit conditions must be reported before the corresponding status bit is set (and the ALERT# pin asserted). APPLICATION NOTE: With the exception of the Tcrit limit, the fault queue is not applied to the internal diode measurement. 5.11 Temperature Monitoring The EMC2104 can monitor the temperature of up to four (4) externally connected diodes as well as the internal or ambient temperature. Each channel is configured with the following features enabled or disabled based on user settings and system requirements. APPLICATION NOTE: When measuring an Intel 45nm CPU, the reported temperature will have an error of approximately 1.5C at 100C. This error is related to a non-perfect ideality factor of the CPU diode and is proportional to the diode temperature. 5.11.1 Dynamic Averaging The EMC2104 supports dynamic averaging. When enabled, this feature changes the conversion time for all channels based on the selected conversion rate. This essentially increases the averaging factor as shown in Table 5.4. The benefits of Dynamic Averaging are improved noise rejection due to the longer integration time as well as less random variation on the temperature measurement. Table 5.4 Dynamic Averaging Behavior AVERAGING FACTOR (RELATIVE TO 11-BIT CONVERSI0N) 5.11.2 CONVERSION RATE DYNAMIC AVERAGING ENABLED DYNAMIC AVERAGING DISABLED 1 / sec 8x 1x 2 / sec 4x 1x 4 / sec 2x 1x 8 / sec 1x 1x Resistance Error Correction The EMC2104 includes active Resistance Error Correction to remove the effect of up to 100 ohms of series resistance. Without this automatic feature, voltage developed across the parasitic resistance in the remote diode path causes the temperature to read higher than the true temperature is. The error induced by parasitic resistance is approximately +0.7C per ohm. Sources of parasitic resistance include bulk resistance in the remote temperature transistor junctions, series resistance in the CPU, and resistance in the printed circuit board traces and package leads. Resistance error correction in the EMC2104 eliminates the need to characterize and compensate for parasitic resistance in the remote diode path. SMSC EMC2104 35 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 5.11.3 Beta Compensation The forward current gain, or beta, of a transistor is not constant as emitter currents change. As well, it is not constant over changes in temperature. The variation in beta causes an error in temperature reading that is proportional to absolute temperature. This correction is done by implementing the BJT or transistor model for temperature measurement. For discrete transistors configured with the collector and base shorted together, the beta is generally sufficiently high such that the percent change in beta variation is very small. For example, a 10% variation in beta for two forced emitter currents with a transistor whose ideal beta is 50 would contribute approximately 0.25C error at 100C. However for substrate transistors where the base-emitter junction is used for temperature measurement and the collector is tied to the substrate, the proportional beta variation will cause large error. For example, a 10% variation in beta for two forced emitter currents with a transistor whose ideal beta is 0.5 would contribute approximately 8.25C error at 100C. The Beta Compensation circuitry in the EMC2104 corrects for this beta variation to eliminate any error which would normally be induced. It automatically detects the appropriate beta setting to use. 5.11.4 Digital Averaging The External Diode 1 channel support a 4x digital averaging filter. Every cycle, this filter updates the temperature data based an a running average of the last 4 measured temperature values. The digital averaging reduces temperature flickering and increases temperature measurement stability. The digital averaging can be disabled by setting the DIS_AVG bit in the Configuration 2 Register (see Section 6.10). 5.12 Thermistor Support The External Diode 1, External Diode 2, and External Diode 3 channels can be configured to monitor a thermistor. When this function is enabled, the data on the VIN1, VIN2, or VIN3 channels can be configured to measure a simple voltage input or a ground-connected thermistor circuit (see Appendix A for more information). The External Diode 1 channel can only be configured as a voltage input if the SHDN_SEL pin is set to a logic `1'. 5.13 Diode Connections The diode connection for the External Diode 1 channel is determined at power-up based on the SHDN_SEL pin (see Section 5.1.1). This channel can support a diode-connected transistor (such as a 2N3904) or a substrate transistor (such as those found in an CPU or GPU) as shown in Figure 5.7. The External Diode 3 channel supports any diode connection shown or it can be configured to operate in anti-parallel diode (APD) mode. When configured in APD mode, a fourth temperature channel is available that shares the DP3 and DN3 pins. When in this mode, both the external diode 3 channel and external diode 4 channel thermal diodes must be connected as a diode. Revision 1.78 (02-28-11) 36 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Diode 2 to DP to DN Local Ground Typical remote substrate transistor i.e. CPU substrate PNP to DP to DP to DN to DN Typical remote discrete PNP transistor i.e. 2N3906 Diode 1 Typical remote discrete NPN transistor i.e. 2N3904 Anti-parallel diodes using discrete NPN transistors Figure 5.7 Diode Connections 5.13.1 Diode Faults The EMC2104 actively detects an open and short condition on each measurement channel. When a diode fault is detected, the temperature data MSByte is forced to a value of 80h and the FAULT bit is set in the Status Register. When the External Diode 3 channel is configured to operate in APD mode, the circuitry will detect independent open fault conditions, however a short condition will be shared between the External Diode 3 and External Diode 4 channels. 5.14 GPIOs The EMC2104 contains up to three (3) GPIOs pin (all are multiplexed with other functions). The GPIO pins can be configured as an input or an output and as a push-pull or open-drain output. Additionally, the GPIO pins, when configured as an input, can be enabled to trigger an interrupt when they change states. 5.15 Interrupts If a change of state occurs (such as a temperature out-of-limit condition or a GPIO changing states) then the following will occur: 1. The appropriate status bits will be set in the Status Register and in the High, Low, and Fault Status Registers. 2. The ALERT# will be asserted if the specific channel interrupt is enabled (see Section 6.15). The ALERT# pin is cleared by setting the MASK bit, disabling the specific interrupt channel enable, or reading the status registers. If the error conditions persist, then the status bits will remain set. Unless the Interrupt Status Enable bits are cleared or the MASK bit is set, the ALERT# pin will likewise be set. SMSC EMC2104 37 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Chapter 6 Register Set 6.1 Register Map The following registers are accessible through the SMBus Interface. All register bits marked as `-' will always read `0'. A write to these bits will have no effect. Table 6.1 EMC2104 Register Set ADDR REGISTER NAME R/W FUNCTION DEFAULT VALUE LOCK PAGE Temperature Registers 00h R Internal Temp Reading High Byte Stores the integer data of the Internal Diode 00h No Page 50 01h R Internal Temp Reading Low Byte Stores the fractional data of the Internal Diode 00h No Page 50 02h R External Diode 1 Temp Reading High Byte Stores the integer data of External Diode 1 and VIN1 channel 00h No Page 50 03h R External Diode 1 Temp Reading Low Byte Stores the fractional data of External Diode 1 00h No Page 50 04h R External Diode 2 Temp Reading High Byte Stores the integer data of External Diode 2 and VIN2 channel 00h No Page 50 05h R External Diode 2 Temp Reading Low Byte Stores the fractional data of External Diode 2 00h No Page 50 06h R External Diode 3 Temp Reading High Byte Stores the integer data of External Diode 3 and VIN3 channel 00h No Page 50 07h R External Diode 3 Temp Reading Low Byte Stores the fractional data of External Diode 3 00h No Page 50 08h R External Diode 4 Temp Reading High Byte Stores the integer data of External Diode 4 00h No Page 50 09h R External Diode 4 Temp Reading Low Byte Stores the fractional data of External Diode 4 00h No Page 50 0Ah R Critical/Thermal Shutdown Temperature Stores the calculated Critical/Thermal Shutdown temperature high limit derived from the voltage on TRIP_SET / VIN4 7Fh (+127C) No Page 51 0Ch R/W Pushed Temperature 1 Stores the integer data for Pushed Temperature 1 to drive LUT 1 00h No Page 52 Revision 1.78 (02-28-11) 38 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.1 EMC2104 Register Set (continued) REGISTER NAME FUNCTION DEFAULT VALUE LOCK PAGE R/W Pushed Temperature 2 Stores the integer data for Pushed Temperature 2 to drive LUT 1 00h No Page 52 0Eh R/W Pushed Temperature 3 Stores the integer data for Pushed Temperature 3 to drive LUT2 00h No Page 52 0Fh R/W Pushed Temperature 4 Stores the integer data for Pushed Temperature 4 to drive LUT2 00h No Page 52 10h R Trip Set Voltage Stores the raw measured TRIP_SET voltage or the VIN4 analog voltage input FFh No Page 52 ADDR R/W 0Dh Diode Configuration 14h R/W External Diode 1 Beta Configuration Configures the beta compensation settings for External Diode 1 10h SWL Page 53 15h R/W External Diode 2 Beta Configuration Configures the beta compensation settings for External Diode 2 10h SWL Page 53 16h R/W External Diode 3 Beta Configuration Configures the beta compensation settings for External Diode 3 10h SWL Page 53 17h R/W External Diode REC Configuration Configures the Resistance Error Correction functionality for all external diodes 07h SWL Page 54 19h R/W External Diode 1 Tcrit Limit Stores the Critical temperature limit for the External Diode 1 64h (100C) Write Lock Page 55 1Ah R/W External Diode 2 Tcrit Limit Stores the Critical temperature limit for the External Diode 2 64h (100C) Write Lock Page 55 1Bh R/W External Diode 3 Tcrit Limit Stores the Critical temperature limit for the External Diode 3 64h (100C) Write Lock Page 55 1Ch R/W External Diode 4 Tcrit Limit Stores the Critical temperature limit for the External Diode 4 64h (100C) Write Lock Page 55 1Dh R/W Internal Diode Tcrit Limit Stores the Critical temperature limit for the Internal Diode 64h (100C) Write Lock Page 55 Configuration and control 1Fh R-C Tcrit Limit Status Stores the status bits for all temperature channel Tcrit limits 00h No Page 58 20h R/W Configuration Configures the Thermal / Critical Shutdown masking options and software lock 00h SWL Page 55 21h R/W Configuration 2 Controls the conversion rate for monitoring of all channels 0Eh SWL Page 56 22h R/W Configuration 3 Controls the VIN1 - 3 channels 00h SWL Page 57 23h R Interrupt Status Stores the status bits for temperature channels 00h No Page 58 SMSC EMC2104 39 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.1 EMC2104 Register Set (continued) ADDR R/W REGISTER NAME DEFAULT VALUE LOCK PAGE 24h R-C High Limit Status Stores the status bits for all temperature channel high limits 00h No Page 59 25h R-C Low Limit Status Stores the status bits for all temperature channel low limits 00h No Page 59 26h R-C Diode Fault Stores the status bits for all temperature channel diode faults 00h No Page 59 27h R-C Fan Status Stores the status bits for the RPM based Fan Speed Control Algorithm 00h No Page 60 28h R/W Interrupt Enable Register Controls the masking of interrupts on all temperature channels 00h No Page 60 29h R/W Fan Interrupt Enable Register Controls the masking of interrupts on all fan related channels 00h No Page 61 2Ah R/W PWM Config Configures all PWM drivers 00h No Page 62 2Bh R/W PWM Base Frequency Selects the base frequency for all PWM drivers. FFh No Page 62 FUNCTION Temperature Limit Registers 30h R/W External Diode 1 Temp High Limit High limit for External Diode 1 or VIN1 55h (+85C) SWL Page 63 31h R/W External Diode 2 Temp High Limit High limit for External Diode 2 or VIN2 55h (+85C) SWL Page 63 32h R/W External Diode 3 Temp High Limit High limit for External Diode 3 or VIN3 55h (+85C) SWL Page 63 33h R/W External Diode 4 Temp High Limit High Limit for External Diode 4 55h (85C) SWL Page 63 34h R/W Internal Diode High Limit High Limit for Internal Diode 55h (85C) SWL Page 63 35h R/W Voltage 4 High Limit High Limit for the Voltage 4 channel FFh (0.8V) SWL Page 63 38h R/W External Diode 1 Temp Low Limit Low Limit for External Diode 1 or VIN1 00h (0C) SWL Page 63 39h R/W External Diode 2 Temp Low Limit Low Limit for External Diode 2 or VIN2 00h (0C) SWL Page 63 3Ah R/W External Diode 3 Temp Low Limit Low Limit for External Diode 3 or VIN3 00h (0C) SWL Page 63 3Bh R/W External Diode 4 Temp Low Limit Low Limit for External Diode 4 00h (0C) SWL Page 63 3Ch R/W Internal Diode Low Limit Low Limit for Internal Diode 00h (0C) SWL Page 63 3Dh R/W Voltage 4 Low Limit Low limit for Voltage 4 Channel 00h (0V) SWL Page 63 Revision 1.78 (02-28-11) 40 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.1 EMC2104 Register Set (continued) ADDR R/W REGISTER NAME FUNCTION DEFAULT VALUE LOCK PAGE 00h No Page 64 Fan 1 Control Registers 40h R/W Fan 1 Setting Always displays the most recent fan driver input setting for Fan 1. If the RPM based Fan Speed Control Algorithm is disabled, allows direct user control of the fan driver. 41h R/W PWM 1 Divide Stores the divide ratio to set the frequency for Fan 1 01h No Page 64 42h R/W Fan 1 Configuration 1 Sets configuration values for the RPM based Fan Speed Control Algorithm for the Fan 1 driver 2Bh No Page 65 43h R/W Fan 1 Configuration 2 Sets additional configuration values for the Fan 1 driver 38h SWL Page 67 45h R/W Gain 1 Holds the gain terms used by the RPM based Fan Speed Control Algorithm for the Fan 1 driver 2Ah SWL Page 69 46h R/W Fan 1 Spin Up Configuration Sets the configuration values for Spin Up Routine of the Fan 1 driver 19h SWL Page 69 47h R/W Fan 1 Step Sets the maximum change per update for the Fan 1 driver 10h SWL Page 71 48h R/W Fan 1 Minimum Drive Sets the minimum drive value for the Fan 1 driver 66h (40%) SWL Page 72 49h R/W Fan 1 Valid TACH Count Holds the minimum tachometer reading that indicates the fan is spinning properly F5h SWL Page 72 4Ah R/W Fan 1 Drive Fail Band Low Byte 00h SWL 4Bh R/W Fan 1 Drive Fail Band High Byte Stores the number of Tach counts used to determine how the actual fan speed must match the target fan speed at full scale drive 4Ch R/W TACH 1 Target Low Byte 4Dh R/W 4Eh 4Fh Page 73 00h SWL Holds the target tachometer reading low byte Fan 1 F8h No Page 73 TACH 1 Target High Byte Holds the target tachometer reading high byte for Fan 1 FFh No Page 73 R TACH 1 Reading High Byte Holds the tachometer reading high byte for Fan 1 FFh No Page 74 R TACH 1 Reading Low Byte Holds the tachometer reading low byte for Fan 1 F8h No Page 74 Look Up Table 1 (LUT1) 50h R/W LUT 1 Configuration Stores and controls the configuration for LUT 1 00h No Page 75 51h R/W LUT 1 Drive 1 Stores the lowest programmed drive setting for LUT 1 FBh LUT Lock 1 Page 76 SMSC EMC2104 41 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.1 EMC2104 Register Set (continued) REGISTER NAME DEFAULT VALUE LOCK PAGE Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 1 value 7Fh (127C) LUT Lock 1 Page 76 LUT 1 Temp 2 Setting 1 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 1 value 7Fh (127C) LUT Lock 1 Page 76 R/W LUT 1 Temp 3 Setting 1 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 1 temp) that is associated with the Drive 1 value 7Fh (127C) LUT Lock 1 Page 76 55h R/W LUT 1 Temp 4 Setting 1 Stores the threshold level for the Internal Diode channel (or Pushed Temp 2 temp) that is associated with the Drive 1 value 7Fh (127C) LUT Lock 1 Page 76 56h R/W LUT 1 Drive 2 Stores the second programmed drive setting for LUT 1 E6h LUT Lock 1 Page 76 57h R/W LUT 1 Temp 1 Setting 2 Stores the threshold level for the External Diode 1 (or VIN1)channel that is associated with the Drive 2 value 7Fh (127C) LUT Lock 1 Page 76 58h R/W LUT 1 Temp 2 Setting 2 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 2 value 7Fh (127C) LUT Lock 1 Page 76 7Fh (127C) LUT Lock 1 Page 76 ADDR R/W 52h R/W LUT 1 Temp 1 Setting 1 53h R/W 54h FUNCTION 59h R/W LUT 1 Temp 3 Setting 2 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 1 temp) that is associated with the Drive 2 value 5Ah R/W LUT 1 Temp 4 Setting 2 Stores the threshold level for the Internal Diode channel (or Pushed Temp 2 temp) that is associated with the Drive 2 value 7Fh (127C) LUT Lock 1 Page 76 5Bh R/W LUT 1 Drive 3 Stores the third programmed drive setting for LUT 1 D1h LUT Lock 1 Page 76 5Ch R/W LUT 1 Temp 1 Setting 3 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 3 value 7Fh (127C) LUT Lock 1 Page 76 5Dh R/W LUT 1 Temp 2 Setting 3 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 3 value 7Fh (127C) LUT Lock 1 Page 76 LUT 1 Temp 3 Setting 3 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 1 temp) that is associated with the Drive 3 value 7Fh (127C) LUT Lock 1 Page 76 5Eh R/W Revision 1.78 (02-28-11) 42 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.1 EMC2104 Register Set (continued) ADDR R/W REGISTER NAME FUNCTION DEFAULT VALUE LOCK PAGE Stores the threshold level for the Internal Diode channel (or Pushed Temp 2 temp) that is associated with the Drive 3 value 7Fh (127C) LUT Lock 1 Page 76 5Fh R/W LUT 1 Temp 4 Setting 3 60h R/W LUT 1 Drive 4 Stores the fourth programmed drive setting for LUT 1 BCh LUT Lock 1 Page 76 61h R/W LUT 1 Temp 1 Setting 4 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 4 value 7Fh (127C) LUT Lock 1 Page 76 62h R/W LUT 1 Temp 2 Setting 4 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 4 value 7Fh (127C) LUT Lock 1 Page 76 R/W LUT 1 Temp 3 Setting 4 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 1 temp) that is associated with the Drive 4 value 7Fh (127C) LUT Lock 1 Page 76 64h R/W LUT 1 Temp 4 Setting 4 Stores the threshold level for the Internal Diode channel (or Pushed Temp 2 temp) that is associated with the Drive 4 value 7Fh (127C) LUT Lock 1 Page 76 65h R/W LUT 1 Drive 5 Stores the fifth programmed drive setting for LUT 1 A7h LUT Lock 1 Page 76 66h R/W LUT 1 Temp 1 Setting 5 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 5 value 7Fh (127C) LUT Lock 1 Page 76 67h R/W LUT 1 Temp 2 Setting 5 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 5 value 7Fh (127C) LUT Lock 1 Page 76 R/W LUT 1 Temp 3 Setting 5 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 1 temp) that is associated with the Drive 5 value 7Fh (127C) LUT Lock 1 Page 76 69h R/W LUT 1 Temp 4 Setting 5 Stores the threshold level for the Internal Diode channel (or Pushed Temp 2 temp) that is associated with the Drive 5 value 7Fh (127C) LUT Lock 1 Page 76 6Ah R/W LUT 1 Drive 6 Stores the sixth programmed drive setting for LUT 1 92h LUT Lock 1 Page 76 6Bh R/W LUT 1 Temp 1 Setting 6 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 6 value 7Fh (127C) LUT Lock 1 Page 76 6Ch R/W LUT 1 Temp 2 Setting 6 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 6 value 7Fh (127C) LUT Lock 1 Page 76 63h 68h SMSC EMC2104 43 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.1 EMC2104 Register Set (continued) ADDR REGISTER NAME R/W FUNCTION DEFAULT VALUE LOCK PAGE Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 1 temp) that is associated with the Drive 6 value 7Fh (127C) LUT Lock 1 Page 76 6Dh R/W LUT 1 Temp 3 Setting 6 6Eh R/W LUT 1 Temp 4 Setting 6 Stores the threshold level for the Internal Diode channel (or Pushed Temp 2 temp) that is associated with the Drive 6 value 7Fh (127C) LUT Lock 1 Page 76 6Fh R/W LUT 1 Drive 7 Stores the seventh programmed drive setting for LUT 1 92h LUT Lock 1 Page 76 70h R/W LUT 1 Temp 1 Setting 7 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 7 value 7Fh (127C) LUT Lock 1 Page 76 71h R/W LUT 1 Temp 2 Setting 7 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 7 value 7Fh (127C) LUT Lock 1 Page 76 R/W LUT 1 Temp 3 Setting 7 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 1 temp) that is associated with the Drive 7 value 7Fh (127C) LUT Lock 1 Page 76 73h R/W LUT 1 Temp 4 Setting 7 Stores the threshold level for the Internal Diode channel (or Pushed Temp 2 temp) that is associated with the Drive 7 value 7Fh (127C) LUT Lock 1 Page 76 74h R/W LUT 1 Drive 8 Stores the highest programmed drive setting for LUT 1 92h LUT Lock 1 Page 76 75h R/W LUT 1 Temp 1 Setting 8 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 8 value 7Fh (127C) LUT Lock 1 Page 76 76h R/W LUT 1 Temp 2 Setting 8 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 8 value 7Fh (127C) LUT Lock 1 Page 76 R/W LUT 1 Temp 3 Setting 8 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 1 temp) that is associated with the Drive 8 value 7Fh (127C) LUT Lock 1 Page 76 78h R/W LUT 1 Temp 4 Setting 8 Stores the threshold level for the Internal Diode channel (or Pushed Temp 2 temp) that is associated with the Drive 8 value 7Fh (127C) LUT Lock 1 Page 76 79h R/W LUT 1 Temp Hysteresis Stores the hysteresis that is shared for all temperature inputs 0Ah (10C) LUT Lock 1 Page 76 72h 77h Revision 1.78 (02-28-11) 44 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.1 EMC2104 Register Set (continued) ADDR R/W REGISTER NAME FUNCTION DEFAULT VALUE LOCK PAGE 00h No Page 64 Fan 2 Control Registers 80h R/W Fan 2 Setting Always displays the most recent fan driver input setting for Fan 2. If the RPM based Fan Speed Control Algorithm is disabled, allows direct user control of the fan driver. 81h R/W PWM2 Divide Stores the divide ratio to set the frequency for Fan 2 01h No Page 64 82h R/W Fan 2 Configuration1 Sets configuration values for the RPM based Fan Speed Control Algorithm for Fan 2 2Bh No Page 65 83h R/W Fan 2 Configuration 2 Sets additional configuration values for the Fan 2 driver 38h SWL Page 67 85h R/W Gain 2 Holds the gain terms used by the RPM based Fan Speed Control Algorithm for Fan 2 2Ah SWL Page 69 86h R/W Fan 2 Spin Up Configuration Sets the configuration values for Spin Up Routine of the Fan 2 driver 19h SWL Page 69 87h R/W Fan 2 Step Sets the maximum change per update for Fan 2 10h SWL Page 71 88h R/W Fan 2 Minimum Drive Sets the minimum drive value for the Fan 2 driver 66h (40%) SWL Page 72 89h R/W Fan 2 Valid TACH Count Holds the minimum tachometer reading that indicates the fan is spinning properly F5h SWL Page 72 8Ah R/W Fan 2 Drive Fail Band Low Byte 00h SWL 8Bh R/W Fan 2 Drive Fail Band High Byte Stores the number of Tach counts used to determine how the actual fan speed must match the target fan speed at full scale drive 8Ch R/W TACH 2 Target Low Byte 8Dh R/W 8Eh 8Fh Page 73 00h SWL Holds the target tachometer setting low byte for Fan 2 F8h No Page 73 TACH 2 Target High Byte Holds the target tachometer setting high byte for Fan 2 FFh No Page 73 R TACH 2 Reading High Byte Holds the tachometer reading high byte for Fan 2 FFh No Page 74 R TACH 2 Reading Low Byte Holds the tachometer reading low byte for Fan 2 F8h No Page 74 Look Up Table 2 (LUT2) 90h R/W LUT 2 Configuration Stores and controls the configuration for LUT 2 00h No Page 75 91h R/W LUT 2 Drive 1 Stores the lowest programmed drive setting for LUT 2 FBh LUT Lock 2 Page 78 SMSC EMC2104 45 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.1 EMC2104 Register Set (continued) REGISTER NAME DEFAULT VALUE LOCK PAGE Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 1 value 7Fh (127C) LUT Lock 2 Page 78 LUT 2 Temp 2 Setting 1 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 1 value 7Fh (127C) LUT Lock 2 Page 78 R/W LUT 2 Temp 3 Setting 1 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 3 temp) that is associated with the Drive 1 value 7Fh (127C) LUT Lock 2 Page 78 95h R/W LUT 2 Temp 4 Setting 1 Stores the threshold level for the Internal Diode channel (or Pushed Temp 4 temp) that is associated with the Drive 1 value 7Fh (127C) LUT Lock 2 Page 78 96h R/W LUT 2 Drive 2 Stores the second programmed drive setting for LUT 2 E6h LUT Lock 2 Page 78 97h R/W LUT 2 Temp 1 Setting 2 Stores the threshold level for the External Diode 1 (or VIN1)channel that is associated with the Drive 2 value 7Fh (127C) LUT Lock 2 Page 78 98h R/W LUT 2 Temp 2 Setting 2 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 2 value 7Fh (127C) LUT Lock 2 Page 78 7Fh (127C) LUT Lock 2 Page 78 ADDR R/W 92h R/W LUT 2 Temp 1 Setting 1 93h R/W 94h FUNCTION 99h R/W LUT 2 Temp 3 Setting 2 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 3 temp) that is associated with the Drive 2 value 9Ah R/W LUT 2 Temp 4 Setting 2 Stores the threshold level for the Internal Diode channel (or Pushed Temp 4 temp) that is associated with the Drive 2 value 7Fh (127C) LUT Lock 2 Page 78 9Bh R/W LUT 2 Drive 3 Stores the third programmed drive setting for LUT 2 D1h LUT Lock 2 Page 78 9Ch R/W LUT 2 Temp 1 Setting 3 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 3 value 7Fh (127C) LUT Lock 2 Page 78 9Dh R/W LUT 2 Temp 2 Setting 3 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 3 value 7Fh (127C) LUT Lock 2 Page 78 LUT 2 Temp 3 Setting 3 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 3 temp) that is associated with the Drive 3 value 7Fh (127C) LUT Lock 2 Page 78 9Eh R/W Revision 1.78 (02-28-11) 46 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.1 EMC2104 Register Set (continued) ADDR R/W REGISTER NAME FUNCTION DEFAULT VALUE LOCK PAGE Stores the threshold level for the Internal Diode channel (or Pushed Temp 4 temp) that is associated with the Drive 3 value 7Fh (127C) LUT Lock 2 Page 78 9Fh R/W LUT 2 Temp 4 Setting 3 A0h R/W LUT 2 Drive 4 Stores the fourth programmed drive setting for LUT 2 BCh LUT Lock 2 Page 78 A1h R/W LUT 2 Temp 1 Setting 4 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 4 value 7Fh (127C) LUT Lock 2 Page 78 A2h R/W LUT 2 Temp 2 Setting 4 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 4 value 7Fh (127C) LUT Lock 2 Page 78 R/W LUT 2 Temp 3 Setting 4 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 3 temp) that is associated with the Drive 4 value 7Fh (127C) LUT Lock 2 Page 78 A4h R/W LUT 2 Temp 4 Setting 4 Stores the threshold level for the Internal Diode channel (or Pushed Temp 4 temp) that is associated with the Drive 4 value 7Fh (127C) LUT Lock 2 Page 78 A5h R/W LUT 2 Drive 5 Stores the fifth programmed drive setting for LUT 2 A7h LUT Lock 2 Page 78 A6h R/W LUT 2 Temp 1 Setting 5 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 5 value 7Fh (127C) LUT Lock 2 Page 78 A7h R/W LUT 2 Temp 2 Setting 5 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 5 value 7Fh (127C) LUT Lock 2 Page 78 R/W LUT 2 Temp 3 Setting 5 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 3 temp) that is associated with the Drive 5 value 7Fh (127C) LUT Lock 2 Page 78 A9h R/W LUT 2 Temp 4 Setting 5 Stores the threshold level for the Internal Diode channel (or Pushed Temp 4 temp) that is associated with the Drive 5 value 7Fh (127C) LUT Lock 2 Page 78 AAh R/W LUT 2 Drive 6 Stores the sixth programmed drive setting for LUT 2 92h LUT Lock 2 Page 78 ABh R/W LUT 2 Temp 1 Setting 6 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 6 value 7Fh (127C) LUT Lock 2 Page 78 ACh R/W LUT 2 Temp 2 Setting 6 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 6 value 7Fh (127C) LUT Lock 2 Page 78 A3h A8h SMSC EMC2104 47 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.1 EMC2104 Register Set (continued) ADDR REGISTER NAME R/W FUNCTION DEFAULT VALUE LOCK PAGE Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 3 temp) that is associated with the Drive 6 value 7Fh (127C) LUT Lock 2 Page 78 ADh R/W LUT 2 Temp 3 Setting 6 AEh R/W LUT 2 Temp 4 Setting 6 Stores the threshold level for the Internal Diode channel (or Pushed Temp 4 temp) that is associated with the Drive 6 value 7Fh (127C) LUT Lock 2 Page 78 AFh R/W LUT 2 Drive 7 Stores the seventh programmed drive setting for LUT 2 92h LUT Lock 2 Page 78 B0h R/W LUT 2 Temp 1 Setting 6 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 7 value 7Fh (127C) LUT Lock 2 Page 78 B1h R/W LUT 2 Temp 2 Setting 6 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 7 value 7Fh (127C) LUT Lock 2 Page 78 R/W LUT 2 Temp 3 Setting 6 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 3 temp) that is associated with the Drive 7 value 7Fh (127C) LUT Lock 2 Page 78 B3h R/W LUT 2 Temp 4 Setting 6 Stores the threshold level for the Internal Diode channel (or Pushed Temp 4 temp) that is associated with the Drive 7 value 7Fh (127C) LUT Lock 2 Page 78 B4h R/W LUT 2 Drive 8 Stores the highest programmed drive setting for LUT 2 92h LUT Lock 2 Page 78 B5h R/W LUT 2 Temp 1 Setting 8 Stores the threshold level for the External Diode 1 (or VIN1) channel that is associated with the Drive 8 value 7Fh (127C) LUT Lock 2 Page 78 B6h R/W LUT 2 Temp 2 Setting 8 Stores the threshold level for the External Diode 2 (or VIN2) channel that is associated with the Drive 8 value 7Fh (127C) LUT Lock 2 Page 78 R/W LUT 2 Temp 3 Setting 8 Stores the threshold level for the External Diode 3 channel (or VIN3 or TRIP_SET voltage or Pushed Temp 3 temp) that is associated with the Drive 8 value 7Fh (127C) LUT Lock 2 Page 78 B8h R/W LUT 2 Temp 4 Setting 8 Stores the threshold level for the Internal Diode channel (or Pushed Temp 4 temp) that is associated with the Drive 8 value 7Fh (127C) LUT Lock 2 Page 78 B9h R/W LUT 2 Temp Hysteresis Stores the hysteresis that is shared for all temperature inputs 0Ah (10C) LUT Lock 2 Page 78 B2h B7h Revision 1.78 (02-28-11) 48 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.1 EMC2104 Register Set (continued) ADDR R/W REGISTER NAME FUNCTION DEFAULT VALUE LOCK PAGE GPIO Registers E0h R/W Muxed Pin Configuration Register Controls the pin function for the pins muxed with PWMs or GPIOs 01h No Page 79 E1h R/W GPIO Direction Register Controls the GPIO direction for GPIOs 1 -4 00h No Page 80 E2h R/W GPIO Output Configuration Register Controls the output type GPIOs 1 - 4 00h No Page 80 E3h R GPIO Input Register Stores the inputs for GPIOs 1 - 4 00h No Page 80 E4h R/W GPIO Output Register Controls the output state of GPIOs 1 - 4 00h No Page 81 E5h R/W GPIO Interrupt Enable Register Enabled Interrupts for GPIOs 1 - 4 00h No Page 81 E6h R GPIO Status Indicates change of state for inputs on GPIOs 1 - 4 00h No Page 81 00h SWL Page 82 Lock Register EF R/W Software Lock Locks all SWL registers Revision Registers FCh R Product Features Stores information about which pin controlled product features are set 00h No Page 82 FDh R Product ID Stores the unique Product ID 1Dh No Page 83 FEh R Manufacturer ID Stores the Manufacturer ID 5Dh No Page 83 FFh R Revision Revision 02h No Page 83 During Power-On-Reset (POR), the default values are stored in the registers. A POR is initiated when power is first applied to the part and the voltage on the VDD supply surpasses the POR level as specified in the electrical characteristics. Any reads to undefined registers will return 00h. Writes to undefined registers will not have an effect. 6.1.1 Lock Entries The Lock Column describes the locking mechanism, if any, used for individual registers. All SWL registers are Software Locked and therefore made read-only when the LOCK bit is set. SMSC EMC2104 49 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.2 Temperature Data Registers Table 6.2 Temperature Data Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 00h R Internal Diode High Byte Sign 64 32 16 8 4 2 1 00h 01h R Internal Diode Low Byte 0.5 0.25 0.125 - - - - - 00h External Diode 1 High Byte Sign 64 32 16 8 4 2 1 00h VIN1 400 200 100 50 25 13.5 6.25 3.125 00h External Diode 1 Low Byte 0.5 0.25 0.125 - - - - - 00h External Diode 2 High Byte Sign 64 32 16 8 4 2 1 00h VIN2 400 200 100 50 25 13.5 6.25 3.125 00h External Diode 2 Low Byte 0.5 0.25 0.125 - - - - - 00h External Diode 3 High Byte Sign 64 32 16 8 4 2 1 00h VIN3 400 200 100 50 25 13.5 6.25 3.125 00h 02h 03h 04h 05h 06h R R R R R 07h R External Diode 3 Low Byte 0.5 0.25 0.125 - - - - - 00h 08h R External Diode 4 High Byte Sign 64 32 16 8 4 2 1 00h 09h R External Diode 4 Low Byte 0.5 0.25 0.125 - - - - - 00h The temperature measurement range is from -64C to +128C. The data format is a signed two's complement number as shown in Table 6.3. APPLICATION NOTE: When each of the External Diode 1, External Diode 2, or External Diode 3 channels are configured as a voltage input, the voltage data will be stored in the corresponding data register. Each bit weight represents XmV of resolution so that the final voltage can be determined by adding the appropriately set bits together. This data will be compared against the limits normally (see Section 6.19). Revision 1.78 (02-28-11) 50 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.3 Temperature Data Format TEMPERATURE (C) BINARY HEX (AS READ BY REGISTERS) Diode Fault 1000_0000_000b 80_00h -63.875 1100_0000_001b C0_20h -63 1100_0001_000b C1_00h -1 1111_1111_000b FF_00h -0.125 1111_1111_111b FF_E0h 0 0000_0000_000b 00_00h 0.125 0000_0000_001b 00_20h 1 0000_0001_000b 01_00h 63 0011_1111_000b 3F_00h 64 0100_0000_000b 40_00h 65 0100_0001_000b 41_00h 127 0111_1111_000b 7F_00h 127.875 0111_1111_111b 7F_E0h 6.3 Critical/Thermal Shutdown Temperature Registers Table 6.4 Critical/Thermal Shutdown Temperature Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 0Ah R Critical/Thermal Shutdown Temperature 128 64 32 16 8 4 2 1 7Fh (+127C) The Critical/Thermal Shutdown Temperature Register is a read-only register that stores the Voltage Programmable Threshold temperature used in the Thermal / Critical Shutdown circuitry. The contents of the register reflect the calculated temperature based on the TRIP_SET voltage. This register is updated at the end of every monitoring cycle based on the current value of the TRIP_SET voltage. The data format is shown in Table 6.5. Table 6.5 Critical / Thermal Shutdown Data Format TEMPERATURE (C) BINARY HEX 0 0000_0000b 00h 1 0000_0001b 01h 63 0011_1111b 3Fh 64 0100_0000b 40h SMSC EMC2104 51 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.5 Critical / Thermal Shutdown Data Format (continued) 6.4 TEMPERATURE (C) BINARY HEX 65 0100_0001b 41h 127 0111_1111b 7Fh 130 1000_0010b 82h 150 1001_0110b 96h Pushed Temperature Registers Table 6.6 Pushed Temperature Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 0Ch R/W Pushed Temperature 1 Sign 64 32 16 8 4 2 1 00h 0Dh R/W Pushed Temperature 2 Sign 64 32 16 8 4 2 1 00h 0Eh R/W Pushed Temperature 3 Sign 64 32 16 8 4 2 1 00h 0Fh R/W Pushed Temperature 4 Sign 64 32 16 8 4 2 1 00h The Pushed Temperature Registers store user programmed temperature values that can be used by the look-up table to update the fan control algorithm. Data written in these registers is not compared against any limits and must match the data format shown in Table 6.3. 6.5 Voltage Registers Table 6.7 TripSet Voltage Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 10h R TRIP_SET Voltage / VIN4 Voltage 400 200 100 50 25 13.5 6.25 3.125 FFh The Voltage Registers hold the data read from the TRIP_SET voltage input. The TRIP_SET voltage is stored whether the TRIP_SET is used to set the Thermal / Critical Shutdown temperature or configured to act as the VIN4 input. Each bit weight represents mV of resolution so that the final voltage can be determined by adding the appropriately set bits together. Revision 1.78 (02-28-11) 52 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.6 Beta Configuration Registers Table 6.8 Beta Configuration Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 14h R/W External Diode 1 Beta Configuration - - - AUTO BETA1[3:0] 10h 15h R/W External Diode 2 Beta Configuration - - - AUTO BETA2[3:0] 10h 16h R/W External Diode 3 Beta Configuration - - - AUTO BETA3[3:0] 10h The Beta Configuration Registers control advanced temperature measurement features for each External Diode channel. The Beta Configuration Registers are software locked. The External Diode 1 Beta Configuration Register Is hardware locked if the SHDN_SEL pin is not set to disable the Critical / Thermal Shutdown functionality (see Table 6.1). Bit 4 - AUTO - Enables the Automatic Beta detection algorithm. `0' - The Automatic Beta detection algorithm is disabled. The BETAx[3:0] bit settings will be used to control the beta compensation circuitry. `1' (default) - The Automatic Beta detection algorithm is enabled. The circuitry will automatically detect the transistor type and beta values and configure the BETAx[3:0] bits for optimal performance. Bits 3 - 0 - BETAx[3:0] - hold a value that corresponds to a range of betas that the Beta Compensation circuitry can compensate for. These four bits will always show the current beta setting used by the circuitry. If the AUTO bit is set (default), then these bits may updated by the device with every temperature conversion. If the AUTO bit is not set, then the value of these bits is used to drive the beta compensation circuitry. In this case, these bits should be set with a value corresponding to the lowest expected value of beta for the PNP transistor being used as a temperature sensing device. See Table 6.9 for supported beta ranges. A value of 1111b indicates that the beta compensation circuitry is disabled. In this condition, the diode channels will function with default current levels and will not automatically adjust for beta variation. This mode is used when measuring a discrete 2N3904 transistor or AMD thermal diode. All of the Beta Configuration Registers are Software Locked. Table 6.9 Beta Compensation Look Up Table BETAX[3:0] AUTO 3 2 1 0 MINIMUM BETA 0 0 0 0 0 0.050 0 0 0 0 1 0.066 0 0 0 1 0 0.087 0 0 0 1 1 0.114 0 0 1 0 0 0.150 SMSC EMC2104 53 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.9 Beta Compensation Look Up Table (continued) BETAX[3:0] AUTO 3 2 1 0 MINIMUM BETA 0 0 1 0 1 0.197 0 0 1 1 0 0.260 0 0 1 1 1 0.342 0 1 0 0 0 0.449 0 1 0 0 1 0.591 0 1 0 1 0 0.778 0 1 0 1 1 1.024 0 1 1 0 0 1.348 0 1 1 0 1 1.773 0 1 1 1 0 2.333 0 1 1 1 1 Disabled 1 X X X X Automatically detected 6.7 REC Configuration Register Table 6.10 REC Configuration Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 17h R/W REC Configuration - - - - - REC3 REC2 REC1 07h The REC Configuration Register determines whether Resistance Error Correction is used for each external diode channel. The REC Configuration Register is software locked. Bit 2 - REC3 - Controls the Resistive Error Correction functionality of External Diode 3 and External Diode 4 (if APD is enabled, see Section 6.9) `0' - the REC functionality for External Diode 3 is disabled `1' (default) - the REC functionality for External Diode 3 is enabled. Bit 1 - REC2 - Controls the Resistive Error Correction functionality of External Diode 2. `0' - the REC functionality for External Diode 2 is disabled `1' (default) - the REC functionality for External Diode 2 is enabled. Bit 0 - REC1 - Controls the Resistive Error Correction functionality of External Diode 1. This bit is locked if the SHDN_SEL pin is not pulled to VDD (see Table 6.1). `0' - the REC functionality for External Diode 1 is disabled `1' (default) - the REC functionality for External Diode 1 is enabled. Revision 1.78 (02-28-11) 54 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.8 Critical Temperature Limit Registers Table 6.11 Limit Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 19h R/W once External Diode 1 Tcrit Limit Sign 64 32 16 8 4 2 1 64h (+100C) 1Ah R/W once External Diode 2 Tcrit Limit Sign 64 32 16 8 4 2 1 64h (+100C) 1Bh R/W once External Diode 3 Tcrit Limit Sign 64 32 16 8 4 2 1 64h (+100C) 1Ch R/W once External Diode 4 Tcrit Limit Sign 64 32 16 8 4 2 1 64h (+100C) 1Dh R/W once Internal Diode Tcrit Limit Sign 64 32 16 8 4 2 1 64h (+100C) The Critical Temperature Limit Registers store the Critical Temperature Limit. At power up, none of the respective channels are linked to the SYS_SHDN pin or the Hardware set Thermal/Critical Shutdown circuitry. Whenever one of the registers is updated, two things occur. First, the register is locked so that it cannot be updated again without a power on reset. Second, the respective temperature channel is linked to the SYS_SHDN pin and the Hardware set Thermal/Critical Shutdown Circuitry. At this point, if the measured temperature channel exceeds the Critical limit, the SYS_SHDN pin will be asserted, the appropriate bit set in the Tcrit Status Register, and the TCRIT bit in the Interrupt Status Register will be set. 6.9 Configuration Register Table 6.12 Configuration Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 20h R/W Configuration MASK - - SYS4 SYS3 SYS2 SYS1 APD 00h The Configuration Register controls the basic functionality of the EMC2104. The bits are described below. The Configuration Register is software locked. Bit 7 - MASK - Blocks the ALERT# pin from being asserted. `0' (default) - The ALERT# pin is unmasked. If any bit in either status register is set, the ALERT# pins will be asserted (unless individually masked via the Mask Register) `1' - The ALERT# pin is masked and will not be asserted. Bit 4 - SYS4 - Enables the high temperature limit for the External Diode 4 channel to trigger the Critical / Thermal Shutdown circuitry (see Section 6.1). This bit is ignored if the DP3 / DN3 pins are configured to measure a voltage input. In this case, the External Diode 4 channel is disabled and not compared against any limits. `0' (default) - the External Diode 4 channel high limit will not be linked to the SYS_SHDN# pin. If the temperature exceeds the limit, the ALERT# pin will be asserted normally. `1' - the External Diode 4 channel high limit will be linked to the SYS_SHDN# pin. If the temperature exceeds the limit then the SYS_SHDN# pin will be asserted. The SYS_SHDN# pin will be released SMSC EMC2104 55 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet when the temperature drops below the high limit. The ALERT# pin will be asserted and released normally. Bit 3 - SYS3 - Enables the high temperature limit for the External Diode 3 channel to trigger the Critical / Thermal Shutdown circuitry (see Section 6.1). Bit 2 - SYS2 - Enables the high temperature limit for the External Diode 2 channel to trigger the Critical / Thermal Shutdown circuitry (see Section 6.1). Bit 1 - SYS1 - Enables the high temperature limit for the External Diode 1 channel to trigger the Critical / Thermal Shutdown circuitry (see Section 6.1). Bit 0 - APD - This bit enables the Anti-parallel diode functionality on the External Diode 3 pins (DP3 and DN3). `0' (default) - The Anti-parallel diode functionality is disabled. The External Diode 3 channel can be configured for any type of diode `1' - The Anti-parallel diode functionality is enabled. Both the External Diode 3 and 4 channels are configured to support a diode or diode connected transistor (such as a 2N3904). APPLICATION NOTE: When the APD diode is enabled, there will be a delay of a full temperature update before any comparisons and functionality associated with the External Diode 4 channel will be implemented. This includes the SYS4 bit operation, limit comparisons, and look up table comparisons. 6.10 Configuration 2 Register Table 6.13 Configuration 2 Register ADDR R/W REGISTER B7 B6 B5 B4 21h R/W Config 2 - DIS_ DYN DIS_ TO DIS_ AVG B3 B2 QUEUE[1:0] B1 B0 DEFAULT CONV[1:0] 0Eh The Configuration 2 Register controls conversion rate of the temperature monitoring as well as the fault queue. This register is software locked. Bit 6 - DIS_DYN - Disables the Dynamic Averaging Feature. `0' (default) - The Dynamic Averaging function is enabled. The conversion time for all temperature channels is scaled based on the chosen conversion rate to maximize accuracy and immunity to random temperature measurement variation. `1' - The Dynamic Averaging function is disabled. The conversion time for all temperature channels is fixed regardless of the chosen conversion rate. Bit 5 - DIS_TO - Disables the SMBus time out function for the SMBus client (if enabled). `0' (default) - The SMBus time out function is enabled. `1' - The SMBus time out function is disabled allowing the device to be fully I2C compliant. Bit 4 - DIS_AVG - Disables digital averaging of the External Diode 1 channel. `0' (default) - The External Diode 1 channel has digital averaging enabled. The temperature data is the average of the previous four measurements. `1' - The External Diode 1 channel has digital averaging disabled. The temperature data is the last measured data. Bits 3-2 - QUEUE[1:0] - Determines the number of consecutive out of limit conditions that are necessary to trigger an interrupt. Each measurement channel has a separate fault queue associated with the high limit, low limit, and diode fault condition except the internal diode. Revision 1.78 (02-28-11) 56 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet The Critical / Thermal Shutdown temperature has a separate fault queue that applies to the selected hardware shutdown channel (see Section 6.1.1) when compared against the threshold set by the TRIP_SET pin. APPLICATION NOTE: If the fault queue for any channel is currently active (i.e. an out of limit condition has been detected and caused the fault queue to increment) then changing the settings will not take effect until the fault queue is zeroed. This occurs by the ALERT# pin asserting or the out of limit condition being removed. Table 6.14 Fault Queue QUEUE[1:0] 1 0 NUMBER OF CONSECUTIVE OUT OF LIMIT CONDITIONS 0 0 1 (disabled) 0 1 2 1 0 3 1 1 4 (default) Bit 1 - 0 - CONV[1:0] - determines the conversion rate of the temperature monitoring. This conversion rate does not affect the fan driver. The supply current from VDD_3V is nominally dependent upon the conversion rate and the average current will increase as the conversion rate increases. Table 6.15 Conversion Rate TEMPERATURE OVER SAMPLING FROM 11 BITS CONV[1:0] 1 0 CONVERSION RATE DYN_DIS = `0' DYN_DIS = `1' 0 0 1 / sec x8 x1 0 1 2 / sec x4 x1 1 0 4 / sec (default) x2 x1 1 1 Continuous x1 x1 6.11 Configuration 3 Register Table 6.16 Configuration 3 Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 22h R/W Config 3 - VIN4_I NV VIN3 _EN VIN3 _INV VIN2 _EN VIN2 _INV VIN1 _EN VIN1 _INV 00h The Configuration 3 Register controls the four voltage input channels. This register is software locked. Bit 6 - VIN4_INV - Determines whether the VIN4 channel data is inverted. SMSC EMC2104 `0' (default) - The VIN4 channel data is not inverted. 57 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet `1' - The VIN4 channel data is inverted. The data presented to the reading registers and compared against the limits is determined as FFh - the measured input voltage. APPLICATION NOTE: If the TRIP_SET / VIN4 pin is configured to be used to set the Critical / Thermal Shutdown temperature associated with the External Diode 1 channel, then this bit cannot be set. Bit 5 - VIN3_EN - Enables the voltage mode on the External Diode 3 channel. `0' (default) - The External Diode 3 channel operates as a diode channel. `1' - The External Diode 3 channel operates as a voltage input. The DP3 / DN4 / VREF_T3 pin acts as a reference output voltage and the DN3 / DP4 /. VIN3 pin acts as a voltage input. This overrides the APD bit in the Configuration 1 Register (20h). Bit 4 - VIN3_INV - Determines whether the VIN3 channel data is inverted. Bit 3 - VIN2_EN - Enables the voltage mode on the External Diode 2 channel. Bit 2 - VIN2_INV - Determines whether the VIN2 channel data is inverted. Bit 1 - VIN1_EN - Enables the voltage mode on the External Diode 1 channel. Bit 0 - VIN1_INV - Determines whether the VIN1 channel data is inverted. APPLICATION NOTE: If the TRIP_SET / VIN4 pin is configured to be used to set the Critical / Thermal Shutdown temperature associated with the External Diode 1 channel, then neither Bit 1 nor Bit 0 can be set. 6.12 Interrupt Status Register Table 6.17 Interrupt Status Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 23h R-C Interrupt Status Register - TSD TCRIT GPIO FAN HIGH LOW FAULT 00h The Interrupt Status Register reports the operating condition of the EMC2104. If any of the bits are set to a logic `1' (other than TSD and HWS) then the ALERT# pin will be asserted low if the corresponding channel is enabled. Reading from the status register clears all status bits if the error conditions is removed. If there are no set status bits, then the ALERT# pin will be released. The bits that cause the ALERT# pin to be asserted can be masked based on the channel they are associated with unless stated otherwise. Bit 6 - TSD - This bit is set to `1' if the internal Thermal Shutdown (TSD) circuit trips indicating that the die temperature has exceeded its threshold. When this bit is set, it will not cause the ALERT# pin to be asserted however will coincide with the SYS_SHDN# pin being asserted. This bit is cleared when the register is read and the error condition has been removed. Bit 5 - TCRIT - This bit is set to `1' whenever the any bit in the Tcrit Status Register is set. This bit is automatically cleared when the Tcrit Status Register is cleared. Bit 4 - GPIO - This bit is set to `1' if any of the bits in the GPIO Status Registers are set. Bit 3 - FAN - This bit is set to `1' if any bit in the Fan Status Register is set. This bit is automatically cleared when the Fan Status Register is read and the bits are cleared. Bit 2 - HIGH - This bit is set to `1' if any bit in the High Status Register is set. This bit is automatically cleared when the High Status Register is read and the bits are cleared. Revision 1.78 (02-28-11) 58 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Bit 1- LOW - This bit is set to `1' if any bit in the Low Status Register is set. This bit is automatically cleared when the Low Status Register is read and the bits are cleared. Bit 0 - FAULT - This bit is set to `1' if any bit in the Diode Fault Register is set. This bit is automatically cleared when the Diode Fault Register is read and the bits are cleared. 6.13 Error Status Registers Table 6.18 Error Status Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 1Fh R-C Tcrit Status HWS - - EXT4_ CRIT EXT3_ CRIT EXT2_ CRIT EXT1 _CRIT INT_ CRIT 00h 24h R-C High Status - - VOLT 4_HI EXT4_ HI EXT3_ HI EXT2_ HI EXT1 _HI INT_ HI 00h 25h R-C Low Status - - VOLT 4_LO EXT4_ LO EXT3_ LO EXT2_ LO EXT1 _LO INT_L O 00h 26h R-C Diode Fault - - - EXT4_ FLT EXT3_ FLT EXT2_ FLT EXT1 _FLT - 00h The Error Status Registers report the specific error condition for all measurement channels with limits. If any bit is set in the High, Low, or Diode Fault Status register, the corresponding High, Low, or Fault bit is set in the Interrupt Status Register. Reading the Interrupt Status Register does not clear the Error Status bit. Reading from any Error Status Register that has bits set will clear the register and the corresponding bit in the Interrupt Status Register if the error condition has been removed. If the error condition is persistent, reading the Error Status Registers will have no affect. If any of the External Diode 1, External Diode 2, or External Diode 3 channels are configured as a voltage input, then the corresponding temperature channel status bit will be set if the measured voltage exceeds the high limit or falls below the low limit. In this condition, a diode fault will be ignored. APPLICATION NOTE: If any of the External Diode 1, 2, or 3 channels are configured as a voltage input and thermistor or other voltage source is used on the corresponding pins at device power up, then the corresponding diode fault status bits will be set. The status bits should be cleared prior to enabling the interrupts to avoid erroneous alert conditions. 6.13.1 Tcrit Status Register The Tcrit Status Register stores the event that caused the SYS_SHDN# pin to be asserted. Each of the temperature channels must be associated with the SYS_SHDN# pin before they can be set (see Section 6.8). Once the SYS_SHDN# pin is asserted, it will be released when the temperature drops below the threshold level however the individual status bit will not be cleared until read. Bit 7 - HWS - This bit is set if the hardware set temperature channel meets or exceeds the temperature threshold determined by the TRIP_SET voltage. SMSC EMC2104 59 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.14 Fan Status Register Table 6.19 Fan Status Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 27h R-C Fan Status Register WATCH DRIVE _FAIL2 DRIVE _FAIL1 - FAN_ SPIN2 FAN_ STALL2 FAN_ SPIN1 FAN_ STALL1 00h The Fan Status Register contains the status bits associated with each fan driver. This register is cleared when read if the error condition has been removed. Bit 7 - WATCH - This bit is asserted `1' if the host has not programmed the fan driver(s) within four (4) seconds after power up. Bit 6 - DRIVE_FAIL2 - Indicates that the RPM based Fan Speed Control Algorithm cannot drive Fan 2 to the desired target setting at maximum drive. This bit can be masked from asserting the ALERT# pin. `0' - The RPM based Fan Speed Control Algorithm can drive Fan 2 to the desired target setting. `1' - The RPM based Fan Speed Control Algorithm cannot drive Fan 2 to the desired target setting at maximum drive. Bit 6 - DRIVE_FAIL1 - Indicates that the RPM based Fan Speed Control Algorithm cannot drive Fan 1 to the desired target setting at maximum drive. This bit can be masked from asserting the ALERT# pin. `0' - The RPM based Fan Speed Control Algorithm can drive Fan 1 to the desired target setting. `1' - The RPM based Fan Speed Control Algorithm cannot drive Fan 1 to the desired target setting at maximum drive. Bit 3 - FAN_SPIN 2- This bit is asserted `1' if the Spin up Routine for Fan 2 cannot detect a valid tachometer reading within its maximum time window. This bit can be masked from asserting the ALERT# pin. Bit 2 - FAN_STALL 2 - This bit is asserted `1' if the tachometer measurement on Fan 2 detects a stalled fan. This bit can be masked from asserting the ALERT# pin. Bit 1- FAN_SPIN1- This bit is asserted `1' if the Spin up Routine for Fan 1 cannot detect a valid tachometer reading within its maximum time window. This bit can be masked from asserting the ALERT# pin. Bit 0 - FAN_STALL1 - This bit is asserted `1' if the tachometer measurement on Fan 1 detects a stalled fan. This bit can be masked from asserting the ALERT# pin. 6.15 Interrupt Enable Register Table 6.20 Interrupt Enable Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 28 R/W Interrupt Enable - - VOLT4_I NT_EN EXT4_I NT_EN EXT3_I NT_EN EXT2_I NT_EN EXT1_I NT_EN INT_IN T_EN 00h The Interrupt Enable Register controls the masking for each temperature channel. When a channel is masked, it will not cause the ALERT# pin to be asserted when an error condition is detected. Bit 5 - VOLT4_INT_EN - Allows the Voltage Input 4 channel to assert the ALERT# pin. Revision 1.78 (02-28-11) 60 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet `0' (default) - The ALERT# pin will be not be asserted for any error condition associated with Voltage Channel 4 (TRIP_SET / VIN4). `1' - The ALERT# pin will be asserted for an error condition associated with Voltage Channel 4. Bit 4 - EXT4_INT_EN - Allows the External Diode 4 channel to assert the ALERT# pin. `0' (default) - The ALERT# pin will be not be asserted for any error condition associated with External Diode 4. `1' - The ALERT# pin will be asserted for an error condition associated with External Diode 4. Bit 3 - EXT3_INT_EN - Allows the External Diode 3 or VIN3 channel to assert the ALERT# pin. `0' (default) - The ALERT# pin will not be asserted for any error condition associated with External Diode 3 or VIN3 channels. `1' - The ALERT# pin will be asserted for an error condition associated with External Diode 3 or VIN3 channels. Bit 2 - EXT2_INT_EN - Allows the External Diode 2 or VIN2 channel to assert the ALERT# pin. `0' (default) - The ALERT# pin will not be asserted for any error condition associated with External Diode 2 or VIN2 channels. `1' - The ALERT# pin will be asserted for an error condition associated with External Diode 2 or VIN2 channels. Bit 1 - EXT1_INT_EN - Allows the External Diode 1 or VIN1 channel to assert the ALERT# pin. `0' (default) - The ALERT# pin will not be asserted for any error condition associated with External Diode 1 or VIN1 channels. `1' - The ALERT# pin will be asserted for an error condition associated with External Diode 1 or VIN1 channels. Bit 0 - INT_INT_EN - Allows the Internal Diode channel to assert the ALERT# pin. 6.16 `0' (default) - The ALERT# pin will not be asserted for any error condition associated with the Internal Diode. `1' - The ALERT# pin will be asserted for an error condition associated with the Internal Diode. Fan Interrupt Enable Register Table 6.21 Fan Interrupt Enable Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 29h R/W Fan Interrupt Enable - - - - SPIN_ INT_EN2 STALL_ INT_EN2 SPIN_ INT_EN 1 STALL_ INT_EN 1 00h The Fan Interrupt Enable controls the masking for each Fan channel. When a channel is enabled, it will cause the ALERT# pin to be asserted when an error condition is detected. Bit 3 - SPIN_INT_EN2 - Allows the FAN_SPIN 2 bit to assert the ALERT# pin. `0' (default) - the FAN_SPIN 2 bit will not assert the ALERT# pin though will still update the Status Register normally `1' - the FAN_SPIN2 bit will assert the ALERT# pin. Bit 2 - STALL_INT_EN2 - Allows the FAN_STALL2 bit or DRIVE_FAIL2 bit to assert the ALERT# pin. SMSC EMC2104 `0' (default) - the FAN_STALL2 bit or DRIVE_FAIL2 bit will not assert the ALERT# pin though it will still update the Status Register normally. 61 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet `1' - the FAN_STALL 2 or DRIVE_FAIL2 bits will assert the ALERT# pin if set. Bit 1 - SPIN_INT_EN1 - Allows the FAN_SPIN1 bit to assert the ALERT# pin. `0' (default) - the FAN_SPIN1 bit will not assert the ALERT# pin though it will still update the Status Register normally. `1' - the FAN_SPIN1 bit will assert the ALERT# pin. Bit 0 - STALL_INT_EN1 - Allows the FAN_STALL1 bit or DRIVE_FAIL1 bit to assert the ALERT# pin. 6.17 `0' (default) - the FAN_STALL1 bit or DRIVE_FAIL1 bit will not assert the ALERT# pin though will still update the Status Register normally. `1' - the FAN_STALL1 or DRIVE_FAIL1 bit will assert the ALERT# pin if set. PWM Configuration Register Table 6.22 PWM Configuration Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 2Ah R/W PWM Config - - - - - - POLA RITY2 POLA RITY1 00h The PWM Config Register controls the output type and polarity of all PWM outputs. Bit 1 - POLARITY2 - Determines the polarity of PWM2 (if enabled). Bit 0 - POLARITY1 - Determines the polarity of PWM1 (if enabled). 6.18 PWM Base Frequency Register Table 6.23 PWM Base Frequency Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 2Bh R/W PWM Base Frequency - - - - PWM_ BASE 2_1 PWM_ BASE 2_0 PWM_ BASE 1_1 PWM_ BASE 1_0 FFh The PWM Base Frequency Register determines the base frequency that is used with the PWM Divide register to determine the final PWM frequency. Each PWM driver uses the same divide ratio as set by the PWM Divide Register. Bits 3-2 - PWM_BASE2[1:0] - Determines the base frequency of the PWM2 driver (PWM2 / GPIO4 pin). Bits 1-0 - PWM_BASE1[1:0] - Determines the base frequency of the PWM1 driver (PWM1). Revision 1.78 (02-28-11) 62 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.24 PWM_BASEx[1:0] Bit Decode PWM_BASEX[1:0] 6.19 1 0 BASE FREQUENCY 0 0 26.00kHz 0 1 19.531kHz 1 0 4,882Hz 1 1 2,441Hz (default) Limit Registers Table 6.25 Limit Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 30h R/W External Diode 1 High Limit Sign 64 32 16 8 4 2 1 55h (+85C) 31h R/W External Diode 2 High Limit Sign 64 32 16 8 4 2 1 55h (+85C) 32h R/W External Diode 3 High Limit Sign 64 32 16 8 4 2 1 55h (+85C) 33h R/W External Diode 4 High Limit Sign 64 32 16 8 4 2 1 55h (+85C) 34h R/W Internal Diode High Limit Sign 64 32 16 8 4 2 1 55h (+85C) 35h R/W VIN4 High Limit 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 FFh (0.8V) 38h R/W External Diode 1 Low Limit Sign 64 32 16 8 4 2 1 00h (0C) 39h R/W External Diode 2 Low Limit Sign 64 32 16 8 4 2 1 00h (0C) 3Ah R/W External Diode 3 Low Limit Sign 64 32 16 8 4 2 1 00h (0C) 3Bh R/W External Diode 4 Low Limit Sign 64 32 16 8 4 2 1 00h (0C) 3Ch R/W Internal Diode Low Limit Sign 64 32 16 8 4 2 1 00h (0C) 3Dh R/W VIN 4 Low Limit 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 00h (0V) The EMC2104 contains high limits for all temperature channels and voltage channels. If any measurement meets or exceeds the high limit then the appropriate status bit is set and the ALERT# pin are asserted (if enabled). SMSC EMC2104 63 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet APPLICATION NOTE: If any of the External Diode 1, External Diode 2, External Diode 3 is configured to operate as a voltage input, then the corresponding temperature high and low limit registers are compared against the measured voltage. The data format is the same as the measured voltage and these registers should be updated accordingly. Additionally, the EMC2104 contains low limits for all temperature channels. If the temperature channel drops below the low limit, then the appropriate status bit is set and the ALERT# pin are asserted (if enabled). All Limit Registers are Software Locked. 6.20 Fan Setting Registers Table 6.26 Fan Driver Setting Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 40h R/W Fan 1 Setting 128 64 32 16 8 4 2 1 00h 80h R/W Fan 2 Setting 128 64 32 16 8 4 2 1 00h The Fan 1 Setting Register always displays the current setting of the Fan 1 Driver.Likewise, the Fan 2 Setting Register always displays the current setting of the Fan 2 driver. Reading from either register will report the current fan speed setting of the appropriate fan driver regardless of the operating mode. Therefore it is possible that reading from this register will not report data that was previously written into this register. While the RPM based Fan Speed Control Algorithm or the Look Up Table are active (or both), then the register is read only. Writing to the register will have no affect and the data will not be stored. If both the RPM based Fan Control Algorithm and the Look Up Table are disabled, then the register will be set with the previous value that was used. The register is read / write and writing to this register will affect the fan speed. If the Fan 2 fan driver is disabled and the DAC2 / PWM2 / GPIO2 and TACH2 / GPIO1 pins are used as GPIOs, then the Fan 2 Setting Register will read 00h. The contents of the register represent the weighting of each bit in determining the final output voltage. The output drive for a PWM output is given by Equation [2]. VALUE Drive = --------------------- x 100% 255 6.21 [2] PWM 1 and 2 Divide Registers Table 6.27 PWM 1 and 2 Divide Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 41h R/W PWM 1 Divide 128 64 32 16 8 4 2 1 01h 81h R/W PWM 2 Divide 128 64 32 16 8 4 2 1 01h Revision 1.78 (02-28-11) 64 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet The PWM 1 and 2 Divide Registers determine the final frequency of the PWM 1and PWM 2 drivers. Each driver base frequency is divided by the value of the respective PWM Divide Register to determine the final frequency. The duty cycle settings are not affected by these settings, only the final frequency of the PWM driver. A value of 00h will be decoded as 01h. 6.22 Fan Configuration 1 Registers Table 6.28 Fan Configuration 1 Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 42h R/W Fan 1 Configuration 1 EN_ ALGO RANGE[1:0] EDGES[1:0] UPDATE[2:0] 2Bh 82h R/W Fan 2 Configuration 1 EN_ ALGO RANGE[1:0] EDGES[1:0] UPDATE[2:0] 2Bh The Fan Configuration 1 Register controls the general operation of the RPM based Fan Speed Control Algorithm used for the Fan 1 driver. Bit 7 - EN_ALGO - enables the RPM based Fan Speed Control Algorithm. This bit is set and cleared automatically when the LUT_LOCK bit is set based on the setting of the TACH / DRIVE bit (see Section 6.32). When the LUT_LOCK bit is cleared, then setting this bit will enable the FSC without using the Look Up Table. `0' - (default) the control circuitry is disabled and the fan driver output is determined by the Fan Driver Setting Register. `1' - the control circuitry is enabled and the Fan Driver output will be automatically updated to maintain the programmed fan speed as indicated by the TACH Target Register. Bits 6- 5 - RANGE[1:0] - Adjusts the range of reported and programmed tachometer reading values. The RANGE bits determine the weighting of all TACH values (including the Valid TACH Count, TACH Target, and TACH reading) as shown in Table 6.29. Table 6.29 Range Decode RANGE[1:0] 1 0 REPORTED MINIMUM RPM TACH COUNT MULTIPLIER 0 0 500 1 0 1 1000 (default) 2 1 0 2000 4 1 1 4000 8 Bits 4-3 - EDGES[1:0] - determines the minimum number of edges that must be detected on the TACHx signal to determine a single rotation. A typical fan measured 5 edges (for a 2-pole fan). For more accurate tachometer measurement, the minimum number of edges measured may be increased. Increasing the number of edges measured with respect to the number of poles of the fan will cause the TACH Reading registers to indicate a fan speed that is higher or lower than the actual speed. In order for the FSC Algorithm to operate correctly, the TACH Target must be updated by the user to accommodate this shift. The Effective Tach Multiplier shown in Table 6.30 is used as a direct multiplier SMSC EMC2104 65 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet term that is applied to the Actual RPM to achieve the Reported RPM. It should only be applied if the number of edges measured does not match the number of edges expected based on the number of poles of the fan (which is fixed for any given fan). Contact SMSC for recommended settings when using fans with more or less than 2 poles. Table 6.30 Minimum Edges for Fan Rotation EDGES[1:0] 1 0 MINIMUM TACH EDGES NUMBER OF FAN POLES EFFECTIVE TACH MULTIPLIER (BASED ON 2 POLE FANS) 0 0 3 1 pole 0.5 0 1 5 2 poles (default) 1 1 0 7 3 poles 1.5 1 1 9 4 poles 2 Bit 2-0 - UPDATE - determines the base time between fan driver updates. The Update Time, along with the Fan Step Register, is used to control the ramp rate of the drive response to provide a cleaner transition of the actual fan operation as the desired fan speed changes. The Update Time is set as shown in Table 6.31. Table 6.31 Update Time UPDATE[2:0] 2 1 0 UPDATE TIME 0 0 0 100ms 0 0 1 200ms 0 1 0 300ms 0 1 1 400ms (default) 1 0 0 500ms 1 0 1 800ms 1 1 0 1200ms 1 1 1 1600ms Revision 1.78 (02-28-11) 66 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.23 Fan Configuration 2 Registers Table 6.32 Fan Configuration 1 Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 43h R/W Fan 1 Configuration 2 - EN_ RRC1 GLITCH _EN1 DER_OPT1 [1:0] 83h R/W Fan 2 Configuration 2 - EN_ RRC2 GLITCH _EN2 DER_OPT2 [1:0] B2 B1 B0 DEFAULT ERR_RNG[1:0] LOWD RIVE1 38h ERR_RNG[1:0] LOWD RIVE2 38h The Fan Configuration 2 Register controls the tachometer measurement and advanced features of the RPM based Fan Speed Control Algorithm. Bit 6 - EN_RRCx - Enables ramp rate control when the corresponding fan driver is operated in the Direct Setting Mode or the Direct Setting with LUT mode. `0' (default) - Ramp rate control is disabled. When the fan driver is operating in Direct Setting mode or Direct Setting with LUT mode, the fan setting will instantly transition to the next programmed setting. `1' - Ramp rate control is enabled. When the fan driver is operating in Direct Setting mode or Direct Setting with LUT mode, the fan drive setting will follow the ramp rate controls as determined by the Fan Step and Update Time settings. The maximum fan drive setting step is capped at the Fan Step setting and is updated based on the Update Time as given by Table 6.31. Bit 5 - GLITCH_ENx - Disables the low pass glitch filter that removes high frequency noise injected on the TACHx pin. If the LOWDRIVE bit is set, this bit is ignored and the filter is automatically disabled. `0' - The glitch filter is disabled. `1' (default) - The glitch filter is enabled. Bits 4 - 3 - DER_OPTx[1:0] - Control some of the advanced options that affect the derivative portion of the RPM based Fan Speed Control Algorithm as shown in Table 6.33. Table 6.33 Derivative Options DER_OPTX[1:0] 1 0 0 0 No derivative options used 0 1 Basic derivative. The derivative of the error from the current drive setting and the target is added to the iterative Fan Drive Register setting (in addition to proportional and integral terms) 1 0 Step derivative. The derivative of the error from the current drive setting and the target is added to the iterative Fan Drive Register setting and is not capped by the Fan Step Register. 1 Both the basic derivative and the step derivative are used effectively causing the derivative term to have double the effect of the derivative term (default). 1 SMSC EMC2104 OPERATION 67 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Bit 2 - 1 - ERR_RNGx[1:0] - Control some of the advanced options that affect the error window. When the measured fan speed is within the programmed error window around the target speed, then the fan drive setting is not updated. The algorithm will continue to monitor the fan speed and calculate necessary drive setting changes based on the error, however these changes are ignored. Table 6.34 Error Range Options ERR_RNGX[1:0] 1 0 OPERATION 0 0 0 RPM (default) 0 1 50 RPM 1 0 100 RPM 1 1 200 RPM Bit 0 - LOWDRIVEx - Determines whether the tachometer measurement circuit will use the Tach Period Measurement method of fan speed measurement or the Tach Pulse Count Method of fan speed measurement. Setting this bit allows the use of low side fan drive circuits as shown in Figure 6.1 without requiring additional tachometer recovery circuitry. `0' (default) - The tachometer signal must always be present when measuring the fan speed regardless of the measurement method. `1' - Low side PWM drive circuits are supported and the tachometer signal does not need to be present at all times (which is common with such drive techniques). The tachometer measurement circuitry will use the Tach Pulse Count Method to determine the fan speed (contact SMSC for details on this operation). All tachometer related data is in the form of edge counts over a fixed time period. This method is significantly slower and the tachometer updates are non-continuous. PWM Input Figure 6.1 LOWDRIVE Supported Drive Circuit Revision 1.78 (02-28-11) 68 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.24 Gain Registers Table 6.35 Gain Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 45h R/W Gain 1 Register - - GAIND[1:0] GAINI[1:0] GAINP[1:0] 2Ah 85h R/W Gain 2 Register - - GAIND[1:0] GAINI[1:0] GAINP[1:0] 2Ah The Gain Register stores the gain terms used by the proportional and integral portions of each of the RPM based Fan Speed Control Algorithms. These gain terms are used as the KD, KI, and KP gain terms in a classic PID control solution. Table 6.36 Gain Decode GAIND OR GAINP OR GAINI [1:0] 6.25 1 0 RESPECTIVE GAIN FACTOR 0 0 1x 0 1 2x 1 0 4x (default) 1 1 8x Fan Spin Up Configuration Registers Table 6.37 Fan Spin Up Configuration Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 46h R/W Fan 1 Spin Up Configuration DRIVE_FAIL _CNT1 [1:0] NOK ICK1 SPIN_LVL[2:0] SPINUP_TIM E [1:0] 0Dh 86h R/W Fan 2 Spin up Configuration DRIVE_FAIL _CNT2 [1:0] NOK ICK2 SPIN_LVL[2:0] SPINUP_TIM E [1:0] 0Dh The Fan Spin Up Configuration Register controls the settings of Spin Up Routine. The Fan Spin Up Configuration Register is software locked. Bit 7 - 6 - DRIVE_FAIL_CNTx[1:0] - Determines how many update cycles are used for the Drive Fail detection function as shown in Table 6.38. This circuitry determines whether the fan can be driven to the desired tach target. SMSC EMC2104 69 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.38 DRIVE_FAIL_CNT[1:0] Bit Decode DRIVE_FAIL_CNT[1:0] 1 0 NUMBER OF UPDATE PERIODS 0 0 Disabled - the Drive Fail detection circuitry is disabled (default) 0 1 16 - the Drive Fail detection circuitry will count for 16 update periods 1 0 32 - the Drive Fail detection circuitry will count for 32 update periods 1 1 64 - the Drive Fail detection circuitry will count for 64 update periods Bit 5 - NOKICKx - Determines if the Spin Up Routine will drive the fan to 100% duty cycle for 1/4 of the programmed spin up time before driving it at the programmed level. `0' (default) - The Spin Up Routine will drive the fan driver to 100% for 1/4 of the programmed spin up time before reverting to the programmed spin level. `1' - The Spin Up Routine will not drive the fan driver to 100%. It will set the drive at the programmed spin level for the entire duration of the programmed spin up time. Bits 4 - 2 - SPIN_LVL[2:0] - Determines the final drive level that is used by the Spin Up Routine as shown in Table 6.39. Table 6.39 Spin Level SPIN_LVL[2:0] 2 1 0 SPIN UP DRIVE LEVEL 0 0 0 30% 0 0 1 35% 0 1 0 40% 0 1 1 45% 1 0 0 50% 1 0 1 55% 1 1 0 60% (default) 1 1 1 65% Bit 1 -0 - SPINUP_TIME[1:0] - determines the maximum Spin Time that the Spin Up Routine will run for (see Section 6.9). If a valid tachometer measurement is not detected before the Spin Time has elapsed, then an interrupt will be generated. When the RPM based Fan Speed Control Algorithm is active, the fan driver will attempt to re-start the fan immediately after the end of the last spin up attempt. The Spin Time is set as shown in Table 6.40. Revision 1.78 (02-28-11) 70 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.40 Spin Time SPINUP_TIME[1:0] 6.26 1 0 TOTAL SPIN UP TIME 0 0 250 ms 0 1 500 ms (default) 1 0 1 sec 1 1 2 sec Fan Step Registers Table 6.41 Fan Step Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 47h R/W Fan 1 Max Step - - 32 16 8 4 2 1 10h 87h R/W Fan 2 Max Step - - 32 16 8 4 2 1 10h The Fan Step Registers, along with the Update Time, controls the ramp rate of the fan driver response calculated by the RPM based Fan Speed Control Algorithm. The value of the registers represents the maximum step size each fan driver will take between update times (see Section 6.22). When the FSC algorithm is enabled, Ramp Rate control is automatically used. When the FSC is not active, then Ramp Rate control can be enabled by asserting the EN_RRC bit (see Section 6.23) APPLICATION NOTE: The UPDATE bits and Fan Step Register settings operate independently of the RPM based Fan Speed Control Algorithm and will always limit the fan drive setting. That is, if the programmed fan drive setting (either in determined by the RPM based Fan Speed Control Algorithm, the Look Up Table, or by manual settings) exceeds the current fan drive setting by greater than the Fan Step Register setting, the EMC2104 will limit the fan drive change to the value of the Fan Step Register. It will use the Update Time to determine how often to update the drive settings. APPLICATION NOTE: If the Fan Speed Control Algorithm is used, the default settings in the Fan Configuration 2 Register will cause the maximum fan step settings to be ignored. The Fan Step Registers are software locked. SMSC EMC2104 71 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.27 Fan Minimum Drive Registers Table 6.42 Minimum Fan Drive Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 48h R/W Fan 1 Minimum Drive 128 64 32 16 8 4 2 1 66h (40%) 88h R/W Fan 2 Minimum Drive 128 64 32 16 8 4 2 1 66h (40%) The Fan Minimum Drive Register stores the minimum drive setting for each RPM based Fan Speed Control Algorithm. The RPM based Fan Speed Control Algorithm will not drive the fan at a level lower than the minimum drive unless the target Fan Speed is set at FFh (see Section 6.30) During normal operation, if the fan stops for any reason (including low drive), the RPM based Fan Speed Control Algorithm will attempt to restart the fan. Setting the Fan Minimum Drive Registers to a setting that will maintain fan operation is a useful way to avoid potential fan oscillations as the control circuitry attempts to drive it at a level that cannot support fan operation. The Fan Minimum Drive Register is software locked. 6.28 Valid TACH Count Registers Table 6.43 Valid TACH Count Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 49h R/W Valid TACH Count 1 4096 2048 1024 512 256 128 64 32 F5h 89h R/W Valid TACH Count 2 4096 2048 1024 512 256 128 64 32 F5h The Valid TACH Count Register stores the maximum TACH Reading Register value to indicate that the each fan is spinning properly. The value is referenced at the end of the Spin Up Routine to determine if the fan has started operating and decide if the device needs to retry. See Equation [3] for translating the count to an RPM. This register is only used when the FSC is active. If the TACH Reading Register value exceeds the Valid TACH Count Register (indicating that the Fan RPM is below the threshold set by this count), then a stalled fan is detected. In this condition, the algorithm will automatically begin its Spin Up Routine. If a TACH Target setting is set above the Valid TACH Count setting, then that setting will be ignored and the algorithm will use the current fan drive setting. The Valid TACH Count Register is software locked. Revision 1.78 (02-28-11) 72 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.29 Fan Drive Fail Band Registers Table 6.44 Fan Drive Fail Band Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 4Ah R/W Fan 1 Drive Fail Band Low Byte 16 8 4 2 1 - - - 00h 4Bh R/W Fan 1 Drive Fail Band High Byte 4096 2048 1024 512 256 128 64 32 00h 8Ah R/W Fan 2 Drive Fail Band Low Byte 16 8 4 2 1 - - - 00h 8Bh R/W Fan 2 Drive Fall Band High Byte 4096 2048 1024 512 256 128 64 32 00h The Fan Drive Fail Band Registers store the number of tach counts used by the Fan Drive Fail detection circuitry. This circuitry is activated when the fan drive setting high byte is at FFh. When it is enabled, the actual measured fan speed is compared against the target fan speed. These registers are only used when the FSC is active. This circuitry is used to indicate that the target fan speed at full drive is higher than the fan is actually capable of reaching. If the measured fan speed does not exceed the target fan speed minus the Fan Drive Fail Band Register settings for a period of time longer than set by the DRIVE_FAIL_CNTx[1:0] bits then the DRIVE_FAIL status bit will be set and an interrupt generated. 6.30 TACH Target Registers Table 6.45 TACH Target Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 4Ch R/W TACH Target 1 Low Byte 16 8 4 2 1 - - - F8h 4Dh R/W TACH Target 1 High Byte 4096 2048 1024 512 256 128 64 32 FFh 8Ch R TACH Target 2 Low Byte 16 8 4 2 1 - - - F8h 8Dh R/W TACH Target 2 High Byte 4096 2048 1024 512 256 128 64 32 FFh The TACH Target Registers hold the target tachometer value that is maintained each of the RPM based Fan Speed Control Algorithms. The value in the TACH Target Registers will always reflect the current TACH Target value. If the Look Up Table is active and configured to operate in RPM Mode, then this register will be read only. Writing to this register will have no affect and the data will not be stored. SMSC EMC2104 73 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet If one of the algorithms is enabled then setting the TACH Target Register to FFh will disable the fan driver (set the fan drive setting to 0%). Setting the TACH Target to any other value (from a setting of FFh) will cause the algorithm to invoke the Spin Up Routine after which it will function normally. The Tach Target is not applied until the high byte is written. Once the high byte is written, the current value of both high and low bytes will be used as the next Tach target. 3 6.31 TACH Reading Registers Table 6.46 TACH Reading Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 4Eh R Fan 1 TACH 4096 2048 1024 512 256 128 64 32 FFh 4Fh R Fan 1 TACH Low Byte 16 8 4 2 1 - - - F8h 8Eh R Fan 2 TACH 4096 2048 1024 512 256 128 64 32 FFh 8Fh R Fan 2 TACH Low Byte 16 8 4 2 1 - - - F8h The TACH Reading Registers' contents describe the current tachometer reading for each of the fan. By default, the data represents the fan speed as the number of 32kHz clock periods that occur for a single revolution of the fan. Equation [3] shows the detailed conversion from TACH measurement (COUNT) to RPM while Equation [4] shows the simplified translation of TACH Reading Register count to RPM assuming a 2-pole fan, measuring 5 edges, with a frequency of 32.768kHz. These equations are solved and tabulated for ease of use in AN17.4 RPM to TACH Counts Conversion. Whenever the high byte register is read, the corresponding low byte data will be loaded to internal shadow registers so that when the low byte is read, the data will always coincide with the previously read high byte. where: poles = number of poles of the fan (typically 2) 1 (n - 1) RPM = -------------------- x ---------------------------------- x f TACH x 60 1 ( poles ) COUNT x ----m fTACH = the tachometer measurement frequency (typically 32.768kHz) [3] n = number of edges measured (typically 5 for a 2 pole fan) m = the multiplier defined by the RANGe bits 3,932,160 x m RPM = -------------------------------------COUNT Revision 1.78 (02-28-11) [4] COUNT = TACH Reading Register value (in decimal) 74 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.32 Look Up Table Configuration Registers Table 6.47 Look Up Table Configuration Registers ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT 50h R/W LUT 1 Configuration USE_D TS_F1 USE_D TS_F2 LUT_L OCK TACH / DRIVE TEMP3_CFG [1:0] TEMP4_CFG [1:0] 00h 90h R/W LUT2 Configuration USE_D TS_F3 USE_D TS_F4 LUT_L OCK TACH / DRIVE TEMP3_CFG [1:0] TEMP4_CFG [1:0] 00h The Look Up Table Configuration Register holds the setup information for the two temperature to fan drive look up tables. Bit 7 - USE_DTS_F1 or USE_DTS_F3 - This bit determines whether the Pushed Temperature 1 or Pushed Temperature 3 registers are using DTS data. `0' (default) - The Pushed Temperature 1 or Pushed Temperature 3 registers are not using DTS data. The contents of these registers are standard 2's complement temperature data. `1' - The Pushed Temperature 1 or Pushed Temperature 3 registers are loaded with DTS data. The contents of these registers are automatically subtracted from a fixed value of 100C before they are compared to the Look Up Table threshold levels. Bit 6 - USE_DTS_F2 or USE_DTS_F4 - This bit determines whether the Pushed Temperature 2 or Pushed Temperature 4 Registers are using DTS data. `0' (default) - The Pushed Temperature 2 or Pushed Temperature 4 registers are not using DTS data. The contents of these registers are standard 2's complement temperature data. `1' - The Pushed Temperature 2 or Pushed Temperature 4 registers are loaded with DTS data. The contents of these registers are automatically subtracted from a fixed value of 100C before they are compared to the Look Up Table threshold levels. Bit 5 - LUT_LOCK - This bit locks updating the Look Up Table entries and determines whether the look up table is being used. `0' (default) - The Look Up Table entries can be updated normally. The Look Up Table will not be used while the Look Up Table entries are unlocked. During this condition, the fan drive output will not change states regardless of temperature or tachometer variation. `1' - The Look Up Table entries are locked and cannot be updated. The Look Up Table is fully active and will be used based on the loaded values. The fan drive output will be updated depending on the temperature and / or TACH variations. APPLICATION NOTE: When the LUT_LOCK bit is set at a logic `0', the fan drive setting will be set at whatever value was last used by the RPM based Fan Speed Control Algorithm or the Look Up Table. Bit 4 - TACH / DRIVEx - This bit selects the data format for the LUT drive settings. `0' (default) - The Look Up Table drive settings are RPM TACH count values for use by the RPM based Fan Speed Control Algorithm. The Look Up Table drive settings should be loaded highest value to lowest value (to coincide with the inversion between TACH counts and actual RPM). `1' - The Look Up Table drive settings are fan drive setting values and are used directly. The drive settings should be loaded lowest value to highest value. APPLICATION NOTE: The TACH / DRIVE bit should be set prior to the LUT_LOCK bit being set so that, if the fan driver is disabled, the output drive is in the proper state. Bits 3-2 - TEMP3_CFG[1:0] - These bits determine the temperature channel that is used for the Temperature 3 inputs to the Look Up Table as shown in Table 6.48. SMSC EMC2104 75 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.48 TEMP3_CFG Decode TEMP3_CFG [1:0] 1 0 TEMPERATURE CHANNEL USED 0 0 External Diode 3 (default) 0 1 TRIP_SET / VIN4 Voltage 1 0 Pushed Temperature 1 (LUT1) Pushed Temperature 3 (LUT2) 1 1 Reserved Bits 1-0 - TEMP4_CFG[1:0] - These bits determine the temperature channel that is used for the Temperature 4 inputs to the Look Up Table as shown in Table 6.49. Table 6.49 TEMP4_CFG Decode TEMP4_CFG [1:0] 1 0 TEMPERATURE CHANNEL USED 0 0 Internal Diode (default) 0 1 External Diode 4 1 0 Pushed Temperature 2 (LUT1) Pushed Temperature 4 (LUT2) 1 1 Reserved APPLICATION NOTE: When any of the External Diode 1, External Diode 2, and External Diode 3 channels are configured to operate as voltage inputs, the voltage data is used in the Look Up Table instead of the corresponding temperature data. Therefore, the threshold settings must be updated accordingly. All voltage channels (including VIN1, VIN2, and VIN3) are assumed to be increasing (i.e. a larger voltage reading indicates a higher fan speed). 6.33 Look Up Table 1 Registers Table 6.50 Look Up Table 1 Registers TACH / DRIVE B7 B6 B5 B4 B3 B2 B1 B0 `0' 4096 2048 1024 512 256 128 64 32 `1' 128 64 32 16 8 4 2 1 LUT 1 Ext Diode 1 Setting 1 X - 64 32 16 8 4 2 1 7Fh (127C) LUT 1 VIN1 Setting 1 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) ADDR R/W REGISTER 51h R/W LUT 1 Drive Setting 1 52h R/W Revision 1.78 (02-28-11) DEFAULT FBh 76 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.50 Look Up Table 1 Registers (continued) ADDR 53h 54h TACH / DRIVE B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT LUT 1 Ext Diode 2 Setting 1 X - 64 32 16 8 4 2 1 7Fh (127C) LUT 1 VIN2 Setting 1 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) LUT 1 Temp 3 Setting 1 X - 64 32 16 8 4 2 1 7Fh (127C) LUT 1 Voltage 3 Setting 1 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) R/W REGISTER R/W R/W 55h R/W LUT 1 Temp 4 Setting 1 X - 64 32 16 8 4 2 1 7Fh (127C) ... ... ... ... ... ... ... ... ... ... ... ... .. . 4096 2048 1024 512 256 128 64 32 R/W LUT 1 Drive Setting 8 `0' 74h `1' 128 64 32 16 8 4 2 1 LUT 1 Ext Diode 1 Setting 8 X - 64 32 16 8 4 2 1 7Fh (127C) LUT 1 VIN1 Setting 8 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) LUT 1 Ext Diode 2 Setting 8 X - 64 32 16 8 4 2 1 7Fh (127C) LUT 1 VIN2 Setting 8 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) LUT 1 Temp 3 Setting 8 X - 64 32 16 8 4 2 1 7Fh (127C) LUT 1 Voltage 3 Setting 8 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) 75h 76h 77h R/W R/W R/W 92h 78h R/W LUT 1 Temp 4 Setting 8 X - 64 32 16 8 4 2 1 7Fh (127C) 79h R/W LUT 1 Temp Hysteresis X - - - 16 8 4 2 1 0Ah The Look Up Table 1 Registers hold the 40 entries of the Look Up Table that controls the drive of Fan 1. As the temperature (or voltage) channels are updated, the measured value for each channel is compared against the respective entries in the Look Up Table and the associated drive setting is loaded into an internal shadow register and stored. The bit weighting for temperature inputs represents C and is compared against the measured data. Note that the LUT entry does not include a sign bit. The Look Up Table does not support negative temperature values and the MSBit should not be set for a temperature input. The bit weighting for voltage inputs represents mV above 0V and is compared against the measured data. SMSC EMC2104 77 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Each temperature (or voltage) channel threshold shares the same hysteresis value. When the measured temperature for any of the channels meets or exceeds the programmed threshold, the drive setting associated with that threshold is used. The temperature must drop below the threshold minus the hysteresis value before the drive setting will be set to the previous value. APPLICATION NOTE: For proper operation, the hysteresis must be smaller than the difference between two consecutive thresholds. If the RPM based Fan Speed Control Algorithm is used, the TACH Target is updated after every conversion. It is always set to the minimum TACH Target that is stored by the Look Up Table. The fan drive setting cycle is updated based on the RPM based Fan Speed Control Algorithm configuration settings. If the RPM based Fan Speed Control Algorithm is not used, then the fan drive setting is updated after every conversion. It is set to the maximum duty cycle that is stored by the Look Up Table. 6.34 Look Up Table 2 Registers Table 6.51 Look Up Table2 Registers TACH / DRIVE B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT `0' 4096 2048 1024 512 256 128 64 32 FBh `1' 128 64 32 16 8 4 2 1 FBh LUT 2 Ext Diode 1 Setting 1 X - 64 32 16 8 4 2 1 7Fh (127C) LUT2 VIN1 Setting 1 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) LUT 2 Ext Diode 2 Setting 1 X - 64 32 16 8 4 2 1 7Fh (127C) LUT2 VIN2 Setting 1 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) LUT 2 Temp 3 Setting 1 X - 64 32 16 8 4 2 1 7Fh (127C) LUT2 Voltage 3 Setting 1 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) ADDR R/W REGISTER 91h R/W LUT 2 Drive Setting 1 92h 93h 94h R/W R/W R/W 95h R/W LUT2 Temp 4 Setting 1 X - 64 32 16 8 4 2 1 7Fh (127C) ... ... ... ... ... ... ... ... ... ... ... ... ... 4096 2048 1024 512 256 128 64 32 92h R/W LUT 2 Drive Setting 8 `0' B4h `1' 128 64 32 16 8 4 2 1 LUT 2 Ext Diode 1 Setting 8 X - 64 32 16 8 4 2 1 7Fh (127C) LUT2 VIN1 Setting 8 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) B5h R/W Revision 1.78 (02-28-11) 78 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table 6.51 Look Up Table2 Registers (continued) ADDR B6h B7h TACH / DRIVE B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT LUT 2 Ext Diode 2 Setting 8 X - 64 32 16 8 4 2 1 7Fh (127C) LUT2 VIN2 Setting 8 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) LUT 2 Temp 3 Setting 8 X - 64 32 16 8 4 2 1 7Fh (127C) LUT2 Voltage 3 Setting 8 X 752.9 376.5 188.2 94.12 47.06 23.53 11.76 5.88 7Fh (0.4V) R/W REGISTER R/W R/W B8h R/W LUT2 Temp 4 Setting 8 X - 64 32 16 8 4 2 1 7Fh (127C) B9h R/W LUT 2 Temp Hysteresis X - - - 16 8 4 2 1 0Ah The Look Up Table 2 Registers hold the 40 entries of the Look Up Table that controls the drive of Fan 2. As the temperature (or voltage) channels are updated, the measured temperature for each channel is compared against the respective entries in the Look Up Table and the associated drive setting is loaded into an internal shadow register and stored. 6.35 Muxed Pin Configuration Register Table 6.52 Muxed Pin Configuration Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT E0h R/W Muxed Pin Config - - - - - GPIO3 _CFG GPIO2 _CFG GPIO1 _CFG 01h The Muxed Pin Configuration Register controls the pin function for all of the multiple function GPIO pins. Bit 2 - GPIO3_CFG - Determines the pin function for the PWM2 / GPIO3 pin as well as the DAC2 pin. `0' (default) - The PWM2/ GPIO3 pin functions as a PWM output for the 2nd the RPM based Fan Speed Control Algorithm (FSC). `1' - The PWM2 / GPIO3 pin functions as a GPIO. The 2nd RPM based Fan Speed Control Algorithm will be disabled. All PWM2 controls will be ignored though are still writable via the SMBus. Bit 1 - GPIO2_CFG - Determines the pin functions for the TACH2 / GPIO2 pin. `0' (default) - The TACH2 / GPIO2 pin functions as a tachometer input for the 2nd the RPM based Fan Speed Control Algorithm (FSC). `1' - The TACH2 / GPIO2 pin functions as a GPIO. When set, the EN_ALGO2 bit will automatically be set to `0' and cannot be set. Bit 0 - GPIO1_CFG - Determines the pin function for the CLK_IN / GPIO1 pin. `0' - The CLK_IN / GPIO1 pin functions as a clock input for the RPM based Fan Speed Control Algorithm (FSC). `1' (default) - The CLK_IN / GPIO1 pin functions as a GPIO. SMSC EMC2104 79 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.36 GPIO Direction Register Table 6.53 GPIO Direction Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT E1h R/W GPIO Direction 1 - - - - - GPIO 3_DIR GPIO 2_DIR GPIO 1_DIR 00h The GPIO Direction Register 1 controls the direction of GPIOs 1 through 6. When muxable pins are not configured as a GPIO ports the respective bits are ignored. Bit 5 - 0 - GPIOx_DIR - Controls the input / output state of GPIOs. The bit is not used if the pin is not configured as a GPIO. 6.37 `0' (default) - The GPIO is configured as an input. `1' - The GPIO is configured as an output. GPIO / PWM Pin Output Configuration Register Table 6.54 GPIO / PWM Pin Output Configuration Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT E2 R/W GPIO Output Config - PWM 1_OT - - - GPIO 3_OT GPIO 2_OT GPIO 1_OT 00h The GPIO Output Configuration Register controls the output pin type of each GPIO pin. These settings apply to the pin if it is configured as a GPIO output or a PWM. Bit 6 - PWM1_OT - Determines the output type for the PWM1 pin. `0' (default) - The PWM1 output is configured as an open drain output (if enabled as a PWM output). `1' - The PWM1 output is configured as a push-pull output (if enabled as an a PWM output). Bit 2 - 0 - GPIOx_OT - Determines the output type for GPIOx. 6.38 `0' (default) - GPIOx is configured as an open drain output (if enabled as an output). `1' - GPIOxis configured as a push-pull output (if enabled as an output). GPIO Input Register Table 6.55 GPIO Input Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT E3h R GPIO Input - - - - - GPIO 3_IN GPIO 2_IN GPIO 1_IN 00h The GPIO Input Register indicates the state of the corresponding GPIO pin regardless of the functionality of the pin (GPIO, PWM, or TACH) or the direction of the GPIO (input, push-pull output, open-drain output). When a GPIO is configured as an input, any change of state will assert the ALERT# pin (unless GPIO interrupts are masked, see Section 6.15). Revision 1.78 (02-28-11) 80 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.39 GPIO Output Register Table 6.56 GPIO Output Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT E4h R/W GPIO Output 1 - - - - - GPIO3 _OUT GPIO2 _OUT GPIO1 _OUT 00h The GPIO Output Register controls the state of the corresponding GPIO pins when they areconfigured as GPIOs and as outputs. If the output is configured as an open-drain output, then it requires a pull-up resistor to VDD. Setting the corresponding bit to a `1' will act to disable the output allowing the pull-up resistor to pull the output high. Setting the corresponding bit to a `0' will enable the output and drive the pin to a logical `0' state. If the output is configured as a push-pull output, then output pin will immediately be driven to match the corresponding bit setting. 6.40 GPIO Interrupt Enable Register Table 6.57 GPIO Interrupt Enable Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT E5h R/W GPIO Interrupt Enable - - - - - GPIO3_ INT_EN GPIO2_ INT_EN GPIO1_ INT_EN 00h The GPIO Interrupt Enable Register enables the GPIOs to assert the ALERT pin when they change state. When the GPIO pins are disabled or configured as outputs, then these bits are ignored. Bit 3 - 0 - GPIOx_INT_EN - Allows the ALERT# pin to be asserted when the GPIOx pin changes state (when configured as an input). 6.41 `0' (default) - The ALERT# pin will not be asserted when the GPIOx pin changes state (when configured as an input). `1' - The ALERT# pin will be asserted when the GPIOxpin changes state (when configured as an input). GPIO Status Register Table 6.58 GPIO Status Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT E6h R-C GPIO Status - - - - - GPIO3_ STS GPIO2_ STS GPIO1_ STS 00h The GPIO Status Register indicates which GPIO has changed states to cause the ALERT pins to be asserted. This register is cleared when it is read. The bits in this register are set whenever the corresponding GPIO changes states regardless if the ALERT pins are asserted. Once a bit is set, it will remain set until read. SMSC EMC2104 81 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet If any bit in this register is set, then the GPIO status bit will be set. Bit 2 - 0 - GPIOx_STS - Indicates that the GPIOx pin has changed states from a `0' to a `1' or a `1' to a `0' (when configured as a GPIO input). 6.42 Software Lock Register Table 6.59 Software Lock Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT EFh R/W Software Lock - - - - - - - LOCK 00h The Software Lock Register controls the software locking of critical registers. This register is software locked. Bit 0 - LOCK - this bit acts on all registers that are designated SWL. When this bit is set, the locked registers become read only and cannot be updated. 6.43 `0' (default) - all SWL registers can be updated normally. `1' - all SWL registers cannot be updated and a hard-reset is required to unlock them. Product Features Register Table 6.60 Product Features Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 FCh R Product Features - - - - - - B1 B0 DEFAULT SHDN_SEL[1:0] 00h The Product Features Register indicates which pin selected functionality is enabled. Bit 1 - 0 - SHDN_SEL[1:0] - Indicates what the detected pin state of the SHDN_SEL pin was and which functions are enabled. Table 6.61 SHDN_SEL Bit Decode FUN_SEL[1:0] CRITICAL / THERMAL SHUTDOWN TEMPERATURE RANGE VIN4 OR TRIP_SET 1 0 EXTERNAL DIODE 1 MODE 0 0 Transistor mode - Beta = automatic REC = enabled High range - 92C to 154C TRIP_SET 0 1 Diode mode Beta = 1111b REC = disabled Low Range 60C to 122C TRIP_SET 0 Not used Internal diode linked to Hardware Thermal / Critical Shutdown circuitry Low Range 60C to 122C TRIP_SET or VIN4 (see Section 6.1.2) 1 Revision 1.78 (02-28-11) 82 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 6.44 Product ID Register Table 6.62 Product ID Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT FDh R Product ID Register 0 0 0 1 1 1 0 1 1Dh The Product ID Register contains a unique 8 bit word that identifies the product. 6.45 Manufacturer ID Register Table 6.63 Manufacturer ID Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT FEh R Manufacturer ID 0 1 0 1 1 1 0 1 5Dh The Manufacturer ID Register contains a 8 bit word that identifies SMSC. 6.46 Revision Register Table 6.64 Revision Register ADDR R/W REGISTER B7 B6 B5 B4 B3 B2 B1 B0 DEFAULT FFh R Revision 0 0 0 0 0 0 1 0 02h The Revision Register contains a 8 bit word that identifies the die revision. SMSC EMC2104 83 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Chapter 7 Package Drawing 7.1 QFN 20-Pin 4mm x 4mm Figure 7.1 EMC2104 20-Pin 4x4mm QFN Package Outline and Parameters Revision 1.78 (02-28-11) 84 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet 7.2 Package Markings All devices will be marked on the first line of the top side with "2104". On the second line, they will be marked with the Lot Number, and on the third line, they will be marked with the Functional Revision "C" and Country Code. TOP 0.41 LINE: 1 - SMSC Logo without circled (R) symbol LINE: 2 - Device Number LINE: 3 - Last 7 digits of Lot Number LINE: 4 - Revision and Country Code (RCC) 3x 0.56 2 1 0 4 - 1 1 2 3 4 5 6 a RCC e3 PB-FREE/GREEN SYMBOL (Matte Sn) PIN 1 LINES 1 to 3: CENTER HORIZONTAL ALIGNMENT LINE 4: LEFT HORIZONTAL ALIGNMENT BOTTOM BOTTOM MARKING NOT ALLOWED Figure 7.2 EMC2104 Package Markings SMSC EMC2104 85 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Appendix A Thermistors The EMC2104 can monitor thermistor inputs on the TRIP_SET / VIN4 as well as supporting a thermistor option on the all of the external diode pins pairs (DP1 / VREF_T1 and DN1 / VIN1,etc.). The Thermistors can be connected as shown in Figure A.1. Figure A.1 is representative of one of the thermistor channels and will apply to DP1 / VREF_T1 and DN1 / VIN1, DP2 / VREF_T2 and DN2 / VIN2. The top side resistor is internally integrated in the case of the TRIP_SET / VIN4 channel and the VREF voltage will not be brought out externally. The Thermistor should be connected in the same way as RSET. EMC2104/5/6 DP3 / DN4 / VREF_T3 Buffer 1.2K 1% Reference Voltage DN3 / DP4 / VIN3 ADC 10K 1% Thermistor 0.1uF Figure A.1 "Low Side" Thermistor Connection The relationship between voltage and temperature is roughly linear. the measured voltage by the EMC2104 will be inversely proportional to temperature . Linearization methods can only accurately capture the temperature over a limited window of temperatures. For a 10k Ohm type 3370 Thermistor and a 1.2k ohm 1% setting resistor, the output response corresponding to a thermistor is tabulated in Table A.1. If the INV_VINx bit is set then the results of the circuit (configured as shown in Figure A.1) is shown in Table A.2. The EMC2104 does not perform any numerical calculations on the thermistor value if a thermistor is monitored on TRIP_SET / VIN4 pin. If the External Diode 1, External Diode 2, or External Diode 3 channels are configured to measure a thermistor, it must be configured as shown in Figure A.1. When measuring a thermistor input with Fan Control Look Up Table, care must be taken that the temperature thresholds are entered as a unsigned voltage number that corresponds to the desired thermal threshold. Also note that the LUT assumes that the VIN1 and TRIP_SET / VIN4 voltage inputs are directly proportional to temperature. Revision 1.78 (02-28-11) 86 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet A.1 Thermistor Look Up Tables Table A.1 "Low Side" Thermistor Look Up Table T (C) ADC CODE T (C) ADC CODE T (C) ADC CODE T (C) ADC CODE -45 254 15 235 75 157 135 72 -44 253 16 235 76 155 136 71 -43 253 17 234 77 154 137 70 -42 253 18 233 78 152 138 69 -41 253 19 232 79 150 139 68 -40 253 20 231 80 148 140 67 -39 253 21 231 81 146 141 66 -38 253 22 230 82 145 142 65 -37 252 23 229 83 143 143 64 -36 252 24 228 84 141 144 63 -35 252 25 227 85 139 145 62 -34 252 26 226 86 138 146 61 -33 252 27 225 87 136 147 60 -32 252 28 224 88 135 148 59 -31 252 29 223 89 133 149 59 -30 252 30 222 90 131 150 58 -29 251 31 221 91 129 151 57 -28 251 32 220 92 128 152 56 -27 251 33 219 93 126 153 55 -26 251 34 218 94 124 154 54 -25 251 35 217 95 123 155 54 -24 251 36 216 96 121 156 53 -23 250 37 215 97 119 157 52 -22 250 38 213 98 118 158 51 -21 250 39 212 99 116 159 51 -20 250 40 211 100 114 160 50 -19 250 41 210 101 113 161 49 -18 249 42 208 102 111 162 48 -17 249 43 207 103 110 163 48 -16 249 44 206 104 108 164 47 SMSC EMC2104 87 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table A.1 "Low Side" Thermistor Look Up Table (continued) T (C) ADC CODE T (C) ADC CODE T (C) ADC CODE T (C) ADC CODE -15 249 45 205 105 106 165 46 -14 248 46 203 106 105 166 46 -13 248 47 202 107 103 167 45 -12 248 48 200 108 102 168 44 -11 247 49 199 109 100 169 44 -10 247 50 198 110 99 170 43 -9 247 51 196 111 97 171 43 -8 246 52 195 112 96 172 42 -7 246 53 193 113 95 173 41 -6 246 54 192 114 93 174 41 -5 245 55 190 115 92 175 40 -4 245 56 189 116 90 176 40 -3 245 57 187 117 89 177 39 -2 244 58 185 118 88 178 38 -1 244 59 184 119 86 179 38 0 243 60 182 120 85 180 37 1 243 61 181 121 84 181 37 2 243 62 179 122 82 182 36 3 242 63 177 123 81 183 36 4 242 64 176 124 80 184 35 5 241 65 174 125 79 185 35 6 241 66 172 126 82 186 34 7 240 67 171 127 81 187 34 8 240 68 169 128 80 188 33 9 239 69 167 129 78 189 33 10 238 70 166 130 77 190 32 11 238 71 164 131 76 191 32 12 237 72 162 132 75 13 237 73 160 133 74 14 236 74 159 134 73 Revision 1.78 (02-28-11) 88 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table A.2 Inverted Thermistor Look Up Table T (C) ADC CODE T (C) ADC CODE T (C) ADC CODE T (C) ADC CODE -45 0 15 19 75 97 135 182 -44 1 16 20 76 99 136 183 -43 1 17 20 77 100 137 184 -42 1 18 21 78 102 138 185 -41 1 19 22 79 104 139 186 -40 1 20 23 80 106 140 187 -39 1 21 23 81 108 141 188 -38 1 22 24 82 109 142 189 -37 2 23 25 83 111 143 190 -36 2 24 26 84 113 144 191 -35 2 25 27 85 115 145 192 -34 2 26 28 86 116 146 193 -33 2 27 29 87 118 147 194 -32 2 28 30 88 120 148 195 -31 2 29 31 89 121 149 195 -30 2 30 32 90 123 150 196 -29 3 31 33 91 125 151 197 -28 3 32 34 92 126 152 198 -27 3 33 35 93 128 153 199 -26 3 34 36 94 130 154 200 -25 3 35 37 95 131 155 200 -24 3 36 38 96 133 156 201 -23 4 37 39 97 135 157 202 -22 4 38 41 98 136 158 203 -21 4 39 42 99 138 159 203 -20 4 40 43 100 140 160 204 -19 4 41 44 101 141 161 205 -18 5 42 46 102 143 162 206 -17 5 43 47 103 144 163 206 -16 5 44 48 104 146 164 207 -15 5 45 50 105 148 165 208 SMSC EMC2104 89 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table A.2 Inverted Thermistor Look Up Table (continued) T (C) ADC CODE T (C) ADC CODE T (C) ADC CODE T (C) ADC CODE -14 6 46 51 106 149 166 208 -13 6 47 52 107 151 167 209 -12 6 48 54 108 152 168 210 -11 7 49 55 109 154 169 210 -10 7 50 56 110 155 170 211 -9 7 51 58 111 157 171 211 -8 8 52 59 112 158 172 212 -7 8 53 61 113 159 173 213 -6 8 54 62 114 161 174 213 -5 9 55 64 115 162 175 214 -4 9 56 65 116 164 176 214 -3 9 57 67 117 165 177 215 -2 10 58 69 118 166 178 216 -1 10 59 70 119 168 179 216 0 11 60 72 120 169 180 217 1 11 61 73 121 170 181 217 2 11 62 75 122 172 182 218 3 12 63 77 123 173 183 218 4 12 64 78 124 174 184 219 5 13 65 80 125 175 185 219 6 13 66 82 126 172 186 220 7 14 67 83 127 173 187 220 8 15 68 85 128 174 188 221 9 15 69 87 129 176 189 221 10 16 70 88 130 177 190 222 11 16 71 90 131 178 191 222 12 17 72 92 132 179 13 18 73 94 133 180 14 18 74 95 134 181 Revision 1.78 (02-28-11) 90 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Appendix B Look Up Table Operation The EMC2104 uses a look-up table to apply a user-programmable fan control profile based on measured temperature to each fan driver. In this look-up table, each temperature channel is allowed to control the fan drive output independently (or jointly) by programming up to eight pairs of temperature and drive setting entries. The user programs the look-up table based on the desired operation. If the RPM based Fan Speed Control Algorithm is to be used (see Section 6.6), then the user must program an RPM target for each temperature setting of interest. Alternately, if the RPM based Fan Speed Control Algorithm is not to be used, then the user must program a drive setting for each temperature setting of interest. If the measured temperature on the External Diode channel meets or exceeds any of the temperature thresholds for any of the channels, the fan output will be automatically set to the desired setting corresponding to the exceeded temperature. In cases where multiple temperature channel thresholds are exceeded, the highest fan drive setting will take precedence. When the measured temperature drops to a point below a lower threshold minus the hysteresis value, the fan output will be set to the corresponding lower set point. The following sections show examples of how the Look Up Table is used and configured. Each Look Up Table Example uses the Fan 1 Look Up Table Registers configured as shown in Table B.1. Table B.1 Look Up Table Format STEP TEMP 1 TEMP 2 TEMP 3 TEMP 4 LUT DRIVE 1 LUT Temp 1 Setting 1 (52h) LUT Temp 2 Setting 1 (53h) LUT Temp 3 Setting 1 (54h) LUT Temp 4 Setting 1 (55h) LUT Drive Setting 1 (51h) 2 LUT Temp 1 Setting 2 (57h) LUT Temp 2 Setting 2 (58h) LUT Temp 3 Setting 2 (59h) LUT Temp 4 Setting 2 (5Ah) LUT Drive Setting 2 (56h) 3 LUT Temp 1 Setting 3 (5Ch) LUT Temp 2 Setting 3 (5Dh) LUT Temp 3 Setting 3 (5Eh) LUT Temp 4 Setting 3 (5Fh) LUT Drive Setting 3 (5Bh) 4 LUT Temp 1 Setting 4 (61h) LUT Temp 2 Setting 4 (62h) LUT Temp 3 Setting 4 (63h) LUT Temp 4 Setting 4 (64h) LUT Drive Setting 4 (60h) 5 LUT Temp 1 Setting 5 (66h) LUT Temp 2 Setting 5 (67h) LUT Temp 3 Setting 5 (68h) LUT Temp 4 Setting 5 (69h) LUT Drive Setting 5 (65h) 6 LUT Temp 1 Setting 6 (6Bh) LUT Temp 2 Setting 6 (6Ch) LUT Temp 3 Setting 6 (6Dh) LUT Temp 4 Setting 6 (6Eh) LUT Drive Setting 6 (6Ah) 7 LUT Temp 1 Setting 7 (70h) LUT Temp 2 Setting 7 (71h) LUT Temp 3 Setting 7 (72h) LUT Temp 4 Setting 7 (73h) LUT Drive Setting 7 (6Fh) 8 LUT Temp 1 Setting 8 (75h) LUT Temp 2 Setting 8 (76h) LUT Temp 3 Setting 8 (77h) LUT Temp 4 Setting 8 (78h) LUT Drive Setting 8 (74h) B.1 Example #1 This example does not use the RPM based Fan Speed Control Algorithm. Instead, the Look Up Table is configured to directly set a fan drive setting based on the temperature of four of its measured inputs. The configuration is set as shown in Table B.2. Once configured, the Look Up Table is loaded as shown in Table B.3. Table B.3 shows three temperature configurations using the settings in Table B.3 and the final fan drive setting that the Look Up Table will select. SMSC EMC2104 91 DATASHEET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table B.2 Look Up Table Example #1 Configuration ADDR REGISTER 50h LUT 1 Configuration B.1.1 B7 B6 B5 B4 USE_D TS_F1 USE_D TS_F2 LUT_L OCK TACH / DRIVE 0 0 1 1 B3 B2 TEMP3_CFG [1:0] 0 B1 B0 SETTING TEMP4_CFG [1:0] 0 0 C0h 0 LUT Configuration Bit Description Bit 7 - USE_DTS_F1 = `0b' tells the circuitry that the Forced Temperature 1 register data is not in DTS format. Bit 6 - USE_DTS_F2 = `0b' tells the circuitry that the Forced Temperature 2 register data is not in DTS format. Bit 5 - LUT_LOCK = `1b' tells the circuitry that the LUT is programmed and is active. This bit must be set for the LUT to function. Bit 4 - TACH / DRIVE = `1b' tells the Look Up Table that the FSC algorithm is not used and that the LUT target values will be PWM drive settings instead of TACH Target settings. Bits 3- 2 - TEMP3_CFG = `00b' tells the LUT to reference the External Diode 3 data instead of Forced Temperature 1 data or the TRIP_SET / VIN4 voltage data. This is the default setting. Bit 0 - TEMP4_CFG = `0b' tells the LUT to reference the Internal Diode data instead of Forced Temperature 2 data or the External Diode 4 temperature data. This is the default setting. Table B.3 Fan Speed Control Table Example #1 FAN SPEED STEP # EXTERNAL DIODE 1 TEMPERATURE (CPU) EXTERNAL DIODE 2 TEMPERATURE (GPU) EXTERNAL DIODE 3 TEMPERATURE (SKIN) INTERNAL DIODE TEMPERATURE (AMBIENT) FAN DRIVE SETTINGS 1 35oC 60oC 30oC 40oC 0% 2 40oC 70oC 35oC 45oC 30% 3 50oC 75oC 40oC 50oC 40% 4 60oC 80oC 45oC 55oC 50% 5 70oC 85oC 50oC 60oC 60% 6 80oC 90oC 55oC 65oC 70% 7 90oC 95oC 60oC 70oC 80% 8 100oC 100oC 65oC 75oC 100% Note: The values shown in Table B.3 are example settings. All the cells in the look-up table are programmable via SMBus. Revision 1.78 (02-28-11) 92 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table B.4 Fan Speed Determination for Example #1 (using settings in Table B.3) EXTERNAL DIODE 1 TEMPERATURE (CPU) EXTERNAL DIODE 2 TEMPERATURE (GPU) EXTERNAL DIODE 3 TEMPERATURE (SKIN) INTERNAL DIODE TEMPERATURE (AMBIENT) Example 1: 82C 82C 48C 58C 70% (CPU temp requires highest drive) Example 2: 82C 97C 62C 58C 80% (GPU and Skin require highest drive) Example 3: 82C 97C 62C 75C 100% (Internal temp requires highest drive) B.2 FAN DRIVE SETTING RESULT Example #2 This example uses the RPM based Fan Speed Control Algorithm. The Spin Level (used by the Spin Up Routine) should be changed to 50% drive for a total Spin Time of 1 second. For all other RPM configuration settings, the default conditions are used. For control inputs, it uses the External Diode 1 channel normally, a thermistor input on the External Diode 2 channel, the internal diode channel, and a Pushed Temperature that represents the MCU temperature in standard format. The configuration is set as shown in Table B.5 while Table B.6 shows how the table is loaded. Note that when using Thermistor data, the VIN2_INV bit should be set. The circuitry will automatically subtract the measured thermistor voltage from a quantity of FFh (effectively inverting it). Therefore, the Look Up Table is loaded with ascending voltage thresholds with respect to the drive settings. Additionally, the reading register will show this same value (subtracted from FFh). Table B.5 Look Up Table Example #2 Configuration ADDR REGISTER B7 B6 B5 B4 B3 B2 B1 B0 - 22h Configuration 3 VIN4_I NV VIN3_E N VIN3_I NV VIN2_ EN VIN2_I NV VIN1_ EN VIN1_I NV 0 0 0 1 1 0 0 - 42h 46h 50h Fan 1 Configuration 1 Fan 1 Spin Up Configuration LUT 1 Configuration SMSC EMC2104 EN_ ALGO 1 RANGE[1:0] EDGES[1:0] SETTING 0Ch UPDATE[2:0] ABh 0 DRIVE_FAIL_CNT 1 [1:0] 1 0 NOKICK 1 1 0 0 0 0 USE_D TS_F1 USE_D TS_F2 LUT_LO CK TACH / DRIVE 0 0 1 0 93 DATASHEET 1 0 TEMP3_CFG [1:0] 1 1 SPINUP_TIME [1:0] SPIN_LVL[2:0] 0 1 0 1 0 TEMP4_CFG [1:0] 0 0Ah 28h 0 Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet B.2.1 Configuration 3 Bit Description Bit 6 - VIN4_INV = `0b' tells the circuitry that the VIN4 voltage is not inverted and will be asscending (i.e. a value of 7Fh will represent a larger value than a value of 30h) If used by the LUT, no special processing needs to be done. This is the default setting. Bit 5 - VIN3_EN = `0b' tells the circuitry that the VIN3 voltage is not measured. The External Diode 3 pins will measure the External Diode 3 temperature. This is the default setting. Bit 4 - VIN3_INV = `0b' tells the circuitry that the VIN3 voltage is not inverted. This bit is ignored because VIN3_EN = `0b'. This is the default setting Bit 3 - VIN2_EN = `1b' tells the circuitry that the External Diode 2 pins (DP2 and DN2) will measure the VIN2 voltage and will not measure the External Diode 2 temperature. This voltage will automatically be used by the LUT. Bit 2 - VIN2_INV = `1b' tells the circuitry that the VIN2 voltage should be inverted. This means that prior to any limit comparasions (via the high / low limits or the LUT), the measured value will be subtracted from a value of FFh. Bit 1 - VIN1_EN = `0b' tells the circuitry that the VIN1 voltage is not measrued. The External Diode 1 pins (DP1 and DN1) will measure the External Diode 1 temperature and will be used by the LUT. This is the default setting. Bit 0 - VIN1_INV = `0b' tells the circuitry that the VIN1 voltage is not inverted. This bit is ignored because VIN1_EN = `0b'. This is the defautl setting. B.2.2 Fan Configuration 1 Bit Description Bit 7 - EN-ALGO = `1b' tells the circuitry that the FSC alogrithm is active. Bits 6 - 5 - RANGE[1:0] = `01b' tells the FSC that the expected minimum RPM is 1000. This is the defautl setting. Bits 4-3 - EDGES[1:0] = `01b' tells the FSC that the fan is a 2-pole fan generating tach edges per rotation. This is the defautl setting. Bits 2 - 0 - UPDATE[2:0] = `011b' tells the FSC to update the fan drive every 400ms. This is the default setting. B.2.3 Fan Spin Up Configuration Bit Description Bits 7-6 - DRIVE_FAIL_CNT[1:0] = `00b' tells the circuitry that the drive fail detection circuitry is not enabled. This is the default setting. Bit 5 - NOKICK = `0b' tells the circuitry that if than Spin Up Routine is invoked, it will drive to 100% duty cycle for 25% of the spin up time. This is the default setting. Bits 4-2 - SPIN_LVL[2:0] = `010b' tells the circuitry that if the Spin Up Routine is invoked, it should run at 40% drive. Bits 1-0 - SPINUP_TIME[1:0] = `10b' tells the circuitry that if the Spin Up Routine is invoked, it will run at 100% duty cycle for 250ms and at 40% duty cycle for 750ms for a total spin up time of 1s. B.2.4 LUT Configuration - Bit Description 7 - USE_DTS_F1 = `0b' tells the circuitry that the data in the Pushed Temperature 1 register is in normal format. Bit 6 - USE_DTS_F2 = `0b' tells the circuitry that the data in the Pushed Temperature 2 register is in normal format. Revision 1.78 (02-28-11) 94 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Bit 5 - LUT_LOCK = `1b' tells the circuitry that the LUT is programmed and is active. This bit must be set for the LUT to function. Bit 4 -TACH / DRIVE = `0b' tells the LUT circuitry that the FSC algorithm is active and that the LUT values are TACH Target settings. This is the default setting. Bits 3-2 - TEMP3_CFG = `10'b tells the Look Up Table to reference the Forced Temperature 1 data instead of the External Diode 3 data or the TRIP_SET / VIN4 data. Bits 1- 0- TEMP4_CFG = `00b' tells the Look Up Table to reference the Internal Temperature data instead of the External Diode 4 data or the Forced Temperature 2 data. Table B.6 Fan Speed Control Table Example #2 FAN SPEED STEP # EXTERNAL DIODE 1 TEMPERATURE (CPU) THERMISTOR 2 VOLTAGE READING PUSHED TEMPERATURE SETTING INTERNAL DIODE TEMPERATURE (AMBIENT) 1 35oC 156.25mV (45C) 30oC 40oC EFh (1028 RPM) 2 40oC 178.125mV (50C) 35oC 45oC A3h (1508 RPM) 3 50oC 203.125mV (55C) 40oC 50oC 7Ah (2014 RPM) 4 60oC 228.125mV (60C) 45oC 55oC 62h (2508 RPM) 5 70oC 253.125mV (65C) 50oC 60oC 52h (2997 RPM) 6 80oC 278.125mV (70C) 55oC 65oC 3Dh (4029 RPM) 7 90oC 306.25mV (75C) 60oC 70oC 31h (5016 RPM) 8 100oC 334.375mV (80C) 65oC 75oC 29h (5994 RPM) TACH TARGET Note: The values shown in Table B.6 are example settings. All the cells in the look-up table are programmable via SMBus. Table B.7 Fan Speed Determination for Example #2 (using settings in Table B.6) EXTERNAL DIODE 1 TEMPERATURE (CPU) THERMISTOR 2 VOLTAGE READING PUSHED TEMPERATURE INTERNAL DIODE TEMPERATURE (AMBIENT) Example 1: 75C 140.375mV 48C 58C 52h (2997 RPM) CPU requires highest target Example 2: 75C 310mV 58C 58C 31h (5016 RPM) Thermistor requires highest target SMSC EMC2104 95 DATASHEET FAN DRIVE SETTING RESULT Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table B.7 Fan Speed Determination for Example #2 (using settings in Table B.6) EXTERNAL DIODE 1 TEMPERATURE (CPU) Example 3: B.3 THERMISTOR 2 VOLTAGE READING 75C INTERNAL DIODE TEMPERATURE (AMBIENT) PUSHED TEMPERATURE 62C 235.125mV FAN DRIVE SETTING RESULT 31h (5016 RPM) Pushed Temperature requires highest target 58C Example #3 This example uses the RPM based Fan Speed Control Algorithm. The Spin Level (used by the Spin Up Routine) should be changed to 50% drive for a total Spin Time of 1 second. For all other RPM configuration settings, the default conditions are used. For control inputs, it uses the External Diode 1 channel normally, the External Diode 2 channel normally, and both Pushed Temperature registers in DTS format. The configuration is set as shown in Table B.8 while Table B.9 shows how the table is loaded. Note that when using DTS data, the USE_DTS_F1 and / or USE_DTS_F2 bits should be set. The Pushed Temperature Registers are loaded with the normal DTS values as received by the processor. When the DTS value is used by the Look Up Table, the value that is stored in the Pushed Temperature Register is subtracted from a fixed temperature of 100C. This resultant value is then compared against the Look Up Table thresholds normally. When programming the Look Up Table, it is necessary to take this translation into account else incorrect settings may be selected. Table B.8 Look Up Table Example #3 Configuration ADDR REGISTER B7 42h Fan 1 Configuration 1 EN_ ALGO Fan 1 Spin Up Configuration DRIVE_FAIL_CNT 1 [1:0] 46h 50h LUT 1 Configuration B.3.1 1 B6 B5 B4 B3 RANGE[1:0] EDGES[1:0] 0 0 B2 B1 B0 SETTING UPDATE[2:0] ABh 1 NOKICK 1 1 0 0 0 0 USE_D TS_F1 USE_D TS_F2 LUT_LO CK TACH / DRIVE 1 1 1 0 1 0 TEMP3_CFG [1:0] 1 1 SPINUP_TIME [1:0] SPIN_LVL[2:0] 0 1 0 1 TEMP4_CFG [1:0] 1 0Ah 0 EAh 0 Fan Configuration 1 Bit Description Bit 7 - EN-ALGO = `1b' tells the circuitry that the FSC alogrithm is active. Bits 6 - 5 - RANGE[1:0] = `01b' tells the FSC that the expected minimum RPM is 1000. This is the defautl setting. Bits 4-3 - EDGES[1:0] = `01b' tells the FSC that the fan is a 2-pole fan generating tach edges per rotation. This is the defautl setting. Revision 1.78 (02-28-11) 96 DATASHEET SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Bits 2 - 0 - UPDATE[2:0] = `011b' tells the FSC to update the fan drive every 400ms. This is the default setting. B.3.2 Fan Spin Up Configuration Bit Description Bits 7-6 - DRIVE_FAIL_CNT[1:0] = `00b' tells the circuitry that the drive fail detection circuitry is not enabled. This is the default setting. Bit 5 - NOKICK = `0b' tells the circuitry that if than Spin Up Routine is invoked, it will drive to 100% duty cycle for 25% of the spin up time. This is the default setting. Bits 4-2 - SPIN_LVL[2:0] = `010b' tells the circuitry that if the Spin Up Routine is invoked, it should run at 40% drive. Bits 1-0 - SPINUP_TIME[1:0] = `10b' tells the circuitry that if the Spin Up Routine is invoked, it will run at 100% duty cycle for 250ms and at 40% duty cycle for 750ms for a total spin up time of 1s. B.3.3 LUT Configuration - Bit Description Bit 7 - USE_DTS_F1 = `1b' tells the circuitry that the data in the Pushed Temperature 1 register is in DTS format which means that the value in the register is equal to 100C - CPU Temp. Bit 6 - USE_DTS_F2 = `1b' tells the circuitry that the data in the Pushed Temperature 2 register is in DTS format which means that the value in the register is equal to 100C - CPU temp. Bit 5 - LUT_LOCK = `1b' tells the circuitry that the LUT is programmed and is active. This bit must be set for the LUT to function. Bit 4 -TACH / DRIVE = `0b' tells the LUT circuitry that the FSC algorithm is active and that the LUT values are TACH Target settings. This is the default setting. Bits 3-2 - TEMP3_CFG = `10'b tells the Look Up Table to reference the Forced Temperature 1 data instead of the External Diode 3 data or the TRIP_SET / VIN4 data. Bits 1- 0- TEMP4_CFG = `10b' tells the Look Up Table to reference the Forced Temeprature 2 data instead of the Internal Diode data or the External Diode 4 data. Table B.9 Fan Speed Control Table Example #3 FAN SPEED STEP # EXTERNAL DIODE 1 TEMPERATURE (CPU) EXTERNAL DIODE 2 TEMPERATURE (GPU) PUSHED TEMPERATURE SETTING (DTS1) PUSHED TEMPERATURE SETTING (DTS2) 1 35oC 65oC 50oC 40oC EFh (1028 RPM) 2 40oC 75oC 55oC 45oC A3h (1508 RPM) 3 50oC 85oC 60oC 50oC 7Ah (2014 RPM) 4 60oC 90oC 65oC 55oC 62h (2508 RPM) 5 70oC 95oC 70oC 60oC 52h (2997 RPM) 6 80oC 100oC 75oC 65oC 3Dh (4029 RPM) SMSC EMC2104 97 DATASHEET TACH TARGET Revision 1.78 (02-28-11) Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Table B.9 Fan Speed Control Table Example #3 (continued) FAN SPEED STEP # EXTERNAL DIODE 1 TEMPERATURE (CPU) EXTERNAL DIODE 2 TEMPERATURE (GPU) PUSHED TEMPERATURE SETTING (DTS1) PUSHED TEMPERATURE SETTING (DTS2) 7 90oC 105oC 80oC 80oC 31h (5016 RPM) 8 100oC 110oC 85oC 100oC 29h (5994 RPM) TACH TARGET Note: The values shown in Table B.9 are example settings. All the cells in the look-up table are programmable via SMBus. Table B.10 Fan Speed Determination for Example #3 (using settings in Table B.9) EXTERNAL DIODE 1 TEMPERATURE (CPU) EXTERNAL DIODE 2 TEMPERATURE (GPU) Example 1: 75C Example 2: Example 3: PUSHED TEMPERATURE (DTS1) PUSHED TEMPERATURE (DTS2) 75C 35C (translated as 65C) 50C (translated as 50C) 52h (2997 RPM) CPU requires highest target 75C 90C 15C (translated as 85C) 20C (translated as 80C) 29h (5994 RPM) DTS1 requires highest target 75C 97.25C 30C (translated as 70C) 23C (translated as 77C) 3Dh (40296 RPM) DTS2 requires highest target Revision 1.78 (02-28-11) 98 DATASHEET FAN DRIVE SETTING RESULT SMSC EMC2104 Dual RPM-Based PWM Fan Controller with Hardware Thermal Shutdown Datasheet Chapter 8 Datasheet Revision History Table 8.1 Customer Revision History REVISION LEVEL & DATE Rev. 1.78 (02-28-11) SECTION/FIGURE/ENTRY CORRECTION Ordering Information Modified from EMC2104-BP to EMC2104-BP-TR Table 3.2, "Electrical Specifications" Added electrical specs for SMbus delay and time to first conversion Section 7.2, "Package Markings" Added figures for package markings Rev. 1.77 (03-16-09) RPM Appendix Removed this appendix to consolidate information in application note Rev. 1.76 (03-11-09) Section 6.31, "TACH Reading Registers" Added reference to application note AN17.4 Rev. 1.75 (03-06-09) Appendix B "Look Up Table Operation" Updated entire section - examples were incorrect for RPM values and fleshed out bit descriptions SMSC EMC2104 99 DATASHEET Revision 1.78 (02-28-11) Mouser Electronics Authorized Distributor Click to View Pricing, Inventory, Delivery & Lifecycle Information: Microchip: EMC2104-BP-TR