LM87
SNAS034J –APRIL 2000–REVISED MARCH 2013
www.ti.com
IRQ input is active. Similarly, to mask off these inputs as interrupt sources, they must be disabled via the
Channel Mode Register (16h).
•IRQ3-4: These are active high inputs from any type of external interrupt source. If enabled via the Channel
Mode Register (16h) and Configuration Register 2 (4Ah), the INT# output will be activated whenever these
inputs are driven high. Since there are no dedicated ISR bits that correspond to the IRQ inputs, the VID
status bits can be read to determine which IRQ input is active. Similarly, to mask off these inputs as interrupt
sources, they must be disabled via Configuration Register 2 (4Ah).
With the exception of the IRQ inputs and Hardware Temperature errors, all interrupts are indicated in the two
Interrupt Status Registers. The INT# output has two mask registers, and individual masks for each Interrupt. As
described in Configuration Registers and Channel Mode Register, the hardware Interrupt line can also be
enabled/disabled in the Configuration Register.
The THERM# interrupt output is dedicated to temperature and therefore is only related to internal and external
temperature readings, and the Low, High and Hardware temperature limits.
INT# Interrupts
The INT# system combines several groups of error signals together into a common output. These groups are;
IRQ inputs, Voltage and Fan inputs, Temperature Values, and the THERM# input. Each one of these groups or
channels functions a little differently.
The IRQ inputs provide the least complicated INT# operation. The IRQ input block is enabled by setting bit 7of
the Channel Mode Register (16h) to 0. Then the individual inputs are enabled by setting the corresponding IRQ
Enable bits to 1. If an IRQ input is enabled, and subsequently an input signal is asserted on that channel, the
INT# output will be asserted. During the interrupt service routine, the INT# output can be deasserted in a number
of ways. The INT#_Clear bit can be set during the ISR to prevent further interrupts from occurring. Then the IRQ
enable bit for the particular input can be cleared to prevent that channel from causing further interrupts. At this
point the INT#_Clear bit can be cleared and no further interrupts would be issued from this particular IRQ input.
Once the signal causing the IRQ has been removed, the enable bit for that IRQ channel could be set again.
Voltage, Fan, and Temperature High/Low errors are slightly more complex in their generation of INT# outputs. All
of these error bits are stored in the Interrupt Status Registers at 43h, 44h and the Interrupt Status Mirror
Registers at 4Ch and 4Dh. These inputs are gated by the Interrupt Mask Registers and processed by the INT#
state machine to generate the INT# output.
Voltage and Fan error conditions are processed as follows. Every time a round robin conversion cycle is
completed, the high/low limit comparisons for voltage and fan quantities are updated. If a quantity is outside the
limits, the appropriate Interrupt Status Register bit will be set. If the corresponding Interrupt Mask Register bit is
0, then the Status Bit will cause the INT# output to be asserted. Reading the Interrupt Status register will clear
the Status Bit and cause the INT# output to be deasserted. If the parameter is still outside the limits on the next
conversion, the status bit will again be set and it will again cause an interrupt. If, on a subsequent conversion
cycle, the parameter returns within the High/Low limits before the Interrupt Status Registers are read, the
Interrupt Status bit will remain set and the INT# output will remain asserted.
Temperature High/Low errors are somewhat more complicated. The internal temperature value is compared with
the Internal Temperature High and Low Limits in Registers 39h and 3Ah (and with the Internal Temperature
Hardware High Limit in Registers 13h and 17h, see the next paragraph for details). We will begin with the
temperature value initially within the High/Low limits and the corresponding Interrupt Mask Bit = 0. If the
temperature value rises above the high limit, or below the low limit, the corresponding Interrupt Status Register
bit will be set. This will then cause an INT# to be asserted. Reading the Interrupt Status Register will clear the
status bit and cause INT# to be deasserted. If the temperature value remains above the high limit during
subsequent conversion cycles, the Interrupt Status Bit will again be set, but no new INT# will be generated from
this source. INT# may be reasserted if:
• The temperature then transitions up or down through the opposite limit to that originally exceeded.
• The original limit crossed is programmed to a new value and on a subsequent conversion cycle, the
converted temperature is outside the new limit. This would cause the corresponding Interrupt Status Bit to be
set, causing a new INT# event.
• An interrupt is generated by any other source, including any other temperature error or the THERM# pin
being pulled low by an external signal.
24 Submit Documentation Feedback Copyright © 2000–2013, Texas Instruments Incorporated
Product Folder Links: LM87