APDS-9960 Digital Proximity, Ambient Light, RGB and Gesture Sensor Data Sheet Description Features The APDS-9960 device features advanced Gesture detection, Proximity detection, Digital Ambient Light Sense (ALS) and Color Sense (RGBC). The slim modular package, L 3.94 x W 2.36 x H 1.35 mm, incorporates an IR LED and factory calibrated LED driver for drop-in compatibility with existing footprints.
Description (Cont.) Proximity detection Color and ALS detection The Proximity detection feature provides distance measurement (E.g. mobile device screen to user’s ear) by photodiode detection of reflected IR energy (sourced by the integrated LED). Detect/release events are interrupt driven, and occur whenever proximity result crosses upper and/ or lower threshold settings.
I/O Pins Configuration Pin Name Type Description 1 SDA I/O I2C serial data I/O terminal - serial data I/O for I2C-bus 2 INT O Interrupt - open drain (active low) 3 LDR LED driver input for proximity IR LED, constant current source LED driver 4 LEDK LED Cathode, connect to LDR pin when using internal LED driver circuit 5 LEDA LED Anode, connect to VLEDA on PCB 6 GND Power supply ground.
Optical Characteristics, VDD = 3 V, TA = 25 °C, AGAIN = 16×, AEN = 1 (unless otherwise noted) Parameter Irradiance responsivity [1] Red Channel Min Max Green Channel Min Max Blue Channel Min Max Units Test Conditions % λD = 465 nm [2] 0 15 10 42 57 100 4 25 54 85 10 45 λD = 525 nm [3] 64 120 0 14 3 29 λD = 625 nm [4] Notes: 1. The percentage shown represents the ratio of the respective red, green, or blue channel value to the clear channel value. 2.
Proximity Characteristics, VDD = 3 V, TA = 25 °C, PEN = 1 (unless otherwise noted) (continued) Parameter Min Typ Max Units Test Conditions Proximity ADC count value, 100 mm distance object [5, 6] 96 120 144 counts Reflecting object – 73 mm × 83 mm Kodak 90% grey card, 100 mm distance, VLEDA = 3 V, LDRIVE = 100 mA, PPULSE = 8, PGAIN = 4x, PPLEN = 8 ms, LED_BOOST = 100%, open view (no glass) above the module. Notes: 1.
IR LED Characteristics, VDD = 3 V, TA = 25 °C (unless otherwise noted) Parameter Units Test Conditions Peak Wavelength, λP Min Typ 950 Max nm IF = 20 mA Spectrum Width, Half Power, Δλ 30 nm IF = 20 mA Optical Rise Time, TR 20 ns IF = 100 mA Optical Fall Time, TF 20 ns IF = 100 mA Units Test Conditions ms W TIME = 0×FF Wait Characteristics, VDD = 3 V, TA = 25 °C, WEN = 1 (unless otherwise noted) Parameter Min Wait Step Size Typ Max 2.
20000 120% 80% G R 60% 16000 Avg Sensor LUX C 100% Normalized Responsivity Clear Red Green Blue Up/Down/Left/Right U,D,L,R B 40% 0% 300 400 500 600 700 800 Wavelength (nm) 900 1000 1000 5 800 4 600 3 400 200 0 4000 8000 12000 Meter LUX 16000 20000 2 1 0 200 400 600 Meter LUX 800 0 1000 Figure 3c. ALS Sensor LUX vs Meter LUX using White Light 0 1 2 3 4 5 Meter LUX Figure 3b. ALS Sensor LUX vs Meter LUX using Incandescent Light 1.40 1.30 1.30 1.20 1.
Normalized Radiant Intensity Normalized Responsitivity 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -50 Half-power point -40 -30 -20 -10 0 10 Angle (Deg) 20 30 40 50 Figure 5a. Normalized PD Responsitivity vs. Angular Displacement 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Half-power point -60 -50 -40 -30 -20 -10 0 10 Angle (Deg) 20 30 40 50 60 Figure 5b.
Detailed Description Gesture detection, proximity detection, and RGBC color sense/ambient light sense functionality is controlled by a state machine, as depicted in Figure 12, which reconfigures on-chip analog resources when each functional engine is entered. Functional states/engines can be individually included or excluded from the progression of state machine flow. Each functional engine contains controls (E.g. Gain, ADC integration time, wait time, persistence, thresholds, etc.) that govern operation.
Sleep After Interrupt Operation Proximity Operation After all the enabled engines/operational states have executed, causing a hardware interrupt, the state machine returns to either IDLE or SLEEP, as selected by the Sleep After Interrupt bit, SAI. SLEEP is entered when two conditions are met: SAI = 1, and the INT pin has been asserted. Entering SLEEP does not automatically change any of the register settings (E.g. PON bit is still high, but the normal operational state is over-ridden by SLEEP state).
PROXIMITY ENGINE ENTER PROX PEN = 1 COLLECT PROX DATA DATA TO PDATA PVALID = 1 PILT <= PDATA <= PIHT Y RESET PERSISTANCE N PERSISTANCE++ N PERSISTANCE >= PPERS Y PINT = 1 PIEN ==1 ? N Y ASSERT INT PIN EXIT PVALID is automatically reset whenever PDATA is read. PINT must be manually reset by a write-access to PICLEAR or AICLEAR. Figure 8.
An Interrupt can be generated with each new proximity result or whenever proximity results exceed or fall below levels set in the PIHT and/or PILT threshold registers. To prevent premature/ false interrupts an interrupt persistence filter is also included; interrupts will only be asserted if the consecutive number of out-of-threshold results is equal or greater than the value set by PPERS. Each “inthreshold” proximity result, PDATA, will reset the persistence count.
Color and Ambient Light Sense Operation The Color and Ambient Light Sense detection functionality uses an array of color and IR filtered photodiodes to measure red, green, and blue content of light, as well as the non-color filtered clear channel. The following registers and control bits govern Color/ALS operation and the operational flow is depicted in Figure 9. COLOR/ALS ENGINE ENTER COLOR Before entering (re-entering) the Color/ALS engine, an adjustable, low power consumption, delay is entered.
Gesture Operation The Gesture detection feature provides motion detection by utilizing directionally sensitive photodiodes to sense reflected IR energy sourced by the integrated LED. The following registers and control bits govern gesture operation and the operational flow is depicted in Figure 10. Table 4.
ENTER GESTURE GESTURE ENGINE Has FIFO overflowed? GMODE = 1 GVALID = 0/1 GINT=0/1 GFLVLs == 32 ? Y GFOV = 1 N GDIMS != 10 N DATA TO FIFO Y GFLVLs++ Enough data In FIFO to assert interrupt? N Y GEXTHs == 0 ? D at as he e COLLECT U/D PHOTODIODE DATA Remain in gesture mode indefinatly? GFLVLs >= GFIFOTHs ? N Y N GDIMS != 01 GVALID = 1 GINT = 1 Y GIEN ==1 ? COLLECT L/R PHOTODIODE DATA PERSISTANCE++ N GMODE == 0 ? ar y GWTIME > 0 ? N Has GMODE been cleared by host? WAIT Y GINT
Gesture results are affected by three fundamental factors: IR LED emission, IR reception, and environmental factors, including motion. During operation, the Gesture engine is entered when its enable bit, GEN, and the operating mode bit, GMODE, are both set. GMODE can be set/reset manually, via I²C, or becomes set when proximity results, PDATA, is greater or equal to the gesture proximity entry threshold, GPENTH. Exit of the gesture engine will not occur until GMODE is reset to zero.
An interrupt is generated based on the number of gesture “datasets” results placed in the FIFO. A dataset is defined as 4-byte directional data corresponding to U-D-L-R.The FIFO can buffer up to 32 datasets before it overflows. If the FIFO overflows (host did not read quickly enough) then the most recent data will be lost.
Optical and Mechanical Design Consideration Crosstalk and Window Air Gap Optical Transmittance of Window Material Crosstalk is PS or Gesture output caused by unwanted LED IR rays reflection without any object present. To control crosstalk when operating the sensor in gesture mode, we recommend that a rubber isolating barrier be fitted over the sensor. A possible design is shown in Figure 12. Windows with an IR transmittance of at least 80% (measured at 950nm) are recommended for use with the APDS9960.
Register Set The APDS-9960 is controlled and monitored by data registers and a command register accessed through the serial interface. These registers provide for a variety of control functions and can be read to determine results of the ADC conversions.
Enable Register (0x80) The ENABLE register is used to power the device on/off, enable functions and interrupts. Field Bits Description Reserved 7 Reserved. Write as 0. GEN 6 Gesture Enable. When asserted, the gesture state machine can be activated. Activation is subject to the states of PEN and GMODE bits. PIEN 5 Proximity Interrupt Enable. When asserted, it permits proximity interrupts to be generated, subject to the persistence filter settings. AIEN 4 ALS Interrupt Enable.
Wait Time Register (0x83) The WTIME controls the amount of time in a low power mode between Proximity and/or ALS cycles. It is set 2.78ms increments unless the WLONG bit is asserted in which case the wait times are 12× longer. WTIME is programmed as a 2’s complement number. Upon power up, the wait time register is set to 0xFF. Field Bits Description WTIME 7:0 FIELD VALUE WAIT TIME TIME (WLONG = 0) TIME (WLONG = 1) 0 256 712 ms 8.54 s = 256 – TIME / 2.78 ms … … 171 85 236 ms 2.
Persistence Register (0x8C) The Interrupt Persistence Register sets a value which is compared with the accumulated amount of ALS or Proximity cycles in which results were outside threshold values. Any Proximity or ALS result that is inside threshold values resets the count. Separate counters are provided for proximity and ALS persistence detection. Field Bits Description PPERS 7:4 Proximity Interrupt Persistence. Controls rate of proximity interrupt to the host processor.
Configuration Register One (0x8D) The CONFIG1 register sets the wait long time. The register is set to 0x40 at power up. Field Bits Description Reserved 7 Reserved. Write as 0. Reserved 6 Reserved. Write as 1. Reserved 5 Reserved. Write as 1. Reserved 4 Reserved. Write as 0. Reserved 3 Reserved. Write as 0. Reserved 2 Reserved. Write as 0. WLONG 1 Wait Long. When asserted, the wait cycle is increased by a factor 12x from that programmed in the WTIME register. Reserved 0 Reserved.
Control Register One (0x8F) Field Bits Description LDRIVE 7:6 LED Drive Strength. FIELD VALUE LED CURRENT 0 1 2 3 100 mA 50 mA 25 mA 12.5 mA Reserved 5 Reserved. Write as 0. Reserved 4 Reserved. Write as 0. PGAIN 3:2 Proximity Gain Control. AGAIN 1:0 FIELD VALUE GAIN VALUE 0 1 2 3 1x 2x 4x 8x ALS and Color Gain Control.
ID Register (0x92) The read-only ID Register provides the device identification. Field Bits Description ID 7:0 Part number identification. 0xAB = APDS-9960 Status Register (0x93) The read-only Status Register provides the status of the device. The register is set to 0x04 at power-up. Field Bits Description CPSAT 7 Clear Photodiode Saturation. When asserted, the analog sensor was at the upper end of its dynamic range.
Proximity Data Register (0x9C) Proximity data is stored as an 8-bit value. Field Address Bits Description PDATA 0x9C 7:0 Proximity data. Proximity Offset UP / RIGHT Register (0x9D) In proximity mode, the UP and RIGHT photodiodes are connected forming a diode pair. The POFFSET_UR is an 8-bit value used to scale an internal offset correction factor to compensate for crosstalk in the application. This value is encoded in sign/magnitude format.
Configuration Three Register (0x9F) The CONFIG3 register is used to select which photodiodes are used for proximity. Two photodiodes are paired to provide signal. In proximity mode, UP and RIGHT photodiodes are connected forming a diode pair; similarly the DOWN and LEFT photodiodes form a diode pair. Field Bits Description RESERVED 7:6 Reserved. Write as 0. PCMP 5 Proximity Gain Compensation Enable.
Gesture Exit Threshold Register (0xA1) The Gesture Proximity Exit Threshold Register value compares all non-masked gesture detection photodiodes (UDLR). Gesture state machine exit is also governed by the value in the Gesture Exit Persistence register, GEPERS. Field Bits Description GEXTH 7:0 Gesture Exit Threshold. This register sets the threshold value used to determine a “gesture end” and subsequent exit of the gesture state machine.
Gesture Configuration Two Register (0xA3) The Gesture Configuration Two register contains settings that govern wait time, LDR drive current strength and Gesture gain control. The GWTIME controls the amount of time in a low power mode between gesture detection cycles. GPDRIVE sets the LDR drive current strength governing LED intensity. GGAIN sets the analog gain associated with the photodiode output. Field Bits Description RESERVED 7 Reserved. Write as 0. GGAIN 6:5 Gesture Gain Control.
Gesture UP Offset Register (0xA4) The GOFFSET_U is an 8-bit value used to scale an internal offset correction factor to compensate for crosstalk in the application. This value is encoded in sign/magnitude format.
Gesture RIGHT Offset Register (0xA9) The GOFFSET_R is an 8-bit value used to scale an internal offset correction factor to compensate for crosstalk in the application. This value is encoded in sign/magnitude format.
Gesture Configuration Three Register (0xAA) The Gesture Configuration Three Register contains settings that govern which gesture photodiode pair: UP-DOWN and/ or RIGHT-LEFT will be enabled (have valid data in FIFO) while the gesture state machine is collecting directional data. Normal mode enables all four gesture photodiodes and places data into FIFO as expected. Disabling a photodiode pair, essentially allows the enabled pair to collect data twice as fast.
Gesture Status Register (0xAF) The GSTATUS Register indicates the operational condition of the gesture state machine. Field Bits Description RESERVED 7:2 Do not care. GFOV 1 Gesture FIFO Overflow. A setting of 1 indicates that the FIFO has filled to capacity and that new gesture detector data has been lost. GVALID 0 Gesture FIFO Data. GVALID bit is sent when GFLVL becomes greater than GFIFOTH (i.e. FIFO has enough data to set GINT). GFIFOD is reset when GMODE = 0 and the GFLVL=0 (i.e.
Application Information Hardware In a proximity sensing system, the internal IR LED can be pulsed by more than 100mA of rapidly switching current, therefore, a few design considerations must be kept in mind to get the best performance. The key goal is to reduce the power supply noise coupled back into the device during the LED pulses. In many systems, there is a quiet analog supply and a noisy digital supply.
Package Outline Dimensions 0.60±0.08 (X8) RECIEVER 8 Ø 1.10±0.05 1 7 2 3.94±0.20 2.70±0.05 6 8 2 7 3 6 4 5 3.73±0.10 3 Ø 0.90±0.05 1 (0.41) (X6) (1.15) IR EMITTER 5 4 1.18±0.05 0.54±0.05 2.36±0.20 1.35 ±0.20 2.10±0.10 0.05 PINOUT 1 - SDA 2 - INT 3 - LDR 4 - LEDK 5 - LEDA 6 - GND 7 - SCL 8 - VDD (0.80) 0.60±0.08 (X8) PCB Pad Layout Suggested PCB pad layout guidelines for the Dual Flat No-Lead surface mount package are shown as follows: 0.60 0.80 0.72 (×8) 0.25 (×6) 0.
±0 .10 4 ±0.10 0.29 ±0.02 B0 Ø1 Unit Orientation .05 A 8 ±0.10 2.70 ±0.10 8° Max A0 Note: All linear dimensions are in mm. Reel Dimensions 36 1.70 ±0.10 ±0 A 5.50 ±0.05 12 +0.30 -0.10 4.30 ±0.10 Ø1 . 50 2 ±0.05 1.75 ±0.
Moisture Proof Packaging All APDS-9960 options are shipped in moisture proof package. Once opened, moisture absorption begins. This part is compliant to JEDEC MSL 3.
Recommended Reflow Profile MAX 260° C R3 R4 TEMPERATURE (°C) 255 230 217 200 180 150 120 R2 60 sec to 120 sec Above 217° C R1 R5 80 25 0 P1 HEAT UP Process Zone Heat Up Solder Paste Dry 50 100 150 P2 SOLDER PASTE DRY Symbol P1, R1 P2, R2 P3, R3 Solder Reflow P3, R4 Cool Down P4, R5 Time maintained above liquidus point , 217 °C Peak Temperature Time within 5 °C of actual Peak Temperature Time 25 °C to Peak Temperature 200 P3 SOLDER REFLOW 250 P4 COOL DOWN 300 t-TIME (SECONDS) ∆T Maximum ∆T/∆