NCT7491
http://onsemi.com
33
Setting the PWM Level for THERM Events
" PWM1 Max/Full, 0x16, bit 2
" PWM2 Max/Full, 0x16, bit 3
" PWM3 Max/Full, 0x16, bit 4
If these bits are set to 1 then the fans will go to 100% on
THERM assertion. If they are 0 then they will go to the
Maximum PWM value.
These bits are ignored if the THERM stepping function is
enabled.
PWM
Tmin
THERM
Step  Step
PWMStep1
100%
Temperature
Figure 22. THERM Stepping Function
PWMStep2
THERM Stepping Function
If the THERM Stepping function is enabled then the
associated PWM output goes to PWMStep1 when the
temperature is higher than THERM. The PWM output goes
to PWMStep2 when the temperature is higher than
THERM+Step and goes to 100% if the temperature reaches
THERM+2xStep. THERM stepping does not apply to PWM
channels in lookup table mode.
THERM Stepping is enabled by writing a value greater
than 0癈 to the THERM Step Size registers
Setting the THERM Step Size
" SMBus slave THERM Step, 0x18, bits <3:0>
" PECI THERM Step, 0x18 bits <7:4>
" Remote1/Local/Remote2 THERM Step, 0x19 bits <3:0>
" Push temperature THERM Step, 0x19 bits <7:4>
The range of temperature values that can be programmed
for the Step size is 0 to 15癈. If set to 0 then the stepping
function is disabled.
Setting the PWM Levels for THERM Stepping
" PWMStep1 Value, 0x14
" PWMStep2 Value, 0x15
PWMStep1 sets the PWM level that is output when a
temperature exceeds its THERM limit (and Stepping is
enabled). PWMStep2 sets the PWM level if the temperature
exceeds THERM Limit + Step, where Step is the
programmed step size for the temperature channel.
PWMStep1 and PWMStep2 are absolute PWM values
and have a resolution of 1 lsb = 0.392%.
NOTE:  If stepping is enabled for a temperature channel
controlling a PWM output, then that PWM
output will only respond to THERM events
generated by its own temperature control
sources and will not respond to THERM events
from other temperature sources.
THERM Timer
The NCT7491 has an internal timer to measure THERM
assertion time. For example, the THERM input can be
connected to the PROCHOT output of a CPU to measure
system performance. The THERM input can also be
connected to the output of a trip point temperature sensor.
The timer is started on the assertion of the NCT7491
THERM input and stopped when THERM is deasserted.
The timer counts THERM times cumulatively, that is, the
timer resumes counting on the next THERM assertion. The
THERM timer continues to accumulate THERM assertion
times until the timer is read (it is cleared on read), or until it
reaches full scale. If the counter reaches full scale, it stops
at that reading until cleared.
The 8bit THERM timer value register (0x79) is designed
so that Bit 0 is set to 1 on the first THERM assertion. Once
the cumulative THERM assertion time has exceeded 45.52
ms, Bit 1 of the THERM timer is set and Bit 0 now becomes
the LSB of the timer with a resolution of 22.76 ms (see
Figure 23).
After a pin has been configured as a THERM pin the timer
function can be enabled on the pin using bits <1:0> of
register 0x16:
" <00> = Timer disabled
" <01> = Timer enabled on pin 14 (QSOP), pin 11 (QFN)
" <10> = Timer enabled on pin 19 (QSOP), pin 16 (QFN)
" <11> = Timer enabled on pin 22 (QSOP), pin 19 (QFN)