TSL2560, TSL2561
LIGHT-TO-DIGITAL CONVERTER
TAOS059Q − NOVEMBER 2009
21
The LUMENOLOGY r Company r
r
Copyright E 2009, TAOS Inc.
www.taosinc.com
APPLICATION INFORMATION: SOFTWARE
Interrupts
The interrupt feature of the TSL256x device simplifies and improves system efficiency by eliminating the need
to poll the sensor for a light intensity value. Interrupt styles are determined by the INTR field in the Interrupt
Register. The interrupt feature may be disabled by writing a field value of 00h to the Interrupt Control Register
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 provide a meaningful change in light intensity. However, it 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 TSL256x device implements two
16-bit-wide interrupt threshold registers that allow the user to define a threshold above and below the current
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 since, 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 TSL256x 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 setting the CLEAR bit (bit 6) in the COMMAND register.
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, the interrupt PERSIST field is set to 0. Either Level
or SMBus Alert style can be used. An interrupt will be generated upon completion of each conversion. The
interrupt threshold registers are ignored. The following example illustrates the configuration of a level interrupt:
// Set up end−of−conversion interrupt, Level style
Address = 0x39 //Slave addr also 0x29 or 0x49
Command = 0x86 //Address Interrupt Register
Data = 0x10 //Level style, every ADC cycle
WriteByte(Address, Command, Data)