RPM-Based Linear Fan Controller With Hardware Thermal Shutdown
RPM-Based Linear Fan Controller With Hardware Thermal Shutdown
Datasheet
ORDERING INFORMATION:
EMC2112-BP-TR 20-pin QFN 4mm x 4mm Three External Diodes. High Side Fan driver
(Lead-Free RoHS w/ RPM based Fan Speed Control algorithm.
compliant) Reset generator. Hardware set critical
temperature limit
Datasheet
Table of Contents
Datasheet
Datasheet
List of Figures
Figure 1.1 EMC2112 Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Figure 2.1 EMC2112 Pin Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Figure 4.1 SMBus Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Figure 5.1 EMC2112 System Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 5.2 Spin Up Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figure 5.3 Ramp Rate Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figure 5.4 EMC2112 Critical/Thermal Shutdown Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figure 5.5 HW_SHDN Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 5.6 5V Reset Controller Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 5.7 Diode Connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 8.1 EMC2112 Package Drawing - 20-Pin QFN 4mm x 4mm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figure 8.2 EMC2112 Package Dimensions and Notes - 20-Pin QFN 4mm x 4mm . . . . . . . . . . . . . . . . 63
Figure 8.3 EMC2112 PCB Footprint - 20-Pin QFN 4mm x 4mm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Figure 8.4 EMC2112 Package Markings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Datasheet
List of Tables
Table 2.1 Pin Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Table 2.2 Pin Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Table 3.1 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Table 3.2 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Table 3.3 SMBus Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 4.1 ADDR_SEL Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Table 4.2 Protocol Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Table 4.3 Write Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Table 4.4 Read Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Table 4.5 Send Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Table 4.6 Receive Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Table 4.7 Block Write Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Table 4.8 Block Read Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Table 4.9 Alert Response Address Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Table 5.1 Fan Controls Active for Operating Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Table 5.2 TRIP_SET Resistor Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 5.3 SHDN_SEL Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Table 5.4 Dynamic Averaging Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Table 6.1 EMC2112 Register Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 6.2 Temperature Data Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 6.3 Temperature Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 6.4 Critical/Thermal Shutdown Temperature Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 6.5 Critical / Thermal Shutdown Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 6.6 TripSet Voltage Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Table 6.7 Ideality Factor Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Table 6.8 Ideality Factor Look-Up Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 6.9 Substrate Diode Ideality Factor Look-Up Table (BJT Model) . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 6.10 Beta Configuration Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 6.11 Beta Compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table 6.12 REC Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table 6.13 Tcrit Limit Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Table 6.14 Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Table 6.15 Configuration 2 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Table 6.16 Fault Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Table 6.17 Conversion Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Table 6.18 Interrupt Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Table 6.19 Error Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Table 6.20 Fan Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Table 6.21 Interrupt Enable Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Table 6.22 Fan Interrupt Enable Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Table 6.23 Limit Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Table 6.24 Fan Setting Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Table 6.25 Fan Configuration 1 Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Table 6.26 Range Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Table 6.27 Minimum Edges for Fan Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Table 6.28 Update Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Table 6.29 Fan Configuration 1 Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Table 6.30 Derivative Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Table 6.31 Error Range Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Table 6.32 Gain Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Table 6.33 Gain Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Table 6.34 Fan Spin Up Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Datasheet
Datasheet
SYS_SHDN
ADDR_SEL
SHDN_SEL
VDD_3V
RESET
VDD_5V
SMCLK
TRIP_SET SMBus
Critical / Thermal Reset Slave SMDATA
Shutdown Logic Generator Protocol
DP1 ALERT
DN1 External
Temp
DP2 / DN3 Diodes
DN2 / DP3 Ext Temp
Analog Limit
Anti- Mux Registers
parallel
Diode
11 bit Σ Δ
Internal Ext. Temp Registers
ADC
Temp
Diode
Voltage Reading
Bandgap Register
Reference Set and
Logic
Voltage ->
Temperature
Converison
Automatic
Fan Control
8-bit DAC Algorithm
CLK
VDD_5V (2)
FAN (2)
Datasheet
19 VDD_5V
16 VDD_5V
20 TACH
18 FAN
17 FAN
VDD_3V 1 15 SMCLK
SYS_SHDN 8
RESET 9
GND
Datasheet
5 DP2 / DN3 Positive (anode) Analog Input for External Diode AIO
2 and Negative (cathode) Analog Input for
External Diode 3
16 VDD_5V 5V supply input for the linear fan driver. Both Power
VDD_5V pins should be connected to same 5V
supply.
19 VDD_5V 5V supply input for the linear fan driver. Both Power
VDD_5V pins should be connected to same 5V
supply.
The pin type are described in Table 2.2. All pins labeled with (5V) are 5V tolerant.
AIO Analog Input / Output - this pin is used as an I/O for analog
signals.
Datasheet
Datasheet
Voltage on VDD_5V Pins and 5V tolerant pins (see Table 2.1) -0.3 to 6.5 V
These ratings are absolute maximum values. Exceeding these values or operating at these values for
an extended period of time may cause permanent damage to the device.
Note 3.2 The Package Power Dissipation specification assumes a thermal via design consisting of
four 20mil vias connected to the ground plane with a 2.6mm x 2.6mm thermal landing.
Note 3.3 Junction to Ambient (θJA) is dependent on the design of the thermal vias. Without thermal
vias and a thermal landing, the θJA is approximately 60°C/W including localized PCB
temperature increase.
DC Power
Datasheet
Temperature 0.125 °C
Resolution
Temperature 0.125 °C
Resolution
Reset Generator
Datasheet
Thermal Shutdown
Note 3.4 TDIE refers to the internal die temperature and may not match TA due to self heating of
the device. The internal temperature sensor will return TDIE.
Note 3.5 Contact SMSC for Application Notes and guidelines when measuring GPU processor
diodes and CPU processor diodes.
Note 3.6 The ALERT, SYS_SHDN, SMDATA, and SMCLK pins will not glitch low upon power up
when pulled to VDD or another voltage.
SMBus Interface
SMBus Timing
Datasheet
Datasheet
T FALL
SMCLK
T RISE
T SU:DAT T SU:STA
T HD:STA T HD:DAT
SMDATA
T BUF
The slave address is determined at power up by the pin-state of the ADDR_SEL pin as shown in
Table 4.1.
‘0’ 0101_111xb
‘High Z’ 0111_101xb
‘1’ 0101_110xb
Datasheet
The Host will NACK (not acknowledge) the data received from the client by holding the SMBus data
line high after the 8th data bit has been sent.
2. The client protocol will reset if the clock is held for longer than 30ms.
3. The slave protocol will reset if both the clock and data lines are held high for longer than 150us.
4. I2C devices do not support the Alert Response Address functionality (which is optional for SMBus).
5. The Block Read and Block Write protocols are only compliant with I2C data formatting. They do
not support SMBus formatting for Block Read and Block Write protocols.
Datasheet
START SLAVE WR ACK Register ACK START Slave RD ACK Register NACK STOP
ADDRESS Address Address Data
SLAVE REGISTER
START ADDRESS WR ACK ADDRESS ACK STOP
SLAVE
START ADDRESS RD ACK REGISTER DATA NACK STOP
Datasheet
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.9.
ALERT
RESPONSE DEVICE
START ADDRESS RD ACK ADDRESS NACK STOP
The EMC2112 will respond to the ARA in the following way if the ALERT pin is asserted.
1. Send Slave Address and verify that full slave address was sent (i.e. the SMBus communication
from the device was not prematurely stopped due to a bus contention event).
2. Set the MASK bit to clear the ALERT pin.
Datasheet
The EMC2112 monitors up to three (3) external temperature channels. Each of the external
temperature channels can employ both Beta Compensation (an implementation of the BJT or transistor
model for thermal diodes) and Resistance Error Correction for use with thermal diodes while the third
channel is hardwired to measure a discrete diode connected NPN or PNP transistor. The temperature
data is available over a standard 2-wire serial interface using SMBus read commands. The
temperature monitoring is described in more detail in Section 5.11, "Temperature Monitoring".
The EMC2112 includes a closed-loop RPM-based Fan Control Algorithm for each fan driver. The host
writes the desired fan speed into a register of the EMC2112 via the SMBus and the integrated fan
controller will maintain the fan at the desired speed using fan speed feedback from the TACH output
from a 3-wire fan. The fan control algorithm controls an integrated 5V, 600mA, linear fan driver.
The EMC2112 provides the system with a hardware based critical/thermal shutdown function. This
critical/thermal shutdown function integrates critical signals from both the CPU and power supply and
the analog circuitry to monitor a specific temperature channel based on the system configuration. The
critical/thermal shutdown temperature threshold is configured on the PCB through a simple discrete
resistor. The Critical/Thermal Shutdown function is described in more detail in Section 5.9,
"Critical/Thermal Shutdown".
An example of a typical system configuration for the EMC2112 is provided in Figure 5.1.
3.3V 3.3V 5V
VDD_3V VDD_5V(2)
SMCLK
KBC RESET
SMDATA
FAN(2)
ALERT
3.3V 3.3V
ADDR_SEL
VREF
TRIP_SET CLK_IN
Datasheet
Whenever the Direct Setting Mode is enabled, the current drive will be changed to what was
last written into the Fan Driver Setting Register.
2. Fan Speed Control Mode (FSC) - in this mode of operation, the user determines a target
tachometer count and the drive setting is automatically updated to achieve this target speed. The
algorithm uses the Spin Up Routine and has user definable ramp rate controls.
Fan Driver Setting (read / write) Fan Driver Setting (read only)
EDGES[1:0] EDGES[1:0]
(Fan Configuration)
- RANGE[1:0]
(Fan Configuration)
UPDATE[2:0] UPDATE[2:0]
(Fan Configuration) (Fan Configuration)
LEVEL LEVEL
(Spin Up Configuration) (Spin Up Configuration)
SPINUP_TIME[1:0] SPINUP_TIME[1:0]
(Spin Up Configuration) (Spin Up Configuration)
This fan control algorithm uses Proportional, Integral, and Derivative terms to automatically approach
and maintain the system’s desired fan speed to an accuracy directly proportional to the accuracy of
the clock source.
The desired tachometer count is set by the user inputting the desired number of 32.768KHz cycles
that occur per fan revolution. This is done by setting the TACH Target Register. 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.
Datasheet
For example, if a desired RPM rate for a 2-pole fan is 3000 RPMs, then the user would input the
hexidecimal equivalent of 1296 (51h in the TACH Target Register). This number represents the number
of 32.768KHz cycles that would occur during the time it takes the fan to complete a single revolution
when it is spinning at 3000RPMs.
The EMC2112’s RPM-based Fan Speed Control Algorithm has programmable configuration settings
for parameters such as ramp-rate control and spin up conditions. The fan driver automatically detects
and attempts to alleviate a stalled/stuck fan condition while also asserting the ALERT pin. The
EMC2112 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.
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.
This method monitors the TACH signal in real time. It constantly updates the tachometer measurement
by reporting the number of clocks between a user programmed number of edges on the TACH signal.
The tachometer measurement provides fast response times for the RPM-based Fan Speed Control
Algorithm and the data is presented as a count value that represents the fan RPM period. When this
method is used, all fan target values must be input as a count value for proper operation.
APPLICATION NOTE: The tachometer measurement method works independently of the drive settings. If the
device is put into Direct Setting and the fan drive is set at a level that is lower than the fan
can operate (including zero drive), then the tachometer measurement may signal a Stalled
Fan condition and assert an interrupt.
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.
Datasheet
The FAN_STALL Status bit indicates that a stalled fan was detected. This bit is checked conditionally
depending on the mode of operation.
Whenever the Direct Setting Mode is enabled or whenever the Spin Up Routine is enabled, the
FAN_STALL interrupt will be masked for the duration of the programmed Spin Up Time (see
Section 6.21) to allow the fan an opportunity to reach a valid speed without generating unnecessary
interrupts.
In Direct Setting Mode with the tachometer measurement using the Tach Period Measurement
method, whenever the TACH Reading Register value exceeds the Valid TACH Count Register
setting, the FAN_STALL status bit will be set.
When using the RPM-based Fan Speed Control Algorithm, the stalled fan condition is checked
whenever the Update Time is met and the fan drive setting is updated. It is not a continuous check.
When the CLK pin is configured as an input to the EMC2112, then a 32.768kHz clock must be
provided. This clock is used to by the Tachometer measurement circuitry and will directly affect the
accuracy of this measurement.
When the CLK pin is configured as an output, then it will be driven at the same frequency as the
internal tachometer clock.
The Spin Up Routine is initiated in Direct Setting mode 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.24).
2. The RPM-based Fan Speed Control Algorithm’s measured TACH Reading Register value is greater
than the Valid TACH Count setting.
When the Spin Up Routine is operating, the fan driver is set to full scale (optional) for one quarter of
the total user defined spin up time. For the remaining spin up time, the fan driver output is set a a user
defined level (30% through 65% drive).
After the Spin Up Routine has finished, the EMC2112 measures the TACH 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.2 shows an example of the Spin Up Routine in response to a programmed fan speed change
based on the first condition above.
Datasheet
100%
(optional)
Prev Target
Count = FFh
¼ of Spin Up Time
Update Time
Spin Up Time
Target Count Check TACH Target Count
Changed Reached
If the RPM-based Fan Speed Control Algorithm is used, then this ramp rate control is automatically
used. The user programs a maximum step size for the fan drive setting and an update time. The
update time varies from 100ms to 1.6s while the fan drive maximum step can vary from 1 count to 31
counts.
When a new fan drive setting is entered, the delta from the next fan drive setting and the previous fan
drive setting is determined. If this delta is greater than the Max Step settings, then the fan drive setting
is incrementally adjusted every 100ms to 1.6s as determined by the Update Time until the target fan
drive setting is reached. See Figure 5.3.
Datasheet
Next Desired
Setting
Max
Step
Max
Step
Previous
Setting
Update Update
Time Time
Setting Changed
For either mode of operation, if four (4) seconds elapse without activity detected by the host, then the
watchdog will be triggered and the following will occur:
1. The WATCH status bit will be set which will cause the ALERT pin to be asserted.
2. The fan driver will be set to full scale drive. It will remain at full scale drive until it is disabled.
APPLICATION NOTE: When the Watchdog timer is activated the Fan Speed Control Algorithm is automatically
disabled. Disabling the Watchdog will not automatically set the fan drive nor re-activate the
Fan Speed Control Algorithm. This must be done manually.
Datasheet
In the Power Up Operation, the Watchdog Timer is disabled by any of the following actions:
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. Changing the Watchdog operating mode by setting the WD_EN bit.
Writing any other configuration registers will not disable the Watchdog Timer upon power up.
If the fan driver current detects a short-circuit condition for longer than 2 seconds, then the I_SHORT
status bit is set and an interrupt generated. Additionally, the High Side Fan Driver will be disabled for
8 seconds. After this 8 second time has elapsed, it will be allowed to restart invoking the Spin Up
Routine before returning to its previous drive setting.
APPLICATION NOTE: If the FSC Algorithm is active, then it will generate errant SPIN_FAIL interrupts during the 8
second time that the fan driver is held off.
Datasheet
the EMC2112 consists of both analog and digital functions. It accepts configuration information from
the fixed states of the SHDN_SEL pin as described in Section 5.9.2.
Each of the temperature limits can be configured to act as inputs to the Critical / Thermal Shutdown
independent of the hardware shutdown operation.
The analog portion of the Critical/Thermal Shutdown function monitors a specific remote temperature
channel (configured with the SHDN_SEL pin). This measured temperature is then compared with the
TRIP_SET point. This TRIP_SET point is created by the system designer with a simple resistor and
is discussed in detail in Section 5.9.1.
External
PIN
Diode 1 / 2 SHDN_SEL
Decode
Switch
External Diode 1
or External Diode 2 Temperature SYS_SHDN
Conversion
VREF
Voltage
Conversion
TRIP_SET
Datasheet
60 0.0 92 1240
61 28.7 93 1330
62 48.7 94 1400
63 69.8 95 1500
64 90.9 96 1580
65 113 97 1690
66 137 98 1820
67 158 99 1960
Datasheet
91 1150 60 Open
A channel that is configured via the SHDN_SEL pin for the Critical/Thermal Shutdown is locked and
none of the configuration registers associated with it can be updated via the SMBus. The other two
temperature channels, however, are still configurable via the SMBus.
‘0’ Intel Transistor Mode The external diode 1 channel is configured with Beta
(substrate PNP) Compensation enabled and Resistance Error Correction
enabled (with automatic detection). This mode is ideal for
monitoring a substrate transistor such as an Intel CPU
thermal diode.
High-Z (open) AMD CPU / Diode The external diode 1 channel is configured with Beta
Mode Compensation disabled and Resistance Error Correction
disabled. This mode is ideal for monitoring an AMD
processor diode or a 2N3904 diode.
‘1’ External Diode 2 The External Diode 2 channel is linked to the Hardware set
Diode Mode Thermal / Critical shutdown circuitry and configured with Beta
Compensation enabled (with automatic detection) and REC
enabled.
The HW_SHDN output is set to logic ‘1’ when the indicated temperature exceeds the temperature
threshold (TP) established by the TRIP_SET input pin (as shown in Figure 5.5) for a number of
consecutive measurements defined by the fault queue. If the HW_SHDN output is asserted and the
temperature drops below TP, then it will be set to a logic ‘0’ state.
Datasheet
Temperature
Temperature drops to TP or
Measurements End
Exceeds TP below
TP
Temperature
not
defined
HW_SHDN
If the VDD_5V supply drops below the reset threshold, the RESET pin will be set to ‘0’ immediately.
VDD_5V
Reset Threshold (4.4V)
Reset Threshold -
hysteresis (4.3V)
220ms
RESET#
Datasheet
1 / sec 8x 1x
2 / sec 4x 1x
4 / sec 2x 1x
8 / sec 1x 1x
For discrete transistors configured with the collector and base shorted together, the beta is generally
sufficiently high such that the percent change in beta variation is very small. For example, a 10%
variation in beta for two forced emitter currents with a transistor whose ideal beta is 50 would contribute
approximately 0.25°C error at 100°C. However for substrate transistors where the base-emitter junction
is used for temperature measurement and the collector is tied to the substrate, the proportional beta
variation will cause large error. For example, a 10% variation in beta for two forced emitter currents
with a transistor whose ideal beta is 0.5 would contribute approximately 8.25°C error at 100°C.
The Beta Compensation circuitry in the EMC2112 corrects for this beta variation to eliminate any error
which would normally be induced. This Beta Compensation circuitry automatically detects the type of
diode connected and adjusts the beta settings accordingly.
Datasheet
The digital averaging can be disabled by setting the DIS_AVG bit in the Configuration 2 Register (see
Section 6.10).
The External Diode 3 channel is available when the External Diode 2 channel is configured to operate
is an anti-parallel diode pair. In this mode, both the External Diode 2 and External Diode 3 diodes must
be connected in the anti-parallel configuration as shown in Figure 5.7
Diode 3 Diode 2
to
to DP to DP to DP DP /
DN
to DN
to
to DN to DN DN /
Local DP
Ground
Datasheet
REGISTER DEFAULT
ADDR R/W NAME FUNCTION VALUE LOCK PAGE
Temperature Registers
Internal Temp
Stores the integer data of the Internal
00h R Reading High 00h No Page 36
Diode
Byte
External Diode 1
Stores the integer data of External
02h R Temp Reading 00h No Page 36
Diode 1 channel
High Byte
External Diode 1
Stores the fractional data of External
03h R Temp Reading 00h No Page 36
Diode 1
Low Byte
External Diode 2
Stores the integer data of External
04h R Temp Reading 00h No Page 36
Diode 2 channel
High Byte
External Diode 2
Stores the fractional data of External
05h R Temp Reading 00h No Page 36
Diode 2
Low Byte
External Diode 3
Stores the integer data of External
06h R Temp Reading 00h No Page 36
Diode 3 channel
High Byte
External Diode 3
Stores the fractional data of External
07h R Temp Reading 00h No Page 36
Diode 3
Low Byte
Diode Configuration
Datasheet
REGISTER DEFAULT
ADDR R/W NAME FUNCTION VALUE LOCK PAGE
External Diode 1
Configures the beta compensation
14h R/W Beta 10h SWL Page 39
settings for External Diode 1
Configuration
External Diode 2
Configures the beta compensation
15h R/W Beta 10h SWL Page 39
settings for External Diode 2
Configuration
External Diode 1 Stores the Critical temperature limit for 64h Write
19h R/W Page 41
Tcrit Limit the External Diode 1 (100°C) Lock
External Diode 2 Stores the Critical temperature limit for 64h Write
1Ah R/W Page 41
Tcrit Limit the External Diode 2 (100°C) Lock
External Diode 3 Stores the Critical temperature limit for 64h Write
1Bh R/W Page 41
Tcrit Limit the External Diode 3 (100°C) Lock
Internal Diode Stores the Critical temperature limit for 64h Write
1Dh R/W Page 41
Tcrit Limit the Internal Diode (100°C) Lock
Datasheet
REGISTER DEFAULT
ADDR R/W NAME FUNCTION VALUE LOCK PAGE
Fan Minimum Sets the minimum drive value for the 66h
48h R/W SWL Page 54
Drive Fan driver (40%)
Lock Register
EF R/W Software Lock Locks all SWL registers 00h SWL Page 56
Datasheet
REGISTER DEFAULT
ADDR R/W NAME FUNCTION VALUE LOCK PAGE
Revision Registers
During Power-On-Reset (POR), the default values are stored in the registers. A POR is initiated when
power is first applied to the part and the voltage on the VDD_3V supply surpasses the POR level as
specified in the electrical characteristics. Any reads to undefined registers will return 00h. Writes to
undefined registers will not have an effect.
Internal Diode
00h R Sign 64 32 16 8 4 2 1 00h
High Byte
Internal Diode
01h R 0.5 0.25 0.125 - - - - - 00h
Low Byte
External
02h R Diode 1 High Sign 64 32 16 8 4 2 1 00h
Byte
External
03h R Diode 1 Low 0.5 0.25 0.125 - - - - - 00h
Byte
External
04h R Diode 2 High Sign 64 32 16 8 4 2 1 00h
Byte
External
05h R Diode 2 Low 0.5 0.25 0.125 - - - - - 00h
Byte
External
06h R Diode 3 High Sign 64 32 16 8 4 2 1 00h
Byte
External
07h R Diode 3 Low 0.5 0.25 0.125 - - - - - 00h
Byte
Datasheet
The temperature measurement range is from -64°C to +128°C. The data format is a signed two’s
complement number as shown in Table 6.3.
APPLICATION NOTE: When the External Diode 3 channel is not enabled, the data bytes will read 00h.
-1 1111_1111_000b FF_00h
0 0000_0000_000b 00_00h
1 0000_0001_000b 01_00h
63 0011_1111_000b 3F_00h
64 0100_0000_000b 40_00h
65 0100_0001_000b 41_00h
Critical/Thermal
7Fh
0Ah R Shutdown - 64 32 16 8 4 2 1
(+127°C)
Temperature
The Critical/Thermal Shutdown Temperature Register is a read-only register that stores the Voltage
Programmable Threshold temperature used in the Thermal / Critical Shutdown circuitry. The contents
of the register reflect the calculated temperature based on the TRIP_SET voltage. This register is
updated at the end of every monitoring cycle based on the current value of the TRIP_SET voltage.
0 0000_0000b 00h
1 0000_0001b 01h
Datasheet
63 0011_1111b 3Fh
64 0100_0000b 40h
65 0100_0001b 41h
The TripSet Voltage Register stores the measured voltage on the TRIP_SET pin that is used to
calculate the Critical / Thermal Shutdown temperature. Each bit weight represents mV of resolution so
that the final voltage can be determined by adding the appropriately set bits together.
External
11h R/W Diode 1 0 0 0 1 0 B2 B1 B0 12h
Ideality
External
12h R/W Diode 2 0 0 0 1 0 B2 B1 B0 12h
Ideality
External
13h R/W Diode 3 0 0 0 1 0 B2 B1 B0 12h
Ideality
These registers store the ideality factors that are applied to the external diodes.
Beta Compensation and Resistance Error Correction automatically correct for most diode ideality
errors, therefore it is not recommended that these settings be updated without consulting SMSC.
For CPU substrate transistors that require the BJT transistor model, the ideality factor behaves slightly
differently than for discrete diode-connected transistors. Refer to Table 6.9 when using a CPU
substrate transistor.
Only the lower three bits can be written. Writing to any other bit will be ignored.
The Ideality Factor Registers are software locked.
Datasheet
SETTING FACTOR
10h 1.0053
11h 1.0066
12h 1.0080
13h 1.0093
14h 1.0106
15h 1.0119
16h 1.0133
17h 1.0146
Table 6.9 Substrate Diode Ideality Factor Look-Up Table (BJT Model)
SETTING FACTOR
10h 0.9973
11h 0.9986
12h 1.0000
13h 1.0013
14h 1.0026
15h 1.0039
16h 1.0053
17h 1.0066
APPLICATION NOTE: When measuring a 65nm Intel CPUs, the Ideality Setting should be the default 12h. When
measuring 45nm Intel CPUs, the Ideality Setting should be 15h.
External Diode 1
AUTO
14h R/W Beta - - - BETA1[3:0] 10h
1
Configuration
External Diode 2
AUTO
15h R/W Beta - - - BETA2[3:0] 10h
2
Configuration
Datasheet
The Beta Configuration Registers control advanced temperature measurement features for each
External Diode channel. The Beta Configuration Registers are software locked. The External Diode 1
Beta Configuration register Is hardware locked if the External Diode 1 channel is linked to the hardware
Critical / Thermal shutdown circuitry. Likewise, the External Diode 2 Beta Configuration register is
hardware locked if the External Diode 2 is linked to the Critical / Thermal shutdown circuitry - see
Section 5.9.2.
Bits 3 - 0 - BETAx[3:0] - hold a value that corresponds to a range of betas that the Beta Compensation
circuitry can compensate for. These four bits will always show the current beta setting used by the
circuitry. If the AUTO bit is set (default), then these bits may updated by the device with every
temperature conversion. If the AUTO bit is not set, then the value of these bits is used to drive the
beta compensation circuitry. In this case, these bits should be set with a value corresponding to the
lowest expected value of beta for the PNP transistor being used as a temperature sensing device.
See Table 6.11 for supported beta ranges. A value of 1111b indicates that the beta compensation
circuitry is disabled. In this condition, the diode channels will function with default current levels and
will not automatically adjust for beta variation. This mode is used when measuring a discrete 2N3904
transistor or AMD thermal diode.
BETAX[3:0]
AUTO MINIMUM BETA
3 2 1 0
0 0 0 0 0 0.050
0 0 0 0 1 0.066
0 0 0 1 0 0.087
0 0 0 1 1 0.114
0 0 1 0 0 0.150
0 0 1 0 1 0.197
0 0 1 1 0 0.260
0 0 1 1 1 0.342
0 1 0 0 0 0.449
0 1 0 0 1 0.591
0 1 0 1 0 0.778
0 1 0 1 1 1.024
0 1 1 0 0 1.348
0 1 1 0 1 1.773
Datasheet
BETAX[3:0]
AUTO MINIMUM BETA
3 2 1 0
0 1 1 1 0 2.333
0 1 1 1 1 Disabled
1 X X X X Automatically detected
The REC Configuration Register determines whether Resistance Error Correction is used for each
external diode channel. The REC Configuration Register is software locked.
If either the External Diode 1 channel or External Diode 2 channel is selected by the SHDN_SEL pin
to be the hardware shutdown input channel (see Table 5.3), then the corresponding RECx bit will be
locked. Writing to the bit will have no affect and reading from it will always report the current setting.
Bit 2 - REC3 - Controls the Resistive Error Correction functionality of External Diode 3
‘0’ - the REC functionality for External Diode 3 is disabled
‘1’ (default) - the REC functionality for External Diode 3 is enabled.
Bit 1 - REC2 - Controls the Resistive Error Correction functionality of External Diode 2
‘0’ - the REC functionality for External Diode 2 is disabled
‘1’ (default) - the REC functionality for External Diode 2 is enabled.
Bit 0 - REC1 - Controls the Resistive Error Correction functionality of External Diode 1
‘0’ - the REC functionality for External Diode 1 is disabled
‘1’ (default) - the REC functionality for External Diode 1 is enabled.
Datasheet
The Critical Temperature Limit Registers store the Critical Temperature Limit. At power up, none of the
respective channels are linked to Hardware set Thermal/Critical Shutdown circuitry.
Whenever one of the registers is updated, two things occur. First, the register is locked so that it cannot
be updated again without a power on reset. Second, the respective temperature channel is linked to
the SYS_SHDN pin and the Hardware set Thermal/Critical Shutdown Circuitry. At this point, if the
measured temperature channel exceeds the Critical limit, the SYS_SHDN pin will be asserted, the
appropriate bit set in the Tcrit Status Register, and the TCRIT bit in the Interrupt Status Register will
be set.
The Configuration Register controls the basic functionality of the EMC2112. The bits are described
below. The Configuration Register is software locked.
Bit 6 - WD_EN - Enables the Watchdog timer to operate in Continuous Mode (see Section 5.6.2).
‘0’ (default) - The Watchdog timer does not operate continuously. It will function upon power up and
at no other time.
‘1’ - The Watchdog timer operates continuously as described in Section 5.6.
Bit 2 - DR_EXT_CLK - Enables the internal tachometer clock to be driven out on the CLK pin so that
multiple devices can be synced to the same source.
‘0’ (default) - The CLK pin acts as a clock input.
‘1’ - The CLK pin acts as a clock output and is a push-pull driver.
Bit 1 - USE_EXT_CLK - Enables the EMC2112 to use a clock present on the CLK pin as the
tachometer clock. If the DR_EXT_CLK bit is set, then this bit is ignored and the device will use the
internal oscillator.
‘0’ (default) - The EMC2112 will use its internal oscillator for all Tachometer measurements.
‘1’ - The EMC2112 will use the oscillator presented on the CLK pin for all Tachometer
measurements.
Datasheet
The Configuration 2 Register controls conversion rate of the temperature monitoring as well as the
fault queue. This register is software locked.
Bit 5 - DIS_TO - Disables the SMBus time out function for the SMBus client (if enabled).
‘0’ (default) - The SMBus timeout and idle functionality are enabled. The SMBus interface will time
out if the clock line is held low for longer than 30ms. Likewise, it will reset if both the data and clock
lines are held high for longer than 150us.
‘1’ - The SMBus timeout and idle functionality are disabled. The SMBus interface will not time out
if the clock line is held low. Likewise, it will not reset if both the data and clock lines are held high
for longer than 150us. This is used for I2C compliance.
Bits 3-2 - QUEUE[1:0] - Determines the number of consecutive out of limit conditions that are
necessary to trigger an interrupt. Each measurement channel has a separate fault queue associated
with the high limit and diode fault condition except the internal diode.
The Critical / Thermal Shutdown temperature has a separate fault queue that applies to the selected
hardware shutdown channel (see Section 5.9) when compared against the threshold set by the
TRIP_SET pin.
APPLICATION NOTE: If the fault queue for any channel is currently active (i.e. an out of limit condition has been
detected and caused the fault queue to increment) then changing the settings will not take
effect until the fault queue is zeroed. This occurs by the ALERT pin asserting or the out of
limit condition being removed.
Datasheet
QUEUE[1:0]
0 0 1 (disabled)
0 1 2
1 0 3
1 1 4 (default)
Bit 1 - 0 - CONV[1:0] - determines the conversion rate of the temperature monitoring. This conversion
rate does not affect the fan driver. The supply current from VDD_3V is nominally dependent upon the
conversion rate and the average current will increase as the conversion rate increases.
0 0 1 / sec x8 x1
0 1 2 / sec x4 x1
1 0 4 / sec (default) x2 x1
1 1 8 / sec x1 x1
Interrupt
23h R-C Status RESET TSD TCRIT - FAN HIGH - FAULT 00h
Register
The Interrupt Status Register reports the operating condition of the EMC2112. If any of the bits are set
to a logic ‘1’ (other than RESET and TSD), the ALERT pin will be asserted low if the corresponding
channel is enabled. If there are no set status bits, the ALERT pin will be released.
The bits that cause the ALERT pin to be asserted can be masked based on the channel they are
associated with unless stated otherwise.
Bit 7 - RESET - This bit is set to ‘1’ if the Reset Generator (see Section 5.10) has tripped, meaning
that the VDD_5V voltage level is less than its normal operating level (and the RESET pin is at a logic
‘0’ state). This bit is cleared when the RESET output changes states to a logic ‘1’. This bit will not
cause the ALERT pin to be asserted.
Datasheet
Bit 6 - TSD - This bit is set to ‘1’ if the internal Thermal Shutdown (TSD) circuit trips indicating that the
die temperature has exceeded its threshold. When this bit is set, it will not cause the ALERT pin to be
asserted however will coincide with the SYS_SHDN pin being asserted. This bit is cleared when the
register is read and the error condition has been removed.
Bit 5 - TCRIT - This bit is set to ‘1’ whenever the any bit in the Tcrit Status Register is set. This bit is
automatically cleared when the Tcrit Status Register is cleared.
Bit 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.
Bit 0 - FAULT - This bit is set to ‘1’ if any bit in the Diode Fault Register is set. This bit is automatically
cleared when the Diode Fault Register is read and the bits are cleared.
The Error Status Registers report the specific error condition for all measurement channels with limits.
If any bit is set in the High, Low, or Diode Fault Status register, the corresponding High, Low, or Fault
bit is set in the Interrupt Status Register.
Reading the Interrupt Status Register does not clear the Error Status bit. Reading from any Error Status
Register that has bits set will clear the register and the corresponding bit in the Interrupt Status
Register if the error condition has been removed. If the error condition is persistent, reading the Error
Status Registers will have no affect.
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.
Datasheet
The Fan Status Register contains the status bits associated with each fan driver. This register is
cleared when read if the error condition has been removed.
Bit 7 - WATCH - This bit is asserted ‘1’ if the Watchdog timer has expired (see Section 5.6).
Bit 5 - DRIVE_FAIL - Indicates that the RPM-based Fan Speed Control Algorithm cannot drive the Fan
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 the Fan to the desired target setting.
‘1’ - The RPM-based Fan Speed Control Algorithm cannot drive the Fan to the desired target setting
at maximum drive.
Bit 4- FAN_SHORT - This bit is asserted ‘1’ if the High Side Fan Driver detects an over current
condition that lasts for longer than 2 seconds.
Bit 1- FAN_SPIN- This bit is asserted ‘1’ if the Spin up Routine for the Fan cannot detect a valid
tachometer reading within its maximum time window. This bit can be masked from asserting the ALERT
pin.
Bit 0 - FAN_STALL - This bit is asserted ‘1’ if the tachometer measurement on the Fan detects a stalled
fan. This bit can be masked from asserting the ALERT pin.
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 3 - EXT3_INT_EN - Allows the External Diode 3 channel to assert the ALERT pin. This bit can only
be set if the APD bit is set.
‘0’ (default) - The ALERT pin will not be asserted for any error condition associated with External
Diode 3 channel.
‘1’ - The ALERT pin will be asserted for an error condition associated with External Diode 3
channel.
Bit 2 - EXT2_INT_EN - Allows the External Diode 2 channel to assert the ALERT pin.
‘0’ (default) - The ALERT pin will not be asserted for any error condition associated with External
Diode 2 channel.
‘1’ - The ALERT pin will be asserted for an error condition associated with External Diode 2
channel.
Datasheet
Bit 1 - EXT1_INT_EN - Allows the External Diode 1 channel to assert the ALERT pin.
‘0’ (default) - The ALERT pin will not be asserted for any error condition associated with External
Diode 1 channel.
‘1’ - The ALERT pin will be asserted for an error condition associated with External Diode 1
channel.
Bit 0 - INT_INT_EN - Allows the Internal Diode channel to assert the ALERT pin.
‘0’ (default) - The ALERT pin will not be asserted for any error condition associated with the Internal
Diode.
‘1’ - The ALERT pin will be asserted for an error condition associated with the Internal Diode.
Fan
SPIN_ STALL_
29h R/W Interrupt - - - - - - 00h
INT_EN INT_EN
Enable
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 1 - SPIN_INT_EN - Allows the FAN_SPIN bit to assert the ALERT pin.
‘0’ (default) - the FAN_SPIN bit will not assert the ALERT pin though it will still update the Status
Register normally.
‘1’ - the FAN_SPIN bit will assert the ALERT pin.
Bit 0 - STALL_INT_EN - Allows the FAN_STALL bit or DRIVE_FAIL bit to assert the ALERT pin.
‘0’ (default) - the FAN_STALL bit or DRIVE_FAIL bit will not assert the ALERT pin though will still
update the Status Register normally.
‘1’ - the FAN_STALL or DRIVE_FAIL bit will assert the ALERT pin if set.
Datasheet
The EMC2112 contains high limits for all temperature channels and voltage channels. If any
measurement meets or exceeds the high limit then the appropriate status bit is set and the ALERT pin
is asserted (if enabled).
The Fan Setting Register always displays the current setting of the Fan Driver. Reading from the
register will report the current fan speed setting of the fan driver regardless of the operating mode.
Therefore it is possible that reading from this register will not report data that was previously written
into this register.
While the RPM-based Fan Speed Control Algorithm is active, then the register is read only. Writing to
the register will have no affect and the data will not be stored.
If the RPM-based Fan Control Algorithm is disabled, then the register will be set with the previous
value that was used. The register is read / write and writing to this register will affect the fan speed.
The contents of the register represent the weighting of each bit in determining the final output voltage.
The output drive for the High Side Fan Driver output is given by Equation [2].
Fan EN_
42h R/W RANGE[1:0] EDGES[1:0] UPDATE[2:0] 2Bh
Configuration 1 ALGO
The Fan Configuration 1 Register controls the general operation of the RPM-based Fan Speed Control
Algorithm used for the Fan 1 driver.
Bits 6- 5 - RANGE[1:0] - Adjusts the range of reported and programmed tachometer reading values.
The RANGE bits determine the weighting of all TACH values (including the Valid TACH Count, TACH
Target, and TACH reading) as shown in Table 6.26.
Datasheet
RANGE[1:0]
REPORTED MINIMUM TACH COUNT
RPM MULTIPLIER
1 0
0 0 500 1
0 1 1000 (default) 2
1 0 2000 4
1 1 4000 8
Bits 4-3 - EDGES[1:0] - determines the minimum number of edges that must be detected on the TACH
signal to determine a single rotation. A typical fan measured 5 edges (for a 2-pole fan). For more
accurate tachometer measurement, the minimum number of edges measured may be increased.
Increasing the number of edges measured with respect to the number of poles of the fan will cause
the TACH Reading registers to indicate a fan speed that is higher or lower than the actual speed. In
order for the FSC Algorithm to operate correctly, the TACH Target must be updated by the user to
accommodate this shift. The Effective Tach Multiplier shown in Table 6.27 is used as a direct multiplier
term that is applied to the Actual RPM to achieve the Reported RPM. It should only be applied if the
number of edges measured does not match the number of edges expected based on the number of
poles of the fan (which is fixed for any given fan).
Contact SMSC for recommended settings when using fans with more or less than 2 poles.
0 0 3 1 pole 0.5
0 1 5 2 poles (default) 1
1 0 7 3 poles 1.5
1 1 9 4 poles 2
Bit 2-0 - UPDATE - determines the base time between fan driver updates. The Update Time, along
with the Fan Step Register, is used to control the ramp rate of the drive response to provide a cleaner
transition of the actual fan operation as the desired fan speed changes. The Update Time is set as
shown in Table 6.28.
UPDATE[2:0]
UPDATE TIME
2 1 0
0 0 0 100ms
0 0 1 200ms
0 1 0 300ms
Datasheet
UPDATE[2:0]
UPDATE TIME
2 1 0
0 1 1 400ms (default)
1 0 0 500ms
1 0 1 800ms
1 1 0 1200ms
1 1 1 1600ms
The Fan Configuration 2 Register controls the tachometer measurement and advanced features of the
RPM-based Fan Speed Control Algorithm.
Bit 7 - TEMP_RR - Overrides max step controls for the FSC algorithm when any temperature exceeds
its respective high limit.
‘0’ (default) - All ramp rate control circuitry works at all times for the FSC algorithm or as determined
by the EN_RRC bit for manual mode.
‘1’ - If any measured temperature or the PWM Input Duty cycle meets or exceeds its respective
high limit, then the Fan Max Step register settings are not used and the FSC algorithm acts as if
the Max Step settings were at 3Fh. The device will continue to operate in this way until all
temperatures (and the PWM input duty cycle) have dropped below the respective high limit.
Bit 6 - EN_RRC - Enables ramp rate control when the fan driver is operated in the Direct Setting Mode.
‘0’ (default) - Ramp rate control is disabled. When the fan driver is operating in Direct Setting 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, the fan
drive setting will follow the ramp rate controls as determined by the Fan Step and Update Time
settings. The maximum fan drive setting step is capped at the Fan Step setting and is updated
based on the Update Time as given by Table 6.28.
Bit 5 - GLITCH_EN - Disables the low pass glitch filter that removes high frequency noise injected on
the TACH pin.
‘0’ - The glitch filter is disabled.
‘1’ (default) - The glitch filter is enabled.
Bits 4 - 3 - DER_OPT[1:0] - Control some of the advanced options that affect the derivative portion of
the RPM-based Fan Speed Control Algorithm as shown in Table 6.30.
Datasheet
DER_OPT[1:0]
OPERATION
1 0
Both the basic derivative and the step derivative are used
1 1 effectively causing the derivative term to have double the
effect of the derivative term.
Bit 2 - 1 - ERR_RNG[1:0] - Control some of the advanced options that affect the error window. When
the measured fan speed is within the programmed error window around the target speed, then the fan
drive setting is not updated. The algorithm will continue to monitor the fan speed and calculate
necessary drive setting changes based on the error, however these changes are ignored.
ERR_RNG[1:0]
OPERATION
1 0
0 0 0 RPM (default)
0 1 50 RPM
1 0 100 RPM
1 1 200 RPM
The Gain Register stores the gain terms used by the proportional and integral portions of each of the
RPM-based Fan Speed Control Algorithms. These gain terms are used as the KD, KI, and KP gain
terms in a classic PID control solution.
Datasheet
0 0 1x
0 1 2x
1 0 4x (default)
1 1 8x
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[1:0] - Determines how many update cycles are used for the Drive Fail
detection function as shown in Table 6.35. This circuitry determines whether the fan can be driven to
the desired tach target.
DRIVE_FAIL_CNT[1:0]
NUMBER OF UPDATE PERIODS
1 0
Bit 5 - NOKICK - Determines if the Spin Up Routine will drive the fan to 100% duty cycle for 1/4 of the
programmed spin up time before driving it at the programmed level.
‘0’ (default) - The Spin Up Routine will drive the fan driver to 100% for 1/4 of the programmed spin
up time before reverting to the programmed spin level.
‘1’ - The Spin Up Routine will not drive the fan driver to 100%. It will set the drive at the
programmed spin level for the entire duration of the programmed spin up time.
Datasheet
Bits 4 - 2 - SPIN_LVL[2:0] - Determines the final drive level that is used by the Spin Up Routine as
shown in Table 6.36.
SPIN_LVL[2:0]
SPIN UP DRIVE LEVEL
2 1 0
0 0 0 30%
0 0 1 35%
0 1 0 40%
0 1 1 45%
1 0 0 50%
1 0 1 55%
1 1 0 60% (default)
1 1 1 65%
Bit 1 -0 - SPINUP_TIME[1:0] - determines the maximum Spin Time that the Spin Up Routine will run
for (see Section 5.2). If a valid tachometer measurement is not detected before the Spin Time has
elapsed, then an interrupt will be generated. When the RPM-based Fan Speed Control Algorithm is
active, the fan driver will attempt to re-start the fan immediately after the end of the last spin up attempt.
SPINUP_TIME[1:0]
TOTAL SPIN UP TIME
1 0
0 0 250 ms
0 1 500 ms (default)
1 0 1 sec
1 1 2 sec
The Fan Max Step Register, along with the Update Time, controls the ramp rate of the fan driver
response calculated by the RPM-based Fan Speed Control Algorithm. The value of the registers
represents the maximum step size each fan driver will take between update times (see Section 6.18).
Datasheet
When the FSC algorithm is enabled, Ramp Rate control is automatically used. When the FSC is not
active, then Ramp Rate control can be enabled by asserting the EN_RRC bit (see Section 6.19)
APPLICATION NOTE: The UPDATE bits and Fan Step Register settings operate independently of the RPM-based
Fan Speed Control Algorithm and will always limit the fan drive setting. That is, if the
programmed fan drive setting (either in determined by the RPM-based Fan Speed Control
Algorithm or by manual settings) exceeds the current fan drive setting by greater than the
Fan Step Register setting, the EMC2112 will limit the fan drive change to the value of the
Fan Step Register. It will use the Update Time to determine how often to update the drive
settings.
APPLICATION NOTE: If the Fan Speed Control Algorithm is used, the default settings in the Fan Configuration 2
Register will cause the maximum fan step settings to be ignored.
The Fan Minimum Drive Register stores the minimum drive setting for each RPM-based Fan Speed
Control Algorithm. The RPM-based Fan Speed Control Algorithm will not drive the fan at a level lower
than the minimum drive unless the target Fan Speed is set at FFh (see Section 6.26)
During normal operation, if the fan stops for any reason (including low drive), the RPM-based Fan
Speed Control Algorithm will attempt to restart the fan. Setting the Fan Minimum Drive Registers to a
setting that will maintain fan operation is a useful way to avoid potential fan oscillations as the control
circuitry attempts to drive it at a level that cannot support fan operation.
49h R/W Valid TACH Count 4096 2048 1024 512 256 128 64 32 F5h
The Valid TACH Count Register stores the maximum TACH Reading Register value to indicate that
the each fan is spinning properly. The value is referenced at the end of the Spin Up Routine to
determine if the fan has started operating and decide if the device needs to retry. See Equation [3] for
translating the count to an RPM. This register is only used when the FSC is active.
If the TACH Reading Register value exceeds the Valid TACH Count Register (indicating that the Fan
RPM is below the threshold set by this count), then a stalled fan is detected. In this condition, the
algorithm will automatically begin its Spin Up Routine.
If a TACH Target setting is set above the Valid TACH Count setting, then that setting will be ignored
and the algorithm will use the current fan drive setting.
Datasheet
The Fan Drive Fail Band Registers store the number of tach counts used by the Fan Drive Fail
detection circuitry. This circuitry is activated when the fan drive setting high byte is at FFh. When it is
enabled, the actual measured fan speed is compared against the target fan speed. These registers
are only used when the FSC is active.
This circuitry is used to indicate that the target fan speed at full drive is higher than the fan is actually
capable of reaching. If the measured fan speed does not exceed the target fan speed minus the Fan
Drive Fail Band Register settings for a period of time longer than set by the DRIVE_FAIL_CNTx[1:0]
bits then the DRIVE_FAIL status bit will be set and an interrupt generated.
TACH Target
4Dh R/W 4096 2048 1024 512 256 128 64 32 FFh
High Byte
The TACH Target Registers hold the target tachometer value that is maintained each of the RPM-
based Fan Speed Control Algorithms.
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
4Eh R Fan TACH 4096 2048 1024 512 256 128 64 32 FFh
Fan TACH
4Fh R 16 8 4 2 1 - - - F8h
Low Byte
Datasheet
The TACH Reading Registers’ contents describe the current tachometer reading for each of the fan.
By default, the data represents the fan speed as the number of 32kHz clock periods that occur for a
single revolution of the fan.
Equation [3] shows the detailed conversion from TACH measurement (COUNT) to RPM while Equation
[4] shows the simplified translation of TACH Reading Register count to RPM assuming a 2-pole fan,
measuring 5 edges, with a frequency of 32.768kHz. These equations are solved and tabulated for ease
of use in AN17.4 RPM to TACH Counts Conversion.
Whenever the high byte register is read, the corresponding low byte data will be loaded to internal
shadow registers so that when the low byte is read, the data will always coincide with the previously
read high byte.
where:
Prior to enabling the RUN_ALl bit, the TATRIM and TYPE[1:0] bits must be set to the desired settings.
Software
EFh R/W - - - - - - - LOCK 00h
Lock
The Software Lock Register controls the software locking of critical registers. This register is software
locked.
Bit 0 - LOCK - this bit acts on all registers that are designated SWL. When this bit is set, the locked
registers become read only and cannot be updated.
‘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.
Datasheet
Product SHDN_CH
FCh R - - - - ADR[1:0] 00h
Features [1:0]
The Product Features register shows those functions that are enabled by external pin states.
Bits 3-2 - ADR[2:0] - Indicates the selected SMBus address as determined by the ADDR_SEL pin.
ADR[1:0]
SLAVE ADDRESS
1 0
0 0 0101_111xb
0 1 0111_101xb
1 0 0101_110xb
Bits 1-0 - SHDN_CH[1:0] - Indicates the selected temperature channel associated with the Critical /
Thermal Shutdown logic (see Section 5.9).
SHDN_CH [1:0]
HARDWARE SHUTDOWN CHANNEL
1 0
The Product ID Register contains a unique 8 bit word that identifies the product.
Datasheet
Manufacturer
FEh R 0 1 0 1 1 1 0 1 5Dh
ID
The Manufacturer ID Register contains a unique 8 bit word that identifies SMSC.
The Revision Register contains a 8 bit word that identifies the die revision.
Datasheet
Supply Current vs. Ambient Temperature Supply Current vs. Supply Voltage
1.25
1.25
1.2 1.2
Supply Current (mA)
Supply Current (mA)
1.15 1.15
1.1 1.1
1.05 1.05
1 1
0 20 40 60 80 100 120 140 2.95 3.05 3.15 3.25 3.35 3.45 3.55 3.65
Ambient Temperature (°C) Supply Voltage (V)
0.6
(°C)(C
1.5 80 0.4
Error
0.2
Error
Temperature
1 60 0
Temperature
-0.2
0.5 40
-0.4
0 REC on 20 -0.6
-0.8
-0.5 0 -1
0 50 100 150 200 250 0 1000 2000 3000 4000 5000
Series Resistance (Ohm) CFILTER (pF)
Datasheet
Temperature Error vs. Ambient Temperature Temperature Error vs. Supply Voltage
0.5 0.5
0.4 0.4
0.3 0.3
(°C
Error(°C)
(°C
(°C)
0.2 0.2
Error
TemperatureError
0.1
Error
0.1
Temperature
Temperature
0
Temperature
-0.1 -0.1
-0.2 -0.2
-0.3 -0.3
-0.4 -0.4
-0.5 -0.5
0 20 40 60 80 100 120 140 2.95 3.05 3.15 3.25 3.35 3.45 3.55 3.65
Ambient
Ambient Temperature
Temperature (°C)
(°C) Supply Voltage (V)
Tachometer Measurement Accuracy vs. Ambient Temperature Tachometer Measurement Accuracy vs. Supply Voltage
1 1
0.9 0.9
(%
(%
Accuracy(%)
Accuracy(%)
0.8 0.8
Tach Measurement Accuracy
MeasurementAccuracy
0.7 0.7
0.6 0.6
Tach Measurement
0.2
Tach
High Side Drive Voltage vs. Ambient Temperature Reset Generator Threshold vs. Ambient Temperature
5 4.7
4.99
(V)
Threshold(V)
Unloaded
4.98
Reset Generator Threshold
(100kOhm) 4.65
4.97
Drive Voltage (V)
4.96
4.6
4.95
4.94
4.93 Loaded 4.55
Reset
(8.11Ohm)
4.92
4.91
4.5
4.9 0 20 40 60 80 100 120 140
0 20 40 60 80 100 120 140
Ambient Temperature (°C)
Ambient Temperature (°C)
Datasheet
4.7
(V
Threshold(V)
Reset Generator Threshold
4.65
4.6
Reset
4.55
4.5
2.95 3.05 3.15 3.25 3.35 3.45 3.55 3.65
Supply Voltage (V)
Datasheet
Datasheet
Figure 8.2 EMC2112 Package Dimensions and Notes - 20-Pin QFN 4mm x 4mm
Datasheet
TOP
0.41
BOTTOM
BOTTOM MARKING NOT ALLOWED
Datasheet
Rev. 0.88 Figure 5.4, "EMC2112 Updated figure to show SYS_SHDN# is open
(11-20-09) Critical/Thermal Shutdown drain.
Block Diagram"
Section 6.32, "Revision Updated value of Revision Register (FFh) from 00h
Register" to 01h to reflect the new die revision.