Low Power Ambient Light and Proximity Sensor with Intelligent Interrupt and Sleep Modes ISL29029 Features The ISL29029 is an integrated ambient and infrared light-to-digital converter with a built-in IR LED driver and I2C Interface (SMBus Compatible). This device uses two independent ADCs for concurrently measuring ambient light and proximity in parallel. The flexible interrupt scheme is designed for minimal microcontroller utilization. * Works Under All Light Sources Including Sunlight For ambient light sensor (ALS) data conversions, an ADC converts photodiode current (with a light sensitivity range up to 2000 Lux) in 100ms per sample. The ADC rejects 50Hz/60Hz flicker noise caused by artificial light sources. For proximity sensor (PROX) data conversions, the built-in driver turns on an external infrared LED and the proximity sensor ADC converts the reflected IR intensity to digital. This ADC rejects ambient IR noise (such as sunlight) and has a 540s conversion time. The ISL29029 provides low power operation of ALS and PROX sensing with a typical 138A normal operation current (110A for sensors and internal circuitry, ~28A for external LED) with 220mA current pulses for a net 100s, repeating every 800ms (or under). The ISL29029 uses both a hardware pin and software bits to indicate an interrupt event has occurred. An ALS or PROX interrupt is defined as a measurement which is outside a set window. The user may also require that both ALS/PROX interrupts occur at once, up to 16 times in a row before activating the interrupt pin. The ISL29029 is designed to operate from 2.25V to 3.63V over the -40C to +85C ambient temperature range. It is packaged in a clear, lead-free 8 lead ODFN package. Applications * Display and Keypad Dimming Adjustment and Proximity Sensing for: - Mobile Devices: Smart Phone, PDA, GPS - Computing Devices: Laptop PC, Netbook - Consumer Devices: LCD-TV, Digital Picture Frame, Digital Camera * Industrial and Medical Light and Proximity Sensing * Dual ADCs Measure ALS/Prox Concurrently * Intelligent Interrupt Scheme Simplifies C Code * 0.5% Typical Nonlinearity Ambient Light Sensing * Simple Output Code Directly Proportional to lux * 50Hz/60Hz Flicker Noise and IR Rejection * Light Sensor Close to Human Eye Response * Selectable 125/2000 Lux Range Proximity Sensing * Proximity Sensor with Broad IR Spectrum - Can Use 850nm and 950nm External IR LEDs * IR LED Driver with I2C Programmable Sink Currents - Net 100s Pulse with 110mA or 220mA Amplitudes - Periodic Sleep Time up to 800ms Between Pulses * Ambient IR Noise Cancellation (Including Sunlight) Intelligent and Flexible Interrupts * Independent ALS/PROX Interrupt Thresholds * Adjustable Interrupt Persistency - 1/4/8/16 Consecutive Triggers Required Before Interrupt Ultra Low Power * 138A DC Typical Supply Current for ALS/Prox Sensing - 110A for Sensors and Internal Circuitry - 28A Typical Current for External IR LED (Assuming 220mA for 100s Every 800ms) * <1.0A Supply Current When Powered Down Easy to Use * Set Registers; Wait for Interrupt * I2C (SMBus Compatible) Output * Temperature Compensated * Tiny ODFN8 2.0x2.1x0.7 (mm) Package Additional Features * 1.7V to 3.63V Supply for I2C Interface * 2.25V to 3.63V Sensor Power Supply * Pb-Free (RoHS compliant) * I2C Address Selection Pin November 23, 2010 FN7682.0 1 CAUTION: These devices are sensitive to electrostatic discharge; follow proper IC Handling Procedures. 1-888-INTERSIL or 1-888-468-3774 | Copyright Intersil Americas Inc. 2010. All Rights Reserved Intersil (and design) is a trademark owned by Intersil Corporation or one of its subsidiaries. All other trademarks mentioned are the property of their respective owners. ISL29029 Block Diagram VDD 2 ALS PHOTODIODE ARRAY COMMAND REGISTER LIGHT DATA PROCESS ALS AND IR DUAL CHANNEL ADCs DATA REGISTER 1 ADDR0 5 SCL 6 SDA INTERRUPT 7 INT IR DRIVER 8 IRDR I2C IR PHOTODIODE ARRAY IREF FOSC 4 3 REXT GND Pin Configuration ISL29029 8 LD ODFN (2.0x2.1x0.7mm) TOP VIEW ADDR0 1 VDD 2 GND 3 REXT 4 THERMAL PAD 8 IRDR 7 INT 6 SDA 5 SCL Pin Descriptions PIN NUMBER PIN NAME 0 T.PAD 1 ADDR0 2 VDD Positive supply: 2.25V to 3.63V 3 GND Ground 4 REXT External resistor (499k; 1%) connects this pin to ground 5 SCL I2C clock line 6 SDA I2C data line 7 INT Interrupt pin; Logic output (open-drain) for interrupt 8 IRDR *THERMAL PAD CAN BE CONNECTED TO GND OR ELECTRICALLY ISOLATED DESCRIPTION Thermal Pad (connect to GND or float) I2C address pin - pull high or low (do not float) The I2C bus lines can be pulled from 1.7V to above VDD, 3.63V max IR LED driver pin - current flows into ISL29029 from LED cathode Ordering Information PART NUMBER (Notes 1, 2, 3) ISL29029IROZ-T7 TEMP. RANGE (C) -40 to +85 PACKAGE Tape & Reel (Pb-free) 8 Ld ODFN PKG. DWG. # L8.2.1x2.0 NOTES: 1. Please refer to TB347 for details on reel specifications. 2. These Intersil Pb-free plastic packaged products employ special Pb-free material sets; molding compounds/die attach materials and NiPdAu plate e4 termination finish, which is RoHS compliant and compatible with both SnPb and Pb-free soldering operations. Intersil Pb-free products are MSL classified at Pb-free peak reflow temperatures that meet or exceed the Pb-free requirements of IPC/JEDEC J STD-020. 3. For Moisture Sensitivity Level (MSL), please see device information page for ISL29029. For more information on MSL please see techbrief TB363. 2 FN7682.0 November 23, 2010 ISL29029 Absolute Maximum Ratings (TA = +25C) Thermal Information VDD Supply Voltage between VDD and GND . . . . . . . . . . . . . . . . . . . . . .4.0V I2C Bus Pin Voltage (SCL, SDA). . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to 4.0V I2C Bus Pin Current (SCL, SDA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <10mA REXT Pin Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-0.5V to VDD + 0.5V IRDR Pin Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.5V ADDR0 Pin Voltage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-0.5V to VDD + 0.5V INT Pin Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5V to 4.0V INT Pin Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <10mA ESD Rating Human Body Model (Note 6). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2kV Thermal Resistance (Typical) JA (C/W) JC (C/W) 8 Ld ODFN Package (Notes 4, 5) . . . . . . . . 88 10 Maximum Die Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +90C Storage Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-40C to +100C Operating Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -40C to +85C Pb-Free Reflow Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . see link below http://www.intersil.com/pbfree/Pb-FreeReflow.asp CAUTION: Do not operate at or near the maximum ratings listed for extended periods of time. Exposure to such conditions may adversely impact product reliability and result in failures not covered by warranty. NOTES: 4. JA is measured in free air with the component mounted on a high effective thermal conductivity test board with "direct attach" features. See Tech Brief TB379. 5. For JC, the "case temp" location is the center of the exposed metal pad on the package underside. 6. ESD on all pins is 2kV except for IRDR, which is 1.5kV. IMPORTANT NOTE: All parameters having Min/Max specifications are guaranteed. Typical values are for information purposes only. Unless otherwise noted, all tests are at the specified temperature and are pulsed tests, therefore: TJ = TC = TA Electrical Specifications PARAMETER VDD VDD = 3.0V, TA = +25C, REXT = 499k 1% tolerance. DESCRIPTION CONDITION Power Supply Range MIN TYP MAX UNIT 2.25 3.0 3.63 V SR_VDD Input Power-up Slew Rate VDD Rising Edge between 0.4V and 2.25V IDD_OFF Supply Current when Powered Down ALS_EN = 0; PROX_EN = 0 0.1 0.8 A Supply Current for ALS+Prox in Sleep Time ALS_EN = 1; PROX_EN = 1 110 125 A ALS_EN = 0; PROX_EN = 1 80 A ALS_EN = 1; PROX_EN = 0 96 A 5.25 MHz IDD_NORM IDD_PRX_SLP Supply Current for Prox in Sleep Time IDD_ALS fOSC Supply Current for ALS 0.5 Internal Oscillator Frequency tINTGR_ALS 12-bit ALS Integration/Conversion Time tINTGR_PROX 8-bit Prox Integration/Conversion Time 88 100 112 0.54 EAMBIENT = 0, 53, 90 Lux; ALS_RANGE = 0 (Notes 7, 11) Linearity ALS_1 Nonlinearity V/ms -6 ms ms 0.5 +6 % 1 3 Counts DATAALS_0 ALS Result when Dark EAMBIENT = 0 lux, 2k Range DATAALS_F Full Scale ALS ADC Code EAMBIENT > Selected Range Maximum Lux (Note 11) DATA DATA Count Output Variation Over Three Light Sources: Fluorescent, Incandescent and Sunlight Ambient Light Sensing 10 % DATAALS_1 Light Count Output with LSB of 0.0326 Lux/Count E = 53 lux, Fluorescent (Note 8), ALS_RANGE = 0 1638 Counts DATAALS_2 Light Count Output With LSB of 0.522 Lux/Count E = 320 lux, Fluorescent (Notes 8, 11), ALS_RANGE = 1 4095 Counts 503 614 725 Counts 1 2 Counts 255 Counts 58 Counts DATAPROX_0 Prox Measurement w/o Object in Path DATAPROX_F Full Scale Prox ADC Code DATAPROX_1 Prox Measurement Result (Note 9) tr Rise Time for IRDR Sink Current RLOAD = 15 at IRDR pin, 20% to 80% 500 ns tf Fall time for IRDR Sink Current RLOAD = 15 at IRDR pin, 80% to 20% 500 ns 3 34 46 FN7682.0 November 23, 2010 ISL29029 Electrical Specifications PARAMETER VDD = 3.0V, TA = +25C, REXT = 499k 1% tolerance. (Continued) DESCRIPTION CONDITION MIN TYP MAX UNIT 90 110 130 mA IIRDR_0 IRDR Sink Current PROX_DR = 0; VIRDR = 0.5V IIRDR_1 IRDR Sink Current PROX_DR = 1; VIRDR = 0.5V IRDR Leakage Current PROX_EN = 0; VDD = 3.63V (Note 10) VIRDR Acceptable Voltage Range on IRDR Pin Register bit PROX_DR = 0 tPULSE Net IIRDR On Time Per PROX Reading 100 s VREF Voltage of REXT Pin 0.51 V FI2C I2C Clock Rate Range VI2C Supply Voltage Range for I2C Interface IIRDR_LEAK 220 0.001 0.5 1.7 mA 1 A 4.3 V 400 kHz 3.63 V 0.55 V VIL SCL and SDA Input Low Voltage VIH SCL and SDA Input High Voltage ISDA SDA Current Sinking Capability VOL = 0.4V 3 5 mA IINT INT Current Sinking Capability VOL = 0.4V 3 5 mA (IIRDR)/(VIRDR) PROX_DR = 0; VIRDR = 0.5V to 4.3V 4 mA/V PSRRIRDR 1.25 V NOTES: 7. Nonlinearity is defined as: [(Measured Counts at 53 lux)-(Expected Counts at 53 lux)]/4095. Expected counts are calculated using an endpoint linearfit trendline from measurements at 0 lux and 90 lux. 8. An LED is used in production test. The LED irradiance is calibrated to produce the same DATA count against a fluorescent light source of the same lux level. 9. An 850nm infrared LED is used to test PROX/IR sensitivity in an internal test mode. 10. Ability to guarantee IIRDR leakage of ~1nA is limited by test hardware. 11. For ALS applications under light-distorting glass, please see the section titled ALS Range 1 Considerations. I2C Electrical Specifications For SCL and SDA unless otherwise noted, VDD = 3V, TA = +25C, REXT = 499k 1% tolerance (Note 12). PARAMETER DESCRIPTION I2C CONDITION 1.7 TYP MAX UNIT 3.63 V VI2C Supply Voltage Range for fSCL SCL Clock Frequency 400 kHz VIL SCL and SDA Input Low Voltage 0.55 V VIH SCL and SDA Input High Voltage Vhys Hysteresis of Schmitt Trigger Input VOL Low-level output voltage (open-drain) at 4mA sink current Ii Interface MIN Input Leakage for each SDA, SCL pin 1.25 V 0.05VDD V -10 0.4 V 10 A tSP Pulse width of spikes that must be suppressed by the input filter 50 ns tAA SCL Falling Edge to SDA Output Data Valid 900 ns Ci Capacitance for each SDA and SCL pin 10 pF tHD:STA Hold Time (Repeated) START Condition After this period, the first clock pulse is generated 600 ns tLOW LOW Period of the SCL clock Measured at the 30% of VDD crossing 1300 ns tHIGH HIGH period of the SCL Clock 600 ns tSU:STA Set-up Time for a Repeated START Condition 600 ns tHD:DAT Data Hold Time 30 ns 4 FN7682.0 November 23, 2010 ISL29029 I2C Electrical Specifications For SCL and SDA unless otherwise noted, VDD = 3V, TA = +25C, REXT = 499k 1% tolerance (Note 12). (Continued) PARAMETER tSU:DAT DESCRIPTION CONDITION Data Set-up Time MIN TYP MAX UNIT 100 ns tR Rise Time of both SDA and SCL Signals (Note 13) 20 + 0.1xCb ns tF Fall Time of both SDA and SCL Signals (Note 13) 20 + 0.1xCb ns Set-up Time for STOP Condition 600 ns Bus Free Time Between a STOP and START Condition 1300 ns tSU:STO tBUF Cb Capacitive Load for Each Bus Line 400 Maximum is determined by tR and tF 1 pF Rpull-up SDA and SCL system bus pull-up resistor k tVD;DAT Data Valid Time 0.9 s tVD:ACK Data Valid Acknowledge Time 0.9 s VnL Noise Margin at the LOW Level 0.1VDD V VnH Noise Margin at the HIGH Level 0.2VDD V NOTES: 12. All parameters in I2C Electrical Specifications table are guaranteed by design and simulation. 13. Cb is the capacitance of the bus in pF. FIGURE 1. I2C TIMING DIAGRAM 5 FN7682.0 November 23, 2010 ISL29029 Register Map There are ten 8-bit registers accessible via I2C. Registers 0x1 and 0x2 define the operation mode of the device. Registers 0x3 through 0x7 store the various ALS/IR/Prox thresholds which trigger interrupt events. Registers 0x8 through 0xA store the results of ALS/IR/Prox ADC conversions. TABLE 1. ISL29029 REGISTERS AND REGISTER BITS BIT ADDR REG NAME 7 6 5 4 3 2 1 0 DEFAULT PROX_DR ALS_EN ALS_RANGE ALSIR_MODE 0x00 INT_CTRL 0x00 0x00 (n/a) 0x01 CONFIGURE PROX EN (Reserved) 0x02 INTERRUPT PROX_FLAG 0x03 PROX_LT PROX_LT[7:0] 0x04 PROX_HT PROX_HT[7:0] 0xFF 0x05 ALSIR_TH1 ALSIR_LT[7:0] 0x00 0x06 ALSIR_TH2 0x07 ALSIR_TH3 0x08 PROX_DATA PROX_DATA[7:0] 0x00 0x09 ALSIR_DT1 ALSIR_DATA[7:0] 0x00 0x0A ALSIR_DT2 0x0E TEST1 (Write as 0x00) 0x00 0x0F TEST2 (Write as 0x00) 0x00 PROX_SLP[2:0] PROX_PRST[1:0] (Write 0) (n/a) ALS_FLAG ALS_PRST[1:0] 0x00 ALSIR_HT[3:0] ALSIR_LT[11:8] 0xF0 ALSIR_HT[11:4] 0xFF (Unused) ALSIR_DATA[11:8] 0x00 Register Descriptions TABLE 2. REGISTER 0x00 (RESERVED) BIT # ACCESS DEFAULT NAME 7:0 RO (n/a) (n/a) FUNCTION/OPERATION Reserved - no need to read or write TABLE 3. REGISTER 0x01 (CONFIGURE) - PROX/ALS CONFIGURATION BIT # 7 ACCESS RW DEFAULT 0x00 NAME FUNCTION/OPERATION PROX_EN (Prox Enable) When = 0, proximity sensing is disabled When = 1, continuous proximity sensing is enabled. Prox data will be ready 0.54ms after this bit is set high 6:4 RW 0x00 PROX_SLP (Prox Sleep) For bits 6:4 = (see the following) 111; sleep time between prox IR LED pulses is 0.0ms (run continuously) 110; sleep time between prox IR LED pulses is 12.5ms 101; sleep time between prox IR LED pulses is 50ms 100; sleep time between prox IR LED pulses is 75ms 011; sleep time between prox IR LED pulses is 100ms 010; sleep time between prox IR LED pulses is 200ms 001; sleep time between prox IR LED pulses is 400ms 000; sleep time between prox IR LED pulses is 800ms 3 RW 0x00 PROX_DR (Prox Drive) When = 0, IRDR behaves as a pulsed 110mA current sink When = 1, IRDR behaves as a pulsed 220mA current sink 2 RW 0x00 ALS_EN (ALS Enable) When = 0, ALS/IR sensing is disabled When = 1, continuous ALS/IR sensing is enabled with new data ready every 100ms 1 RW 0x00 ALS_RANGE (ALS Range) When = 0, ALS is in low-lux range When = 1, ALS is in high-lux range 0 RW 0x00 ALSIR_MODE (ALSIR Mode) When = 0, ALS/IR data register contains visible ALS sensing data When = 1, ALS/IR data register contains IR spectrum sensing data 6 FN7682.0 November 23, 2010 ISL29029 TABLE 4. REGISTER 0x02 (INTERRUPT) - PROX/ALS INTERRUPT CONTROL BIT # ACCESS DEFAULT BIT NAME FUNCTION/OPERATION 7 FLAG 0x00 PROX_FLAG (Prox Flag) When = 0, no Prox interrupt event has occurred since power-on or last "clear" When = 1, a Prox interrupt event occurred. Clearable by writing "0" Writing "1" leaves previous state unchanged For bits 6:5 = (see the following) 00; set PROX_FLAG if 1 conversion result trips the threshold value 01; set PROX_FLAG if 4 conversion results trip the threshold value 10; set PROX_FLAG if 8 conversion results trip the threshold value 11; set PROX_FLAG if 16 conversion results trip the threshold value 6:5 RW 0x00 PROX_PRST (Prox Persist) 4 RW 0x00 Unused (Write 0) 3 FLAG 0x00 ALS_FLAG (ALS FLAG) 2:1 RW 0x00 0 RW 0x00 Unused register bit - write 0 When = 0, no ALS interrupt event has occurred since power-on or last "clear" When = 1, an ALS interrupt event occurred. Clearable by writing "0" Writing "1" leaves previous state unchanged ALS_PRST (ALS Persist) For bits 2:1 = (see the following) 00; set ALS_FLAG if 1 conversion is outside the set window 01; set ALS_FLAG if 4 conversions are outside the set window 10; set ALS_FLAG if 8 conversions are outside the set window 11; set ALS_FLAG if 16 conversions are outside the set window INT_CTRL When = 0, set INT pin low if PROX_FLAG or ALS_FLAG high (logical OR) (Interrupt Control) When = 1, set INT pin low if PROX_FLAG and ALS_FLAG high (logical AND) TABLE 5. REGISTER 0x03 (PROX_LT) - INTERRUPT LOW THRESHOLD FOR PROXIMITY SENSOR BIT # ACCESS 7:0 DEFAULT BIT NAME 0x00 PROX_LT (Prox Threshold) RW FUNCTION/OPERATION 8-bit interrupt low threshold for proximity sensing TABLE 6. REGISTER 0x04 (PROX_HT) - INTERRUPT HIGH THRESHOLD FOR PROXIMITY SENSOR BIT # ACCESS DEFAULT BIT NAME FUNCTION/OPERATION 7:0 RW 0xFF PROX_HT (Prox Threshold) 8-bit interrupt high threshold for proximity sensing TABLE 7. REGISTER 0x05 (ALSIR_TH1) - INTERRUPT LOW THRESHOLD FOR ALS/IR BIT # ACCESS DEFAULT BIT NAME 7:0 RW 0x00 ALSIR_LT[7:0] (ALS/IR Low Thr.) FUNCTION/OPERATION Lower 8 bits (of 12 bits) for ALS/IR low interrupt threshold TABLE 8. REGISTER 0x06 (ALSIR_TH2) - INTERRUPT LOW/HIGH THRESHOLDS FOR ALS/IR BIT # ACCESS DEFAULT BIT NAME Lower 4 bits (of 12 bits) for ALS/IR high interrupt threshold Upper 4 bits (of 12 bits) for ALS/IR low interrupt threshold 7:4 RW 0x0F ALSIR_HT[3:0] (ALS/IR High Thr.) 3:0 RW 0x00 ALSIR_LT[11:8] (ALS/IR Low Thr.) FUNCTION/OPERATION TABLE 9. REGISTER 0x07 (ALSIR_TH3) - INTERRUPT HIGH THRESHOLD FOR ALS/IR BIT # ACCESS DEFAULT BIT NAME 7:0 RW 0xFF ALSIR_HT[11:4] (ALS/IR High Thr.) 7 FUNCTION/OPERATION Upper 8 bits (of 12 bits) for ALS/IR high interrupt threshold FN7682.0 November 23, 2010 ISL29029 TABLE 10. REGISTER 0x08 (PROX_DATA) - PROXIMITY SENSOR DATA BIT # ACCESS DEFAULT BIT NAME FUNCTION/OPERATION 7:0 RO 0x00 PROX_DATA (Proximity Data) Results of 8-bit proximity sensor ADC conversion TABLE 11. REGISTER 0x09 (ALSIR_DT1) - ALS/IR SENSOR DATA (LOWER 8 BITS) BIT # ACCESS DEFAULT BIT NAME FUNCTION/OPERATION 7:0 RO 0x00 ALSIR_DATA (ALS/IR Data) Lower 8 bits (of 12 bits) from result of ALS/IR sensor conversion TABLE 12. REGISTER 0x0A (ALSIR_DT2) - ALS/IR SENSOR DATA (UPPER 4 BITS) BIT # ACCESS DEFAULT BIT NAME FUNCTION/OPERATION 7:4 RO 0x00 (Unused) 3:0 RO 0x00 ALSIR_DATA (ALS/IR Data) BIT # ACCESS DEFAULT BIT NAME 7:0 RW 0x00 (Write as 0x00) BIT # ACCESS DEFAULT BIT NAME 7:0 RW 0x00 (Write as 0x00) Unused bits Upper 4 bits (of 12 bits) from result of ALS/IR sensor conversion TABLE 13. REGISTER 0x0E (TEST1) - TEST MODE FUNCTION/OPERATION Test mode register. When 0x00, in normal operation TABLE 14. REGISTER 0x0F (TEST2) - TEST MODE 2 I2C DATA DEVICE ADDRESS START I2C SDA MASTER Test mode register. When 0x00, in normal operation REGISTER ADDRESS W A A SDA DRIVEN BY MASTER 1 2 3 4 5 6 7 8 9 A SDA DRIVEN BY MASTER 1 2 3 4 5 6 DEVICE ADDRESS STOP START A6 A5 A4 A3 A2 A1 A0 W A R7 R6 R5 R4 R3 R2 R1 R0 A I2C SDA SLAVE (ISL29029) I2C CLK FUNCTION/OPERATION 7 8 9 A6 A5 A4 A3 A2 A1 A0 W SDA DRIVEN BY MASTER 1 2 3 4 5 6 DATA BYTE0 A SDA DRIVEN BY ISL29029 A A D7 D6 D5 D4 D3 D2 D1 D0 7 8 9 1 2 3 4 5 6 7 8 9 FIGURE 2. I2C DRIVER TIMING DIAGRAM FOR MASTER AND SLAVE CONNECTED TO COMMON BUS Principles of Operation For more information about the I2C standard, please consult the PhilipsTM I2C specification documents. The ISL29029's I2C interface slave address is internally hardwired as 0b100010, where "0b" signifies binary notation and x represents the logic level on pin ADDR0. Photodiodes and ADCs I2C Interface Figure 2 shows a sample one-byte read. The I2C bus master always drives the SCL (clock) line, while either the master or the slave can drive the SDA (data) line. Every I2C transaction begins with the master asserting a start condition (SDA falling while SCL remains high). The first transmitted byte is initiated by the master and includes 7 address bits and a R/W bit. The slave is responsible for pulling SDA low during the ACK bit after every transmitted byte. Each I2C transaction ends with the master asserting a stop condition (SDA rising while SCL remains high). 8 The ISL29029 contains two photodiode arrays which convert photons (light) into current. The ALS photodiodes are constructed to mimic the human eye's wavelength response curve to visible light (see Figure 6). The ALS photodiodes' current output is digitized by a 12-bit ADC in 100ms. These 12 bits can be accessed by reading from I2C registers 0x9 and 0xA when the ADC conversion is completed. The ALS converter is a charge-balancing integrating 12-bit ADC. Charge-balancing is best for converting small current signals in the presence of periodic AC noise. Integrating over 100ms highly rejects both 50Hz and 60Hz light flicker by picking the lowest integer number of cycles for both 50Hz/60Hz frequencies. FN7682.0 November 23, 2010 ISL29029 ALS CONVERSION TIME = 100ms (FIXED) SEVERAL s BETWEEN CONVERSIONS ALS ACTIVE 100ms PROX SENSOR ACTIVE 100ms 100ms 100ms 100ms TIME 0.54ms FOR PROX CONVERSION TIME IRDR (CURRENT DRIVER) SERIES OF CURRENT PULSES TOTALING 0.1ms TIME SLEEP TIME (PROX_SLP) FIGURE 3. TIMING DIAGRAM FOR PROX/ALS EVENTS - NOT TO SCALE The proximity sensor is an 8-bit ADC which operates in a similar fashion. When proximity sensing is enabled, the IRDR pin will drive a user-supplied infrared LED, the emitted IR reflects off an object (i.e., a human head) back into the ISL29029, and a sensor converts the reflected IR wave to a current signal in 0.54ms. The ADC subtracts the IR reading before and after the LED is driven (to remove ambient IR such as sunlight), and converts this value to a digital count stored in Register 0x8. The ISL29029 is designed to run two conversions concurrently: a proximity conversion and an ALS (or IR) conversion. Please note that because of the conversion times, the user must let the ADCs perform one full conversion first before reading from I2C Registers PROX_DATA (wait 0.54ms) or ALSIR_DT1/2 (wait 100ms). The timing between ALS and Prox conversions is arbitrary (as shown in Figure 3). The ALS runs continuously with new data available every 100ms. The proximity sensor runs continuously with a time between conversions decided by PROX_SLP (Register 1 Bits [6:4]). Changes from ISL29028 Proximity Sensing When proximity sensing is enabled (PROX_EN = 1), the external 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 4. 220mA (PROX_DR = 1) 110mA (PROX_DR = 0) PIN 8 - IRDR (IRDR IS HI-Z WHEN NOT DRIVING) FIGURE 4. CURRENT DRIVE MODE OPTIONS The ISL29029 is identical to the ISL29028 with a few small changes: the x29 photodiode structure has been improved for better ALS linearity in high-IR conditions, and the x29's PROX interrupt scheme behaves as an out-of-window comparator (compared to the x28's PROX level-comparator with hysteresis). If the internal registers are of concern to the customer, please contact Intersil for a list of changes (internal register changes are independent of part performance). When the IR from the LED reaches an object and gets reflected back into the ISL29029, the reflected IR light is converted into current as per the IR spectral response shown 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. Ambient Light and IR Sensing Average LED driving current consumption is given by Equation 1. The ISL29029 is set for ambient light sensing when Register bit ALSIR_MODE = 0 and ALR_EN = 1. The light-wavelength response of the ALS appears as shown in Figure 6. 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. 9 I lRDR ;PEAK x 100s I lRDR ;AVE = ----------------------------------------------------T SLEEP (EQ. 1) A typical IRDR scheme is 220mA amplitude pulses every 800ms, which yields 28A 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 FN7682.0 November 23, 2010 ISL29029 current can be calculated using Equation 1. IDD depends on voltage and the mode-of-operation as seen in Figure 11. Interrupt Function The ISL29029 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 (ALSTH1, ALSTH2, ALSTH3). The user writes high and low threshold values to these registers and the ISL29029 will issue an ALS interrupt flag if the measured ALS data from registers 0x9 and 0xA are outside the user's programmed threshold window X-times-in-a-row (X is set by user; see "persistency" option below). The user must write 0 to clear the ALS_FLAG. A PROX interrupt event (PROX_FLAG) is governed by the high and low thresholds in registers 3 and 4 (PROX_LT and PROX_HT). The user writes high and low threshold values to these registers and the ISL29029 will issue a PROX interrupt flag if the measured PROX data from register 0x8 is outside the user's programmed threshold window X-times-in-a-row (X is set by user; see "persistency" option below). The user must write 0 to clear the PROX_FLAG. Writing "1" to either ALS_FLAG or PROX_FLAG bits does not change the previous logic state of the bit. Interrupt persistency is another useful option available for both ALS and proximity measurements. Persistency requires X-in-arow 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 remeasure 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, see the separate ALS Range 1 Considerations document. 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 10 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 ISL29029 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 ISL29029's ADC output codes are directly proportional to lux when in ALS mode (see ALSIR_MODE bit). (EQ. 2) E calc = RANGE x OUT ADC In Equation 2, Ecalc is the calculated lux reading and OUT represents the ADC code. The constant to plug in is determined by the range bit ALS_RANGE (register 0x1 bit 1) and is independent of the light source type. TABLE 15. ALS SENSITIVITY AT DIFFERENT RANGES ALS_RANGE RANGE (Lux/Count) 0 0.0326 1 0.522 Table 15 shows two different scale factors: one for the low range (ALS_RANGE = 0) and the other for the high range (ALS_RANGE = 1). Noise Rejection Charge balancing ADC's have excellent noise-rejection characteristics for periodic noise sources whose frequency is an integer multiple of the conversion rate. For instance, a 60Hz AC unwanted signal's sum from 0ms to k*16.66ms (k = 1,2...ki) is zero. Similarly, setting the device's integration time to be an integer multiple of the periodic noise signal greatly improves the light sensor output signal in the presence of noise. Since wall sockets may output at 60Hz or 50Hz, our integration time is 100ms: the lowest common integer number of cycles for both frequencies. Proximity Detection of Various Objects Proximity sensing relies on the amount of IR reflected back from objects. A perfectly black object would absorb all light and reflect no photons. The ISL29029 is sensitive enough to detect black ESD foam which reflects only 1% of IR. For biological objects, blonde hair reflects more than brown hair and customers may notice that skin tissue is much more reflective than hair. IR penetrates into the skin and is reflected or scattered back from within. As a result, the proximity count peaks at contact and monotonically decreases as skin moves away. The reflective characteristics of skin are very different from that of paper. Typical Circuit A typical application for the ISL29029 is shown in Figure 5. The ISL29029's I2C address is internally hardwired as 0b100010, with x representing the logic state of input I2C address pin ADDR0. The device can be tied onto a system's I2C bus together with other I2C compliant devices. FN7682.0 November 23, 2010 ISL29029 Soldering Considerations Layout Considerations Convection heating is recommended for reflow soldering; directinfrared heating is not recommended. The plastic ODFN package does not require a custom reflow soldering profile, and is qualified to +260C. A standard reflow soldering profile with a +260C maximum is recommended. The ISL29029 is relatively insensitive to layout. Like other I2C devices, it is intended to provide excellent performance even in significantly noisy environments. There are only a few considerations that will ensure best performance. Suggested PCB Footprint It is important that users check the "Surface Mount Assembly Guidelines for Optical Dual FlatPack No Lead (ODFN) Package" before starting ODFN product board mounting. Route the supply and I2C traces as far as possible from all sources of noise. A 0.1F and 1F power supply decoupling capacitors need to be placed close to the device. (http://www.intersil.com/data/tb/TB477.pdf) VI2C_PULL-UP R1 10k R2 10k I2C MASTER R3 10k MICROCONTROLLER INT SDA SCL VDD VIR-LED SLAVE_0 1 2 C1 1F C2 0.1F 3 4 ADDR0 IRDR VDD INT GND SDA REXT SCL SLAVE_1 8 7 I2C SLAVE_n SDA SDA SCL SCL 6 5 REXT ISL29029 499k FIGURE 5. ISL29029 TYPICAL CIRCUIT 11 FN7682.0 November 23, 2010 ISL29029 Typical Performance Curves VDD = 3.0V, REXT = 499k 1.0 1.0 FLUORESCENT 0.8 0.7 0.6 HALOGEN 0.5 INCAND. SUN 0.4 HUMAN EYE 0.9 NORMALIZED RESPONSE NORMALIZED INTENSITY 0.9 0.3 0.2 0.1 0.8 IR/PROX ALS 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 350 550 750 0.0 300 950 400 500 700 800 900 1000 1100 FIGURE 7. ISL29029 SENSITIVITY TO DIFFERENT WAVELENGTHS FIGURE 6. SPECTRUM OF FOUR LIGHT SOURCES NORMALIZED BY LUMINOUS INTENSITY (LUX) 2500 1.0 0.9 HALOGEN LUX METER READING (LX) NORMALIZED SENSITIVITY 600 WAVELENGTH (nm) WAVELENGTH (nm) 0.8 0.7 0.6 0.5 0.4 0.3 0.2 2000 1500 FLUORESCENT 1000 INCANDESCENT 500 0.1 0 -90 -60 -30 0 30 60 0 90 0 1000 2000 ANGULAR OFFSET () FIGURE 8. ANGULAR SENSITIVITY 5000 160 ALS+PROX (DURING PROX SLEEP) 18% GREY CARD 140 MEASURED IDD (A) 250 PROX COUNTS (8-BIT) 4000 FIGURE 9. ALS LINEARITY OVER 3 LIGHT SOURCES (2000 LUX RANGE) 300 220mA MODE 200 110mA MODE 150 100 WHITE COPY PAPER ALS-ONLY 120 100 80 PROX (DURING PROX SLEEP) 60 50 0 3000 ALS CODE (12-BIT) 0 20 40 60 80 100 120 DISTANCE (mm) 140 160 180 200 FIGURE 10. PROX COUNTS vs DISTANCE WITH 10CM x 10CM REFLECTOR (USING ISL29028 EVALUATION BOARD) 12 40 2.25 2.40 2.55 2.70 2.85 3.00 3.15 3.30 3.45 3.60 INPUT VDD (V) FIGURE 11. VDD vs IDD FOR VARIOUS MODES OF OPERATION FN7682.0 November 23, 2010 ISL29029 Typical Performance Curves VDD = 3.0V, REXT = 499k (Continued) 50 240 220mA-MODE (PROX_DR = 1) ALS COUNT CHANGE FROM +25C MEASUREMENT (%) 40 200 180 160 140 120 100 110mA-MODE (PROX_DR = 0) 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 30 20 10 0 -10 -20 -30 -40 -50 -40 -15 VIRDR (V) 10 35 TEMPERATURE (C) 60 85 FIGURE 13. STABILITY OF ALS COUNT OVER TEMP (AT 300 LUX) FIGURE 12. IRDR PULSE AMPLITUDE vs VIRDR 10 9 8 ALS CODE (12-BIT) IIRDR (mA) 220 7 6 5 4 3 2 1 0 -40 10 60 TEMPERATURE (C) FIGURE 14. STABILITY OF ALS COUNT OVER-TEMPERATURE (AT 0.00 LUX) 13 FN7682.0 November 23, 2010 ISL29029 2.00 SENSOR OFFSET 2.10 0.43 1 8 2 7 3 6 0.50 4 5 0.42 FIGURE 15. 8 LD ODFN SENSOR LOCATION OUTLINE - DIMENSIONS IN mm 14 FN7682.0 November 23, 2010 ISL29029 Revision History The revision history provided is for informational purposes only and is believed to be accurate, but not warranted. Please go to web to make sure you have the latest Rev. DATE REVISION 11/23/10 FN7682.0 CHANGE Initial Release. Products Intersil Corporation is a leader in the design and manufacture of high-performance analog semiconductors. The Company's products address some of the industry's fastest growing markets, such as, flat panel displays, cell phones, handheld products, and notebooks. Intersil's product families address power management and analog signal processing functions. Go to www.intersil.com/products for a complete list of Intersil product families. To report errors or suggestions for this datasheet, please go to www.intersil.com/askourstaff For additional products, see www.intersil.com/product_tree Intersil products are manufactured, assembled and tested utilizing ISO9000 quality systems as noted in the quality certifications found at www.intersil.com/design/quality Intersil products are sold by description only. Intersil Corporation reserves the right to make changes in circuit design, software and/or specifications at any time without notice. Accordingly, the reader is cautioned to verify that data sheets are current before placing orders. Information furnished by Intersil is believed to be accurate and reliable. However, no responsibility is assumed by Intersil or its subsidiaries for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Intersil or its subsidiaries. For information regarding Intersil Corporation and its products, see www.intersil.com 15 FN7682.0 November 23, 2010 ISL29029 Package Outline Drawing L8.2.1x2.0 8 LEAD OPTICAL DUAL FLAT NO-LEAD PLASTIC PACKAGE (ODFN) Rev 1, 12/09 2.10 A B 6 PIN 1 INDEX AREA 6 PIN 1 INDEX AREA 0.50 2.00 1.50 1.50 0.200.05 (2X) 0.10 M C A B 0.10 8X 0 . 35 0 . 05 TOP VIEW 0.75 BOTTOM VIEW SEE DETAIL "X" 2.50 0.10 C 2.10 0.700.05 C BASE PLANE SEATING PLANE 0.08 C SIDE VIEW (6x0.50) (1.50) (8x0.20) C (8x0.20) 5 0 . 00 MIN. 0 . 05 MAX. (8x0.55) DETAIL "X" (0.75) TYPICAL RECOMMENDED LAND PATTERN 0 . 2 REF NOTES: 1. Dimensions are in millimeters. Dimensions in ( ) for Reference Only. 2. Dimensioning and tolerancing conform to ASME Y14.5m-1994. 3. Unless otherwise specified, tolerance : Decimal 0.05 4. Dimension b applies to the metallized terminal and is measured between 0.25mm and 0.35mm from the terminal tip. 5. Tiebar shown (if present) is a non-functional feature. 6. The configuration of the pin #1 identifier is optional, but must be located within the zone indicated. The pin #1 identifier may be either a mold or mark feature. 16 FN7682.0 November 23, 2010