Datasheet - HK Emc2302 1 Aizl TR 4570526
Datasheet - HK Emc2302 1 Aizl TR 4570526
Datasheet - HK Emc2302 1 Aizl TR 4570526
Block Diagram
CLK
TACH1
Tachometer
Tach
Limit
Measurement
Registers
TACH2
SMCLK
SMBus
Slave SMDATA
Protocol
ALERT#
PWM1 Fan Speed Control Algorithm
PWM
Drivers
PWM2 Fan Speed Control Algorithm
Datasheet
ORDER NUMBER:
This product meets the halogen maximum concentration values per IEC61249-2-21
For RoHS compliance and environmental information, please visit www.smsc.com/rohs
Datasheet
Table of Contents
Chapter 3 Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1 System Management Bus Interface Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.1 SMBus Start Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.2 SMBus Address and RD / WR Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.3 SMBus Data Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.4 SMBus ACK and NACK Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.5 SMBus Stop Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.6 SMBus Time-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1.7 SMBus and I2C Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 SMBus Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.1 Write Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.2 Read Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.3 Send Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.4 Receive Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.5 Block Write Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.6 Block Read Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.7 Alert Response Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Datasheet
Datasheet
List of Figures
Figure 1.1 EMC2302 Pin Diagram (10-Pin MSOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Figure 3.1 SMBus Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figure 4.1 System Diagram of EMC2302 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Figure 4.2 Spin Up Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 4.3 Ramp Rate Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figure 7.1 EMC2302 Package Drawing - 10-Pin MSOP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figure 7.2 EMC2302 Package Markings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Datasheet
List of Tables
Table 1.1 Pin Description for EMC2302 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Table 1.2 Pin Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Table 2.1 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Table 2.2 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Table 2.3 SMBus Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Table 3.1 Protocol Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Table 3.2 Write Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Table 3.3 Read Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 3.4 Send Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 3.5 Receive Byte Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 3.6 Block Write Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Table 3.7 Block Read Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 3.8 Alert Response Address Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Table 4.1 Fan Controls Active for Operating Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Table 5.1 EMC2302 Register Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Table 5.2 Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Table 5.3 Fan Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Table 5.4 Fan Interrupt Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table 5.5 PWM Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 5.6 PWM Base Frequency Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 5.7 PWM_BASEx[1:0] Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Table 5.8 Fan Driver Setting Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Table 5.9 PWM Divide Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Table 5.10 Fan Configuration 1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 5.11 Range Decode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Table 5.12 Minimum Edges for Fan Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Table 5.13 Update Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Table 5.14 Fan Configuration 2 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Table 5.15 Derivative Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Table 5.16 Error Range Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Table 5.17 Gain Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 5.18 Gain Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 5.19 Fan Spin Up Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Table 5.20 DRIVE_FAIL_CNT[1:0] Bit Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Table 5.21 Spin Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Table 5.22 Spin Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 5.23 Fan Max Step Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 5.24 Minimum Fan Drive Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 5.25 Valid TACH Count Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 5.26 Fan Drive Fail Band Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 5.27 TACH Target Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 5.28 TACH Reading Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Table 5.29 Software Lock Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 5.30 Product ID Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 5.31 Manufacturer ID Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Table 5.32 Revision Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Datasheet
SMDATA 1 10 ALERT#
SMCLK 2 9 CLK
EMC2302
VDD 3 8 TACH2
10-MSOP
GND 4 7 PWM2
PWM1 5 6 TACH1
Datasheet
The pin types are described in detail below. All pins labeled with (5V) are 5V tolerant.
APPLICATION NOTE: For the 5V tolerant pins that have a pull-up resistor, the voltage difference between VDD and
the 5V tolerant pad must never be more than 3.6V.
Datasheet
Note: Stresses above those listed could cause permanent damage to the device. This is a stress
rating only and functional operation of the device at any other condition above those indicated
in the operation sections of this specification is not implied.
Note 2.1 For the 5V tolerant pins that have a pull-up resistor, the pull-up voltage must not exceed
3.6V when the EMC2302 is unpowered.
VDD = 3V to 3.6V, TA = -40°C to 125°C, all Typical values at TA = 27°C unless otherwise noted.
DC Power
Datasheet
VDD = 3V to 3.6V, TA = -40°C to 125°C, all Typical values at TA = 27°C unless otherwise noted.
VDD= 3V to 3.6V, TA = -40°C to 125°C Typical values are at TA = 27°C unless otherwise noted.
SMBus Interface
SMBus Timing
Datasheet
VDD= 3V to 3.6V, TA = -40°C to 125°C Typical values are at TA = 27°C unless otherwise noted.
Datasheet
Chapter 3 Communications
TRISE TFALL
SMCLK
SMDATA
TBUF
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.
Datasheet
The SMBus timeout feature is disabled by default and can be enabled via clearing the DIS_TO bit in
the Configuration register (20h).
2. The slave protocol will reset if the clock is held low for longer than 30ms (I2C has no timeout).
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.
All of the below protocols use the convention in Table 3.1. When reading the protocol blocks, the value
of YYYY_YYYb should be replaced with the respective SMBus addresses.
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 3.8.
ALERT
RESPONSE DEVICE
START ADDRESS RD ACK ADDRESS NACK STOP
The EMC2302 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 EMC2302 is an SMBus compliant fan controller with two programmable frequency PWM fan
drivers. The fan drivers can be operated using two modes: the RPM-based Fan Speed Control
Algorithm or the direct fan drive setting.
3.3V
VDD
tachometer
SMCLK TACH2
MCU SMDATA Drive
PWM2
Circuit
ALERT#
Drive
PWM1
Circuit
GND
Datasheet
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 manually 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.
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.
Datasheet
The EMC2302’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
EMC2302 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. The EMC2302 offers a clock output
that enables additional devices to be slaved to the same clock source.
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 TACHx signal in real time. It constantly updates the tachometer
measurement by reporting the number of clocks between a user programmed number of edges on the
TACHx signal (see Table 5.12).
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.
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 or the Spin Up Routine is enabled, the FAN_STALL interrupt
will be masked for the duration of the programmed Spin Up Time (see Table 5.22) to allow the fan
to reach a valid speed without generating unnecessary interrupts.
In Direct Setting Mode, 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 this function is used, the external clock is driven into the device via the CLK pin.
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:
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 5.15).
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 at a
user defined level (30% through 65% drive).
Datasheet
After the Spin Up Routine has finished, the EMC2302 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 4.2 shows an example of the Spin Up Routine in response to a programmed fan speed change
based on the first condition above.
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 4.3.
Datasheet
Next Desired
Setting
Max
Step
Max
Step
Previous
Setting
Update Update
Time Time
Setting Changed
Figure 4.3 Ramp Rate Control
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.
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.
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.
Writing any other configuration registers will not disable the Watchdog Timer upon power up.
Datasheet
Datasheet
REGISTER DEFAULT
ADDR R/W NAME FUNCTION VALUE LOCK PAGE
PWM Polarity
2Ah R/W Configures Polarity of all PWM drivers 00h No Page 28
Config
PWM Output
2Bh R/W Configures Output type of PWM drivers 00h No Page 28
Config
Datasheet
REGISTER DEFAULT
ADDR R/W NAME FUNCTION VALUE LOCK PAGE
Fan 1 Minimum Sets the minimum drive value for the 66h
38h R/W SWL Page 36
Drive Fan 1 driver (40%)
Fan 2 Minimum Sets the minimum drive value for the 66h
48h R/W SWL Page 36
Drive Fan 2 driver (40%)
Datasheet
REGISTER DEFAULT
ADDR R/W NAME FUNCTION VALUE LOCK PAGE
Lock Register
EF R/W Software Lock Locks all SWL registers 00h SWL Page 39
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 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.
USE_
DR_EXT_
20h R/W Configuration MASK DIS_TO WD_EN - - - EXT_ 40h
CLK
CLK
The Configuration Register controls the basic functionality of the EMC2302. The bits are described
below. The Configuration Register is software locked.
Datasheet
‘0’ (default) - The ALERT# pin is unmasked. If any bit in either status register is set, the ALERT#
pins will be asserted (unless individually masked via the Mask Register).
‘1’ - The ALERT# pin is masked and will not be asserted.
Bit 6 - DIS_TO - Disables the SMBus timeout function for the SMBus client (if enabled).
‘0’ - The SMBus timeout function is enabled.
‘1’ (default) - The SMBus timeout function is disabled allowing the device to be fully I2C compliant.
Bit 5 - WD_EN - Enables the Watchdog timer to operate in Continuous Mode (see Section 4.8.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 4.8.
Bit 1 - 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 0 - USE_EXT_CLK - Enables the EMC2302 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 EMC2302 will use its internal oscillator for all Tachometer measurements.
‘1’ - The EMC2302 will use the oscillator presented on the CLK pin for all Tachometer
measurements.
The Fan Status registers contain the status bits associated with each fan driver.
Bit 7 - WATCH - Indicates that the Watchdog Timer has expired. When set, each fan is driven to 100%
duty cycle and will remain at 100% duty cycle until they are programmed. This bit is cleared when it
is read.
Datasheet
Bit 2 - DRIVE_FAIL - Indicates that one or both fan drivers cannot meet the programmed fan speed
at maximum PWM duty cycle. This bit is set when any bit in the Fan Drive Fail Status register is set
and cleared when all bits in the Fan Drive Fail Status register are cleared.
Bit 1 - FAN_SPIN - Indicates that one or both fan drivers cannot spin up. This bit is set when any bit
in the Fan Spin Status register is set and cleared when all of the bits in the Fan Spin Status register
are cleared.
Bit 0 - FAN_STALL - Indicates that one or both fan drivers have stalled. This bit is set when any bit in
the Fan Stall Status register is set and cleared when all of the bits in the Fan Stall Status register are
cleared.
Bit 1 - DRIVE_FAIL2 - Indicates that Fan 2 cannot reach its programmed fan speed even at 100% duty
cycle. This may be due to an aging fan or invalid programming.
Bit 0 - DRIVE_FAIL1 - Indicates that Fan 1 cannot reach its programmed fan speed even at 100% duty
cycle. This may be due to an aging fan or invalid programming.
Fan
FAN2_ FAN1_
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 - FAN2_INT_EN - Allows Fan 2 to assert the ALERT# pin if an error is detected.
Bit 0 - FAN1_INT_EN - Allows Fan 1 to assert the ALERT# pin if an error condition is detected.
Datasheet
‘0’ (default) - An error condition on Fan X will not cause the ALERT# pin to be asserted, however
the status registers will be updated normally.
‘1’ - An error condition (Stall, Spin Up, Drive Fail) on Fan X will cause the ALERT# pin to be
asserted.
PWM Output
2Bh R/W - - - - - - PWM2_OT PWM1_OT 00h
Config
The PWM Config registers control the output type and polarity of all PWM outputs.
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 frequency is set by the base frequency and
its respective divide ratio (see Section 5.8).
Datasheet
Bits 3-2 - PWM_BASE2[1:0] - Determines the base frequency of the PWM2 driver.
Bits 1-0 - PWM_BASE1[1:0] - Determines the base frequency of the PWM1 driver.
PWM_BASEX[1:0]
1 0 BASE FREQUENCY
0 0 26.00kHz (default)
0 1 19.531kHz
1 0 4,882Hz
1 1 2,441Hz
The Fan Setting register always displays the current setting of the respective fan driver. Reading from
any of the registers will report the current fan speed setting of the appropriate fan driver regardless of
the operating mode. Therefore it is possible that reading from this register will not report data that was
previously written into this register.
While the RPM-based Fan Speed Control Algorithm is active, the register is read only. Writing to the
register will have no effect and the data will not be stored.
The contents of the register represent the weighting of each bit in determining the final output voltage.
The output drive for a PWM output is given by Equation [1].
The PWM Divide registers determine the final frequency of the respective PWM Fan Driver. Each driver
base frequency is divided by the value of the respective PWM Divide Register to determine the final
Datasheet
frequency. The duty cycle settings are not affected by these settings, only the final frequency of the
PWM driver. A value of 00h will be decoded as 01h.
Fan 1 EN_
32h R/W RANGE1[1:0] EDGES1[1:0] UPDATE1[2:0] 2Bh
Configuration 1 ALGO1
Fan 2 EN_
42h R/W RANGE2[1:0] EDGES2[1:0] UPDATE2[2:0] 2Bh
Configuration 1 ALGO2
The Fan Configuration 1 registers control the general operation of the RPM-based Fan Speed Control
Algorithm used for the respective Fan Driver.
Bits 6- 5 - RANGEx[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 5.11.
RANGEX[1:0]
REPORTED MINIMUM TACH COUNT
1 0 RPM MULTIPLIER
0 0 500 1
0 1 1000 (default) 2
1 0 2000 4
1 1 4000 8
Bits 4-3 - EDGESx[1:0] - determines the minimum number of edges that must be detected on the
TACHx signal to determine a single rotation. A typical fan measured 5 edges (for a 2-pole fan). For
more accurate tachometer measurement, the minimum number of edges measured may be increased.
Increasing the number of edges measured with respect to the number of poles of the fan will cause
the TACH Reading registers to indicate a fan speed that is higher or lower than the actual speed. In
order for the FSC Algorithm to operate correctly, the TACH Target must be updated by the user to
accommodate this shift. The Effective Tach Multiplier shown in Table 5.12 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.
Datasheet
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 - UPDATEx[2:0] - 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 5.13.
UPDATEX[2:0]
2 1 0 UPDATE TIME
0 0 0 100ms
0 0 1 200ms
0 1 0 300ms
0 1 1 400ms (default)
1 0 0 500ms
1 0 1 800ms
1 1 0 1200ms
1 1 1 1600ms
The Fan Configuration 2 register control the tachometer measurement and advanced features of the
RPM-based Fan Speed Control Algorithm.
Datasheet
Bit 6 - EN_RRCx - Enables ramp rate control when the corresponding 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 5.13.
Bit 5 - GLITCH_ENx - Disables the low pass glitch filter that removes high frequency noise injected
on the TACHx pin.
‘0’ - The glitch filter is disabled.
‘1’ (default) - The glitch filter is enabled.
Bits 4 - 3 - DER_OPTx[1:0] - Control some of the advanced options that affect the derivative portion
of the RPM-based Fan Speed Control Algorithm as shown in Table 5.15.
DER_OPTX[1:0]
1 0 OPERATION
Bit 2 - 1 - ERR_RNGx[1:0] - Control some of the advanced options that affect the error window. When
the measured fan speed is within the programmed error window around the target speed, then the fan
drive setting is not updated. The algorithm will continue to monitor the fan speed and calculate
necessary drive setting changes based on the error; however, these changes are ignored.
ERR_RNGX[1:0]
1 0 OPERATION
0 0 0 RPM (default)
0 1 50 RPM
1 0 100 RPM
1 1 200 RPM
Datasheet
Gain 1
35h R/W - - GAIND1[1:0] GAINI1[1:0] GAINP1[1:0] 2Ah
Register
Gain 2
45h R/W - - GAIND2[1:0] GAINI2[1:0] GAINP2[1:0] 2Ah
Register
The Gain registers store 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.
Bits 5 - 4 - GAINDX[1:0] - Controls the derivative gain term used by the FSC algorithm as shown in
Table 5.18.
Bits 3-2 - GAINIX[1:0] - Controls the integral gain term used by the FSC algorithm as shown in
Table 5.18.
Bits 1-0 - GAINP[1:0] - Controls the proportional gain term used by the FSC algorithm as shown in
Table 5.18.
0 0 1x
0 1 2x
1 0 4x (default)
1 1 8x
The Fan Spin Up Configuration registers control the settings of Spin Up Routine. The Fan Spin Up
Configuration registers are software locked.
Bit 7 - 6 - DRIVE_FAIL_CNTx[1:0] - Determines how many update cycles are used for the Drive Fail
detection function as shown in Table 5.20. This circuitry determines whether the fan can be driven to
the desired tach target.
Datasheet
DRIVE_FAIL_CNTX[1:0]
Bit 5 - NOKICKx - Determines if the Spin Up Routine will drive the fan to 100% duty cycle for 1/4 of
the programmed spin up time before driving it at the programmed level.
‘0’ (default) - The Spin Up Routine will drive the fan driver to 100% for 1/4 of the programmed spin
up time before reverting to the programmed spin level.
‘1’ - The Spin Up Routine will not drive the fan driver to 100%. It will set the drive at the
programmed spin level for the entire duration of the programmed spin up time.
Bits 4 - 2 - SPIN_LVLx[2:0] - Determines the final drive level that is used by the Spin Up Routine as
shown in Table 5.21.
SPIN_LVLX[2: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_TIMEx[1:0] - determines the maximum Spin Time that the Spin Up Routine will run
for (see Section 4.6). 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.
Datasheet
SPINUP_TIMEX[1:0]
0 0 250 ms
0 1 500 ms (default)
1 0 1 sec
1 1 2 sec
Fan 1 Max
37h R/W - - 32 16 8 4 2 1 10h
Step
Fan 2 Max
47h R/W - - 32 16 8 4 2 1 10h
Step
The Fan Max Step registers, along with the Update Time, control the ramp rate of the fan driver
response calculated by the RPM-based Fan Speed Control Algorithm. The value of the register
represents the maximum step size each fan driver will take between update times (see Section 5.9).
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 5.10).
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 as 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 EMC2302 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.
Datasheet
Fan 1
66h
38h R/W Minimum 128 64 32 16 8 4 2 1
(40%)
Drive
Fan 2
66h
48h R/W Minimum 128 64 32 16 8 4 2 1
(40%)
Drive
The Fan Minimum Drive registers store 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 5.17).
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 Register 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.
Valid TACH
39h R/W 4096 2048 1024 512 256 128 64 32 F5h
Count 1
Valid TACH
49h R/W 4096 2048 1024 512 256 128 64 32 F5h
Count 2
The Valid TACH Count registers store the maximum TACH Reading Register value to indicate that
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 [2] in Section 5.18
for translating the count to an RPM.
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
Fan 1 Drive
3Ah R/W Fail Band 16 8 4 2 1 - - - 00h
Low Byte
Fan 1 Drive
3Bh R/W Fail Band 4096 2048 1024 512 256 128 64 32 00h
High Byte
Fan 2 Drive
4Ah R/W Fail Band 16 8 4 2 1 - - - 00h
Low Byte
Fan 2 Drive
4Bh R/W Fall Band 4096 2048 1024 512 256 128 64 32 00h
High Byte
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
3Ch R/W 16 8 4 2 1 - - - F8h
1 Low Byte
TACH Target
3Dh R/W 4096 2048 1024 512 256 128 64 32 FFh
1 High Byte
TACH Target
4Ch R 16 8 4 2 1 - - - F8h
2 Low Byte
TACH Target
4Dh R/W 4096 2048 1024 512 256 128 64 32 FFh
2 High Byte
The TACH Target Registers hold the target tachometer value that is maintained by the RPM-based
Fan Speed Control Algorithm.
The value in the TACH Target Registers will always reflect the current TACH Target value.
If one of the algorithms is enabled, 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.
Datasheet
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.
3Eh R Fan 1 TACH 4096 2048 1024 512 256 128 64 32 FFh
Fan 1 TACH
3Fh R 16 8 4 2 1 - - - F8h
Low Byte
4Eh R Fan 2 TACH 4096 2048 1024 512 256 128 64 32 FFh
Fan 2 TACH
4Fh R 16 8 4 2 1 - - - F8h
Low Byte
The TACH Reading Registers’ contents describe the current tachometer reading for each of the fans.
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 [2] shows the detailed conversion from TACH measurement (COUNT) to RPM while Equation
[3] 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:
Datasheet
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.
The Product ID Register contains a unique 8-bit word that identifies the product.
The Revision Register contains an 8-bit word that identifies the die revision.
Datasheet
Datasheet
Supply Current vs. Ambient Temperature Supply Current vs. Supply Voltage
500 500
450 450
(uA)
Current (uA)
(uA)
Current (uA)
SupplyCurrent
400
SupplyCurrent
400
350
Supply
Supply
350
300 300
250 250
-50 0 50 100 150 2.95 3.05 3.15 3.25 3.35 3.45 3.55 3.65
Ambient Temperature
Temperature (C)(°C) Supply Voltage
Supply Voltage(V)(V)
Tachometer Measurement Accuracy vs. Ambient Temperature Tachometer Measurement Accuracy vs. Supply Voltage
1 1
0.8
(%)(%
0.8
(%
Accuracy(%)
Accuracy
0.6 0.6
MeasurementAccuracy
Accuracy
0.4 0.4
0.2 0.2
Measurement
Tach Measurement
0
Measurement
0
-0.2 -0.2
-0.4 -0.4
-0.6
Tach
Tach
-0.6
Tach
-0.8 -0.8
-1
-1
-50 0 50 100 150 2.95 3.05 3.15 3.25 3.35 3.45 3.55 3.65
AmbientTemperautre (C)
Temperature (°C) Supply Voltage (V)
Datasheet
PWM Frequency vs. Ambient Temperature PWM Frequency vs. Supply Voltage
V DD = 3.3V, Base Frequncy = 26Khz TA = 25C, Base Frequncy = 26Khz
27000
27000
26800
26800
26600
26600
PWM Frequency (Hz)
26400
PWM
PWM
Output
Output
10x
10x Zoom on
Zoom on PWM
PWM Output
Output
t=0 Duty Cycle Measured = 53.8% t=0 Duty Cycle Measured = 50%
PWM
Output
10x
Zoom on
PWM
Output
Datasheet
REVISIO N HISTORY
3 E1 E
A2
C A
SEATING PLANE
A1
ccc C
NOTES:
SIDE VIEW 3-D VIEW 1. ALL DI MENSIONS ARE IN MILLIMETER.
2. TOLERANCE ON THE TRUE POSITION OF EACH LEAD IS ± 0.04 mm AT MAXIMUM MATERIAL
CONDITION.
3. PACKAGE BODY DIMENSIONS "D" AND "E1" DO NOT INCLUDE MOLD/INTERLEAD PROTRUSIONS
OR FLASH. MAXIMUM MOLD PROTRUSIONS OR FLASH IS 0.15 mm (0.006 INCHES) PER END AND
SIDE. DIMENSIONS "D" AND "E1" ARE DETERMINED AT THE OUTERMOST EXTREMES OF THE
PLASTIC BODY, INCLUDING ANY MISMATCH BETWEEN TOP AND BOTTOM PLASTIC BODY. THEY
H
ARE DETERMINED AT DATUM PLANE "H".
4. DIMENSIONS "b" AND "c" APPLY TO THE FLAT SECTION OF THE LEAD BETWEEN 0.08 mm AND
C 0.15 mm FROM THE LEAD TIP.
GAUGE PLANE
5. DETAILS OF THE PIN 1 IDENTIFIER ARE OPTIONAL, BUT MUST BE LOCATED WITHIN THE ZONE
0.25 INDICATED.
SEATING PLANE
0° - 8° L UNLESS OTHERWISE SPECIFIED THIR D ANG L E PRO J ECTION
X.XX ±0.05
X.XXX ±0.025
TITLE
N AM E DAT E
DETAIL "A"
DI M AND T OL PER ASME Y14.5M - 1994
PACKAGE OUTLINE
M A TERIAL DRAWN
- S.K.IL IEV 3/29 /0 5 10 PIN TSSO P, 3x3 MM BODY, 0.50 MM PITCH
F N
I ISH CH ECKED DWG NUM BER REV
- S.K.IL IEV 3/29 /0 5 MO-10-TSSOP-3x3 A
APPR OVED SC ALE STD C OM PL IANC E S HEET
PRINT WIT H "SCALE TO FIT"
DO NOT SCALE DRAWING S.K.IL IEV 3/29 /0 5 1:1 JEDEC : MO-187 1 OF 1
Datasheet
TOP
e3
BOTTOM
PIN 1