TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 Approximates Human Eye Response to PACKAGE CS 6-LEAD CHIPSCALE (TOP VIEW) Control Display Backlight and Keyboard Illumination Precisely Measures Illuminance in Diverse Lighting Conditions Providing Exposure Control in Cameras Programmable Interrupt Function with User-Defined Upper and Lower Threshold Settings 16-Bit Digital Output with SMBus (TSL2560) or I2C (TSL2561) Fast-Mode at 400 KHz Programmable Analog Gain and Integration Time Supporting 1,000,000-to-1 Dynamic Range Available in Ultra-Small 1.25 mm 1.75 mm Chipscale Package Automatically Rejects 50/60-Hz Lighting Ripple Low Active Power (0.75 mW Typical) with Power Down Mode RoHS Compliant 6 SDA VDD 1 5 INT ADDR SEL 2 4 SCL GND 3 Package Drawings are Not to Scale PACKAGE T 6-LEAD TMB (TOP VIEW) VDD 1 ADDR SEL 2 GND 3 6 SDA 5 INT 4 SCL Description The TSL2560 and TSL2561 are light-to-digital converters that transform light intensity to a digital signal output capable of direct I2C (TSL2561) or SMBus (TSL2560) interface. Each device combines one broadband photodiode (visible plus infrared) and one infrared-responding photodiode on a single CMOS integrated circuit capable of providing a near-photopic response over an effective 20-bit dynamic range (16-bit resolution). Two integrating ADCs convert the photodiode currents to a digital output that represents the irradiance measured on each channel. This digital output can be input to a microprocessor where illuminance (ambient light level) in lux is derived using an empirical formula to approximate the human eye response. The TSL2560 device permits an SMB-Alert style interrupt, and the TSL2561 device supports a traditional level style interrupt that remains asserted until the firmware clears it. While useful for general purpose light sensing applications, the TSL2560/61 devices are designed particularly for display panels (LCD, OLED, etc.) with the purpose of extending battery life and providing optimum viewing in diverse lighting conditions. Display panel backlighting, which can account for up to 30 to 40 percent of total platform power, can be automatically managed. Both devices are also ideal for controlling keyboard illumination based upon ambient lighting conditions. Illuminance information can further be used to manage exposure control in digital cameras. The TSL2560/61 devices are ideal in notebook/tablet PCs, LCD monitors, flat-panel televisions, cell phones, and digital cameras. In addition, other applications include street light control, security lighting, sunlight harvesting, machine vision, and automotive instrumentation clusters. The LUMENOLOGY Company Copyright 2005, TAOS Inc. Texas Advanced Optoelectronic Solutions Inc. 800 Jupiter Road, Suite 205 Plano, TX 75074 (972) 673-0759 www.taosinc.com 1 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 Functional Block Diagram Channel 0 Visible and IR VDD = 2.7 V to 3.5 V ADDR SEL Integrating A/D Converter Channel 1 IR Only Address Select Command Register ADC Register Interrupt INT SCL Two-Wire Serial Interface SDA Detailed Description The TSL2560 and TSL2561 are second-generation ambient light sensor devices. Each contains two integrating analog-to-digital converters (ADC) that integrate currents from two photodiodes. Integration of both channels occurs simultaneously. Upon completion of the conversion cycle, the conversion result is transferred to the Channel 0 and Channel 1 data registers, respectively. The transfers are double-buffered to ensure that the integrity of the data is maintained. After the transfer, the device automatically begins the next integration cycle. Communication to the device is accomplished through a standard, two-wire SMBus or I2C serial bus. Consequently, the TSL256x device can be easily connected to a microcontroller or embedded controller. No external circuitry is required for signal conditioning, thereby saving PCB real estate as well. Since the output of the TSL256x device is digital, the output is effectively immune to noise when compared to an analog signal. The TSL256x devices also support an interrupt feature that simplifies and improves system efficiency by eliminating the need to poll a sensor for a light intensity value. The primary purpose of the interrupt function is to detect a meaningful change in light intensity. The concept of a meaningful change can be defined by the user both in terms of light intensity and time, or persistence, of that change in intensity. The TSL256x devices have the ability to define a threshold above and below the current light level. An interrupt is generated when the value of a conversion exceeds either of these limits. Copyright 2005, TAOS Inc. The LUMENOLOGY Company 2 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 Terminal Functions TERMINAL NAME CS PKG NO. TYPE T PKG NO. I DESCRIPTION ADDR SEL 2 2 GND 3 3 SMBus device select — three-state INT 5 5 O Level or SMB Alert interrupt. SCL 4 4 I SMBus serial clock input terminal — clock signal for SMBus serial data. SDA 6 6 I/O VDD 1 1 Power supply ground. All voltages are referenced to GND. SMBus serial data I/O terminal — serial data I/O for SMBus. Supply voltage. Available Options DEVICE INTERFACE PACKAGE − LEADS PACKAGE DESIGNATOR ORDERING NUMBER TSL2560 SMBus Chipscale CS TSL2560CS TSL2560 SMBus TMB-6 T TSL2560T TSL2561 I2C Chipscale CS TSL2561CS TSL2561 I2C TMB-6 T TSL2561T Absolute Maximum Ratings over operating free-air temperature range (unless otherwise noted)† Supply voltage, VDD (see Note 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 V Digital output voltage range, VO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . −0.5 V to 3.8 V Digital output current, IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . −1 mA to 20 mA Storage temperature range, Tstg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . −40°C to 85°C ESD tolerance, human body model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2000 V † Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability. NOTE 1: All voltages are with respect to GND. Recommended Operating Conditions MIN NOM MAX 2.7 3 3.6 V −30 70 °C SCL, SDA input low voltage, VIL −0.5 0.8 V SCL, SDA input high voltage, VIH 2.1 3.6 V Supply voltage, VDD Operating free-air temperature, TA UNIT Electrical Characteristics over recommended operating free-air temperature range (unless otherwise noted) PARAMETER TEST CONDITIONS MIN Active IDD Supply current INT SDA output low voltage INT, I LEAK Leakage current The LUMENOLOGY Company MAX 0.24 0.6 mA 15 µA 0.4 V 0 0.6 V −5 5 µA 3.2 6 mA sink current UNIT 0 Power down 3 mA sink current VOL TYP Copyright 2005, TAOS Inc. www.taosinc.com 3 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 Operating Characteristics, High Gain (16), VDD = 3 V, TA = 25C, (unless otherwise noted) (see Notes 2, 3, 4, 5) TSL2560T, TSL2561T PARAMETER fosc TEST CONDITIONS Oscillator frequency Dark ADC count value Ee = 0 0, Tint = 402 ms Tint > 178 ms Full scale ADC count value (Note 6) Tint = 101 ms Tint = 13.7 13 7 ms ADC count value ADC countt value l ratio: ti Ch1/Ch0 Rv (Sensor Lux) / (actual Lux), Lux) high gain mode (Note 8) Copyright 2005, TAOS Inc. MIN TYP MAX 690 735 735 780 690 4 0 4 Ch1 0 4 0 4 Ch0 65535 65535 Ch1 65535 65535 Ch0 37177 37177 Ch1 37177 37177 Ch0 5047 5047 Ch1 5047 5047 Ch0 λp = 640 nm, Tint = 101 ms Ee = 41 µW/cm2 Ch0 λp = 940 nm, Tint = 101 ms Ee = 135 µW/cm2 Ch0 750 Ch1 1000 kHz counts counts 1250 700 Ch1 1000 counts 1300 820 750 1000 700 1000 Ch1 1250 190 Ch1 1300 counts 850 0 15 0.15 0 20 0.20 0.25 0 25 0.14 0 14 0 19 0.19 0.24 0 24 λp = 940 nm, nm Tint = 101 ms 0 69 0.69 0 82 0.82 0.95 0 95 0.70 0 70 0 85 0.85 1 Ch0 27.5 24.4 Ch1 5.5 4.6 Ch0 8.4 7.4 6.3 Ch1 6.9 Fluorescent light source: Tint = 402 ms Ch0 36 35 Ch1 4 3.8 Incandescent light source: Tint = 402 ms Ch0 144 129 Ch1 72 67 0.11 0.11 05 0.5 0 52 0.52 Fluorescent light source: Tint = 402 ms Incandescent light source: Tint = 402 ms Fluorescent light source: Tint = 402 ms Ch0 2.3 2.2 Ch1 0.25 0.24 Incandescent light source: Tint = 402 ms Ch0 9 8.1 Ch1 4.5 4.2 counts/ (µW/ cm2) counts/ lux counts/ lux Fluorescent light source: Tint = 402 ms 0.65 1 1.35 0.65 1 1.35 Incandescent light source: Tint = 402 ms 0.60 1 1.40 0.60 1 1.40 The LUMENOLOGY Company 4 UNIT 200 nm Tint = 101 ms λp = 640 nm, Illuminance responsivity Illuminance responsivity, res onsivity, low g gain mode (Note 7) MAX 780 λp = 940 nm, Tint = 101 ms Ee = 119 µW/cm2 Irradiance responsivity ADC count value ratio: Ch1/Ch0 TYP 0 Ch0 λp = 940 nm, nm Tint = 101 ms Rv TSL2560CS, TSL2561CS MIN Ch0 λp = 640 nm, Tint = 101 ms Ee = 36.3 µW/cm2 λp = 640 nm, nm Tint = 101 ms Re CHANNEL www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 NOTES: 2. Optical measurements are made using small-angle incident radiation from light-emitting diode optical sources. Visible 640 nm LEDs and infrared 940 nm LEDs are used for final product testing for compatibility with high-volume production. 3. The 640 nm irradiance Ee is supplied by an AlInGaP light-emitting diode with the following characteristics: peak wavelength λp = 640 nm and spectral halfwidth ∆λ½ = 17 nm. 4. The 940 nm irradiance Ee is supplied by a GaAs light-emitting diode with the following characteristics: peak wavelength λp = 940 nm and spectral halfwidth ∆λ½ = 40 nm. 5. Integration time Tint, is dependent on internal oscillator frequency (fosc) and on the integration field value in the timing register as described in the Register Set section. For nominal fosc = 735 kHz, nominal Tint = (number of clock cycles)/fosc. Field value 00: Tint = (11 × 918)/fosc = 13.7 ms Field value 01: Tint = (81 × 918)/fosc = 101 ms Field value 10: Tint = (322 × 918)/fosc = 402 ms Scaling between integration times vary proportionally as follows: 11/322 = 0.034 (field value 00), 81/322 = 0.252 (field value 01), and 322/322 = 1 (field value 10). 6. Full scale ADC count value is limited by the fact that there is a maximum of one count per two oscillator frequency periods and also by a 2-count offset. Full scale ADC count value = ((number of clock cycles)/2 − 2) Field value 00: Full scale ADC count value = ((11 × 918)/2 − 2) = 5047 Field value 01: Full scale ADC count value = ((81 × 918)/2 − 2) = 37177 Field value 10: Full scale ADC count value = 65535, which is limited by 16 bit register. This full scale ADC count value is reached for 131074 clock cycles, which occurs for Tint = 178 ms for nominal fosc = 735 kHz. 7. Low gain mode has 16 lower gain than high gain mode: (1/16 = 0.0625). 8. The sensor Lux is calculated using the empirical formula shown on p. 22 of this data sheet based on measured Ch0 and Ch1 ADC count values for the light source specified. Actual Lux is obtained with a commercial luxmeter. The range of the (sensor Lux) / (actual Lux) ratio is estimated based on the variation of the 640 nm and 940 nm optical parameters. Devices are not 100% tested with fluorescent or incandescent light sources. The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 5 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 AC Electrical Characteristics, VDD = 3 V, TA = 25C (unless otherwise noted) PARAMETER TEST CONDITIONS MIN TYP MAX UNIT 12 100 400 ms 400 kHz t(CONV) Conversion time f(SCL) Clock frequency t(BUF) Bus free time between start and stop condition 4.7 µs t(HDSTA) Hold time after (repeated) start condition. After this period, the first clock is generated. 4 µs t(SUSTA) Repeated start condition setup time 4.7 µs t(SUSTO) Stop condition setup time 4 µs t(HDDAT) Data hold time 300 ns t(SUDAT) Data setup time 250 ns t(LOW) SCL clock low period 4.7 µs t(HIGH) SCL clock high period 4 µs t(TIMEOUT) Detect clock/data low timeout 35 ms tF Clock/data fall time 300 ns tR Clock/data rise time 1000 ns Ci Input pin capacitance 10 pF Copyright 2005, TAOS Inc. 25 The LUMENOLOGY Company 6 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 PARAMETER MEASUREMENT INFORMATION t(LOW) t(R) t(F) VIH SCL VIL t(HDSTA) t(BUF) t(HIGH) t(SUSTA) t(HDDAT) t(SUSTO) t(SUDAT) VIH SDA VIL P Stop Condition S S Start Condition Start P Stop t(LOWSEXT) SCLACK SCLACK t(LOWMEXT) t(LOWMEXT) t(LOWMEXT) SCL SDA Figure 1. Timing Diagrams 1 9 1 9 SCL A6 SDA A5 A4 A3 A2 A1 A0 R/W Start by Master D7 D6 D5 D4 D3 D2 D1 ACK by TSL256x D0 ACK by Stop by TSL256x Master Frame 1 SMBus Slave Address Byte Frame 2 Command Byte Figure 2. Example Timing Diagram for SMBus Send Byte Format 1 9 1 9 SCL A6 SDA A5 A4 A3 A2 A1 A0 R/W Start by Master D7 D6 D5 D4 D3 D2 D1 ACK by TSL256x Frame 1 SMBus Slave Address Byte D0 NACK by Stop by Master Master Frame 2 Data Byte From TSL256x Figure 3. Example Timing Diagram for SMBus Receive Byte Format The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 7 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 TYPICAL CHARACTERISTICS SPECTRAL RESPONSIVITY 1 Normalized Responsivity 0.8 Channel 0 Photodiode 0.6 0.4 0.2 Channel 1 Photodiode 0 300 400 500 600 700 800 900 1000 1100 λ − Wavelength − nm Figure 4 0.8 0.8 Normalized Responsivity 1.0 0.6 0.4 0.2 0 −90 Optical Axis NORMALIZED RESPONSIVITY vs. ANGULAR DISPLACEMENT — TMB PACKAGE 1.0 Optical Axis Normalized Responsivity NORMALIZED RESPONSIVITY vs. ANGULAR DISPLACEMENT — CS PACKAGE 0.6 0.4 0.2 −60 −30 0 30 60 − Angular Displacement − ° 90 0 −90 −60 −30 0 30 60 − Angular Displacement − ° Figure 5 Copyright 2005, TAOS Inc. Figure 6 The LUMENOLOGY Company 8 90 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 PRINCIPLES OF OPERATION Analog-to-Digital Converter The TSL256x contains two integrating analog-to-digital converters (ADC) that integrate the currents from the channel 0 and channel 1 photodiodes. Integration of both channels occurs simultaneously, and upon completion of the conversion cycle the conversion result is transferred to the channel 0 and channel 1 data registers, respectively. The transfers are double buffered to ensure that invalid data is not read during the transfer. After the transfer, the device automatically begins the next integration cycle. Digital Interface Interface and control of the TSL256x is accomplished through a two-wire serial interface to a set of registers that provide access to device control functions and output data. The serial interface is compatible with System Management Bus (SMBus) versions 1.1 and 2.0, and I2C bus Fast-Mode. The TSL256x offers three slave addresses that are selectable via an external pin (ADDR SEL). The slave address options are shown in Table 1. Table 1. Slave Address Selection ADDR SEL TERMINAL LEVEL SLAVE ADDRESS SMB ALERT ADDRESS GND 0101001 0001100 Float 0111001 0001100 VDD 1001001 0001100 NOTE: The Slave and SMB Alert Addresses are 7 bits. Please note the SMBus and I2C protocols on pages 9 through 12. A read/write bit should be appended to the slave address by the master device to properly communicate with the TSL256X device. SMBus and I2C Protocols Each Send and Write protocol is, essentially, a series of bytes. A byte sent to the TSL256x with the most significant bit (MSB) equal to 1 will be interpreted as a COMMAND byte. The lower four bits of the COMMAND byte form the register select address (see Table 2), which is used to select the destination for the subsequent byte(s) received. The TSL256x responds to any Receive Byte requests with the contents of the register specified by the stored register select address. The TSL256X implements the following protocols of the SMB 2.0 specification: Send Byte Protocol Receive Byte Protocol Write Byte Protocol Write Word Protocol Read Word Protocol Block Write Protocol Block Read Protocol The TSL256X implements the following protocols of the Philips Semiconductor I2C specification: I2C Write Protocol I2C Read (Combined Format) Protocol The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 9 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 When an SMBus Block Write or Block Read is initiated (see description of COMMAND Register), the byte following the COMMAND byte is ignored but is a requirement of the SMBus specification. This field contains the byte count (i.e. the number of bytes to be transferred). The TSL2560 (SMBus) device ignores this field and extracts this information by counting the actual number of bytes transferred before the Stop condition is detected. When an I2C Write or I2C Read (Combined Format) is initiated, the byte count is also ignored but follows the SMBus protocol specification. Data bytes continue to be transferred from the TSL2561 (I2C) device to Master until a NACK is sent by the Master. The data formats supported by the TSL2560 and TSL2561 devices are: Master transmitter transmits to slave receiver (SMBus and I2C): − The transfer direction in this case is not changed. Master reads slave immediately after the first byte (SMBus only): − At the moment of the first acknowledgment (provided by the slave receiver) the master transmitter becomes a master receiver and the slave receiver becomes a slave transmitter. Combined format (SMBus and I2C): − During a change of direction within a transfer, the master repeats both a START condition and the slave address but with the R/W bit reversed. In this case, the master receiver terminates the transfer by generating a NACK on the last byte of the transfer and a STOP condition. For a complete description of SMBus protocols, please review the SMBus Specification at http://www.smbus.org/specs. For a complete description of I2C protocols, please review the I2C Specification at http://www.semiconductors.philips.com. 1 7 1 1 8 1 1 S Slave Address Wr A Data Byte A P X X A Acknowledge (this bit position may be 0 for an ACK or 1 for a NACK) P Stop Condition Rd Read (bit value of 1) S Start Condition Sr Repeated Start Condition Wr Write (bit value of 0) X Shown under a field indicates that that field is required to have a value of X ... Continuation of protocol Master-to-Slave Slave-to-Master Figure 7. SMBus and I2C Packet Protocol Element Key Copyright 2005, TAOS Inc. The LUMENOLOGY Company 10 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 1 7 1 1 8 1 1 S Slave Address Wr A Data Byte A P Figure 8. SMBus Send Byte Protocol 1 7 1 1 8 1 1 S Slave Address Rd A Data Byte A P 1 Figure 9. SMBus Receive Byte Protocol 1 7 1 1 S Slave Address Wr A 8 Command Code 1 8 1 1 A Data Byte A P Figure 10. SMBus Write Byte Protocol 1 7 S Slave Address 1 1 Wr A 8 Command Code 1 1 7 1 1 8 1 1 A S Slave Address Rd A Data Byte Low A P 1 Figure 11. SMBus Read Byte Protocol 1 7 1 1 8 1 8 1 8 1 1 S Slave Address Wr A Command Code A Data Byte Low A Data Byte High A P Figure 12. SMBus Write Word Protocol 1 S 7 Slave Address 1 1 Wr A 8 Command Code 1 1 7 1 1 8 1 A S Slave Address Rd A Data Byte Low A 8 Data Byte High ... 1 1 A P 1 Figure 13. SMBus Read Word Protocol The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 11 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 1 S 1 1 Wr A 7 Slave Address 8 Command Code 1 8 1 8 1 A Byte Count = N A Data Byte 1 A 8 1 Data Byte 2 ... 8 A ... Data Byte N 1 1 A P Figure 14. SMBus Block Write or I2C Write Protocols NOTE: The I2C write protocol does not use the Byte Count packet, and the Master will continue sending Data Bytes until the Master initiates a Stop condition. See the Command Register on page 13 for additional information regarding the Block Read/Write protocol. 1 S 7 Slave Address 1 1 Wr A 8 Command Code 8 Data Byte 1 1 1 7 1 1 8 1 A Sr Slave Address Rd A Byte Count = N A 1 A 8 Data Byte 2 1 A 8 ... Data Byte N ... 1 1 A P 1 Figure 15. SMBus Block Read or I2C Read (Combined Format) Protocols NOTE: The I2C read protocol does not use the Byte Count packet, and the Master will continue receiving Data Bytes until the Master initiates a Stop Condition. See the Command Register on page 13 for additional information regarding the Block Read/Write protocol. Register Set The TSL256x is controlled and monitored by sixteen registers (three are reserved) 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. The register set is summarized in Table 2. Table 2. Register Address ADDRESS RESISTER NAME −− COMMAND Specifies register address REGISTER FUNCTION 0h CONTROL Control of basic functions 1h TIMING 2h THRESHLOWLOW Low byte of low interrupt threshold 3h THRESHLOWHIGH High byte of low interrupt threshold 4h THRESHHIGHLOW Low byte of high interrupt threshold 5h THRESHHIGHHIGH High byte of high interrupt threshold 6h INTERRUPT 7h −− 8h CRC 9h −− Reserved Ah ID Part number/ Rev ID Reserved Integration time/gain control Interrupt control Reserved Factory test — not a user register Bh −− Ch DATA0LOW Low byte of ADC channel 0 Dh DATA0HIGH High byte of ADC channel 0 Eh DATA1LOW Low byte of ADC channel 1 Fh DATA1HIGH High byte of ADC channel 1 The mechanics of accessing a specific register depends on the specific SMB protocol used. Refer to the section on SMBus protocols. In general, the COMMAND register is written first to specify the specific control/status register for following read/write operations. Copyright 2005, TAOS Inc. The LUMENOLOGY Company 12 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 Command Register The command register specifies the address of the target register for subsequent read and write operations. The Send Byte protocol is used to configure the COMMAND register. The command register contains eight bits as described in Table 3. The command register defaults to 00h at power on. Table 3. Command Register Reset Value: 7 6 5 4 CMD CLEAR WORD BLOCK 0 0 0 0 3 2 1 0 COMMAND ADDRESS 0 0 0 0 FIELD BIT CMD 7 Select command register. Must write as 1. DESCRIPTION CLEAR 6 Interrupt clear. Clears any pending interrupt. This bit is a write-one-to-clear bit. It is self clearing. WORD 5 SMB Write/Read Word Protocol. 1 indicates that this SMB transaction is using either the SMB Write Word or Read Word protocol. BLOCK 4 Block Write/Read Protocol. 1 indicates that this transaction is using either the Block Write or the Block Read protocol. See Note below. ADDRESS 3:0 Register Address. This field selects the specific control or status register for following write and read commands according to Table 2. NOTE: An I2C block transaction will continue until the Master sends a stop condition. See Figure 14 and Figure 15. Unlike the I2C protocol, the SMBus read/write protocol requires a Byte Count. All four ADC Channel Data Registers (Ch through Fh) can be read simultaneously in a single SMBus transaction. This is the only 32-bit data block supported by the TSL2560 SMBus protocol. The BLOCK bit must be set to 1, and a read condition should be initiated with a COMMAND CODE of 9Bh. By using a COMMAND CODE of 9Bh during an SMBus Block Read Protocol, the TSL2560 device will automatically insert the appropriate Byte Count (Byte Count = 4) as illustrated in Figure 15. A write condition should not be used in conjunction with the Bh register. Control Register (0h) The CONTROL register contains two bits and is primarily used to power the TSL256x device up and down as shown in Table 4. Table 4. Control Register 7 6 5 4 3 2 0h Resv Resv Resv Resv Resv Resv Reset Value: 0 0 0 0 0 FIELD BIT Resv 7:2 1 0 CONTROL POWER 0 0 0 DESCRIPTION Reserved. Write as 0. Power up/power down. By writing a 03h to this register, the device is powered up. By writing a 00h to this register, the device is powered down. POWER 1:0 NOTE: If a value of 03h is written, the value returned during a read cycle will be 03h. This feature can be used to verify that the device is communicating properly. The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 13 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 Timing Register (1h) The TIMING register controls both the integration time and the gain of the ADC channels. A common set of control bits is provided that controls both ADC channels. The TIMING register defaults to 02h at power on. Table 5. Timing Register 7 6 5 4 3 2 1 1h Resv Resv Resv GAIN Manual Resv Reset Value: 0 0 0 0 0 0 TIMING INTEG 0 1 0 FIELD BIT Resv 7−5 DESCRIPTION GAIN 4 Switches gain between low gain and high gain modes. Writing a 0 selects low gain (1×); writing a 1 selects high gain (16×). Manual 3 Manual timing control. Writing a 1 begins an integration cycle. Writing a 0 stops an integration cycle. NOTE: This field only has meaning when INTEG = 11. It is ignored at all other times. Resv 2 Reserved. Write as 0. INTEG 1:0 Reserved. Write as 0. Integrate time. This field selects the integration time for each conversion. Integration time is dependent on the INTEG FIELD VALUE and the internal clock frequency. Nominal integration times and respective scaling between integration times scale proportionally as shown in Table 6. See Note 5 and Note 6 on page 5 for detailed information regarding how the scale values were obtained; see page 22 for further information on how to calculate lux. Table 6. Integration Time INTEG FIELD VALUE SCALE NOMINAL INTEGRATION TIME 00 0.034 13.7 ms 01 0.252 101 ms 10 1 402 ms 11 −− N/A The manual timing control feature is used to manually start and stop the integration time period. If a particular integration time period is required that is not listed in Table 6, then this feature can be used. For example, the manual timing control can be used to synchronize the TSL256x device with an external light source (e.g. LED). A start command to begin integration can be initiated by writing a 1 to this bit field. Correspondingly, the integration can be stopped by simply writing a 0 to the same bit field. Interrupt Threshold Register (2h − 5h) The interrupt threshold registers store the values to be used as the high and low trigger points for the comparison function for interrupt generation. If the value generated by channel 0 crosses below or is equal to the low threshold specified, an interrupt is asserted on the interrupt pin. If the value generated by channel 0 crosses above the high threshold specified, an interrupt is asserted on the interrupt pin. Registers THRESHLOWLOW and THRESHLOWHIGH provide the low byte and high byte, respectively, of the lower interrupt threshold. Registers THRESHHIGHLOW and THRESHHIGHHIGH provide the low and high bytes, respectively, of the upper interrupt threshold. The high and low bytes from each set of registers are combined to form a 16-bit threshold value. The interrupt threshold registers default to 00h on power up. Copyright 2005, TAOS Inc. The LUMENOLOGY Company 14 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 Table 7. Interrupt Threshold Register REGISTER ADDRESS BITS DESCRIPTION THRESHLOWLOW 2h 7:0 ADC channel 0 lower byte of the low threshold THRESHLOWHIGH 3h 7:0 ADC channel 0 upper byte of the low threshold THRESHHIGHLOW 4h 7:0 ADC channel 0 lower byte of the high threshold THRESHHIGHHIGH 5h 7:0 ADC channel 0 upper byte of the high threshold NOTE: Since two 8-bit values are combined for a single 16-bit value for each of the high and low interrupt thresholds, the Send Byte protocol should not be used to write to these registers. Any values transferred by the Send Byte protocol with the MSB set would be interpreted as the COMMAND field and stored as an address for subsequent read/write operations and not as the interrupt threshold information as desired. The Write Word protocol should be used to write byte-paired registers. For example, the THRESHLOWLOW and THRESHLOWHIGH registers (as well as the THRESHHIGHLOW and THRESHHIGHHIGH registers) can be written together to set the 16-bit ADC value in a single transaction. Interrupt Control Register (6h) The INTERRUPT register controls the extensive interrupt capabilities of the TSL256x. The TSL256x permits both SMB-Alert style interrupts as well as traditional level-style interrupts. The interrupt persist bit field (PERSIST) provides control over when interrupts occur. A value of 0 causes an interrupt to occur after every integration cycle regardless of the threshold settings. A value of 1 results in an interrupt after one integration time period outside the threshold window. A value of N (where N is 2 through15) results in an interrupt only if the value remains outside the threshold window for N consecutive integration cycles. For example, if N is equal to 10 and the integration time is 402 ms, then the total time is approximately 4 seconds. When a level Interrupt is selected, an interrupt is generated whenever the last conversion results in a value outside of the programmed threshold window. The interrupt is active-low and remains asserted until cleared by writing the COMMAND register with the CLEAR bit set. In SMBAlert mode, the interrupt is similar to the traditional level style and the interrupt line is asserted low. To clear the interrupt, the host responds to the SMBAlert by performing a modified Receive Byte operation, in which the Alert Response Address (ARA) is placed in the slave address field, and the TSL256x that generated the interrupt responds by returning its own address in the seven most significant bits of the receive data byte. If more than one device connected on the bus has pulled the SMBAlert line low, the highest priority (lowest address) device will win communication rights via standard arbitration during the slave address transfer. If the device loses this arbitration, the interrupt will not be cleared. The Alert Response Address is 0Ch. When INTR = 11, the interrupt is generated immediately following the SMBus write operation. Operation then behaves in an SMBAlert mode, and the software set interrupt may be cleared by an SMBAlert cycle. NOTE: Interrupts are based on the value of Channel 0 only. Table 8. Interrupt Control Register 7 6 6h Resv Resv Reset Value: 0 0 FIELD BITS 5 4 3 2 0 INTERRUPT PERSIST INTR 0 1 0 0 0 0 0 DESCRIPTION Resv 7:6 Reserved. Write as 0. INTR 5:4 INTR Control Select. This field determines mode of interrupt logic according to Table 9, below. PERSIST 3:0 Interrupt persistence. Controls rate of interrupts to the host processor as shown in Table 10, below. The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 15 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 Table 9. Interrupt Control Select INTR FIELD VALUE READ VALUE 00 Interrupt output disabled 01 Level Interrupt 10 SMBAlert compliant 11 Test Mode: Sets interrupt and functions as mode 10 NOTE: Field value of 11 may be used to test interrupt connectivity in a system or to assist in debugging interrupt service routine software. Table 10. Interrupt Persistence Select PERSIST FIELD VALUE INTERRUPT PERSIST FUNCTION 0000 Every ADC cycle generates interrupt 0001 Any value outside of threshold range 0010 2 integration time periods out of range 0011 3 integration time periods out of range 0100 4 integration time periods out of range 0101 5 integration time periods out of range 0110 6 integration time periods out of range 0111 7 integration time periods out of range 1000 8 integration time periods out of range 1001 9 integration time periods out of range 1010 10 integration time periods out of range 1011 11 integration time periods out of range 1100 12 integration time periods out of range 1101 13 integration time periods out of range 1110 14 integration time periods out of range 1111 15 integration time periods out of range ID Register (Ah) The ID register provides the value for both the part number and silicon revision number for that part number. It is a read-only register, whose value never changes. Table 11. ID Register 7 6 Ah Reset Value: 5 4 3 2 − ID − − − − − − FIELD BITS PARTNO 7:4 Part Number Identification: field value 0000 = TSL2560, field value 0001 = TSL2561 REVNO 3:0 Revision number identification Copyright 2005, TAOS Inc. DESCRIPTION The LUMENOLOGY Company 16 0 REVNO PARTNO − 1 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 ADC Channel Data Registers (Ch − Fh) The ADC channel data are expressed as 16-bit values spread across two registers. The ADC channel 0 data registers, DATA0LOW and DATA0HIGH provide the lower and upper bytes, respectively, of the ADC value of channel 0. Registers DATA1LOW and DATA1HIGH provide the lower and upper bytes, respectively, of the ADC value of channel 1. All channel data registers are read-only and default to 00h on power up. Table 12. ADC Channel Data Registers REGISTER ADDRESS BITS DATA0LOW Ch 7:0 ADC channel 0 lower byte DESCRIPTION DATA0HIGH Dh 7:0 ADC channel 0 upper byte DATA1LOW Eh 7:0 ADC channel 1 lower byte DATA1HIGH Fh 7:0 ADC channel 1 upper byte The upper byte data registers can only be read following a read to the corresponding lower byte register. When the lower byte register is read, the upper eight bits are strobed into a shadow register, which is read by a subsequent read to the upper byte. The upper register will read the correct value even if additional ADC integration cycles end between the reading of the lower and upper registers. NOTE: The Read Word protocol can be used to read byte-paired registers. For example, the DATA0LOW and DATA0HIGH registers (as well as the DATA1LOW and DATA1HIGH registers) may be read together to obtain the 16-bit ADC value in a single transaction The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 17 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 APPLICATION INFORMATION: SOFTWARE Basic Operation After applying VDD, the device will initially be in the power-down state. To operate the device, issue a command to access the CONTROL register followed by the data value 03h to power up the device. At this point, both ADC channels will begin a conversion at the default integration time of 400 ms. After 400 ms, the conversion results will be available in the DATA0 and DATA1 registers. Use the following pseudo code to read the data registers: // Read ADC Channels Using Read Word Protocol − RECOMMENDED Address = 0x39 //Slave addr – also 0x29 or 0x49 //Address the Ch0 lower data register and configure for Read Word Command = 0xAC //Set Command bit and Word bit //Reads two bytes from sequential registers 0x0C and 0x0D //Results are returned in DataLow and DataHigh variables ReadWord (Address, Command, DataLow, DataHigh) Channel0 = 256 * DataHigh + DataLow //Address the Ch1 lower data register and configure for Read Word Command = 0xAE //Set bit fields 7 and 5 //Reads two bytes from sequential registers 0x0E and 0x0F //Results are returned in DataLow and DataHigh variables ReadWord (Address, Command, DataLow, DataHigh) Channel1 = 256 * DataHigh + DataLow //Shift DataHigh to upper byte // Read ADC Channels Using Read Byte Protocol Address = 0x39 Command = 0x8C ReadByte (Address, Command, DataLow) Command = 0x8D ReadByte (Address, Command, DataHigh) Channel0 = 256 * DataHigh + DataLow Command = 0x8E ReadByte (Address, Command, DataLow) Command = 0x8F ReadByte (Address, Command, DataHigh) Channel1 = 256 * DataHigh + DataLow Copyright 2005, TAOS Inc. //Slave addr − also 0x29 or 0x49 //Address the Ch0 lower data register //Result returned in DataLow //Address the Ch0 upper data register //Result returned in DataHigh //Shift DataHigh to upper byte //Address the Ch1 lower data register //Result returned in DataLow //Address the Ch1 upper data register //Result returned in DataHigh //Shift DataHigh to upper byte The LUMENOLOGY Company 18 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 APPLICATION INFORMATION: SOFTWARE Configuring the Timing Register The command, timing, and control registers are initialized to default values on power up. Setting these registers to the desired values would be part of a normal initialization or setup procedure. In addition, to maximize the performance of the device under various conditions, the integration time and gain may be changed often during operation. The following pseudo code illustrates a procedure for setting up the timing register for various options: // Set up Timing Register //Low Gain (1x), integration time of 402ms (default value) Address = 0x39 Command = 0x81 Data = 0x02 WriteByte(Address, Command, Data) //Low Gain (1x), integration time of 101ms Data = 0x01 WriteByte(Address, Command, Data) //Low Gain (1x), integration time of 13.7ms Data = 0x00 WriteByte(Address, Command, Data) //High Gain (16x), integration time of 101ms Data = 0x11 WriteByte(Address, Command, Data) //Read data registers (see Basic Operation example) //Perform Manual Integration //Set up for manual integration with Gain of 1x Data = 0x03 //Set manual integration mode – device stops converting WriteByte(Address, Command, Data) //Begin integration period Data = 0x0B WriteByte(Address, Command, Data) //Integrate for 50ms Sleep (50) //Wait for 50ms //Stop integrating Data = 0x03 WriteByte(Address, Command, Data) //Read data registers (see Basic Operation example) The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 19 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 APPLICATION INFORMATION: SOFTWARE Interrupts The interrupt feature of the TSL256x device simplifies and improves system efficiency by eliminating the need to poll the sensor for a light intensity value. Interrupt styles are determined by the INTR field in the Interrupt Register. The interrupt feature may be disabled by writing a field value of 00h to the Interrupt Control Register so that polling can be performed. The versatility of the interrupt feature provides many options for interrupt configuration and usage. The primary purpose of the interrupt function is to provide a meaningful change in light intensity. However, it also be used as an end-of-conversion signal. The concept of a meaningful change can be defined by the user both in terms of light intensity and time, or persistence, of that change in intensity. The TSL256x device implements two 16-bit-wide interrupt threshold registers that allow the user to define a threshold above and below the current light level. An interrupt will then be generated when the value of a conversion exceeds either of these limits. For simplicity of programming, the threshold comparison is accomplished only with Channel 0. This simplifies calculation of thresholds that are based, for example, on a percent of the current light level. It is adequate to use only one channel when calculating light intensity differences since, for a given light source, the channel 0 and channel 1 values are linearly proportional to each other and thus both values scale linearly with light intensity. To further control when an interrupt occurs, the TSL256x device provides an interrupt persistence feature. This feature allows the user to specify a number of conversion cycles for which a light intensity exceeding either interrupt threshold must persist before actually generating an interrupt. This can be used to prevent transient changes in light intensity from generating an unwanted interrupt. With a value of 1, an interrupt occurs immediately whenever either threshold is exceeded. With values of N, where N can range from 2 to 15, N consecutive conversions must result in values outside the interrupt window for an interrupt to be generated. For example, if N is equal to 10 and the integration time is 402 ms, then an interrupt will not be generated unless the light level persists for more than 4 seconds outside the threshold. Two different interrupt styles are available: Level and SMBus Alert. The difference between these two interrupt styles is how they are cleared. Both result in the interrupt line going active low and remaining low until the interrupt is cleared. A level style interrupt is cleared by setting the CLEAR bit (bit 6) in the COMMAND register. The SMBus Alert style interrupt is cleared by an Alert Response as described in the Interrupt Control Register section and SMBus specification. To configure the interrupt as an end-of-conversion signal, the interrupt PERSIST field is set to 0. Either Level or SMBus Alert style can be used. An interrupt will be generated upon completion of each conversion. The interrupt threshold registers are ignored. The following example illustrates the configuration of a level interrupt: // Set up end−of−conversion interrupt, Level style Address = 0x39 //Slave addr also 0x29 or 0x49 Command = 0x86 //Address Interrupt Register Data = 0x10 //Level style, every ADC cycle WriteByte(Address, Command, Data) Copyright 2005, TAOS Inc. The LUMENOLOGY Company 20 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 APPLICATION INFORMATION: SOFTWARE The following example pseudo code illustrates the configuration of an SMB Alert style interrupt when the light intensity changes 20% from the current value, and persists for 3 conversion cycles: // Read current light level Address = 0x39 //Slave addr also 0x29 or 0x49 Command = 0xAC //Set Command bit and Word bit ReadWord (Address, Command, DataLow, DataHigh) Channel0 = (256 * DataHigh) + DataLow //Calculate upper and lower thresholds T_Upper = Channel0 + (0.2 * Channel0) T_Lower = Channel0 – (0.2 * Channel0) //Write the lower threshold register Command = 0xA2 //Addr lower threshold reg, set Word Bit WriteWord (Address, Command, T_Lower.LoByte, T_Lower.HiByte) //Write the upper threshold register Command = 0xA4 //Addr upper threshold reg, set Word bit WriteWord (Address, Command, T_Upper.LoByte, T_Upper.HiByte) //Enable interrupt Command = 0x86 Data = 0x23 WriteByte(Address, Command, Data) //Address interrupt register //SMBAlert style, PERSIST = 3 In order to generate an interrupt on demand during system test or debug, a test mode (INTR = 11) can be used. The following example illustrates how to generate an interrupt on demand: // Generate an interrupt Address = 0x39 Command = 0x86 Data = 0x30 WriteByte(Address, Command, Data) //Slave addr also 0x29 or 0x49 //Address Interrupt register //Test interrupt //Interrupt line should now be low The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 21 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 APPLICATION INFORMATION: SOFTWARE Calculating Lux The TSL256x is intended for use in ambient light detection applications such as display backlight control, where adjustments are made to display brightness or contrast based on the brightness of the ambient light, as perceived by the human eye. Conventional silicon detectors respond strongly to infrared light, which the human eye does not see. This can lead to significant error when the infrared content of the ambient light is high, such as with incandescent lighting, due to the difference between the silicon detector response and the brightness perceived by the human eye. This problem is overcome in the TSL256x through the use of two photodiodes. One of the photodiodes (channel 0) is sensitive to both visible and infrared light, while the second photodiode (channel 1) is sensitive primarily to infrared light. An integrating ADC converts the photodiode currents to digital outputs. Channel 1 digital output is used to compensate for the effect of the infrared component of light on the channel 0 digital output. The ADC digital outputs from the two channels are used in a formula to obtain a value that approximates the human eye response in the commonly used Illuminance unit of Lux: Chipscale Package For 0 < CH1/CH0 0.52 For 0.52 < CH1/CH0 0.65 For 0.65 < CH1/CH0 0.80 For 0.80 < CH1/CH0 1.30 For CH1/CH0 > 1.30 Lux = 0.0315 CH0 − 0.0593 CH0 ((CH1/CH0)1.4) Lux = 0.0229 CH0 − 0.0291 CH1 Lux = 0.0157 CH0 − 0.0180 CH1 Lux = 0.00338 CH0 − 0.00260 CH1 Lux = 0 TMB Package For 0 < CH1/CH0 0.50 For 0.50 < CH1/CH0 0.61 For 0.61 < CH1/CH0 0.80 For 0.80 < CH1/CH0 1.30 For CH1/CH0 > 1.30 Lux = 0.0304 CH0 − 0.062 CH0 ((CH1/CH0)1.4) Lux = 0.0224 CH0 − 0.031 CH1 Lux = 0.0128 CH0 − 0.0153 CH1 Lux = 0.00146 CH0 − 0.00112 CH1 Lux = 0 The formulas shown above were obtained by optical testing with fluorescent and incandescent light sources, and apply only to open-air applications. Optical apertures (e.g. light pipes) will affect the incident light on the device. Simplified Lux Calculation Below is the argument and return value including source code (shown on following page) for calculating lux. The source code is intended for embedded and/or microcontroller applications. Two individual code sets are provided, one for the chipscale package and one for the TMB package. All floating point arithmetic operations have been eliminated since embedded controllers and microcontrollers generally do not support these types of operations. Since floating point has been removed, scaling must be performed prior to calculating illuminance if the integration time is not 402 ms and/or if the gain is not 16 as denoted in the source code on the following pages. This sequence scales first to mitigate rounding errors induced by decimal math. extern unsigned int CalculateLux(unsigned int iGain, unsigned int tInt, unsigned int ch0, unsigned int ch1, int iType) Copyright 2005, TAOS Inc. The LUMENOLOGY Company 22 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 //**************************************************************************** // // Copyright 2004−2005 TAOS, Inc. // // THIS CODE AND INFORMATION IS PROVIDED ”AS IS” WITHOUT WARRANTY OF ANY // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR // PURPOSE. // // Module Name: // lux.cpp // //**************************************************************************** #define LUX_SCALE 14 #define RATIO_SCALE 9 // scale by 2^14 // scale ratio by 2^9 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− // Integration time scaling factors //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− #define CH_SCALE #define CHSCALE_TINT0 #define CHSCALE_TINT1 10 // scale channel values by 2^10 0x7517 // 322/11 * 2^CH_SCALE 0x0fe7 // 322/81 * 2^CH_SCALE //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− // T Package coefficients //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− // For Ch1/Ch0=0.00 to 0.50 // Lux/Ch0=0.0304−0.062*((Ch1/Ch0)^1.4) // piecewise approximation // For Ch1/Ch0=0.00 to 0.125: // Lux/Ch0=0.0304−0.0272*(Ch1/Ch0) // // For Ch1/Ch0=0.125 to 0.250: // Lux/Ch0=0.0325−0.0440*(Ch1/Ch0) // // For Ch1/Ch0=0.250 to 0.375: // Lux/Ch0=0.0351−0.0544*(Ch1/Ch0) // // For Ch1/Ch0=0.375 to 0.50: // Lux/Ch0=0.0381−0.0624*(Ch1/Ch0) // // For Ch1/Ch0=0.50 to 0.61: // Lux/Ch0=0.0224−0.031*(Ch1/Ch0) // // For Ch1/Ch0=0.61 to 0.80: // Lux/Ch0=0.0128−0.0153*(Ch1/Ch0) // // For Ch1/Ch0=0.80 to 1.30: // Lux/Ch0=0.00146−0.00112*(Ch1/Ch0) // // For Ch1/Ch0>1.3: // Lux/Ch0=0 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− #define K1T 0x0040 // 0.125 * 2^RATIO_SCALE #define B1T 0x01f2 // 0.0304 * 2^LUX_SCALE #define M1T 0x01be // 0.0272 * 2^LUX_SCALE #define K2T 0x0080 The LUMENOLOGY Company // 0.250 * 2^RATIO_SCALE Copyright 2005, TAOS Inc. www.taosinc.com 23 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 #define B2T #define M2T 0x0214 0x02d1 // 0.0325 * 2^LUX_SCALE // 0.0440 * 2^LUX_SCALE #define K3T #define B3T #define M3T 0x00c0 0x023f 0x037b // 0.375 * 2^RATIO_SCALE // 0.0351 * 2^LUX_SCALE // 0.0544 * 2^LUX_SCALE #define #define #define #define #define #define K4T B4T M4T K5T B5T M5T 0x0100 0x0270 0x03fe 0x0138 0x016f 0x01fc // // // // // // #define K6T #define B6T #define M6T 0x019a 0x00d2 0x00fb // 0.80 * 2^RATIO_SCALE // 0.0128 * 2^LUX_SCALE // 0.0153 * 2^LUX_SCALE #define K7T #define B7T #define M7T 0x029a 0x0018 0x0012 // 1.3 * 2^RATIO_SCALE // 0.00146 * 2^LUX_SCALE // 0.00112 * 2^LUX_SCALE #define K8T #define B8T #define M8T 0x029a 0x0000 0x0000 // 1.3 * 2^RATIO_SCALE // 0.000 * 2^LUX_SCALE // 0.000 * 2^LUX_SCALE 0.50 * 0.0381 0.0624 0.61 * 0.0224 0.0310 2^RATIO_SCALE * 2^LUX_SCALE * 2^LUX_SCALE 2^RATIO_SCALE * 2^LUX_SCALE * 2^LUX_SCALE //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− // CS package coefficients //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− // For 0 <= Ch1/Ch0 <= 0.52 // Lux/Ch0 = 0.0315−0.0593*((Ch1/Ch0)^1.4) // piecewise approximation // For 0 <= Ch1/Ch0 <= 0.13 // Lux/Ch0 = 0.0315−0.0262*(Ch1/Ch0) // For 0.13 <= Ch1/Ch0 <= 0.26 // Lux/Ch0 = 0.0337−0.0430*(Ch1/Ch0) // For 0.26 <= Ch1/Ch0 <= 0.39 // Lux/Ch0 = 0.0363−0.0529*(Ch1/Ch0) // For 0.39 <= Ch1/Ch0 <= 0.52 // Lux/Ch0 = 0.0392−0.0605*(Ch1/Ch0) // For 0.52 < Ch1/Ch0 <= 0.65 // Lux/Ch0 = 0.0229−0.0291*(Ch1/Ch0) // For 0.65 < Ch1/Ch0 <= 0.80 // Lux/Ch0 = 0.00157−0.00180*(Ch1/Ch0) // For 0.80 < Ch1/Ch0 <= 1.30 // Lux/Ch0 = 0.00338−0.00260*(Ch1/Ch0) // For Ch1/Ch0 > 1.30 // Lux = 0 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− #define K1C 0x0043 // 0.130 * 2^RATIO_SCALE #define B1C 0x0204 // 0.0315 * 2^LUX_SCALE #define M1C 0x01ad // 0.0262 * 2^LUX_SCALE #define K2C #define B2C #define M2C 0x0085 // 0.260 * 2^RATIO_SCALE 0x0228 // 0.0337 * 2^LUX_SCALE 0x02c1 // 0.0430 * 2^LUX_SCALE #define K3C #define B3C #define M3C 0x00c8 // 0.390 * 2^RATIO_SCALE 0x0253 // 0.0363 * 2^LUX_SCALE 0x0363 // 0.0529 * 2^LUX_SCALE Copyright 2005, TAOS Inc. The LUMENOLOGY Company 24 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 #define K4C #define B4C #define M4C 0x010a // 0.520 * 2^RATIO_SCALE 0x0282 // 0.0392 * 2^LUX_SCALE 0x03df // 0.0605 * 2^LUX_SCALE #define K5C #define B5C #define M5C 0x014d // 0.65 * 2^RATIO_SCALE 0x0177 // 0.0229 * 2^LUX_SCALE 0x01dd // 0.0291 * 2^LUX_SCALE #define K6C #define B6C #define M6C 0x019a // 0.80 * 2^RATIO_SCALE 0x0101 // 0.0157 * 2^LUX_SCALE 0x0127 // 0.0180 * 2^LUX_SCALE #define K7C #define B7C #define M7C 0x029a // 1.3 * 2^RATIO_SCALE 0x0037 // 0.00338 * 2^LUX_SCALE 0x002b // 0.00260 * 2^LUX_SCALE #define K8C #define B8C #define M8C 0x029a // 1.3 * 2^RATIO_SCALE 0x0000 // 0.000 * 2^LUX_SCALE 0x0000 // 0.000 * 2^LUX_SCALE // lux equation approximation without floating point calculations ////////////////////////////////////////////////////////////////////////////// // Routine: unsigned int CalculateLux(unsigned int ch0, unsigned int ch0, int iType) // // Description: Calculate the approximate illuminance (lux) given the raw // channel values of the TSL2560. The equation if implemented // as a piece−wise linear approximation. // // Arguments: unsigned int iGain − gain, where 0:1X, 1:16X // unsigned int tInt − integration time, where 0:13.7mS, 1:100mS, 2:402mS, // 3:Manual // unsigned int ch0 − raw channel value from channel 0 of TSL2560 // unsigned int ch1 − raw channel value from channel 1 of TSL2560 // unsigned int iType − package type (T or CS) // // Return: unsigned int − the approximate illuminance (lux) // ////////////////////////////////////////////////////////////////////////////// unsigned int CalculateLux(unsigned int iGain, unsigned int tInt, unsigned int ch0, unsigned int ch1, int iType) { //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− // first, scale the channel values depending on the gain and integration time // 16X, 402mS is nominal. // scale if integration time is NOT 402 msec unsigned long chScale; unsigned long channel1; unsigned long channel0; switch (tInt) { case 0: // 13.7 msec chScale = CHSCALE_TINT0; break; case 1: // 101 msec chScale = CHSCALE_TINT1; break; default: // assume no scaling chScale = (1 << CH_SCALE); The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 25 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 break; } // scale if gain is NOT 16X if (!iGain) chScale = chScale << 4; // scale 1X to 16X // scale the channel values channel0 = (ch0 * chScale) >> CH_SCALE; channel1 = (ch1 * chScale) >> CH_SCALE; //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− // find the ratio of the channel values (Channel1/Channel0) // protect against divide by zero unsigned long ratio1 = 0; if (channel0 != 0) ratio1 = (channel1 << (RATIO_SCALE+1)) / channel0; // round the ratio value unsigned long ratio = (ratio1 + 1) >> 1; // is ratio <= eachBreak ? unsigned int b, m; switch (iType) { case 0: // T package if ((ratio >= 0) && (ratio <= K1T)) {b=B1T; m=M1T;} else if (ratio <= K2T) {b=B2T; m=M2T;} else if (ratio <= K3T) {b=B3T; m=M3T;} else if (ratio <= K4T) {b=B4T; m=M4T;} else if (ratio <= K5T) {b=B5T; m=M5T;} else if (ratio <= K6T) {b=B6T; m=M6T;} else if (ratio <= K7T) {b=B7T; m=M7T;} else if (ratio > K8T) {b=B8T; m=M8T;} break; case 1:// CS package if ((ratio >= 0) && (ratio <= K1C)) {b=B1C; m=M1C;} else if (ratio <= K2C) {b=B2C; m=M2C;} else if (ratio <= K3C) {b=B3C; m=M3C;} else if (ratio <= K4C) {b=B4C; m=M4C;} else if (ratio <= K5C) {b=B5C; m=M5C;} else if (ratio <= K6C) {b=B6C; m=M6C;} else if (ratio <= K7C) {b=B7C; m=M7C;} Copyright 2005, TAOS Inc. The LUMENOLOGY Company 26 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 else if (ratio > K8C) {b=B8C; m=M8C;} break; } unsigned long temp; temp = ((channel0 * b) − (channel1 * m)); // do not allow negative lux value if (temp < 0) temp = 0; // round lsb (2^(LUX_SCALE−1)) temp += (1 << (LUX_SCALE−1)); // strip off fractional portion unsigned long lux = temp >> LUX_SCALE; return(lux); } The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 27 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 APPLICATION INFORMATION: HARDWARE Power Supply Decoupling The power supply lines must be decoupled with a 0.1 µF capacitor placed as close to the device package as possible (Figure 16). The bypass capacitor should have low effective series resistance (ESR) and low effective series inductance (ESI), such as the common ceramic types, which provide a low impedance path to ground at high frequencies to handle transient currents caused by internal logic switching. VBUS RP RP VDD TSL2560/ TSL2561 0.1 F SCL SDA Figure 16. Bus Pull-Up Resistors Pull-up resistors (Rp) maintain the SDAH and SCLH lines at a high level when the bus is free and ensure the signals are pulled up from a low to a high level within the required rise time. For a complete description of the SMBus maximum and minimum Rp values, please review the SMBus Specification at http://www.smbus.org/specs. For a complete description of I2C maximum and minimum Rp values, please review the I2C Specification at http://www.semiconductors.philips.com. Copyright 2005, TAOS Inc. The LUMENOLOGY Company 28 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 APPLICATION INFORMATION: HARDWARE PCB Pad Layout Suggested PCB pad layout guidelines for the TMB-6 surface mount package and CS chipscale package are shown in Figure 17 and Figure 18. 3.80 0.90 0.90 0.25 0.70 0.70 2.60 0.70 NOTES: A. All linear dimensions are in millimeters. B. This drawing is subject to change without notice. Figure 17. Suggested TMB-6 Package PCB Layout 0.50 0.50 6 0.21 0.50 NOTES: A. All linear dimensions are in millimeters. B. This drawing is subject to change without notice. Figure 18. Suggested Chipscale Package PCB Layout The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 29 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 MECHANICAL DATA PACKAGE CS Six-Lead Chipscale Device TOP VIEW PIN OUT BOTTOM VIEW 1398 6 1 5 2 4 3 171 203 465 1250 END VIEW 400 50 700 55 6 100 TYP 30 BOTTOM VIEW SIDE VIEW 375 30 6 210 30 500 1750 500 Pb 375 30 NOTES: A. B. C. D. E. 500 Lead Free All linear dimensions are in micrometers. Dimension tolerance is ± 25 µm unless otherwise noted. Solder bumps are formed of Sn (96%), Ag (3.5%), and Cu (0.5%). The top of the photodiode active area is 410 µm below the top surface of the package. The layer above the photodiode is glass and epoxy with an index of refraction of 1.53. This drawing is subject to change without notice. Figure 19. Package CS — Six-Lead Chipscale Packaging Configuration Copyright 2005, TAOS Inc. The LUMENOLOGY Company 30 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 MECHANICAL DATA PACKAGE TMB-6 Six-Lead Surface Mount Device TOP VIEW TOP VIEW 1.90 0.31 PIN 1 R 0.20 6 Pls 2.60 PIN 4 3.80 Photo-Active Area END VIEW 0.88 1.35 0.50 BOTTOM VIEW 0.90 TYP 0.90 TYP 0.60 TYP 0.30 TYP NOTES: A. B. C. D. E. F. G. Pb 0.30 TYP Lead Free All linear dimensions are in millimeters. Dimension tolerance is ± 0.20 mm unless otherwise noted. The photo-active area is 1398 µm by 203 µm. Package top surface is molded with an electrically nonconductive clear plastic compound having an index of refraction of 1.55. Contact finish is 0.5 µm minimum of soft gold plated over a 18 µm thick copper foil pattern with a 5 µm to 9 µm nickel barrier. The plastic overmold material has an index of refraction of 1.55. This package contains no lead (Pb). This drawing is subject to change without notice. Figure 20. Package T — Six-Lead TMB Plastic Surface Mount Packaging Configuration The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 31 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 MECHANICAL DATA TOP VIEW 2.00 0.05 4.00 1.75 1.50 4.00 B + 0.30 8.00 − 0.10 3.50 0.05 A A DETAIL B DETAIL A 5 Max 5 Max 0.254 0.02 1.42 0.05 Ao NOTES: A. B. C. D. E. F. B 2.08 0.05 Bo 0.91 0.05 Ko All linear dimensions are in millimeters. Dimension tolerance is ± 0.10 mm unless otherwise noted. The dimensions on this drawing are for illustrative purposes only. Dimensions of an actual carrier may vary slightly. Symbols on drawing Ao, Bo, and Ko are defined in ANSI EIA Standard 481−B 2001. Each reel is 178 millimeters in diameter and contains 3500 parts. TAOS packaging tape and reel conform to the requirements of EIA Standard 481−B. This drawing is subject to change without notice. Figure 21. TSL2560/TSL2561 Chipscale Carrier Tape Copyright 2005, TAOS Inc. The LUMENOLOGY Company 32 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 MECHANICAL DATA 0.30 0.050 2.10 SIDE VIEW 1.75 0.100 B 1.50 4 0.100 END VIEW 2 0.100 8 Typ TOP VIEW 12 0.100 5.50 0.100 1.50 R 0.20 TYP B A A DETAIL B DETAIL A 2.90 0.100 Ao 3.09 MAX R 0.20 TYP R 0.20 TYP 4.29 MAX 4.10 0.100 Bo 1.80 Ko NOTES: A. B. C. D. E. F. All linear dimensions are in millimeters. The dimensions on this drawing are for illustrative purposes only. Dimensions of an actual carrier may vary slightly. Symbols on drawing Ao, Bo, and Ko are defined in ANSI EIA Standard 481−B 2001. Each reel is 178 millimeters in diameter and contains 1000 parts. TAOS packaging tape and reel conform to the requirements of EIA Standard 481−B. This drawing is subject to change without notice. Figure 22. TSL2560/TSL2561 TMB Carrier Tape The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 33 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 MANUFACTURING INFORMATION The CS and T packages have been tested and have demonstrated an ability to be reflow soldered to a PCB substrate. The process, equipment, and materials used in these test are detailed below. The solder reflow profile describes the expected maximum heat exposure of components during the solder reflow process of product on a PCB. Temperature is measured on top of component. The components should be limited to a maximum of three passes through this solder reflow profile. Table 13. TSL2560/61 Solder Reflow Profile PARAMETER REFERENCE TSL2560/61 tsoak 2 to 3 minutes Time above 217°C t1 Max 60 sec Time above 230°C t2 Max 50 sec Time above Tpeak −10°C t3 Max 10 sec Tpeak 260° C (−0°C/+5°C) Average temperature gradient in preheating Soak time Peak temperature in reflow 2.5°C/sec Temperature gradient in cooling Tpeak Max −5°C/sec Not to scale — for reference only T3 T2 Temperature (C) T1 Time (sec) t3 t2 tsoak t1 Figure 23. TSL2560/TSL2561 Solder Reflow Profile Graph Copyright 2005, TAOS Inc. The LUMENOLOGY Company 34 www.taosinc.com TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 MANUFACTURING INFORMATION Tooling Required Chipscale − Solder stencil (square aperture size 0.210 mm, stencil thickness of 152 µm) TMB − Solder stencil (aperture size 0.70 mm x 0.90 mm, stencil thickness of 152 µm) Process 1. Apply solder paste using stencil 2. Place component 3. Reflow solder/cure 4. X-Ray verify (recommended for chipscale only) Additional Notes for Chipscale Placement of the TSL2560/TSL2561 chipscale device onto the gold immersion substrate is accomplished using a standard surface mount manufacturing process. Using a 152-µm stencil with a 0.21 mm square aperture, print solder paste onto the substrate. Machine-place the TSL2560/TSL2561 from the tape onto the substrate. A suggest pick-up tool is the Siemens Vacuum Pickup tool nozzle number 912. This nozzle has a rubber tip with a diameter of approximately 0.75 mm. The part is picked up from the center of the body. It is important to use a substrate that has an immersion plating surface. This may be immersion gold, solder, or white tin. Hot air solder leveled (HASL) substrates are not coplanar, making them difficult to work with. Qualified Equipment EKRA E5 — Stencil Printer ASYMTEC Century — Dispensing system SIEMENS F5 — Placement system − SIEMENS 912 — Vacuum Pickup Tool Nozzle VITRONICS 820 — Oven PHOENIX — Inspector X-Ray system Qualified Materials Microbond solder paste, part number NC421 The LUMENOLOGY Company Copyright 2005, TAOS Inc. www.taosinc.com 35 TSL2560, TSL2561 LIGHT-TO-DIGITAL CONVERTER TAOS059D − DECEMBER 2005 PRODUCTION DATA — information in this document is current at publication date. Products conform to specifications in accordance with the terms of Texas Advanced Optoelectronic Solutions, Inc. standard warranty. Production processing does not necessarily include testing of all parameters. LEAD-FREE (Pb-FREE) and GREEN STATEMENT Pb-Free (RoHS) TAOS’ terms Lead-Free or Pb-Free mean semiconductor products that are compatible with the current RoHS requirements for all 6 substances, including the requirement that lead not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered at high temperatures, TAOS Pb-Free products are suitable for use in specified lead-free processes. Green (RoHS & no Sb/Br) TAOS defines Green to mean Pb-Free (RoHS compatible), and free of Bromine (Br) and Antimony (Sb) based flame retardants (Br or Sb do not exceed 0.1% by weight in homogeneous material). Important Information and Disclaimer The information provided in this statement represents TAOS’ knowledge and belief as of the date that it is provided. TAOS bases its knowledge and belief on information provided by third parties, and makes no representation or warranty as to the accuracy of such information. Efforts are underway to better integrate information from third parties. TAOS has taken and continues to take reasonable steps to provide representative and accurate information but may not have conducted destructive testing or chemical analysis on incoming materials and chemicals. TAOS and TAOS suppliers consider certain information to be proprietary, and thus CAS numbers and other limited information may not be available for release. NOTICE Texas Advanced Optoelectronic Solutions, Inc. (TAOS) reserves the right to make changes to the products contained in this document to improve performance or for any other purpose, or to discontinue them without notice. Customers are advised to contact TAOS to obtain the latest product information before placing orders or designing TAOS products into systems. TAOS assumes no responsibility for the use of any products or circuits described in this document or customer product design, conveys no license, either expressed or implied, under any patent or other right, and makes no representation that the circuits are free of patent infringement. TAOS further makes no claim as to the suitability of its products for any particular purpose, nor does TAOS assume any liability arising out of the use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. TEXAS ADVANCED OPTOELECTRONIC SOLUTIONS, INC. PRODUCTS ARE NOT DESIGNED OR INTENDED FOR USE IN CRITICAL APPLICATIONS IN WHICH THE FAILURE OR MALFUNCTION OF THE TAOS PRODUCT MAY RESULT IN PERSONAL INJURY OR DEATH. USE OF TAOS PRODUCTS IN LIFE SUPPORT SYSTEMS IS EXPRESSLY UNAUTHORIZED AND ANY SUCH USE BY A CUSTOMER IS COMPLETELY AT THE CUSTOMER’S RISK. LUMENOLOGY, TAOS, the TAOS logo, and Texas Advanced Optoelectronic Solutions are registered trademarks of Texas Advanced Optoelectronic Solutions Incorporated. Copyright 2005, TAOS Inc. The LUMENOLOGY Company 36 www.taosinc.com