Page 32 ams Datasheet
Document Feedback [v1-00] 2016-Apr-05
TSL2580, TSL2581 − Application Information: Software
Interrupts
The interrupt feature of the TSL258x device simplifies and
improves system efficiency by eliminating the need to poll the
sensor for a light intensity value. Interrupt mode is determined
by the INTR field in the INTERRUPT CONTROL Register. The
interrupt feature may be disabled by writing a field value of 00h
to the Interrupt Control Register (02h) so that polling can be
performed.
The versatility of the interrupt feature provides many options
for interrupt configuration and usage. The primary purpose of
the interrupt function is to signal a meaningful change in light
intensity. However, it can also be used as an end-of-conversion
signal. The concept of a meaningful change can be defined by
the user both in terms of light intensity and time, or persistence,
of that change in intensity. The TSL258x device implements two
16-bit-wide interrupt threshold registers that allow the user to
define thresholds above and below a desired light level. An
interrupt will then be generated when the value of a conversion
exceeds either of these limits. For simplicity of programming,
the threshold comparison is accomplished only with Channel
0. This simplifies calculation of thresholds that are based, for
example, on a percent of the current light level. It is adequate to
use only one channel when calculating light intensity
differences because, for a given light source, the channel 0 and
channel 1 values are linearly proportional to each other and
thus both values scale linearly with light intensity.
To further control when an interrupt occurs, the TSL258x device
provides an interrupt persistence feature. This feature allows
the user to specify a number of conversion cycles for which a
light intensity exceeding either interrupt threshold must persist
before actually generating an interrupt. This can be used to
prevent transient changes in light intensity from generating an
unwanted interrupt. With a value of 1, an interrupt occurs
immediately whenever either threshold is exceeded. With
values of N, where N can range from 2 to 15, N consecutive
conversions must result in values outside the interrupt window
for an interrupt to be generated. For example, if N is equal to
10 and the integration time is 402 ms, then an interrupt will not
be generated unless the light level persists for more than 4
seconds outside the threshold.
Two different interrupt styles are available: Level and SMBus
Alert. The difference between these two interrupt styles is how
they are cleared. Both result in the interrupt line going active
low and remaining low until the interrupt is cleared. A level style
interrupt is cleared by selecting the Special Function in the
COMMAND register and writing a 0 to the Interrupt Clear field
value. The SMBus Alert style interrupt is cleared by an Alert
Response as described in the Interrupt Control Register section
and SMBus specification.
To configure the interrupt as an end-of-conversion signal so
that every ADC integration cycle generates an interrupt, the
interrupt PERSIST field in the Interrupt Control Register (02h) is