English
Language : 

ISL29030A_14 Datasheet, PDF (10/16 Pages) Intersil Corporation – Low Power Ambient Light and Proximity Sensor with Intelligent Interrupt and Sleep Modes - Analog and Digital Out
ISL29030A
220mA
(PROX_DR = 1)
110mA
(PROX_DR = 0)
PIN 8 - IRDR
(IRDR IS HI-Z WHEN
NOT DRIVING)
FIGURE 4. CURRENT DRIVE MODE OPTIONS
When the IR from the LED reaches an object and gets reflected
back into the ISL29030A, the reflected IR light is converted into
current, as shown by the IR spectral response in Figure 7. One
entire proximity measurement takes 0.54ms for one conversion
(which includes 0.1ms spent driving the LED), and the period
between proximity measurements is decided by PROX_SLP
(sleep time) in Register 1 Bits 6:4.
Average LED driving current consumption is given by Equation 1.
IlRDR(AVG)
=
-I-l--R----D----R---(---P---E---A----K----)---×-----1---0----0----μ----s-
TSLEEP + 540μs
(EQ. 1)
A typical IRDR scheme is 220mA amplitude pulses every 800ms,
which yields 28μA DC.
Total Current Consumption
Total current consumption is the sum of IDD and IIRDR. The IRDR
pin sinks current (as shown in Figure 4), and the average IRDR
current can be calculated using Equation 1. IDD depends on
voltage and the mode of operation, as shown in Figure 11.
Interrupt Function
The ISL29030A has an intelligent interrupt scheme designed to
shift some logic processing away from intensive microcontroller
I2C polling routines (which consume power) and toward a more
independent light sensor that can instruct a system to “wake up”
or “go to sleep.”
An ALS interrupt event (ALS_FLAG) is governed by Registers 5
through 7. The user writes high and low threshold values to these
registers, and the ISL29030A issues an ALS interrupt flag if the
actual counts stored in Registers 0x9 and 0xA are outside the
user-programmed window. The user must write 0 to clear the
ALS_FLAG.
A proximity interrupt event (PROX_FLAG) is governed by the high
and low thresholds in Registers 3 and 4 (PROX_LT and
PROX_HT). PROX_FLAG is set when the measured proximity data
is greater than the high threshold a user-specified consecutive
number of times (X; set by the user; see next paragraph). The
proximity interrupt flag is cleared when the proximity data is
lower than the low proximity threshold X consecutive times, or
when the user writes “0” to PROX_FLAG.
Interrupt persistency is another useful option available for both
ALS and proximity measurements. Persistency requires a user-
specified number (X) of consecutive interrupt flags before the INT
pin is driven low. Both ALS and Prox have their own independent
interrupt persistency options. See ALS_PRST and PROX_PRST
bits in Register 2.
The final interrupt option is the ability to AND or OR the two
interrupt flags using Register 2 Bit 0 (INT_CTRL). If the user
wants simultaneous ALS and Prox interrupts to happen before
changing the state of the interrupt pin, the user sets this bit high.
If the user wants the interrupt pin to change state when either
the ALS or the Proximity interrupt flag goes high, the user leaves
this bit at its default value of 0.
Analog-Out IALS Pin
When ALS_EN = 1, the analog IALS output pin sources a current
directly proportional to the digital count stored in register bits
ALSIRDATA[11:0]. When ALS_EN = 0, this pin is in a high
impedance state. See Figure 15 for the effects of the compliance
voltage (VI_ALS) on IALS.
ALS Range 1 Considerations
When measuring ALS counts higher than 1800 on range 1
(ALSIR_MODE = 0, ALS_RANGE = 0, ALS_DATA > 1800), the user
must switch to range 2 (change the ALS_RANGE bit from 0 to 1)
and re-measure ALS counts. This recommendation pertains only
to applications where the light incident upon the sensor is
IR-heavy and is distorted by tinted glass that increases the ratio
of infrared to visible light. For more information, contact the
factory.
VDD Power-up and Power Supply
Considerations
At power-up, ensure a VDD slew rate of 0.5V/ms or greater. After
power-up, or if the power supply temporarily deviates from the
factory specification (2.25V to 3.63V), Intersil recommends the
user write the following: 0x00 to register 0x01, 0x29 to register
0x0F, 0x00 to register 0x0E, and 0x00 to register 0x0F. The user
should then wait ~1ms or more and then rewrite all registers to
the desired values. If the user prefers a hardware reset method
instead of writing to test registers, then set VDD = 0V for 1 second
or more, power up again at the required slew rate, and write the
desired values to the registers.
Power-Down
The user can set power-down in two ways. The first is to set both
PROX_EN and ALS_EN bits to 0 in Register 1. The second and
more simple way is to set all bits in Register 1 to 0 (0x00).
Calculating Lux
When in ALS mode, the ISL29030A ADC output codes are directly
proportional to lux (see ALSIR_MODE bit).
Ecalc = αRANGE × OUTADC
(EQ. 2)
In Equation 2, Ecalc is the calculated lux reading, and OUT
represents the ADC code. The constant, α, which is to plug in, is
determined by the range bit, ALS_RANGE (register 0x1 bit 1) and
is independent of the light source type.
10
FN7722.2
November 12, 2012