English
Language : 

ISL29044IROMZ-T7 Datasheet, PDF (9/19 Pages) Intersil Corporation – Low Power Ambient Light and Proximity Sensor with Internal IR-LED and Digital Output
ISL29044
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
following 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 ISL29044 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.
Serial Interface
The ISL29044 supports the Inter-Integrated Circuit (I2C) bus data
transmission protocol. The I2C bus is a two wire serial
bidirectional interface consisting of SCL (clock) and SDA (data).
Both the wires are connected to the device supply via pull-up
resistors. The I2C protocol defines any device that sends data
onto the bus as a transmitter and the receiving device as the
receiver. The device controlling the transfer is a master and the
device being controlled is the slave. The transmitting device pulls
down the SDA line to transmit a “0” and releases it to transmit a
“1”. The master always initiates the data transfer, only when the
bus is not busy, and provides the clock for both transmit and
receive operations. The ISL29044 operates as a slave device in
all applications. The serial communication over the I2C interface
is conducted by sending the most significant bit (MSB) of each
byte of data first.
Start Condition
During data transfer, the SDA line must remain stable while the
SCL line is HIGH. All I2C interface operations must begin with a
START condition, which is a HIGH to LOW transition of SDA while
SCL is HIGH (refer to Figure 17). The ISL29044 continuously
monitors the SDA and SCL lines for the START condition and does
not respond to any command until this condition is met (refer to
Figure 17). A START condition is ignored during the power-up
sequence.
Stop Condition
All I2C interface operations must be terminated by a STOP
condition, which is a LOW-to-HIGH transition of SDA while SCL is
HIGH (refer to Figure 17). A STOP condition at the end of a
read/write operation places the device in its standby mode. If a
stop is issued in the middle of a Data byte, or before 1 full Data
byte + ACK is sent, then the serial communication of ISL29044
resets itself without performing the read/write. The contents of
the array are not affected.
Acknowledge
An acknowledge (ACK) is a software convention used to indicate
a successful data transfer. The transmitting device releases the
SDA bus after transmitting 8-bits. During the ninth clock cycle,
the receiver pulls the SDA line LOW to acknowledge the reception
of the eight bits of data (refer to Figure 17). The ISL29044
responds with an ACK after recognition of a START condition
followed by a valid Identification Byte, and once again, after
successful receipt of an Address Byte. The ISL29044 also
responds with an ACK after receiving a Data byte of a write
operation. The master must respond with an ACK after receiving
a Data byte of a read operation.
9
FN8305.0
October 30, 2012