|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
smsc emc2104 datasheet revision 1.72 (03-07-08) datasheet product features emc2104 dual rpm-based pwm fan controller with hardware thermal shutdown general description the emc2104 is an smbus co mpliant 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. the emc2104 also includes a hardware programmable temperature limit s and dedicated system shutdown output for thermal protection of critical circuitry. applications ? notebook computers ? embedded applications ? projectors ? industrial and networking equipment features ? two programmable fan control circuits. ? 4-wire fan compatible ? high speed pwm (26khz) ? low speed pwm (9.5hz - 2240hz) ? optional detection of aging fans ? rpm based fan control algorithm ? 2% accuracy from 500rpm to 16k rpm ? temperature look-up table ? 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 s upports cpus requiring the bjt or transistor models ? resistance error correction ? 1c accurate (60c to 100c) ? 0.125c resolution ? detects fan aging and variation ? 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 ? available in 20-pin qfn package - lead free rohs compliant (4mm x 4mm)
order number: ordering number package features EMC2104-BP 20 pin qfn (lead-free rohs compliant) two pwm fan drivers, up to 4 external diode measurement channels, one critical / thermal shutdown inputs. dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 2 smsc emc2104 datasheet 80 arkay drive, hauppauge, ny 11788 (631) 435-6000, fax (631) 273-3123 copyright ? 2008 smsc or its subsidiaries. all rights reserved. circuit diagrams and other information relating to smsc produc ts 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 re sponsibility is assumed for inaccuracies. smsc reserves the right to make changes to specifications and produc t descriptions at any time without notice. contact your local sm sc sales office to obtain the latest specifications before placing your product order. the provision of this inform ation does not convey to the purchaser of the described semicond uctor 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 te rms 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 pro duct may contain design defects or errors known as anomalies which may cause the product's functions to deviate from published specifications. anomaly sheets are availab le 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 h ttp://www.smsc.com. smsc is a registered trademark of standard microsystems corporat ion (?smsc?). product names and company na mes are the trademarks of their respective holders. smsc disclaims and excludes any and all warrant ies, including without limi tation any and all implied warranties of merchantabil ity, fitness for a particular purpose, title, a nd against infringement and the like, and any and all warranties arising from any cou rse of dealing or usage of trade. in no event shall smsc be liable for any direct, incidental, indi rect, special, punitive, or cons equential damages; or for lost data, profits, savings or revenues of any kind; regardless of the form of action, whether based on contrac t; tort; negligence of smsc or others; strict liability; breach of wa rranty; or otherwise; whether or not any remedy of buyer is h eld to have failed of its essential purpose, and whether or not smsc has been advised of the possibility of such damages. dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 3 revision 1.72 (03-07-08) datasheet table of contents chapter 1 block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 chapter 2 pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 chapter 3 electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1 electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 smbus electrical specifications (client mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 chapter 4 communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1 system management bus interface protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2 write byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.3 read byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.4 send byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.5 receive byte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.6 alert response address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.7 smbus address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.8 smbus time-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 chapter 5 product description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1 critical/thermal shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.1.1 shdn_sel pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.1.2 trip_set / vin4 pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 fan control modes of operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.3 pwm fan driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.4 fan control look-up table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.4.1 programming the look up table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.4.2 dts support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.5 rpm based fan speed control algorithm (fsc) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.5.1 programming the rpm based fan speed control algo rithm . . . . . . . . . . . . . . . . . . . . . 31 5.6 tachometer measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.6.1 stalled fan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.6.2 32khz clock source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.6.3 aging fan or invalid drive detectio n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.7 spin up routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.8 ramp rate control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.9 watchdog timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.10 fault queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.11 temperature monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.11.1 dynamic averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.11.2 resistance error correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5 5.11.3 beta compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.11.4 digital averaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.12 thermistor support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.13 diode connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.13.1 diode faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.14 gpios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.15 interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 chapter 6 register set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.1 register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.1.1 lock entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 4 smsc emc2104 datasheet 6.2 temperature data registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.3 critical/thermal shutdown temperature registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6.4 pushed temperature registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.5 voltage registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.6 beta configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.7 rec configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.8 critical temperature limit registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.9 configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.10 configuration 2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.11 configuration 3 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.12 interrupt status register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.13 error status registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.13.1 tcrit status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.14 fan status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.15 interrupt enable register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.16 fan interrupt enable register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.17 pwm configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.18 pwm base frequency register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.19 limit registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.20 fan setting registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6.21 pwm 1 and 2 divide registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6.22 fan configuration 1 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.23 fan configuration 2 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.24 gain registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.25 fan spin up configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.26 fan step registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.27 fan minimum drive registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.28 valid tach count registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.29 fan drive fail band registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.30 tach target registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.31 tach reading registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6.32 look up table configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.33 look up table 1 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.34 look up table 2 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.35 muxed pin configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.36 gpio direction register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.37 gpio / pwm pin output configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.38 gpio input register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.39 gpio output register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.40 gpio interrupt enable register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.41 gpio status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.42 software lock register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.43 product features register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.44 product id register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.45 manufacturer id register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.46 revision register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 chapter 7 package drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.1 qfn 20-pin 4mm x 4mm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 appendix a thermistors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 a.1 thermistor look up tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 appendix b look up table operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 5 revision 1.72 (03-07-08) datasheet b.1 example #1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 b.2 example #2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 b.3 example #3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 appendix c rpm to tachometer count look up table . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 c.1 1k rpm range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 6 smsc emc2104 datasheet list of figures figure 1.1 emc2104 block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 figure 2.1 emc2104 pin diagram (20 pin qfn). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 figure 4.1 smbus timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 figure 5.1 system diagram of emc2 104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 figure 5.2 emc2106 critical/thermal shutdown block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 figure 5.3 fan control look-up table example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 figure 5.4 rpm based fan speed control algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 figure 5.5 spin up routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 figure 5.6 ramp rate control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 figure 5.7 diode connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 figure 6.1 lowdrive supported drive circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 figure 7.1 emc2104 20-pin 4x4mm qfn package outline and parameters . . . . . . . . . . . . . . . . . . . . 84 figure a.1 ?low side? thermistor connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 7 revision 1.72 (03-07-08) datasheet list of tables table 2.1 pin description for emc2104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 table 2.2 pin types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 table 3.1 absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 table 3.2 electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 table 3.3 smbus electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 table 4.1 protocol format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 table 4.2 write byte protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 table 4.3 read byte protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 table 4.4 send byte protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 table 4.5 receive byte protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 table 4.6 alert response address protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 table 5.1 shdn_sel pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 table 5.2 trip_set resistor setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 table 5.3 fan controls active for operating mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 table 5.4 dynamic averaging behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 table 6.1 emc2104 register set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 table 6.2 temperature data registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 table 6.3 temperature data format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 table 6.4 critical/thermal shutdown temperature registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 table 6.5 critical / thermal shutdown data format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 table 6.6 pushed temperature register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 table 6.7 tripset voltage register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 table 6.8 beta configuration registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 table 6.9 beta compensation look up table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 table 6.10 rec configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 table 6.11 limit registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 table 6.12 configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 table 6.13 configuration 2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 table 6.14 fault queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 table 6.15 conversion rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 table 6.16 configuration 3 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 table 6.17 interrupt status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 table 6.18 error status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 table 6.19 fan status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 table 6.20 interrupt enable register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 table 6.21 fan interrupt enable register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 table 6.22 pwm configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 table 6.23 pwm base frequency register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 table 6.24 pwm_basex[1:0] bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 table 6.25 limit registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 table 6.26 fan driver setting register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 table 6.27 pwm 1 and 2 divide registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 table 6.28 fan configuration 1 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 table 6.29 range decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 table 6.30 minimum edges for fan ro tation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 table 6.31 update time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 table 6.32 fan configuration 1 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 table 6.33 derivative options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 table 6.34 error range options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 table 6.35 gain registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 table 6.36 gain decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 table 6.37 fan spin up configuration registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 table 6.38 drive_fail_cnt[1:0] bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 8 smsc emc2104 datasheet table 6.39 spin level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 table 6.40 spin time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 table 6.41 fan step registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 table 6.42 minimum fan drive registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 table 6.43 valid tach count registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 table 6.44 fan drive fail band registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 table 6.45 tach target registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 table 6.46 tach reading registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 table 6.47 look up table configuration registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 table 6.48 temp3_cfg decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 table 6.49 temp4_cfg decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 table 6.50 look up table 1 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 table 6.51 look up table2 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 table 6.52 muxed pin configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 table 6.53 gpio direction register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 table 6.54 gpio / pwm pin output configuration register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 table 6.55 gpio input register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 table 6.56 gpio output register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 table 6.57 gpio interrupt enable register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 table 6.58 gpio status register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 table 6.59 software lock register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 table 6.60 product features register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 table 6.61 shdn_sel bit decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 table 6.62 product id register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 table 6.63 manufacturer id register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 table 6.64 revision register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 table a.1 ?low side? thermistor look up table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 table a.2 inverted thermistor look up table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 table b.1 look up table format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 table b.2 look up table example #1 configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1 table b.3 fan speed control table example #1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 table b.4 fan speed determination for example #1 (using settings in ta b l e b . 3 ) . . . . . . . . . . . . . . . . . 91 table b.5 look up table example #2 configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 table b.6 fan speed control table example #2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 table b.7 fan speed determination for example #2 (using settings in ta b l e b . 6 ) . . . . . . . . . . . . . . . . . 93 table b.8 look up table example #3 configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4 table b.9 fan speed control table example #3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 table b.10 fan speed determination for example #3 (using settings in ta b l e b . 9 ) . . . . . . . . . . . . . . . . . 95 table c.1 tachometer count to rpm look up table (range = 1000 rpm). . . . . . . . . . . . . . . . . . . . . . 96 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 9 revision 1.72 (03-07-08) datasheet chapter 1 block diagram figure 1.1 emc2104 block diagram analog mux external temp diodes internal temp diode 11 bit adc temp registers smbus slave protocol pwm drivers configuration dp1 dn1 smclk smdata temp limit registers dp2 dn2 alert# thermal shutdown logic sys_shdn# tachs tach1 lookup table / rpm control dp3 / dn4* dn3 / dp4* clk_in* gpios gpio1* shdn_sel trip_set* anti- parallel diode vdd gnd pwm2* * denotes multiple pin functions reference vref* pwm1 gpio2* gpio3* tach2* vin1* vin2* vin3* dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 10 smsc emc2104 datasheet chapter 2 pin description figure 2.1 emc2104 pin diagram (20 pin qfn) emc2104 20-qfn 1 2 3 4 6 7 8 9 5 10 15 14 13 12 20 19 18 17 11 16 dn1 / vin1 dp1 / vref_t1 trip_set / vin4 vdd smclk dn2 / vin2 dp2 / vref_t2 dn3 / dp4 / vin3 dp3 / dn4 / vref_t3 pwm1 tach2 / gpio2 smdata alert# sys_shdn# clk_in / gpio1 shdn_sel tach1 pwm2 / gpio3 gnd n/c dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 11 revision 1.72 (03-07-08) datasheet table 2.1 pin description for emc2104 pin number emc2104 pin name pin function pin type 1 dn1 / vin1 dn1 - negative (cathode) analog input for external diode 1 (default) aio (2v) vin1 - general voltage input for use with a thermistor ai (2v) 2 dp1 / vref_t1 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) 3 gnd ground connection power 4 vdd power supply power 5alert# active low interrupt - requires external pull-up resistor. od (5v) 6 clk_in / gpio1 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) 7 sys_shdn# active low critical system shutdown output od (5v) 8smdata smbus data input/output - requires external pull-up resistor diod (5v) 9smclk smbus clock input - requires external pull-up resistor diod (5v) 10 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) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 12 smsc emc2104 datasheet 11 tach2 / gpio2 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) 12 tach1 tachometer input for fan 1 di (5v) 13 pwm1 pwm1 - open drain pwm drive output for fan 1 (default) od (5v) pwm1 - push-pull pwm drive output for fan 1 do 14 n/c not internally connected n/a 15 trip_set / vin4 trip_set - determines hw shutdown temperature features for the hardware shutdown channel ai (2v) vin4 - general voltage input when thermal / critical shutdown disabled ai (2v) 16 shdn_sel determines hw shutdown temperature features and measurement channel aio 17 dn3 / dp4 / vin3 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) 18 dp3 / dn4 / vref_t3 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) 19 dn2 / vin2 dn2 - negative (cathode) analog input for external diode 2 (default) aio (2v) vin2 - general voltage input for use with a thermistor ai (2v) 20 dp2 / vref_t2 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) table 2.1 pin description for emc2104 (continued) pin number emc2104 pin name pin function pin type dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 13 revision 1.72 (03-07-08) datasheet the pin type are described in detail below. a ll 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 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. dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 14 smsc emc2104 datasheet chapter 3 electrical specifications note: stresses above those listed could cause permane nt damage to the device. this is a stress rating only and functional operation of the devic e 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 supplie s, it is important that the absolute maximum ratings not be exceeded or device failure can result. some po wer 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 po ssibility exists, it is suggested that a clamp circuit be used. 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. 3.1 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 t a = 85c w junction to ambient ( ja ) see note 3.2 40 c/w operating ambient temperature range -40 to 125 c storage temperature range -55 to 150 c esd rating, all pins, hbm 2000 v table 3.2 electrical specifications vdd = 3v to 3.6v, vdd_5v = 4.5v to 5.5v, t a = -40c to 85c, all typical values at t a = 27c unless otherwise noted. characteristic symbol min typ max unit conditions dc power supply voltage v dd 33.33.6v supply current (active) i dd 2 3 ma 4 conversions / second - dynamic averaging enabled fan driver enabled at max pwm frequency supply current i dd 500 750 ua 1 conversions / second- dynamic averaging disabled, fan driver disabled. dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 15 revision 1.72 (03-07-08) datasheet supply current from vdd_5v i dd_5 100 ua fan driver enabled, no load current external temperature monitors temperature accuracy 0.25 1 c 60c < t diode < 110c 30c < t die < 85c 0.5 2 c 0c < t diode < 125c, 0c < t die < 115c temperature resolution 0.125 c diode decoupling capacitor c filter 2200 2700 pf connected across external diode, cpu, gpu, or amd diode resistance error corrected r series 100 ohm sum of series resistance in both dp and dn lines internal temperature monitor temperature accuracy t die 1 2 c temperature resolution 0.125 c voltage measurement total unadjusted error tue 1 % measured at 3/4 full scale reference voltage v ref 800 mv reference accuracy v ref 1% pwm fan driver pwm resolution pwm 256 steps pwm duty cycle duty 0 100 % rpm based fan controller tachometer range tach 480 16000 rpm tachometer setting accuracy tach 1 2 % external oscillator 32.768khz tach 2.5 5 % internal oscillator 40c < t die < 100c digital i/o pins input high voltage v ih 2.0 v input low voltage v il 0.8 v table 3.2 electrical specifications (continued) vdd = 3v to 3.6v, vdd_5v = 4.5v to 5.5v, t a = -40c to 85c, all typical values at t a = 27c unless otherwise noted. characteristic symbol min typ max unit conditions dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 16 smsc emc2104 datasheet 3.2 smbus electrical spec ifications (client mode) output high voltage v oh vdd - 0.4 v 4 ma current drive output low voltage v ol 0.4 v 4 ma current sink leakage current i leak 5 ua alert and sys_shdn pins powered and unpowered table 3.3 smbus electrical specifications vdd= 3v to 3.6v, t a = -40c to 85c typical values are at t a = 27c unless otherwise noted. characteristic symbol min typ max units conditions smbus interface input high voltage v ih 2.0 v input low voltage v il 0.8 v output high voltage v oh vdd - 0.4 v output low voltage v ol 0.4 v 4 ma current sink input high/low current i ih / i il 5 ua powered and unpowered input capacitance c in 5pf smbus timing clock frequency f smb 10 400 khz spike suppression t sp 50 ns bus free time start to stop t buf 1.3 us setup time: start t su:sta 0.6 us setup time: stop t su:stp 0.6 us data hold time t hd:dat 0.6 6 us data setup time t su:dat 0.6 72 us table 3.2 electrical specifications (continued) vdd = 3v to 3.6v, vdd_5v = 4.5v to 5.5v, t a = -40c to 85c, all typical values at t a = 27c unless otherwise noted. characteristic symbol min typ max unit conditions dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 17 revision 1.72 (03-07-08) datasheet clock low period t low 1.3 us clock high period t high 0.6 us clock/data fall time t fall 300 ns min = 20+0.1c load ns clock/data rise time t rise 300 ns min = 20+0.1c load ns capacitive load c load 400 pf per bus line table 3.3 smbus electrical specifications (continued) vdd= 3v to 3.6v, t a = -40c to 85c typical values are at t a = 27c unless otherwise noted. characteristic symbol min typ max units conditions dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 18 smsc emc2104 datasheet chapter 4 communications 4.1 system management bus interface protocol the emc2104 communicates with a host controller, su ch as an smsc sio, through the smbus. the smbus is a two-wire serial communication prot ocol 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. the emc2104 contains a single smbus interfac e. the smbus address is determined by the addr_sel pin (see section 4.7 )the emc2104 client interfaces are smbus 2.0 compatible and support send byte, read byte, receive byte and th e alert response address as valid protocols. these protocols are used as shown below. all of the below protocols use the convention in ta b l e 4 . 1 . 4.2 write byte the write byte is used to write one byte of data to the registers as shown below table 4.2 : figure 4.1 smbus timing diagram table 4.1 protocol format data sent to device data sent to the host # of bits sent # of bits sent 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 smdata smclk t low t rise t high t fall t buf t hd:sta p s s - start condition p - stop condition t hd:dat t su:dat t su:sta t hd:sta p t su:sto s dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 19 revision 1.72 (03-07-08) 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 . 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 ta b l e 4 . 4 . 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 ta b l e 4 . 5 . 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.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 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 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 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 20 smsc emc2104 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 slav e 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 t he emc2104 smbus interface with an invalid slave address or invalid protocol will result in no response from the de vice 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. dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 21 revision 1.72 (03-07-08) 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 pw m outputs with programmable frequencies. the fan drivers can be operated using two method s each with two modes. the methods include an rpm based fan speed control algorithm and a dire ct pwm drive setting. the modes include manually programming the desired settings or using the internal programmab le 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 suppor t for bjt or transistor model for cpu diodes). the emc2104 also includes a hardware progra mmable 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 diagr am of the emc2104. figure 5.1 system diagram of emc2104 emc2104 dp1* dn1* dp2* dn2* cpu thermal diode thermal diode gpu 3.3v trip_set* smclk smdata alert# vdd tach1 tachometer pwm1 3.3v drive circuit 0.8v 1.2k 3.3v kbc 3.3v sys_shdn# shdn_sel tach2* tachometer 3.3v drive circuit 32.768khz clock clk_in* pwm2* dp3 / dn4* dn3 / dp4* apd (optional) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 22 smsc emc2104 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 fu nction. the critical/thermal shutdown function in the emc2104 accepts configuration information fr om 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 t he hardware shutdown operation. when configured to operate this way, the sys_shdn# pin will be asse rted 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 temperat ure is then compared with trip_set point. this trip_set po int 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 exce eds the temperature threshold established by the trip_set input pin for a number of consecutive measuremen ts defined by the fault queue. if the hw_shdn output is asserted and t he temperature drops below the thermal / critical shutdown threshold then it will be set to a logic ?0? state. figure 5.2 emc2106 critical/thermal shutdown block diagram voltage conversion sys_shdn# trip_set external diode 1 critical shutdown logic smbus traffic sw_shdn configuration register vref shdn_sel pin decode ?1? temperature conversion register enabled sensor register enabled sensor register enabled sensor register enabled sensor 0 1 internal diode channel hw_shdn temperature conversion and limit registers dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 23 revision 1.72 (03-07-08) 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 pi n has 3 possible states and is monitored and decoded by the emc2104 at power-up. the three possibl e 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 ta b l e 5 . 1 . shdn_sel applies only to the selected temperature channel. 5.1.2 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 volt age 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 ta b l e 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 in ternal diode temperature. this will cause the sys_shdn# pin to assert if the measured temp erature 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 powe r 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 powe r 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 bein g monitored. at all other times, the internal reference voltage is removed and the trip_set / vin4 pin will be pulled down to ground. table 5.1 shdn_sel pin configuration shdn_sel function name temperature moni toring features critical / thermal shutdown range 0 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 high-z (open) 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 1 internal the internal diode is linked to the hardware set thermal / critical shutdown circuitry and the sys_shdn# pin. low - 60c to 122c dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 24 smsc emc2104 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 / cr itical shutdown temperature may be decoded with as much as 1c error. v trip is the trip_set voltage [1] t min is the minimum temperature based on the range table 5.2 trip_set resistor setting t trip (c) low range t trip (c) high range rset (1%) t trip (c) low range t trip (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 v trip t trip t min ? 80 ---------------------------------- = dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 25 revision 1.72 (03-07-08) datasheet 5.2 fan control modes of operation the emc2104 has four modes of o peration 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 m ode 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 th e current drive will be changed to what was last written into the fan driver setting register. 2. fan speed control mode (fsc) - in this mo de of operation, the user determines a target tachometer count and the drive sett ing 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_a lgo 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 t able with fan drive se ttings and corresponding temperature thresholds. the fan drive is se t based on the measured temperatures and the corresponding drive settings. ramp rate contro l is optional and enabled via the en_rrc bits. ? this mode is enabled by programming the l ook 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 c onfiguration register must be set to ?1? or the fan drive settings will be incorrectly set. se tting 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 ? this mode is enabled by programming the l ook up table then setting the lut_lock bit while the tach / drive bit is set to ?0? 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 table 5.2 trip_set resistor setting (continued) t trip (c) low range t trip (c) high range rset (1%) t trip (c) low range t trip (c) high range rset (1%) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 26 smsc emc2104 datasheet ? the tach / drive bit in the look up table c onfiguration register must be set to ?0? or the tach target values will be incorrectly set. setting this bit to ?0? ensures tha the settings will be rpm settings (tachometer counts). application note: it is important that the tach target setti ngs are in the proper format when using the rpm based fan speed control algorithm. 5.3 pwm fan driver the emc2104 supports two pwm output driver s. 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 table 5.3 fan controls active for operating mode direct setting mode fsc mode direct setting w/ lut 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 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 27 revision 1.72 (03-07-08) 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 sett ing for each temperatur e setting of interest. if the measured temperature on the external diode c hannel 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, th e highest fan drive setting will take precedence. when the measured temperat ure drops to a point below a lower threshold minus the hysteresis value, the fan output will be set to t he corresponding lower set point. figure 5.3 shows an example of this operation using te mperature - drive setting pairs for a single channel. see appendix b for examples of the look up table operation. figure 5.3 fan control look-up table example time fan setting temp s2 s3 s4 t4 t5 t6 averaged temperature t4 - hyst t5 - hyst t6 - hyst s1 t3 t3 - hyst t2 t2 - hyst s6 t1 s5 measurement taken fan setting t7 t7 - hyst t8 t8 - hyst s7 s8 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 28 smsc emc2104 datasheet 5.4.1 programming the look up table when the look up table is used, it must be l oaded and configured correct ly 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 tachomet er target value and set the tach / drive bit in the fan lut configuration register. 2. determine which measurement channels (up to fou r) 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 th e 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 t control which is generally equal to 100c for intel mobile processors. for example, a dts value of 10c means that the ac tual processor temperature is 10c below t control or equal to 90c. either or both of the pushed temp erature 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, th e 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 t control is 100c. as such, all dts related conversions are done based on this value including look up table comparisons. if t control is adjusted (i.e. t control is shifted to 105c), then all of the look up table thresholds should be adjusted by a value equal to t control - 100c. 5.5 rpm based fan speed control algorithm (fsc) the emc2104 includes antwo rpm based fan spe ed control algorithms. ea ch 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 propor tional 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 co unt is set by the user inputting t he desired number of 32.768khz cycles that occur per fan revolution. this is done by eith er manually setting the ta ch target register or by programming the temperature look-u p 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. dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 29 revision 1.72 (03-07-08) 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 targ et register). this number represents the number of 32.768khz cycles that would occu r 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 algo rithm has programmable configuration settings for parameters such as ramp-rate control and spin up conditions. th e fan driver autom atically 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. dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 30 smsc emc2104 datasheet figure 5.4 rpm based fan speed control algorithm set tach target count tach reading = tach target? spin up required ? perform spin up routine maintain fan drive tach reading < tach target? reduce fan drive increase fan drive measure fan speed yes no yes no yes no ramp rate control dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 31 revision 1.72 (03-07-08) 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 ta ch 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 circui try is used in conjunction with the rpm based fan speed control algorithm to update the fan driver output. addition ally, it can be used in direct setting mode as a diagnostic for host based fan control. this method monitors the tachx signal in re al time. it constantly updates the tachometer measurement by reporting the number of clocks bet ween a user programmed number of edges on the tachx signal (see ta b l e 6 . 3 0 ) the tachometer measurement prov ides fast response times for the rpm based fan speed control algorithm and the data is presented as a count va lue 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 le vel that is lower than the fan can operate (including zero drive), then the ta chometer 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 exce eds 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 bi t is checked conditionally depending on the mode of operation. ? whenever the direct setting mode or direct setti ng with lut mode is enabled or whenever the spin up routine is enabled, the fan_stall in terrupt will be masked for the duration of the programmed spin up time (see ta b l e 6 . 4 0 ) to allow the fan an opportunity to reach a valid speed without generating unnecessary interrupts. ? in direct setting mode or direct setting w/ lut mo de, and the tachometer measurement is using the tach period measurement method, then whene ver the tach reading register value exceeds the valid tach count register setting, the fan_stall status bit will be set. dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 32 smsc emc2104 datasheet ? when using the rpm based fan speed control algorithm (either fsc mode or lut with fsc mode), the stalled fan condition is checked whene ver the update time is met and the fan drive setting is updated. it is not a continuous check. 5.6.2 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 tachomet er 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 in valid 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 co ntains circuitry that detects that the programmed fan speed can be reached by the fa n. if the target fan speed canno t be reached within a user defined band of tach counts at maximum drive then the dri ve_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 setti ng mode (with or without t he 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 m easured tach reading register value is greater than the valid tach count setting. when the spin up routine is operating, the fan driv er 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 em c2104 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. dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 33 revision 1.72 (03-07-08) datasheet 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 se ttings based on the maximum fan step register settings and the update time settings. if the rpm based fan speed control algorithm is us ed, then this ramp rate control is automatically used. the user programs a maximum step size fo r 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 fr om 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 de termined by the update time until the target fan drive setting is reached. see figure 5.6 . figure 5.5 spin up routine 100% (optional) 30% through 65% algorithm controlled drive fan step spin up time ? of spin up time update time target count changed target count reached new target count prev target count = ffh check tach dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 34 smsc emc2104 datasheet 5.9 watchdog timer the emc2104 contains two internal watchdog time rs. once the device has powered up the watchdog timer monitors the smbus traffic fo r 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 time r. disabling the watchdog associated with fan 1 will not disable the watch dog associated with fan 2. if four (4) seconds elapse withou t the system host programming the device, then th e 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. alter nately, 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 watchdo g timer. the fan driver will be set based on the look up table settings. writing any other configuration register s will not disable the watchdog timer. figure 5.6 ramp rate control previous setting next desired setting max step max step update time update time setting changed dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 35 revision 1.72 (03-07-08) 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 temper ature high, low, and tcrit limits as well as the hardware set thermal limit). the fault queue defines how many consecutiv e 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 f ault 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. 5.11.1 dynamic averaging the emc2104 supports dynamic averaging. when enable d, this feature changes the conversion time for all channels based on the selected conversion ra te. this essentially increases the averaging factor as shown in ta b l e 5 . 4 . the benefits of dynamic averaging are improved noise rejection due to the longer integration time as well as less ran dom variation on the temperature measurement. 5.11.2 resistance error correction the emc2104 includes active resistance error correction to remove the effect of up to 100 ohms of series resistance. without this aut omatic 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. table 5.4 dynamic averaging behavior conversion rate averaging factor (relative to 11-bit conversi0n) dynamic averaging enabled dynamic averaging disabled 1 / sec 8x 1x 2 / sec 4x 1x 4 / sec 2x 1x 8 / sec 1x 1x dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 36 smsc emc2104 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 temperatur e. this correction is done by implementing the bjt or transistor model for temperature measurement. for discrete transistors configured with the collect or 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 s ubstrate 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 av eraging filter. every cycle, this filter updates the temperature data based an a runnin g 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 exter nal 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 c hannel is determined at power-up based on the shdn_sel pin (see section 5.1.1 ). this channel can support a di ode-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 config ured in apd mode, a four th 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. dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 37 revision 1.72 (03-07-08) datasheet 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 dio de 3 channel is configured to operate in apd mode, the circuitry will detect independent open fault cond itions, 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 (a ll are multiplexed with other functions). the gpio pins can be configured as an input or an output an d 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 st atus register and in the high, low, and fault status registers. 2. the alert# will be asserted if the spec ific channel interrupt is enabled (see section 6.15 ). the alert# pin is cleared by setti ng the mask bit, disabling the spec ific interrupt ch annel en able, 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, th e alert# pin will likewise be set. figure 5.7 diode connections local ground to dp typical remote substrate transistor i.e. cpu substrate pnp typical remote discrete pnp transistor i.e. 2n3906 typical remote discrete npn transistor i.e. 2n3904 to dn to dp to dn to dp to dn anti-parallel diodes using discrete npn transistors diode 1 diode 2 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 38 smsc emc2104 datasheet chapter 6 register set 6.1 register map the following registers are accessible through the smbu s 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 r/w register name 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 39 revision 1.72 (03-07-08) datasheet 0dh 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 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 tc r i t l i m i t stores the critical temperature limit for the external diode 1 64h (100c) write lock page 55 1ah r/w external diode 2 tc r i t l i m i t stores the critical temperature limit for the external diode 2 64h (100c) write lock page 55 1bh r/w external diode 3 tc r i t l i m i t stores the critical temperature limit for the external diode 3 64h (100c) write lock page 55 1ch r/w external diode 4 tc r i t l i m i t stores the critical temperature limit for the external diode 4 64h (100c) write lock page 55 1dh r/w internal diode tc r i t l i m i t 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 table 6.1 emc2104 regi ster set (continued) addr r/w register name function default value lock page dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 40 smsc emc2104 datasheet 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 fr equency for all pwm drivers. ffh no page 62 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 table 6.1 emc2104 regi ster set (continued) addr r/w register name function default value lock page dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 41 revision 1.72 (03-07-08) datasheet 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. 00h no page 64 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 stores the number of tach counts used to determine how the actual fan speed must match the target fan speed at full scale drive 00h swl page 73 4bh r/w fan 1 drive fail band high byte 00h swl 4ch r/w tach 1 target low byte holds the target tachometer reading low byte fan 1 f8h no page 73 4dh r/w tach 1 target high byte holds the target tachometer reading high byte for fan 1 ffh no page 73 4eh r tach 1 reading high byte holds the tachometer reading high byte for fan 1 ffh no page 74 4fh 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 table 6.1 emc2104 regi ster set (continued) addr r/w register name function default value lock page dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 42 smsc emc2104 datasheet 52h r/w lut 1 temp 1 setting 1 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 53h r/w 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 54h 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 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 7fh (127c) lut lock 1 page 76 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 5eh r/w 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 table 6.1 emc2104 regi ster set (continued) addr r/w register name function default value lock page dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 43 revision 1.72 (03-07-08) datasheet 5fh r/w lut 1 temp 4 setting 3 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 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 63h 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 68h 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 table 6.1 emc2104 regi ster set (continued) addr r/w register name function default value lock page dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 44 smsc emc2104 datasheet 6dh r/w lut 1 temp 3 setting 6 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 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 72h 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 77h 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 table 6.1 emc2104 regi ster set (continued) addr r/w register name function default value lock page dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 45 revision 1.72 (03-07-08) datasheet 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. 00h no page 64 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 stores the number of tach counts used to determine how the actual fan speed must match the target fan speed at full scale drive 00h swl page 73 8bh r/w fan 2 drive fail band high byte 00h swl 8ch r/w tach 2 target low byte holds the target tachometer setting low byte for fan 2 f8h no page 73 8dh r/w tach 2 target high byte holds the target tachometer setting high byte for fan 2 ffh no page 73 8eh r tach 2 reading high byte holds the tachometer reading high byte for fan 2 ffh no page 74 8fh 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 table 6.1 emc2104 regi ster set (continued) addr r/w register name function default value lock page dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 46 smsc emc2104 datasheet 92h r/w lut 2 temp 1 setting 1 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 93h r/w 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 94h 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 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 7fh (127c) lut lock 2 page 78 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 9eh r/w 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 table 6.1 emc2104 regi ster set (continued) addr r/w register name function default value lock page dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 47 revision 1.72 (03-07-08) datasheet 9fh r/w lut 2 temp 4 setting 3 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 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 a3h 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 a8h 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 table 6.1 emc2104 regi ster set (continued) addr r/w register name function default value lock page dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 48 smsc emc2104 datasheet adh 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 6 value 7fh (127c) lut lock 2 page 78 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 b2h 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 b7h 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 gpio registers table 6.1 emc2104 regi ster set (continued) addr r/w register name function default value lock page dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 49 revision 1.72 (03-07-08) datasheet 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 vo ltage on the vdd supply surpasses the por level as specified in the electrical charac teristics. 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. 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 lock register ef r/w software lock locks all swl registers 00h swl page 82 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 table 6.1 emc2104 regi ster set (continued) addr r/w register name function default value lock page dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 50 smsc emc2104 datasheet 6.2 temperature data registers the temperature measurem ent 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 ). 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 02h r 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 03h r external diode 1 low byte 0.5 0.25 0.125 - - - - - 00h 04h r 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 05h r external diode 2 low byte 0.5 0.25 0.125 - - - - - 00h 06h r 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 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 51 revision 1.72 (03-07-08) datasheet 6.3 critical/thermal shut down temperature registers the critical/thermal shutdown temper ature register is a read-only r egister that stores the voltage programmable threshold temperature used in the thermal / critical shutdown circuitry. the contents of the register reflect the calc ulated 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 ta b l e 6 . 5 . 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 table 6.4 critical/thermal shutdown temperature registers addrr/wregister b7b6b5b4b3b2b1b0default 0ah r critical/thermal shutdown temperature 128 64 32 16 8 4 2 1 7fh (+127c) 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 52 smsc emc2104 datasheet 6.4 pushed temperature registers the pushed temperature registers store user prog rammed 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 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 the rmal / 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. 65 0100_0001b 41h 127 0111_1111b 7fh 130 1000_0010b 82h 150 1001_0110b 96h 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 table 6.7 tripset voltage register addrr/w register b7b6b5b4b3b2b1b0default 10h r trip_set voltage / vin4 voltage 400 200 100 50 25 13.5 6.25 3.125 ffh table 6.5 critical / thermal shutdown data format (continued) temperature (c) binary hex dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 53 revision 1.72 (03-07-08) datasheet 6.6 beta configuration registers the beta configuration registers control advanc ed temperature measurem ent features for each external diode channel. the beta configuration re gisters 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 algo rithm 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 t hat 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), t hen 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 va lue corresponding to the lowest expected value of beta for the pnp transi stor 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. th is mode is used when measuring a discrete 2n3904 transistor or amd thermal diode. all of the beta configuration registers are software locked. 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 table 6.9 beta compensation look up table auto betax[3:0] minimum beta 3210 00000 0.050 00001 0.066 00010 0.087 00011 0.114 00100 0.150 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 54 smsc emc2104 datasheet 6.7 rec configuration register the rec configuration register determines whether resistance error correction is used for each external diode channel. the rec confi guration register is software locked. bit 2 - rec3 - controls the resistive error correct ion 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 functionalit y 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 functionalit y 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 ta b l e 6 . 1 ). ? ?0? - the rec functionality for external diode 1 is disabled ? ?1? (default) - the rec functionalit y for external diode 1 is enabled. 00101 0.197 00110 0.260 00111 0.342 01000 0.449 01001 0.591 01010 0.778 01011 1.024 01100 1.348 01101 1.773 01110 2.333 01111 disabled 1 x x x x automatically detected table 6.10 rec configuration register addrr/w register b7b6b5b4b3b2b1b0default 17h r/w rec configuration - - - - - rec3 rec2 rec1 07h table 6.9 beta compensation look up table (continued) auto betax[3:0] minimum beta 3210 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 55 revision 1.72 (03-07-08) datasheet 6.8 critical temper ature limit registers the critical temperature limit regi sters store the critical temperatur e limit. at power up, none of the respective channels are linked to the sys_shdn pin or the hardware set t hermal/critical shutdown circuitry. whenever one of the registers is updated, two things occu r. first, the register is locked so that it cannot be updated again without a power on reset. second, t he respective temperature channel is linked to the sys_shdn pin and the hardware set thermal/crit ical 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 the configuration register controls the basic f unctionality of the emc2104. the bits are described below. the configuration register is software locked. bit 7 - mask - blocks the aler t# pin from being asserted. ? ?0? (default) - the alert# pin is unmasked. if any bi t 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 th e dp3 / dn3 pins are configured to measure a voltage input. in this case, the exte rnal 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 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) 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 56 smsc emc2104 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 di ode 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 en abled. 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 associat ed with the external diode 4 channel will be implemented. this includes the sys4 bit operat ion, limit comparisons, and look up table comparisons. 6.10 configuration 2 register the configuration 2 register cont rols conversion rate of the tem perature 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 i 2 c compliant. bit 4 - dis_avg - disables digital averaging of the external diode 1 channel. ? ?0? (default) - the external diode 1 channel has di gital 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 measurem ent channel has a separate fault queue associated with the high limit, low limit, and diode fault condition except the internal diode. table 6.13 configuration 2 register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 21h r/w config 2 - dis_ dyn dis_ to dis_ avg queue[1:0] conv[1:0] 0eh dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 57 revision 1.72 (03-07-08) 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 queu e to increment) then changing the settings will not take effect until the fault queue is zeroed. this occu rs by the alert# pin asserting or the out of limit condition being removed. bit 1 - 0 - conv[1:0] - determines the conversion ra te of the temperature monitoring. this conversion rate does not affect the fan driver. the supply cu rrent from vdd_3v is nominally dependent upon the conversion rate and the average current will in crease as the conversion rate increases. 6.11 configuration 3 register the configuration 3 register controls the four volta ge input channels. this register is software locked. bit 6 - vin4_inv - determines whether the vin4 channel data is inverted. ? ?0? (default) - the vin4 c hannel data is not inverted. table 6.14 fault queue queue[1:0] number of consecutive out of limit conditions 10 0 0 1 (disabled) 01 2 10 3 1 1 4 (default) table 6.15 conversion rate conv[1:0] conversion rate temperature over sampling from 11 bits 1 0 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 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 58 smsc emc2104 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 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 asse rted 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 tcri t 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. 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 59 revision 1.72 (03-07-08) 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 t he 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 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 st atus register, the corresponding high, low, or fault bit is set in the interrupt status register. reading the interrupt status register does not clea r 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 pe rsistent, 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 cha nnel 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 ch annels 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 wit h 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 individua l 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. 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 60 smsc emc2104 datasheet 6.14 fan status register the fan status register contains the status bits associated with each fan driver. this register is cleared when read if the erro r 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 base d 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 base d 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 t he 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 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. 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 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 61 revision 1.72 (03-07-08) 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. ? ?0? (default) - the alert# pin will not be asse rted 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. 6.16 fan interrupt enable register 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 th ough 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. ? ?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. table 6.21 fan interrupt enable register addrr/wregisterb7b6b5b4 b3 b2 b1b0default 29h r/w fan interrupt enable ---- spin_ int_en2 stall_ int_en2 spin_ int_en 1 stall_ int_en 1 00h dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 62 smsc emc2104 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 t he 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. ? ?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. 6.17 pwm configuration register 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 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] - determi nes 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). table 6.22 pwm configuration register addrr/wregisterb7b6b5b4b3b2b1b0default 2ah r/w pwm config ------ pola rity2 pola rity1 00h table 6.23 pwm base frequency register addrr/wregisterb7b6b5b4b3b2b1b0default 2bh r/w pwm base frequency ---- pwm_ base 2_1 pwm_ base 2_0 pwm_ base 1_1 pwm_ base 1_0 ffh dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 63 revision 1.72 (03-07-08) datasheet 6.19 limit registers the emc2104 contains high limits for all te mperature channels and vo ltage 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). table 6.24 pwm_basex[1:0] bit decode pwm_basex[1:0] base frequency 10 0 0 26.00khz 0 1 19.531khz 1 0 4,882hz 1 1 2,441hz (default) 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) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 64 smsc emc2104 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 tem perature 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 stat us bit is set and the alert# pin are asserted (if enabled). all limit registers are software locked. 6.20 fan setting registers the fan 1 setting register always displays the curr ent setting of the fan 1 driver.likewise, the fan 2 setting register always displays th e current setting of the fan 2 driv er. reading from either register will report the current fan speed setting of the appr opriate fan driver regardless of the operating mode. therefore it is possible that read ing 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 regist er will have no affect and the data will not be stored. if both the rpm based fan contro l algorithm and the look up tabl e are disabled, then the register will be set with the previous value that was used. the re gister 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 repr esent the weighting of each bit in determining the final output voltage. the output drive for a pwm output is given by equation [2] . 6.21 pwm 1 and 2 divide 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 [2] 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 drive value 255 -------------------- - ?? ?? 100% = dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 65 revision 1.72 (03-07-08) 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 af fected 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 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, th en 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 fa n 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 re ported and programmed tac hometer 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 ta b l e 6 . 2 9 . bits 4-3 - edges[1:0] - determines the minimum nu mber of edges that must be detected on the tachx signal to determine a single rotation. a ty pical 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 m easured 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 lowe r 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 ta b l e 6 . 3 0 is used as a direct multiplier 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 table 6.29 range decode range[1:0] reported minimum rpm tach count multiplier 10 005001 0 1 1000 (default) 2 1 0 2000 4 1 1 4000 8 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 66 smsc emc2104 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 numbe r 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 us ing fans with more or less than 2 poles. bit 2-0 - update - determines the base time be tween fan driver updates. the update time, along with the fan step register, is used to control the ra mp rate of the drive response to provide a cleaner transition of the actual fan operation as the de sired fan speed changes. the update time is set as shown in ta b l e 6 . 3 1 . table 6.30 minimum edges for fan rotation edges[1:0] minimum tach edges number of fan poles effective tach multiplier (based on 2 pole fans) 10 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 table 6.31 update time update[2:0] update time 21 0 00 0 100ms 00 1 200ms 01 0 300ms 0 1 1 400ms (default) 10 0 500ms 10 1 800ms 1 1 0 1200ms 1 1 1 1600ms dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 67 revision 1.72 (03-07-08) datasheet 6.23 fan configuration 2 registers the fan configuration 2 register controls the tac hometer measurement and ad vanced 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. w hen 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 foll ow 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 ta b l e 6 . 3 1 . 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 glit ch filter is enabled. bits 4 - 3 - der_optx[1:0] - control some of the adv anced options that affect the derivative portion of the rpm based fan speed c ontrol algorithm as shown in ta b l e 6 . 3 3 . table 6.32 fan configuration 1 registers addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default 43h r/w fan 1 configuration 2 - en_ rrc1 glitch _en1 der_opt1 [1:0] err_rng[1:0] lowd rive1 38h 83h r/w fan 2 configuration 2 - en_ rrc2 glitch _en2 der_opt2 [1:0] err_rng[1:0] lowd rive2 38h table 6.33 deri vative options der_optx[1:0] operation 10 0 0 no derivative options used 01 basic derivative. the derivative of the error from the current drive setting and the target is added to the iterative fan driv e register setting (in addition to proportional and integral terms) 10 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. 11 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). dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 68 smsc emc2104 datasheet bit 2 - 1 - err_rngx[1:0] - control some of the adv anced 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 t he error, however these changes are ignored. bit 0 - lowdrivex - determines whether the tachom eter measurement circuit will use the tach period measurement method of fan s peed measurement or the tach pu lse 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 a nd 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 relat ed data is in the form of edge counts over a fixed time period. this method is significantly slow er and the tachometer updates are non-continuous. table 6.34 error range options err_rngx[1:0] operation 10 0 0 0 rpm (default) 0 1 50 rpm 1 0 100 rpm 1 1 200 rpm figure 6.1 lowdrive supported drive circuit pwm input dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 69 revision 1.72 (03-07-08) datasheet 6.24 gain registers the gain register stores the gain terms used by th e 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. 6.25 fan spin up configuration registers 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_cnt x[1:0] - determines how many update cycles are used for the drive fail detection function as shown in ta b l e 6 . 3 8 . this circuitry determines whether the fan can be driven to the desired tach target. 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 table 6.36 gain decode gaind or gainp or gaini [1:0] respective gain factor 10 00 1x 01 2x 1 0 4x (default) 11 8x 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 70 smsc emc2104 datasheet bit 5 - nokickx - determines if t he 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 fa n driver to 100% for 1/4 of the programmed spin up time before re verting 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 dur ation of the programmed spin up time. bits 4 - 2 - spin_lvl[2:0] - determines the final dr ive level that is used by the spin up routine as shown in ta b l e 6 . 3 9 . bit 1 -0 - spinup_time[1:0] - determines the maximu m 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. w hen 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 ta b l e 6 . 4 0 . table 6.38 drive_fail_cnt[1:0] bit decode drive_fail_cnt[1:0] number of update periods 10 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 table 6.39 spin level spin_lvl[2:0] spin up drive level 210 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% dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 71 revision 1.72 (03-07-08) datasheet 6.26 fan step registers the fan step registers, along with the update time, co ntrols the ramp rate of the fan driver response calculated by the rpm based fan speed control algor ithm. 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 alogorithm is enabled, ramp rate c ontrol is automatically used. when the fsc is not active, then ramp rate control can be ena bled 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 dete rmined by the rpm based fan speed control algorithm, the look up table, or by manual se ttings) exceeds the current fan drive setting by greater than the fan step register settin g, the emc2104 will limit the fan drive change to the value of the fan step register. it will us e the update time to determine how often to update the drive settings. application note: if the fan speed control algorithm is used, t he 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. table 6.40 spin time spinup_time[1:0] total spin up time 10 0 0 250 ms 0 1 500 ms (default) 1 0 1 sec 1 1 2 sec 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 72 smsc emc2104 datasheet 6.27 fan minimum drive registers the fan minimum drive register stores the mi nimum 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 f an. setting the fan minimum drive registers to a setting that will maintain fan operat ion is a useful way to avoid potent ial 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 the valid tach count register stores the maximu m 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 regist er 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. table 6.42 minimum fan drive registers addrr/w registerb7b6b5b4b3b2b1b0default 48h r/w fan 1 minimum drive 128643216 8 4 2 1 66h (40%) 88h r/w fan 2 minimum drive 128643216 8 4 2 1 66h (40%) table 6.43 valid tach count registers addrr/wregisterb7b6b5b4b3b2b1b0default 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 73 revision 1.72 (03-07-08) datasheet 6.29 fan drive fail band registers the fan drive fail band registers store the num ber 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 compar ed 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 the tach target registers hold the target tachomet er 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 affe ct and the data will not be stored. 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 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 168421 - - - 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 168421 - - - f8h 8dh r/w tach target 2 high byte 4096 2048 1024 512 256 128 64 32 ffh dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 74 smsc emc2104 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 the tach reading registers? contents describe the current tachometer readin g 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 readin g register count to rpm assuming a 2-pole fan, measuring 5 edges, with a frequency of 32.768khz. 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 r ead, the data will always coincide with the previously read high byte. 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 168421 - - - f8h 8eh r fan 2 tach 4096 2048 1024 512 256 128 64 32 ffh 8fh r fan 2 tach low byte 168421 - - - f8h where: [3] poles = number of poles of the fan (typically 2) f tach = the tachometer measurement frequen cy (typically 32.768khz) n = number of edges measured (typically 5 for a 2 pole fan) m = the multiplier defined by the range bits [4] count = tach reading register value (in decimal) rpm 1 poles () -------------------- n 1 ? () count 1 m ---- - --------------------------------- - f tach 60 = rpm 3,932,160 m count -------------------------------------- = dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 75 revision 1.72 (03-07-08) datasheet 6.32 look up table configuration registers the look up table configuration register holds th e 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 temper ature 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 temperat ure 3 registers are loaded with dts data. the contents of these registers are au tomatically 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 temper ature 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 temperat ure 4 registers are loaded with dts data. the contents of these registers are au tomatically 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 canno t be updated. the look up table is fully active and will be used based on the loaded values. t he 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 wi ll be set at whatever value was last used by the rpm based fan spe ed 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 dr ive 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 . 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 76 smsc emc2104 datasheet 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 . 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. theref ore, 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.48 temp3_cfg decode temp3_cfg [1:0] temperature channel used 10 0 0 external diode 3 (default) 0 1 trip_set / vin4 voltage 10 pushed temperature 1 (lut1) pushed temperature 3 (lut2) 1 1 reserved table 6.49 temp4_cfg decode temp4_cfg [1:0] temperature channel used 10 0 0 internal diode (default) 0 1 external diode 4 10 pushed temperature 2 (lut1) pushed temperature 4 (lut2) 11 reserved table 6.50 look up table 1 registers addr r/w register tach / driveb7b6b5b4b3b2b1b0default 51h r/w lut 1 drive setting 1 ?0? 4096 2048 1024 512 256 128 64 32 fbh ?1? 128 64 32 16 8 4 2 1 52h r/w 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) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 77 revision 1.72 (03-07-08) datasheet the look up table 1 registers hold the 40 entries of the look up table that co ntrols the drive of fan 1. as the temperature (or voltage) channels ar e 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 bi t. 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. 53h r/w 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) 54h r/w 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) 55h r/w lut 1 temp 4 setting 1 x - 64 32 16 8 4 2 1 7fh (127c) ... ... ... ... ... ... ... ... ... ... ... ... .. . 74h r/w lut 1 drive setting 8 ?0? 4096 2048 1024 512 256 128 64 32 92h ?1? 128 64 32 16 8 4 2 1 75h r/w 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) 76h r/w 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) 77h r/w 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) 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 - - -168421 0ah table 6.50 look up table 1 registers (continued) addr r/w register tach / driveb7b6b5b4b3b2b1b0default dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 78 smsc emc2104 datasheet each temperature (or voltage) channel threshold shares the same hysteresis value. when the measured temperature for any of the channels meets or exceeds t he programmed threshold, the drive setting associated with that threshold is used. th e 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 tar get that is stored by t he look up table. the fan drive setting cycle is updated based on the rpm bas ed fan speed control al gorithm configuration settings. if the rpm based fan speed control algorithm is no t used, then the fan driv e 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 addr r/w register tach / driveb7b6b5b4b3b2b1b0default 91h r/w lut 2 drive setting 1 ?0? 4096 2048 1024 512 256 128 64 32 fbh ?1? 128 64 32 16 8 4 2 1 fbh 92h r/w 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) 93h r/w 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) 94h r/w 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) 95h r/w lut2 temp 4 setting 1 x - 64 32 16 8 4 2 1 7fh (127c) ... ... ... ... ... ... ... ... ... ... ... ... ... b4h r/w lut 2 drive setting 8 ?0? 4096 2048 1024 512 256 128 64 32 92h ?1? 128 64 32 16 8 4 2 1 b5h r/w 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) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 79 revision 1.72 (03-07-08) datasheet the look up table 2 registers hold the 40 entries of the look up table that co ntrols the drive of fan 2. as the temperature (or voltage) channels are upda ted, the measured tem perature 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 the muxed pin configuration register controls the pi n 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 gpi o. 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 cl ock input for the rpm based fan speed control algorithm (fsc). ? ?1? (default) - the clk_in / gpio1 pin functions as a gpio. b6h r/w 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) b7h r/w 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) 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 - - -168421 0ah 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 table 6.51 look up table2 registers (continued) addr r/w register tach / driveb7b6b5b4b3b2b1b0default dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 80 smsc emc2104 datasheet 6.36 gpio direction register the gpio direction register 1 controls the direct ion 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. ? ?0? (default) - the gpio is configured as an input. ? ?1? - the gpio is configured as an output. 6.37 gpio / pwm pin output configuration register the gpio output configuration regi ster 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 pus h-pull output (if enabled as an a pwm output). bit 2 - 0 - gpiox_ot - determines the output type for gpiox. ? ?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). 6.38 gpio input register the gpio input register indicates the state of the corresponding gpio pin regardless of the functionality of the pin (gpio, pwm, or tach) or th e 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 ). table 6.53 gpio direction register addrr/wregisterb7b6b5b4b3b2b1b0default e1h r/w gpio direction 1 ----- gpio 3_dir gpio 2_dir gpio 1_dir 00h 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 table 6.55 gpio input register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default e3hrgpio input ----- gpio 3_in gpio 2_in gpio 1_in 00h dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 81 revision 1.72 (03-07-08) datasheet 6.39 gpio output register 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 wil l immediately be driven to match the corresponding bit setting. 6.40 gpio interrupt enable register the gpio interrupt enable register enables the gpios to assert the alert pin when they change state. when the gpio pins are disabled or confi gured as outputs, then these bits are ignored. bit 3 - 0 - gpiox_int_en - allows the alert# pi n to be asserted when the gpiox pin changes state (when configured as an input). ? ?0? (default) - the alert# pin will not be asse rted when the gpiox pi n changes state (when configured as an input). ? ?1? - the alert# pin will be asserted when the gpioxpin changes state (when configured as an input). 6.41 gpio status register the gpio status register indicates which gpio ha s 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. 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 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 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 82 smsc emc2104 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 the software lock register controls the software locking of critical re gisters. this register is software locked. bit 0 - lock - this bit acts on all registers that ar e designated swl. when this bit is set, the locked registers become read on ly and cannot be updated. ? ?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. 6.43 product features register the product features register indicates wh ich 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.59 software lock register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default efh r/w software lock - - - - - - - lock 00h table 6.60 product features register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default fch r product features - - - - - - shdn_sel[1:0] 00h table 6.61 shdn_sel bit decode fun_sel[1:0] external diode 1 mode critical / thermal shutdown temperature range vin4 or trip_set 10 00 transistor mode - beta = automatic rec = enabled high range - 92c to 154c trip_set 01 diode mode - beta = 1111b rec = disabled low range 60c to 122c trip_set 10 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 ) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 83 revision 1.72 (03-07-08) datasheet 6.44 product id register the product id register contains a uniq ue 8 bit word that identifies the product. 6.45 manufacturer id register the manufacturer id register contains a 8 bit word that identifies smsc. 6.46 revision register the revision register contains a 8 bit word that identifies the die revision. table 6.62 product id register addr r/w register b7 b6 b5 b4 b3 b2 b1 b0 default fdh r product id register 00 0 1 1 1 0 1 1dh 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 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 84 smsc emc2104 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 85 revision 1.72 (03-07-08) 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 t he case of the trip_set / vin4 channel and the vref voltage will not be brought out externally. the th ermistor should be connected in the same way as rset. 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 result s of the circuit (configured as shown in figure a.1 ) is shown in ta b l e a . 2 . the emc2104 does not perform any numerical calculatio ns 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 thermist or, it must be configured as shown in figure a.1 . when measuring a thermistor input with fan contro l 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. figure a.1 ?low side? thermistor connection 10k 1% thermistor dp3 / dn4 / vref_t3 dn3 / dp4 / vin3 1.2k 1% 0.1uf emc2104/5/6 adc buffer reference voltage dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 86 smsc emc2104 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 87 revision 1.72 (03-07-08) datasheet -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 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 88 smsc emc2104 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 89 revision 1.72 (03-07-08) datasheet -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 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 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 90 smsc emc2104 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 sett ing for each temperatur e setting of interest. if the measured temperature on the external diode c hannel 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 ca ses where multiple temperature channel thresholds are exceeded, the highest fan driv e setting will take precedence. when the measured temperat ure drops to a point below a lower threshold minus the hysteresis value, the fan output will be set to t he 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 . 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 bas ed on the temperature of f our of its measured inputs. the configuration is set as shown in ta b l e b . 2 . once configured, the look up table is loaded as shown in ta b l e b . 3 . ta b l e b . 3 shows three temperature config urations using the settings in table b.3 and the final fan drive setting that the look up table will select. 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) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 91 revision 1.72 (03-07-08) datasheet note: the values shown in table b.3 are example settings. all the cells in the look-up table are programmable via smbus. table b.2 look up table example #1 configuration addr register b7 b6 b5 b4 b3 b2 b1 b0 setting 50h lut 1 configuration use_d ts_f1 use_d ts_f2 lut_l ock tach / drive temp3_cfg [1:0] temp4_cfg [1:0] c0h 0 01100 00 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 135 o c60 o c30 o c40 o c0% 240 o c70 o c35 o c45 o c30% 350 o c75 o c40 o c50 o c40% 460 o c80 o c45 o c55 o c50% 570 o c85 o c50 o c60 o c60% 680 o c90 o c55 o c65 o c70% 790 o c95 o c60 o c70 o c80% 8100 o c100 o c65 o c75 o c 100% table b.4 fan speed determination for example #1 (using settings in ta b l e b . 3 ) external diode 1 temperature (cpu) external diode 2 temperature (gpu) external diode 3 temperature (skin) internal diode temperature (ambient) fan drive setting result 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) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 92 smsc emc2104 datasheet b.2 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 ta b l e b . 5 while ta b l e 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 vo ltage from a quantity of ffh (effecti vely 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 setting 22h configuration 3 -vin4_i nv vin3_e n vin3_i nv vin2_ en vin2_i nv vin1_ en vin1_i nv 0ch -0001 100 42h fan 1 configuration 1 en_ algo range[1:0] edges[1:0] update[2:0] cbh 11001011 46h fan 1 spin up configuration drive_fail_cnt 1 [1:0] nokick 1 spin_lvl[2:0] spinup_time [1:0] 0ah 00001010 50h lut 1 configuration use_d ts_f1 use_d ts_f2 lut_lo ck tach / drive temp3_cfg [1:0] temp4_cfg [1:0] 28h 00101000 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) tach target 135 o c 156.25mv (45c) 30 o c40 o c 3dh (1007 rpm) 240 o c 178.125mv (50c) 35 o c45 o c 1eh (2048 rpm) 350 o c 203.125mv (55c) 40 o c50 o c 14h (3072 rpm) 460 o c 228.125mv (60c) 45 o c55 o c 0fh (4096 rpm) 570 o c 253.125mv (65c) 50 o c60 o c 0ch (5120 rpm) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 93 revision 1.72 (03-07-08) datasheet note: the values shown in table b.6 are example settings. all the cells in the look-up table are programmable via smbus. 680 o c 278.125mv (70c) 55 o c65 o c 0ah (6144 rpm) 790 o c 306.25mv (75c) 60 o c70 o c 09h (6826 rpm) 8100 o c 334.375mv (80c) 65 o c75 o c 08h (7680 rpm) table b.7 fan speed determination for example #2 (using settings in ta b l e b . 6 ) external diode 1 temperature (cpu) thermistor 2 voltage reading pushed temperature internal diode temperature (ambient) fan drive setting result example 1: 75c 140.375mv 48c 58c 0ch (5120rpm) - cpu requires highest target example 2: 75c 310mv 58c 58c 09h (6826 rpm) thermistor requires highest target example 3: 75c 235.125mv 62c 58c 09h (6826 rpm) pushed temperature requires highest target table b.6 fan speed control table example #2 (continued) fan speed step # external diode 1 temperature (cpu) thermistor 2 voltage reading pushed temperature setting internal diode temperature (ambient) tach target dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 94 smsc emc2104 datasheet b.3 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 no rmal dts values as received by the processor. when the dts value is used by the look up table, th e value that is stored in the pushed temperature register is subtracted fr om 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 setti ngs may be selected. table b.8 look up table example #3 configuration addr register b7 b6 b5 b4 b3 b2 b1 b0 setting 42h fan 1 configuration 1 en_ algo range[1:0] edges[1:0] update[2:0] cbh 11001011 46h fan 1 spin up configuration drive_fail_cnt 1 [1:0] nokick 1 spin_lvl[2:0] spinup_time [1:0] 0ah 00001010 50h lut 1 configuration use_d ts_f1 use_d ts_f2 lut_lo ck tach / drive temp3_cfg [1:0] temp4_cfg [1:0] eah 11101010 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) tach target 135 o c65 o c50 o c40 o c 3dh (1007 rpm) 240 o c75 o c55 o c45 o c 1eh (2048 rpm) 350 o c85 o c60 o c50 o c 14h (3072 rpm) 460 o c90 o c65 o c55 o c 0fh (4096 rpm) 570 o c95 o c70 o c60 o c 0ch (5120 rpm) 680 o c 100 o c75 o c65 o c 0ah (6144 rpm) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 95 revision 1.72 (03-07-08) datasheet note: the values shown in table b.9 are example settings. all the cells in the look-up table are programmable via smbus. 790 o c 105 o c80 o c80 o c 09h (6826 rpm) 8100 o c110 o c85 o c 100 o c 08h (7680 rpm) 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) pushed temperature (dts1) pushed temperature (dts2) fan drive setting result example 1: 75c 75c 35c (translated as 65c) 50c (translated as 50c) 0ch (5120 rpm) - cpu requires highest target example 2: 75c 90c 15c (translated as 85c) 20c (translated as 80c) 08h (7680 rpm) - dts1 requires highest target example 3: 75c 97.25c 30c (translated as 70c) 5c (translated as 95c) 09h (6826 rpm) - dts2 requires highest target 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) tach target dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 96 smsc emc2104 datasheet appendix c rpm to tachometer count look up table c.1 1k rpm range the look up table is an example based on the a ssumption that the fan being measured has 2-poles and is meausring 5 edges using the 1k rpm range settings. the data present ed in the reading is only the high byte data and the decimal count value only represents high byte data. table c.1 tachometer count to rpm look up table (range = 1000 rpm) tach count (decimal) register reading (hex) fan speed (rpm) tach count (decimal) register reading (hex) fan speed (rpm) 0 00 disabled 4096 80 1920 32 01 245760 4128 81 1905 64 02 122880 4160 82 1890 96 03 81920 4192 83 1876 128 04 61440 4224 84 1862 160 05 49152 4256 85 1848 192 06 40960 4288 86 1834 224 07 35109 4320 87 1820 256 08 30720 4352 88 1807 288 09 27307 4384 89 1794 320 0a 24576 4416 8a 1781 352 0b 22342 4448 8b 1768 384 0c 20480 4480 8c 1755 416 0d 18905 4512 8d 1743 448 0e 17554 4544 8e 1731 480 0f 16384 4576 8f 1719 512 10 15360 4608 90 1707 544 11 14456 4640 91 1695 576 12 13653 4672 92 1683 608 13 12935 4704 93 1672 640 14 12288 4736 94 1661 672 15 11703 4768 95 1649 704 16 11171 4800 96 1638 736 17 10685 4832 97 1628 768 18 10240 4864 98 1617 dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 97 revision 1.72 (03-07-08) datasheet 800 19 9830 4896 99 1606 832 1a 9452 4928 9a 1596 864 1b 9102 4960 9b 1586 896 1c 8777 4992 9c 1575 928 1d 8474 5024 9d 1565 960 1e 8192 5056 9e 1555 992 1f 7928 5088 9f 1546 1024 20 7680 5120 a0 1536 1056 21 7447 5152 a1 1526 1088 22 7228 5184 a2 1517 1120 23 7022 5216 a3 1508 1152 24 6827 5248 a4 1499 1184 25 6642 5280 a5 1489 1216 26 6467 5312 a6 1480 1248 27 6302 5344 a7 1472 1280 28 6144 5376 a8 1463 1312 29 5994 5408 a9 1454 1344 2a 5851 5440 aa 1446 1376 2b 5715 5472 ab 1437 1408 2c 5585 5504 ac 1429 1440 2d 5461 5536 ad 1421 1472 2e 5343 5568 ae 1412 1504 2f 5229 5600 af 1404 1536 30 5120 5632 b0 1396 1568 31 5016 5664 b1 1388 1600 32 4915 5696 b2 1381 1632 33 4819 5728 b3 1373 1664 34 4726 5760 b4 1365 1696 35 4637 5792 b5 1358 1728 36 4551 5824 b6 1350 1760 37 4468 5856 b7 1343 1792 38 4389 5888 b8 1336 table c.1 tachometer count to rpm look up table (range = 1000 rpm) (continued) tach count (decimal) register reading (hex) fan speed (rpm) tach count (decimal) register reading (hex) fan speed (rpm) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 98 smsc emc2104 datasheet 1824 39 4312 5920 b9 1328 1856 3a 4237 5952 ba 1321 1888 3b 4165 5984 bb 1314 1920 3c 4096 6016 bc 1307 1952 3d 4029 6048 bd 1300 1984 3e 3964 6080 be 1293 2016 3f 3901 6112 bf 1287 2048 40 3840 6144 c0 1280 2080 41 3781 6176 c1 1273 2112 42 3724 6208 c2 1267 2144 43 3668 6240 c3 1260 2176 44 3614 6272 c4 1254 2208 45 3562 6304 c5 1248 2240 46 3511 6336 c6 1241 2272 47 3461 6368 c7 1235 2304 48 3413 6400 c8 1229 2336 49 3367 6432 c9 1223 2368 4a 3321 6464 ca 1217 2400 4b 3277 6496 cb 1211 2432 4c 3234 6528 cc 1205 2464 4d 3192 6560 cd 1199 2496 4e 3151 6592 ce 1193 2528 4f 3111 6624 cf 1187 2560 50 3072 6656 d0 1182 2592 51 3034 6688 d1 1176 2624 52 2997 6720 d2 1170 2656 53 2961 6752 d3 1165 2688 54 2926 6784 d4 1159 2720 55 2891 6816 d5 1154 2752 56 2858 6848 d6 1148 2784 57 2825 6880 d7 1143 table c.1 tachometer count to rpm look up table (range = 1000 rpm) (continued) tach count (decimal) register reading (hex) fan speed (rpm) tach count (decimal) register reading (hex) fan speed (rpm) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet smsc emc2104 99 revision 1.72 (03-07-08) datasheet 2816 58 2793 6912 d8 1138 2848 59 2761 6944 d9 1133 2880 5a 2731 6976 da 1127 2912 5b 2701 7008 db 1122 2944 5c 2671 7040 dc 1117 2976 5d 2643 7072 dd 1112 3008 5e 2614 7104 de 1107 3040 5f 2587 7136 df 1102 3072 60 2560 7168 e0 1097 3104 61 2534 7200 e1 1092 3136 62 2508 7232 e2 1087 3168 63 2482 7264 e3 1083 3200 64 2458 7296 e4 1078 3232 65 2433 7328 e5 1073 3264 66 2409 7360 e6 1069 3296 67 2386 7392 e7 1064 3328 68 2363 7424 e8 1059 3360 69 2341 7456 e9 1055 3392 6a 2318 7488 ea 1050 3424 6b 2297 7520 eb 1046 3456 6c 2276 7552 ec 1041 3488 6d 2255 7584 ed 1037 3520 6e 2234 7616 ee 1033 3552 6f 2214 7648 ef 1028 3584 70 2194 7680 f0 1024 3616 71 2175 7712 f1 1020 3648 72 2156 7744 f2 1016 3680 73 2137 7776 f3 1011 3712 74 2119 7808 f4 1007 3744 75 2101 7840 f5 1003 3776 76 2083 7872 f6 999 3808 77 2065 7904 f7 995 table c.1 tachometer count to rpm look up table (range = 1000 rpm) (continued) tach count (decimal) register reading (hex) fan speed (rpm) tach count (decimal) register reading (hex) fan speed (rpm) dual rpm-based pwm fan controller with hardware thermal shutdown datasheet revision 1.72 (03-07-08) 100 smsc emc2104 datasheet 3840 78 2048 7936 f8 991 3872 79 2031 7968 f9 987 3904 7a 2014 8000 fa 983 3936 7b 1998 8032 fb 979 3968 7c 1982 8064 fc 975 4000 7d 1966 8096 fd 971 4032 7e 1950 8128 fe 968 4064 7f 1935 8160 ff 964 table c.1 tachometer count to rpm look up table (range = 1000 rpm) (continued) tach count (decimal) register reading (hex) fan speed (rpm) tach count (decimal) register reading (hex) fan speed (rpm) |
Price & Availability of EMC2104-BP |
|
|
All Rights Reserved © IC-ON-LINE 2003 - 2022 |
[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy] |
Mirror Sites : [www.datasheet.hk]
[www.maxim4u.com] [www.ic-on-line.cn]
[www.ic-on-line.com] [www.ic-on-line.net]
[www.alldatasheet.com.cn]
[www.gdcy.com]
[www.gdcy.net] |