ISL29035
FN8371 Rev 3.00 Page 8 of 17
December 12, 2016
Principles of Operation
Photodiodes and ADC
The ISL29035 contains two photodiode arrays, which convert
light into current. The spectral response for ambient light sensing
is shown in Figure 6 on page 7. After light is converted to current
during the light signal process, the current output is converted to
digital by a built-in 16-bit Analog-to-Digital Converter (ADC). An
I2C command reads the ambient light or IR intensity in counts.
The converter is a charge-balancing integrating type 16-bit ADC.
The chosen method for conversion is best for converting small
current signals in the presence of an AC periodic noise. A 105ms
integration time, for instance, highly rejects 50Hz and 60Hz
power line noise simultaneously.
The integration time of the built-in ADC is determined by the
internal oscillator, and the n-bit (n = 4, 8, 12, 16) counter inside
the ADC. A good balancing act of integration time and resolution
(depending on the application) is required for optimal results.
The ADC has I2C programmable range select to dynamically
accommodate various lighting conditions. For very dim
conditions, the ADC can be configured at its lowest range
(Range 0) in the ambient light sensing.
Low-Power Operation
The ISL29035 initial operation is at the power-down mode after a
supply voltage is provided. The data registers contain the default
value of 0. When the ISL29035 receives an I2C command to do a
one-time measurement from an I2C master, it will start ADC
conversion with light sensing. The ISL29035 will go to the
power-down mode automatically after one conversion is finished
and keep the conversion data available for the master to fetch
anytime afterwards. When receiving an I2C command of
continuous measurement, the device will continuously do ADC
conversions with light sensing and will continuously update the
data registers with the latest conversion data. The device will go
into power-down mode after receiving the power-down I2C
command.
Ambient Light and IR Sensing
There are four operational modes in ISL29035: Programmable
ALS once with auto power-down, programmable IR sensing once
with auto power-down, programmable continuous ALS sensing
and programmable continuous IR sensing. These four modes can
be programmed in series to fulfill the application needs. The
detailed program configuration is listed in “Command-I Register
(Address: 0x00)” on page 11.
When the part is programmed for ambient light sensing, the
ambient light wavelength within the “Ambient Light Sensing”
spectral response curve in Figure 15 is converted into current.
With ADC, the current is converted to an unsigned n-bit (up to 16
bits) digital output.
When the part is programmed for Infrared (IR) sensing, the IR
light wavelength within the “IR Sensing” spectral response curve
in Figure 15 is converted into current. With ADC, the current is
converted to an unsigned n-bit (up to 16 bits) digital output.
Interrupt Function
The active low interrupt pin is an open-drain pull-down
configuration. The interrupt pin serves as an alarm or monitoring
function to determine whether the ambient light level exceeds
the upper threshold or goes below the lower threshold. It should
be noted that the function of ADC conversion continues without
stopping after interrupt is asserted. If the user needs to read the
ADC count that triggers the interrupt, the reading should be done
before the data registers are refreshed by the following
conversions. The user can also configure the persistence of the
interrupt pin. This reduces the possibility of false triggers, such as
noise or sudden spikes in ambient light conditions. An
unexpected camera flash, for example, can be ignored by setting
the persistence to 8 integration cycles.
Serial Interface
The ISL29035 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 transmitting and
receiving operations. The ISL29035 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 12 on page 9). The ISL29035
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 12). 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 12). 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 the
ISL29035 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 8 bits of data (refer to Figure 12). The ISL29035 responds
with an ACK after recognition of a START condition followed by a