the illustrative embodiment of the invention is a monolithic brushless dc motor controller 100 that provides functions for implementing fan speed control . as shown in fig1 , the invention may be implemented in one configuration as an eight pin package . controller 100 may be provided in sop - 8 and msop - 8 surface mount packages . in other embodiments of the invention controller 100 may be integrated onto the same silicon as the device being cooled by fan 200 . turning now to fig2 , controller 100 for speed control of motor 200 includes a pulse width modulator logic or pwm circuit 101 , commutation logic for proper drive sequencing 103 , direct motor drive 105 , current limiter 107 , and a programmable fault timer with time delayed restart and a power down low current mode block 109 . controller 100 , fully integrated on a single chip 102 contains all required functions for implementing fan speed control . as shown in fig3 , pulse width modulator ( pwm ) 101 comprising a fixed frequency oscillator 301 , comparator 303 , and a latch 305 along with associated gates for motor speed control of motor 200 . controller 100 also includes commutation logic 103 for proper drive sequencing , on - chip power mosfets 313 , 315 for direct motor drive , cycle - by - cycle current limiting circuit 317 , and a circuit block 109 providing a programmable fault timer with time delayed restart , and a power control 369 providing down low current mode . motor 200 includes rotor 201 and stator windings 203 , 205 . a rotator position sensor 207 is provided with motor 200 . in a typical motor fan arrangement , a hall effect device sensor is utilized is utilized as sensor 207 . motor 200 includes connections ø 1 , ø 2 , a sensor output hall and power connections . controller 100 utilizes pulse width modulation to provide an energy efficient means for controlling the motor speed of fan motor 200 by varying the average applied voltage to each stator winding 203 , 205 during the commutation sequence . pwm circuit 101 as noted above includes oscillator 301 , comparator 303 , and latch 305 . oscillator 301 provides both pulse and saw tooth outputs . pwm circuit 101 is responsive to either an analog or a digital signal on the same input terminal pwm input . fig4 illustrates the analog input signal range 401 and a digital input signal range 405 that pwm logic 101 is responsive to in the illustrative embodiment are shown . pwm circuit 101 includes a sub - circuit comprising level comparators 331 , 333 and a nor gate 348 that is used to determine whether the control signal at terminal pwm input is a digital control signal . if the control signal is not digital , it is assumed to be analog . comparator 331 has an input coupled to terminal pwm input and compares the voltage at pwm input against a reference that corresponds to the minimum logic high level . in this embodiment , the minimum logic high voltage level is 2 . 5 volts . comparator 331 generates a logic 1 or high output if the voltage at pwm input exceeds 2 . 5 volts . comparator 333 has an input coupled to terminal pwm input and compares the voltage at pwm input against a reference that corresponds to the maximum logic low level . in this embodiment , the maximum logic low voltage level is 0 . 5 volts . comparator 333 generates a logic 1 or high output if the voltage at pwm input is less than 0 . 5 volts . nor gate 348 provides a logic 0 or low output if either comparator 331 or comparator 333 indicates that the control signal is digital and provides a logic 1 or high output if neither comparator 331 or 333 indicates that the control signal is a digital signal . operation of gates 341 – 348 is as follows : and gate 341 has one input coupled to the square wave output of oscillator 301 and its other input coupled to the output of gate 348 . gate 341 blocks pulses from oscillator 301 if a digital signal is present at pwm input . this prevents oscillator 301 from initiating operation of motor drive circuit 316 via latch 305 when a digital signal is present at pwm input . and gate 342 a has one input coupled to the output of pwm comparator 303 and its other input coupled to the output of gate 348 . gate 342 a blocks the pwm comparator output pulses if a digital signal is present at pwm input . this prevents pwm comparator 303 from terminating operation of motor drive circuit 316 via latch 305 when a digital signal is present at pwm input . gate 342 b resets latch 305 to initiate operation of motor drive circuit 316 when the output of comparator 331 is high and current limit circuit 317 is not activated . gate 343 is used to block signals to latch 305 reset input r during the time that current limiter 317 detects that the motor current exceeds a predetermined limit . this prevents pwm comparator 303 from initiating energization of motor drive circuit 316 . gate 344 allows the pulse output from oscillator 301 to reset latch 305 if there is no current limiting and no analog input control signal . gate 347 is used to terminate energization of motor drive circuit 316 from either a digital low pwm input signal , or a comparision from comparator 303 , or the current limiter circuit 317 detects that the drive current limit is exceeded . gate 346 is utilized to reset latch 305 to initiate on - time of motor drive circuit 316 . gate 347 sets latch 305 to terminate the on - time of motor drive circuit 316 . operation of pwm circuit 101 in response to analog input control signals may be better understood by referring to the waveforms of fig5 . waveform 501 is the saw tooth output waveform of oscillator 301 . waveform 503 is the analog signal control at pwm input . waveform 505 is the output of current limit circuit 317 . waveform 507 is the reset input r of pwm latch 305 . waveform 509 is the output q ′ of pwm latch 305 . analog signal input control is accomplished with oscillator 301 initiating motor drive conduction and the pwm comparator 303 terminating it . as the voltage of saw tooth output waveform 501 falls from its peak level 504 to valley level 506 ( 2 . 0 v to 1 . 0 v , respectively ), a pulse 511 is simultaneously generated at the oscillator output 507 to reset pwm latch 305 , thereby causing the output q ′ to attain a high level allowing conduction of a motor drive mosfet 313 , 315 . pwm comparator 303 terminates conduction when saw tooth waveform 501 rises above the voltage level of the analog control waveform 503 applied to pwm input . thus , the conduction duty cycle or average voltage applied to a stator winding 203 , 205 of fan motor 200 is directly controlled by the analog voltage at pwm input . the conduction duty cycle increases from 0 % to 100 % as illustrated by waveform 509 as pwm input voltage increases from 1 . 0 v to 2 . 0 v , respectively . operation of pwm logic 101 in response to digital control signals at pwm input may be better understood by referring to the waveforms of fig6 . waveform 603 is a representative waveform of an input digital signal control at pwm input . waveform 505 is the output of current limit comparator 317 . waveform 507 is the reset input r of pwm latch 305 . waveform 509 is the output q ′ of pwm latch 305 . digital control is accomplished by applying a digital signal of the desired conduction duty cycle to the pwm input . as shown in fig4 , the low vil and high vih states for the digital input encompass the internal saw tooth peak and valley levels . in the illustrative embodiment , saw tooth levels are chosen such that a maximum 0 . 5 v low state and a minimum 2 . 5 v high state digital signal are utilized . these levels are easily achievable by 3 . 0 v logic circuitry . latch 305 when reset , initiates conduction of a motor drive mosfet 313 , 315 . latch 305 when set , terminates conduction of motor drive mosfets 313 , 315 . thus , the conduction duty cycle is directly controlled by the signal duty cycle present at the pwm input as long as the signal magnitude is above and below the window detector thresholds provided by comparators 331 , 333 . commutation logic 103 includes a rotor position decoder coupled to hall input to monitor which in turn is connectable to hall sensor 207 . rotor position decoder provides proper sequencing of the phase 1 , φ 1 , and phase 2 , φ 2 drive outputs . hall input is designed to interface directly with an open collector type hall effect switch . an internal pull - up is provided to minimize to number of external components . the commutation logic provides an output signal for monitoring the motor speed at output tach . direct motor drive is accomplished by providing two on - chip open drain n - channel mosfets 313 , 315 , each having a high breakdown voltage . the respective mosfet 313 , 315 drains are pinned out to output terminals φ 1 , φ 2 for direct connection to motor windings 203 , 205 . zener and series diodes 314 , 314 a are connected from each respective mosfet drain to gate to protect the mosfets 313 , 315 from excessive inductive voltage spikes . current limit comparator 317 monitors the voltage drop that appears across a sense resistor 318 . if motor 201 becomes overloaded or stalls , the threshold level of current limit circuit 317 will be exceeded causing pwm latch 305 to set . this terminates conduction of the motor drive mosfets 313 , 315 on an oscillator cycle - by - cycle basis . the fault timer 109 is controlled by the value of the external capacitor 110 . a current source included in fault timer 109 is used to charge capacitor 110 . the fault time mode is initiated when the current limit circuit 317 is activated . if an over current situation persists for an extended time period , the fault timer will gradually discharge the external timing capacitor to a voltage level that will cause the motor to stop and then initiate a restart sequence . a power control circuit 369 is connected to the pwm input terminal . power control circuit 369 monitors the signal level at pwm input . if the signal level at pwm input is below the minimum signal level for both digital and analog control signals for a predetermined time , power control circuit 369 signals circuit 109 to enter the power down or “ sleep ” mode wherein , power drain is reduced . this advantageously eliminates the need to provide separate power down control signals . operation of the power control circuit is automatic . power control circuit thus automatically reduces in device drain current at zero fan speed after time out . stated another way power control circuit 369 automatically powers down control circuit 100 if the system is at zero fan speed for a predetermined . if the signal level at pwm input is less than one volt , the fan is stopped and a timer in power control circuit 369 initiates a time period . if the signal level at pwm input rises to one volt or above , then the timer is turned off . the timer is set so that the predetermined time period selected is greater than the time period between pulses of the digital control signal . in the embodiment shown , a time period of two seconds is utilized as the predetermined period of time . however , those skilled in the art will understand that other time periods may be utilized . if at any time the signal level at pwm input rises to the first level or above , the timer is reset and control circuit 100 is fully powered up . although those skilled in the art are aware that many circuit configurations can be provided for power control circuit 369 . in the illustrative embodiment , a level comparator 371 and a timer 373 are utilized to provide the power control function . the invention has been described in conjunction with a specific illustrative embodiment . it will be understood by those skilled in the art that various changes , substitutions and modifications may be made without departing from the spirit or scope of the invention . it is intended that all such changes , substitutions and modifications be included in the scope of the invention . it is not intended that the invention be limited to the illustrative embodiment shown and described herein . it is intended that the invention be limited only by the claims appended hereto , giving the claims the broadest possible scope and coverage permitted under the law .