ISL29028 Features The ISL29028 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 • Dual ADCs Measure ALS/Prox Concurrently • Intelligent Interrupt Scheme Simplifies μC Code 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 100μs 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 • 138μA DC Typical Supply Current for ALS/Prox Sensing - 110μA for Sensors and Internal Circuitry - 28μA Typical Current for External IR LED (Assuming 220mA for 100μs Every 800ms) • <1.0μA 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 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 540μs conversion time. The ISL29028 provides low power operation of ALS and proximity sensing with a typical 138μA normal operation current (110μA for sensors and internal circuitry, ~28μA for external LED) with 220mA current pulses for a net 100μs, repeating every 800ms (or under). The ISL29028 uses both a hardware pin and software bits to indicate an interrupt event has occurred. An ALS interrupt is defined as a measurement which is outside a set window. A proximity interrupt is defined as a measurement over a threshold limit. 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 ISL29028 is designed to operate from 2.25V to 3.63V over the -40°C to +85°C ambient temperature range. It is packaged in a clear, lead-free 8 lead ODFN package. Pin Configuration ISL29028 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 *THERMAL PAD CAN BE CONNECTED TO GND OR ELECTRICALLY ISOLATED November 4, 2011 FN6780.2 1 Applications*(see page 15) • 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 CAUTION: These devices are sensitive to electrostatic discharge; follow proper IC Handling Procedures. 1-888-INTERSIL or 1-888-468-3774 | Intersil (and design) is a registered trademark of Intersil Americas Inc. Copyright © Intersil Americas Inc. 2010. All Rights Reserved. I2C Bus is a registered trademark owned by NXP Semiconductors Netherlands, B.V. All other trademarks mentioned are the property of their respective owners. ISL29028 Low Power Ambient Light and Proximity Sensor with Intelligent Interrupt and Sleep Modes ISL29028 Ordering Information PART NUMBER (Notes 1, 2) PACKAGE TAPE AND REEL (Pb-free) TEMP. RANGE (°C) ISL29028IROZ-T7 -40 to +85 PKG. DWG. # 8 Ld ODFN 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 ISL29028. For more information on MSL please see techbrief TB363. Pin Descriptions PIN NUMBER PIN NAME DESCRIPTION 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 (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 ISL29028 from LED cathode 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 2 4 3 REXT GND FN6780.2 November 4, 2011 ISL29028 Absolute Maximum Ratings (TA = +25°C) 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 5) . . . . . . . . . . . . . . . . . . . 2kV Thermal Resistance (Typical, Note 4) θJA (°C/W) 8 Ld ODFN. . . . . . . . . . . . . . . . . . . . . . . . . 88 Maximum Die Temperature . . . . . . . . . . . . . . . . . . . +90°C Storage Temperature . . . . . . . . . . . . . . . . -40°C to +100°C Operating Temperature . . . . . . . . . . . . . . . -40°C to +85°C 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. 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 = +25°C, 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 88 tINTGR_PROX 8-bit Prox Integration/Conversion Time DATAALS_0 ALS Result when Dark EAMBIENT = 0 lux, 2k Range DATAALS_F Full Scale ALS ADC Code EAMBIENT > Selected Range Maximum Lux (Note 9) V/ms 100 112 ms 0.54 ms 1 Counts 4095 Counts Ambient Light Sensing ±10 % DATAALS_1 Light Count Output with LSB of 0.0326 lux/count E = 53 lux, Fluorescent (Notes 6, 9), ALS_RANGE = 0 1638 Counts DATAALS_2 Light Count Output With LSB of 0.522 lux/count E = 320 lux, Fluorescent (Note 6), ALS_RANGE = 1 ΔDATA DATA Count Output Variation Over Three Light Sources: Fluorescent, Incandescent and Sunlight 460 DATAPROX_0 Prox Measurement w/o Object in Path 614 1 Counts DATAPROX_F Full Scale Prox ADC Code DATAPROX_1 Prox Measurement Result 768 Counts 255 Counts (Note 7) 36 46 56 Counts 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 IIRDR_0 IRDR Sink Current PROX_DR = 0; VIRDR = 0.5V IIRDR_1 IRDR Sink Current PROX_DR = 1; VIRDR = 0.5V 3 95 110 220 125 mA mA FN6780.2 November 4, 2011 ISL29028 Electrical Specifications PARAMETER VDD = 3.0V, TA = +25°C, REXT = 499kΩ 1% tolerance. (Continued) DESCRIPTION CONDITION IIRDR_LEAK IRDR Leakage Current MIN TYP MAX UNIT PROX_EN = 0; VDD = 3.63V (Note 8) 0.001 1 µA 4.3 V VIRDR Acceptable Voltage Range on IRDR Pin 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 VIL SCL and SDA Input Low Voltage VIH SCL and SDA Input High Voltage Register bit PROX_DR = 0 0.5 1.7 400 kHz 3.63 V 0.55 V 1.25 V 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 NOTES: 6. 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. 7. An 850nm infrared LED is used to test PROX/IR sensitivity in an internal test mode. 8. Ability to guarantee IIRDR leakage of ~1nA is limited by test hardware. 9. 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 = +25°C, REXT = 499kΩ 1% tolerance (Note 10). PARAMETER DESCRIPTION VI2C Supply Voltage Range for I2C Interface fSCL CONDITION MIN 3.63 V 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 1.7 TYP MAX UNIT Input Leakage for each SDA, SCL pin tSP Pulse Width of Spikes that must be Suppressed by the Input Filter tAA SCL Falling Edge to SDA Output Data Valid 1.25 V 0.05VDD V -10 Ci Capacitance for each SDA and SCL pin tHD:STA Hold Time (Repeated) START Condition After this period, the first clock pulse is generated tLOW LOW Period of the SCL clock Measured at the 30% of VDD crossing tHIGH 0.4 V 10 µA 50 ns 900 ns 10 pF 600 ns 1300 ns 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 tSU:DAT Data Set-up Time 100 ns 20 + 0.1xCb ns tR Rise Time of both SDA and SCL Signals 4 (Note 11) FN6780.2 November 4, 2011 ISL29028 I2C Electrical Specifications For SCL and SDA unless otherwise noted, VDD = 3V, TA = +25°C, REXT = 499kΩ 1% tolerance (Note 10). (Continued) PARAMETER tF tSU:STO tBUF Cb DESCRIPTION CONDITION Fall Time of both SDA and SCL Signals (Note 11) MIN TYP MAX UNIT 20 + 0.1xCb ns 600 ns 1300 ns Set-up Time for STOP Condition Bus Free Time Between a STOP and START Condition Capacitive Load for Each Bus Line 400 pF Rpull-up SDA and SCL system bus pull-up resistor tVD;DAT Data Valid Time 0.9 µs tVD:ACK Data Valid Acknowledge Time 0.9 µs Maximum is determined by tR and tF 1 kΩ VnL Noise Margin at the LOW Level 0.1VDD V VnH Noise Margin at the HIGH Level 0.2VDD V NOTES: 10. All parameters in I2C Electrical Specifications table are guaranteed by design and simulation. 11. Cb is the capacitance of the bus in pF. FIGURE 1. I2C TIMING DIAGRAM 5 FN6780.2 November 4, 2011 ISL29028 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. ISL29028 REGISTERS AND REGISTER BITS BIT ADDR REG NAME 7 6 0x00 (n/a) 0x01 CONFIGURE PROX EN 0x02 INTERRUPT PROX_FLAG 0x03 PROX_LT 5 4 3 2 PROX_DR ALS_EN 1 0 DEFAULT (Reserved) PROX_SLP[2:0] PROX_PRST[1:0] (Write 0) (n/a) ALS_FLAG ALS_RANGE ALSIR_MODE ALS_PRST[1:0] INT_CTRL PROX_LT[7:0] 0x00 0x00 0x00 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 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 DEFAULT RW 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 110; sleep time between prox IR LED 101; sleep time between prox IR LED 100; sleep time between prox IR LED 011; sleep time between prox IR LED 010; sleep time between prox IR LED 001; sleep time between prox IR LED 000; sleep time between prox IR LED 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 pulses pulses pulses pulses pulses pulses pulses pulses is is is is is is is is 0.0ms (run continuously) 12.5ms 50ms 75ms 100ms 200ms 400ms 800ms ALSIR_MODE When = 0, ALS/IR data register contains visible ALS sensing data (ALSIR Mode) When = 1, ALS/IR data register contains IR spectrum sensing data 6 FN6780.2 November 4, 2011 ISL29028 TABLE 4. REGISTER 0x02 (INTERRUPT) - PROX/ALS INTERRUPT CONTROL BIT # ACCESS DEFAULT 7 FLAG 0x00 BIT NAME FUNCTION/OPERATION 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” 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 ALS_PRST (ALS Persist) 0 RW 0x00 INT_CTRL (Interrupt Control) 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 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” 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 When = 0, set INT pin low if PROX_FLAG or ALS_FLAG high (logical OR) 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 DEFAULT BIT NAME FUNCTION/OPERATION 7:0 RW 0x00 PROX_LT (Prox Threshold) 8-bit interrupt low threshold for proximity sensing TABLE 6. REGISTER 0x04 (PROX_HT) - INTERRUPT HIGH THRESHOLD FOR PROXIMITY SENSOR BIT # 7:0 ACCESS DEFAULT RW BIT NAME PROX_HT (Prox Threshold) 0xFF FUNCTION/OPERATION 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 FUNCTION/OPERATION 7:4 RW 0x0F ALSIR_HT[3:0] Lower 4 bits (of 12 bits) for ALS/IR high interrupt threshold (ALS/IR High Thr.) 3:0 RW 0x00 ALSIR_LT[11:8] (ALS/IR Low Thr.) Upper 4 bits (of 12 bits) for ALS/IR low interrupt threshold 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 FN6780.2 November 4, 2011 ISL29028 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 FUNCTION/OPERATION Test mode register. When 0x00, in normal operation. REGISTER ADDRESS W A A6 A5 A4 A3 A2 A1 A0 W A R7 R6 R5 R4 R3 R2 R1 R0 A I2C SDA SLAVE (ISL29028) SDA DRIVEN BY MASTER I2C CLK 1 2 3 4 5 6 7 A 8 9 A SDA DRIVEN BY MASTER 1 2 3 4 5 6 DEVICE ADDRESS STOP START 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 ISL29028 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 I2C Interface The ISL29028’s I2C interface slave address is internally hardwired as 0b100010<x>, where “0b” signifies binary notation and x represents the logic level on pin ADDR0. 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 For more information about the I2C standard, please consult the Philips™ I2C specification documents. Photodiodes and ADCs The ISL29028 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. FN6780.2 November 4, 2011 ISL29028 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 ISL29028, 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 ISL29028 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]). Ambient Light and IR Sensing The ISL29028 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. 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 9 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 When the IR from the LED reaches an object and gets reflected back into the ISL29028, 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. Average LED driving current consumption is given by Equation 1. I lRDR ;PEAK × 100μs I lRDR ;AVE = -------------------------------------------------------T SLEEP (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 above. IDD depends on voltage and the mode-of-operation as seen in Figure 11. FN6780.2 November 4, 2011 ISL29028 Interrupt Function The ISL29028 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 ISL29028 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 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 method instead of writing 10 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 ISL29028 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 ISL29028’s ADC output codes are directly proportional to lux when in ALS mode (see ALSIR_MODE bit). (EQ. 2) E calc = α RANGE × 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 ISL29028 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. FN6780.2 November 4, 2011 ISL29028 Typical Circuit Suggested PCB Footprint A typical application for the ISL29028 is shown in Figure 5. The ISL29028’s I2C address is internally hardwired as 0b100010<x>, 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. 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. Soldering Considerations Convection heating is recommended for reflow soldering; direct-infrared heating is not recommended. The plastic ODFN package does not require a custom reflow soldering profile, and is qualified to +260°C. A standard reflow soldering profile with a +260°C maximum is recommended. (http://www.intersil.com/data/tb/TB477.pdf) (http://www.intersil.com/data/tb/TB477.pdf) Layout Considerations The ISL29028 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. Route the supply and I2C traces as far as possible from all sources of noise. A 0.1µF and 1µF power supply decoupling capacitors need to be placed close to the device. VI2C_PULL-UP R1 10kΩ R2 10kΩ I2C MASTER R3 10kΩ MICROCONTROLLER INT SDA SCL VDD VIR-LED SLAVE_0 1 2 C1 1µF C2 0.1µF 3 4 ADDR0 IRDR VDD INT GND SDA REXT SCL SLAVE_1 8 7 I2C SLAVE_n SDA SDA SCL SCL 6 5 REXT ISL29028 499kΩ FIGURE 5. ISL29028 TYPICAL CIRCUIT 11 FN6780.2 November 4, 2011 ISL29028 Typical Performance Curves VDD = 3.0V, REXT = 499kΩ 1.0 1.0 0.9 FLUORESCENT NORMALIZED RESPONSE NORMALIZED INTENSITY 0.8 0.7 0.6 HALOGEN 0.5 INCAND. SUN 0.4 HUMAN EYE 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 WAVELENGTH (nm) FIGURE 6. SPECTRUM OF FOUR LIGHT SOURCES NORMALIZED BY LUMINOUS INTENSITY (LUX) 800 900 1000 1100 2500 LUX METER READING (LX) 0.9 NORMALIZED SENSITIVITY 700 FIGURE 7. ISL29028 SENSITIVITY TO DIFFERENT WAVELENGTHS 1.0 0.8 0.7 0.6 0.5 0.4 0.3 0.2 HALOGEN 2000 1500 FLUORESCENT 1000 INCANDESCENT 500 0.1 0 0 -90 -60 -30 0 30 60 90 0 1000 2000 4000 5000 FIGURE 9. ALS LINEARITY OVER 3 LIGHT SOURCES (2000 LUX RANGE) FIGURE 8. ANGULAR SENSITIVITY 300 160 ALS+PROX (DURING PROX SLEEP) 18% GREY CARD 140 MEASURED IDD (µA) 250 220mA MODE 200 110mA MODE 150 100 WHITE COPY PAPER 50 0 3000 ALS CODE (12-BIT) ANGULAR OFFSET (°) PROX COUNTS (8-BIT) 600 WAVELENGTH (nm) ALS-ONLY 120 100 80 PROX (DURING PROX SLEEP) 60 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 INPUT VDD (V) 3.30 3.45 3.60 FIGURE 11. VDD vs IDD FOR VARIOUS MODES OF OPERATION FN6780.2 November 4, 2011 ISL29028 Typical Performance Curves VDD = 3.0V, REXT = 499kΩ (Continued) 50 240 40 220 ALS COUNT CHANGE FROM +25°C MEASUREMENT (%) 220mA-MODE (PROX_DR = 1) 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 20 10 0 -10 -20 -30 -40 -50 -40 5.0 -15 VIRDR (V) FIGURE 12. IRDR PULSE AMPLITUDE vs VIRDR 10 35 TEMPERATURE (°C) 60 85 FIGURE 13. STABILITY OF ALS COUNT OVER TEMP (AT 300 LUX) 10 9 8 ALS CODE (12-BIT) IIRDR (A) 200 30 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 FN6780.2 November 4, 2011 ISL29028 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 FN6780.2 November 4, 2011 ISL29028 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 CHANGE 11/11/10 FN6780.2 Updates to test methodology, addition of "ALS Range 1 Considerations" paragraph, updates to "Power-Up" Sequence, test register clarification 3/2/10 FN6780.1 Typo fixes and sensitivity updates 3/2/10 FN6780.0 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. *For a complete listing of Applications, Related Documentation and Related Parts, please see the respective device information page on intersil.com: ISL29028 To report errors or suggestions for this datasheet, please go to www.intersil.com/askourstaff FITs are available from our website at http://rel.intersil.com/reports/search.php 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 FN6780.2 November 4, 2011 ISL29028 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 6 PIN 1 INDEX AREA PIN 1 INDEX AREA 0.50 2.00 1.50 1.50 0.20±0.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.70±0.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 FN6780.2 November 4, 2011