English
Language : 

ISL29043_14 Datasheet, PDF (10/16 Pages) Intersil Corporation – Low Power Ambient Light and Proximity Sensor with Internal IR-LED and Digital Output
ISL29043
Ambient Light and IR Sensing
The ISL29043 is set for ambient light sensing when Register bit
ALSIR_MODE = 0 and ALS_EN = 1. The light-wavelength response of
the ALS appears as shown in Figure 11. ALS measuring mode (as
opposed to IR measuring mode) is set by default.
When the part is programmed for infrared (IR) sensing
(ALSIR_MODE = 1; ALS_EN = 1), infrared light is converted into a
current and digitized by the same ALS ADC. The result of an IR
conversion is strongly related to the amount of IR energy incident
on our sensor, but is unitless and is referred to in digital counts.
Proximity Sensing
When proximity sensing is enabled (PROX_EN = 1), the internal
IR LED is driven for 0.1ms by the built-in IR LED driver through
the IRDR pin. The amplitude of the IR LED current depends on
Register 1 bit 3: PROX_DR. If this bit is low, the load will see a
fixed 110mA current pulse. If this bit is high, the load on IRDR
will see a fixed 220mA current pulse, as seen in Figure 6.
LED+
INTERNAL IR-LED
LED-
220mA
(PROX_DR = 1)
110mA
(PROX_DR = 0)
PCB TRACE
IRDR
(IRDR IS HI-Z WHEN
NOT DRIVING)
FIGURE 6. CURRENT DRIVE MODE OPTIONS
When the IR from the LED reaches an object and gets reflected
back into the ISL29043, the reflected IR light is converted into
current as per the IR spectral response shown in Figure 11. 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.
I l R D R ;A V E
=
I--l--R----D----R-----;-P----E----A----K-----×-----1---0---0----μ----s-
TSLEEP
(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 6) and the average IRDR
current can be calculated using Equation 1. IDD depends on
voltage and the mode-of-operation, as seen in Figure 15.
Interrupt Function
The ISL29043 has an intelligent interrupt scheme designed to
shift some logic processing away from intensive microcontroller
I2C polling routines (which consume power) and towards a more
independent light sensor, which 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 a high and low threshold value to these
registers and the ISL29043 will issue an ALS interrupt flag if the
actual count stored in Registers 0x9 and 0xA are outside the user’s
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 more
than the higher threshold X-times-in-a-row (X is set by user; see
next paragraph). The proximity interrupt flag is cleared when the
prox data is lower than the low proximity threshold
X-times-in-a-row, or when the user writes “0” to PROX_FLAG.
Interrupt persistency is another useful option available for both
ALS and proximity measurements. Persistency requires X-in-a-
row 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 both ALS/Prox interrupts to happen at the same time
before changing the state of the interrupt pin, set this bit high. If
the user wants the interrupt pin to change state when either the
ALS or the Proximity interrupt flag goes high, leave this bit to its
default of 0.
ALS Range 1 Considerations
When measuring ALS counts higher than 1800 on range 1
(ALSIR_MODE = 0, ALS_RANGE = 0, ALS_DATA > 1800), 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, please contact the factory.
VDD Power-up and Power Supply
Considerations
Upon power-up, please ensure a VDD slew rate of 0.5V/ms or greater.
After power-up, or if the user’s power supply temporarily deviates
from our specification (2.25V to 3.63V), Intersil recommends the
user write the following: write 0x00 to register 0x01, write 0x29 to
register 0x0F, write 0x00 to register 0x0E, and write 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: set VDD = 0V for 1 second
or more, power back up at the required slew rate, and write registers
to the desired values.
Power-Down
To put the ISL29043 into a power-down state, the user can set both
PROX_EN and ALS_EN bits to 0 in Register 1. Or more simply, set all
of Register 1 to 0x00.
Calculating Lux
The ISL29043’s ADC output codes are directly proportional to lux
when in ALS mode (see ALSIR_MODE bit).
Ecalc = αRANGE × OUTADC
(EQ. 2)
10
FN7935.0
February 9, 2012