Si1145/46/47 Data Sheet

Si 11 4 5 / 4 6 /47
P ROXIMITY / U V / A MBIENT L I G H T S E N S O R I C
WITH
I 2 C I NTE RFACE
Features
Pin Assignments

Integrated infrared proximity detector 
Proximity detection adjustable from 
under 1 cm to over 50 cm
Three independent LED drivers
15 current settings from 5.6 mA to
360 mA for each LED driver
25.6 µs LED driver pulse width
50 cm proximity range with single
pulse (<3 klx)
15 cm proximity range with single
pulse (>3 klx)
Operates at up to 128 klx (direct
sunlight)
High reflectance sensitivity

< 1 µW/cm2
High EMI immunity without shielded
packaging
 Integrated ambient light sensor
100 mlx resolution possible,

allowing operation under dark glass 
1 to 128 klx dynamic range possible
across two ADC range settings
Accurate lux measurements with IR
correction algorithm
Integrated UV index sensor
Industry's lowest power consumption
1.71 to 3.6 V supply voltage
9 µA average current (LED pulsed
25.6 µs every 800 ms at 180 mA
plus 3 µA Si114x supply)
< 500 nA standby current
Internal and external wake support
Built-in voltage supply monitor and
power-on reset controller
25.6 µs LED “on” time keeps total
power consumption duty cycle low
without compromising performance
or noise immunity
I2C Serial communications
Up to 3.4 Mbps data rate
Slave mode hardware address
decoding
Small-outline 10-lead 2x2 mm QFN
Temperature Range
–40 to +85 °C
DNC
SDA
1
SCL
2
VDD
3
INT
4
10
QFN-10
5
9
LED1
8
GND
7
LED3/CVDD
6
LED2/CVDD
DNC
Applications








Handsets
E-book readers
Notebooks/Netbooks
Portable consumer electronics
Audio products
Security panels
Tamper detection circuits
Dispensers









Valve controls
Smoke detectors
Touchless switches
Touchless sliders
Occupancy sensors
Consumer electronics
Industrial automation
Display backlighting control
Photo-interrupters
Description
The Si1145/46/47 is a low-power, reflectance-based, infrared proximity, ultraviolet
(UV) index, and ambient light sensor with I2C digital interface and programmableevent interrupt output. This touchless sensor IC includes an analog-to-digital
converter, integrated high-sensitivity visible and infrared photodiodes, digital signal
processor, and one, two, or three integrated infrared LED drivers with fifteen
selectable drive levels. The Si1145/46/47 offers excellent performance under a wide
dynamic range and a variety of light sources including direct sunlight. The Si1145/46/
47 can also work under dark glass covers. The photodiode response and associated
digital conversion circuitry provide excellent immunity to artificial light flicker noise
and natural light flutter noise. With two or more LEDs, the Si1146/47 is capable of
supporting multiple-axis proximity motion detection. The Si1145/46/47 devices are
provided in a 10-lead 2x2 mm QFN package and are capable of operation from 1.71
to 3.6 V over the –40 to +85 °C temperature range.
Rev. 1.3 12/14
Copyright © 2014 by Silicon Laboratories
Si1145/46/47
Si1145/46/47
Functional Block Diagram
VDD
Regulator
Temp
Visible
A
M
U
X
LED2 1
LED3 2
Filter
ADC
Digital Sequencer & Control Logic
Infrared
INT
LED1
LED
Drivers
SCL
Registers
I2C
SDA
Oscillator
GND
1. Si1146 and Si1147 only. Must be tied to V DD with Si1145.
2. Si1147 only. Must be tied to V DD with Si1145 and Si1146.
3.3 V
30 ohm
5%, 1/16 W
Host
Si1145
SDA
SDA
SCL
SCL
GND
VDD
CVDD
INT
CVDD
INT
LED1
15 µF, 20%, >6 V
0.1 uF
Figure 1. Si1145 Basic Application
3.3 V
4.3 V
No
Pop
Host
30 ohm
5%, 1/16 W
Si1147
SDA
LED1
SCL
GND
VDD
LED3
INT
LED2
22 uF, 20%, >6V
0.1 uF
Figure 2. Si1147 Application with Three LEDs and Separate LED Power Supply
Note: For more application examples, refer to “AN498: irLED Selection Guide for Si114x Proximity Applications”.
2
Rev. 1.3
Si1145/46/47
TABLE O F C ONTENTS
1. Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.1. Performance Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.2. Typical Performance Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2. Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
2.2. Proximity Sensing (PS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3. Ambient Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
2.4. Ultraviolet (UV) Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5. Host Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3. Operational Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1. Off Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2. Initialization Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3. Standby Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4. Forced Conversion Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
3.5. Autonomous Operation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
4. Programming Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1. Command and Response Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2. Command Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3. Resource Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4. Signal Path Software Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5. I2C Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.6. Parameter RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
5. Pin Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6. Ordering Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7. Package Outline: 10-Pin QFN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8. Suggested PCB Land Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Document Change List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
Contact Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
Rev. 1.3
3
Si1145/46/47
1. Electrical Specifications
1.1. Performance Tables
Table 1. Recommended Operating Conditions
Parameter
VDD Supply Voltage
VDD OFF Supply Voltage
Symbol
Test Condition
VDD
VDD_OFF
Min
Typ
Max
Unit
1.71
—
3.6
V
1.0
V
OFF mode
–0.3
VDD = 3.3 V
1 kHz–10 MHz
—
—
50
mVpp
T
–40
25
85
°C
SCL, SDA, Input High Logic
Voltage
I2CVIH
VDDx0.7
—
VDD
V
SCL, SDA Input Low Logic
Voltage
I2CVIL
0
—
VDDx0.3
V
Edc
—
—
128
klx
l
750
850
950
nm
IrLED VF = 1.0 V nominal
VDD
—
4.3
V
Applies if IrLEDs use
separate supply rail
0–30 kHz
30 kHz–100 MHz
—
—
—
—
250
100
mVpp
mVpp
Start-Up Time
VDD above 1.71 V
25
—
—
ms
LED3 Voltage
Start-up
VDDx0.77
—
—
V
VDD Supply Ripple Voltage
Operating Temperature
PS Operation under
Direct Sunlight
IrLED Emission Wavelength
IrLED Supply Voltage
IrLED Supply Ripple Voltage
4
VLED
Rev. 1.3
Si1145/46/47
Table 2. Performance Characteristics1
Parameter
Symbol
Test Condition
Min
Typ
Max
Unit
IDD OFF Mode
Ioff
VDD < VDD_OFF (leakage from SCL,
SDA, and INT not included)
—
240
1000
nA
IDD Standby Mode
Isb
No ALS / PS Conversions
No I2C Activity
VDD = 1.8 V
—
150
500
nA
IDD Standby Mode
Isb
No ALS / PS Conversions
No I2C Activity
VDD =3.3 V
—
1.4
—
µA
Iactive
Without LED influence, VDD = 3.3 V
—
4.3
5.5
mA
VDD = 3.3 V
—
8
—
mA
IDD Actively Measuring
Peak IDD while LED1,
LED2, or LED3 is Actively
Driven
LED Driver Saturation
Voltage2,3
LED1, LED2, LED3
Pulse Width
LED1, LED2, LED3, INT,
SCL, SDA
Leakage Current
Vdd=1.71 to 3.6 V
PS_LEDn=0001
PS_LEDn=0010
PS_LEDn=0011
PS_LEDn=0100
PS_LEDn=0101
PS_LEDn=0110
PS_LEDn=0111
PS_LEDn=1000
PS_LEDn=1010
PS_LEDn=1010
PS_LEDn=1011
PS_LEDn=1100
PS_LEDn=1101
PS_LEDn=1110
PS_LEDn=1111
tPS
VDD = 3.3 V
mV
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
50
60
70
80
115
150
185
220
255
290
315
340
360
385
410
70
105
105
105
450
450
450
450
450
450
600
600
600
600
600
—
25.6
30
µs
–1
—
1
µA
Notes:
1. Unless specifically stated in "Conditions", electrical data assumes ambient light levels < 1 klx.
2. Proximity-detection performance may be degraded, especially when there is high optical crosstalk, if the LED supply
and voltage drop allow the driver to saturate and current regulation is lost.
3. Guaranteed by design and characterization.
4. Represents the time during which the device is drawing a current equal to Iactive for power estimation purposes.
Assumes default settings.
Rev. 1.3
5
Si1145/46/47
Table 2. Performance Characteristics1 (Continued)
Parameter
Symbol
Test Condition
Min
Typ
Max
ILEDx
VDD = 3.3 V, single drive
VLEDn = 1 V, PS_LEDn = 0001
VLEDn = 1 V, PS_LEDn = 0010
VLEDn = 1 V, PS_LEDn = 0011
VLEDn = 1 V, PS_LEDn = 0100
VLEDn = 1 V, PS_LEDn = 0101
VLEDn = 1 V, PS_LEDn = 0110
VLEDn = 1 V, PS_LEDn = 0111
VLEDn = 1 V, PS_LEDn = 1000
VLEDn = 1 V, PS_LEDn = 1001
VLEDn = 1 V, PS_LEDn = 1010
VLEDn = 1 V, PS_LEDn = 1011
VLEDn = 1 V, PS_LEDn = 1100
VLEDn = 1 V, PS_LEDn = 1101
VLEDn = 1 V, PS_LEDn = 1110
VLEDn = 1 V, PS_LEDn = 1111
3.5
—
13
—
—
—
—
—
—
—
—
—
—
—
—
5.6
11.2
22.4
45
67
90
112
135
157
180
202
224
269
314
359
7
—
29
—
—
—
—
—
—
—
—
—
—
—
—
Actively Measuring Time4
Single PS
UV or ALS VIS + ALS IR
Two ALS plus three PS
—
—
—
155
285
660
—
—
—
µs
µs
µs
Visible Photodiode
Response
Sunlight
ALS_VIS_ADC_GAIN=0
VIS_RANGE=0
—
0.282
—
ADC
counts/
lux
2500K incandescent bulb
ALS_VIS_ADC_GAIN=0
VIS_RANGE=0
—
0.319
—
ADC
counts/
lux
“Cool white” fluorescent
ALS_VIS_ADC_GAIN=0
VIS_RANGE=0
—
0.146
—
ADC
counts/
lux
Infrared LED (875 nm)
ALS_VIS_ADC_GAIN=0
VIS_RANGE=0
—
8.277
—
ADC
counts.
m2/W
LED1, LED2, LED3
Active Current
Unit
mA
Notes:
1. Unless specifically stated in "Conditions", electrical data assumes ambient light levels < 1 klx.
2. Proximity-detection performance may be degraded, especially when there is high optical crosstalk, if the LED supply
and voltage drop allow the driver to saturate and current regulation is lost.
3. Guaranteed by design and characterization.
4. Represents the time during which the device is drawing a current equal to Iactive for power estimation purposes.
Assumes default settings.
6
Rev. 1.3
Si1145/46/47
Table 2. Performance Characteristics1 (Continued)
Parameter
Test Condition
Min
Typ
Max
Unit
Sunlight
ALS_IR_ADC_GAIN=0
IR_RANGE=0
—
2.44
—
ADC
counts/
lux
2500K incandescent bulb
ALS_IR_ADC_GAIN=0
IR_RANGE=0
—
8.46
—
ADC
counts/
lux
“Cool white” fluorescent
ALS_IR_ADC_GAIN=0
IR_RANGE=0
—
0.71
—
ADC
counts/
lux
Infrared LED (875 nm)
ALS_IR_ADC_GAIN=0
IR_RANGE=0
—
452.38
—
ADC
counts.
m2/W
Sunlight
PS_ADC_GAIN=0
PS_RANGE=0
PS_ADC_MODE=0
—
14.07
—
ADC
counts/
lux
2500K incandescent bulb
PS_ADC_GAIN=0
PS_RANGE=0
PS_ADC_MODE=0
—
50.47
—
ADC
counts/
lux
“Cool white” fluorescent
PS_ADC_GAIN=0
PS_RANGE=0
PS_ADC_MODE=0
—
3.97
—
ADC
counts/
lux
Infrared LED (875 nm)
PS_ADC_GAIN=0
PS_RANGE=0
PS_ADC_MODE=0
—
2734
—
ADC
counts.
m2/W
Visible Photodiode Noise
All gain settings
—
7
—
ADC
counts
RMS
Small Infrared Photodiode
Noise
All gain settings
—
1
—
ADC
counts
RMS
Small Infrared Photodiode
Response
Large Infrared Photodiode Response
Symbol
Notes:
1. Unless specifically stated in "Conditions", electrical data assumes ambient light levels < 1 klx.
2. Proximity-detection performance may be degraded, especially when there is high optical crosstalk, if the LED supply
and voltage drop allow the driver to saturate and current regulation is lost.
3. Guaranteed by design and characterization.
4. Represents the time during which the device is drawing a current equal to Iactive for power estimation purposes.
Assumes default settings.
Rev. 1.3
7
Si1145/46/47
Table 2. Performance Characteristics1 (Continued)
Parameter
Symbol
Test Condition
Min
Typ
Max
Unit
All gain settings
—
10
—
ADC
counts
RMS
Visible Photodiode Offset
Drift
VIS_RANGE=0
ALS_VIS_ADC_GAIN=0
ALS_VIS_ADC_GAIN=1
ALS_VIS_ADC_GAIN=2
ALS_VIS_ADC_GAIN=3
ALS_VIS_ADC_GAIN=4
ALS_VIS_ADC_GAIN=5
ALS_VIS_ADC_GAIN=6
ALS_VIS_ADC_GAIN=7
—
—
ADC
counts/
°C
Small Infrared Photodiode
Offset Drift
IR_RANGE=0
IR_GAIN=0
IR_GAIN=1
IR_GAIN=2
IR_GAIN=3
—
—
ADC
counts/
°C
I = 4 mA, VDD > 2.0 V
I = 4 mA, VDD < 2.0 V
—
—
—
—
VDDx0.
2
0.4
V
V
25 °C
—
11136
—
ADC
counts
—
35
—
ADC
counts/
°C
Large Infrared Photodiode Noise
SCL, SDA, INT Output
Low Voltage
Temperature Sensor Offset
VOL
Temperature Sensor Gain
–0.3
–0.11
–0.06
–0.03
–0.01
–0.008
–0.007
–0.008
–0.3
–0.06
–0.03
–0.01
Notes:
1. Unless specifically stated in "Conditions", electrical data assumes ambient light levels < 1 klx.
2. Proximity-detection performance may be degraded, especially when there is high optical crosstalk, if the LED supply
and voltage drop allow the driver to saturate and current regulation is lost.
3. Guaranteed by design and characterization.
4. Represents the time during which the device is drawing a current equal to Iactive for power estimation purposes.
Assumes default settings.
8
Rev. 1.3
Si1145/46/47
Table 3. I2C Timing Specifications
Parameter
Symbol
Min
Typ
Max
Unit
Clock Frequency
fSCL
95
—
3400
kHz
Clock Pulse Width Low
tLOW
160
—
—
ns
Clock Pulse Width High
tHIGH
60
—
—
ns
Rise Time
tR
10
—
40
ns
Fall Time
tF
10
—
40
ns
Start Condition Hold Time
tHD.STA
160
—
—
ns
Start Condition Setup Time
tSU.STA
160
—
—
ns
Input Data Setup Time
tSU.DAT
10
—
—
ns
Input Data Hold Time
tHD.DAT
0
—
—
ns
Stop Condition Setup Time
tSU.STO
160
—
—
ns
Min
Typ
Max
Unit
VDD Supply Voltage
–0.3
—
4
V
Operating Temperature
–40
—
85
°C
Storage Temperature
–65
—
85
°C
Table 4. Absolute Maximum Limits
Parameter
Test Condition
LED1, LED2, LED3 Voltage
at VDD = 0 V, TA < 85 °C
–0.5
—
3.6
V
INT, SCL, SDA Voltage
at VDD = 0 V, TA < 85 °C
–0.5
—
3.6
V
Maximum total current through
LED1, LED2 and LED3
—
—
500
mA
Maximum total current through
GND
—
—
600
mA
—
—
—
—
—
—
2
225
2
kV
V
kV
ESD Rating
Human Body Model
Machine Model
Charged-Device Model
Rev. 1.3
9
Si1145/46/47
1.2. Typical Performance Graphs
Figure 3. Proximity response using Kodak gray cards, PS_RANGE=0, PS_ADC_GAIN=0 (single
25.6s LED pulse), ± 22°LED view angle, 850 nm, 22.5 mW/sr, no overlay, 5 mm LED center to
Si114x center
Figure 4. ALS variability with different light sources
10
Rev. 1.3
Si1145/46/47
Figure 5. View angle, large photodiode rotated around the pin-5/pin-10 (“vertical”) axis
Figure 6. View angle, large photodiode rotated around “horizontal”axis and small photodiode
rotated around either axis
Rev. 1.3
11
Si1145/46/47
2. Functional Description
2.1. Introduction
The Si1145/46/47 is an active optical reflectance proximity detector, UV index, and ambient light sensor whose
operational state is controlled through registers accessible through the I2C interface. The host can command the
Si1145/46/47 to initiate on-demand proximity detection or ambient light sensing. The host can also place the
Si1145/46/47 in an autonomous operational state where it performs measurements at set intervals and interrupts
the host after each measurement is completed. This results in an overall system power saving allowing the host
controller to operate longer in its sleep state instead of polling the Si1145/46/47. For more details, refer to “AN498:
Designer's Guide for the Si114x”.
2.2. Proximity Sensing (PS)
The Si1145/46/47 has been optimized for use as either a dual-port or single-port active reflection proximity
detector. Over distances of less than 50 cm, the dual-port active reflection proximity detector has significant
advantages over single-port, motion-based infrared systems, which are only good for triggered events. Motionbased infrared detectors identify objects within proximity, but only if they are moving. Single-port motion-based
infrared systems are ambiguous about stationary objects even if they are within the proximity field. The Si1145/46/
47 can reliably detect an object entering or exiting a specified proximity field, even if the object is not moving or is
moving very slowly. However, beyond about 30–50 cm, even with good optical isolation, single-port signal
processing may be required due to static reflections from nearby objects, such as table tops, walls, etc. If motion
detection is acceptable, the Si1145/46/47 can achieve ranges of up to 50 cm, through a single product window.
For small objects, the drop in reflectance is as much as the fourth power of the distance. This means that there is
less range ambiguity than with passive motion-based devices. For example, a sixteenfold change in an object's
reflectance means only a fifty-percent drop in detection range.
The Si1147 can drive three separate infrared LEDs. When the three infrared LEDs are placed in an L-shaped
configuration, it is possible to triangulate an object within the three-dimensional proximity field. Thus, a touchless
user interface can be implemented with the aid of host software.
The Si1145/46/47 can initiate proximity sense measurements when explicitly commanded by the host or
periodically through an autonomous process. Refer to "3. Operational Modes" on page 19 for additional details of
the Si1145/46/47's Operational Modes.
Whenever it is time to make a PS measurement, the Si1145/46/47 makes up to three measurements, depending
on what is enabled in the CHLIST parameter. Other ADC parameters for these measurements can also be
modified to allow proper operation under different ambient light conditions.
The LED choice is programmable for each of these three measurements. By default, each measurement turns on a
single LED driver. However, the order of measurements can be easily reversed or even have all LEDs turned on at
the same time. The Si1145/46/47 can generate an interrupt after a complete set of proximity measurements.
To support different power usage cases dynamically, the infrared LED current of each output is independently
programmable. The current can be programmed anywhere from a few to several hundred milliamps. Therefore, the
host can optimize for proximity detection performance or for power saving dynamically. This feature can be useful
since it allows the host to reduce the LED current once an object has entered a proximity sphere, and the object
can still be tracked at a lower current setting. Finally, the flexible current settings make it possible to control the
infrared LED currents with a controlled current sink, resulting in higher precision.
The ADC properties are programmable. For indoor operation, the ADC should be configured for low signal range
for best reflectance sensitivity. When under high ambient conditions, the ADC should be configured for high signal
level range operation.
12
Rev. 1.3
Si1145/46/47
When operating in the lower signal range, it is possible to saturate the ADC when the ambient light level is high.
Any overflow condition is reported in the RESPONSE register, and the corresponding data registers report a value
of 0xFFFF. The host can then adjust the ADC sensitivity. Note however that the overflow condition is not sticky. If
the light levels return to a range within the capabilities of the ADC, the corresponding data registers begin to
operate normally. However, the RESPONSE register will continue to hold the overflow condition until a NOP
command is received. Even if the RESPONSE register has an overflow condition, commands are still accepted
and processed.
Proximity detection ranges beyond 50 cm and up to several meters can be achieved without lensing by selecting a
longer integration time. The detection range may be increased further, even with high ambient light, by averaging
multiple measurements. Refer to “AN498: Designer's Guide for the Si114x” for more details.
2.3. Ambient Light
The Si1145/46/47 has photodiodes capable of measuring both visible and infrared light. However, the visible
photodiode is also influenced by infrared light. The measurement of illuminance requires the same spectral
response as the human eye. If an accurate lux measurement is desired, the extra IR response of the visible-light
photodiode must be compensated. Therefore, to allow the host to make corrections to the infrared light’s influence,
the Si1145/46/47 reports the infrared light measurement on a separate channel. The separate visible and IR
photodiodes lend themselves to a variety of algorithmic solutions. The host can then take these two measurements
and run an algorithm to derive an equivalent lux level as perceived by a human eye. Having the IR correction
algorithm running in the host allows for the most flexibility in adjusting for system-dependent variables. For
example, if the glass used in the system blocks visible light more than infrared light, the IR correction needs to be
adjusted.
If the host is not making any infrared corrections, the infrared measurement can be turned off in the CHLIST
parameter.
By default, the measurement parameters are optimized for indoor ambient light levels where it is possible to detect
light levels as low as 6 lx. For operation under direct sunlight, the ADC can be programmed to operate in a high
signal operation so that it is possible to measure direct sunlight without overflowing the 16-bit result.
For low-light applications, it is possible to increase the ADC integration time. Normally, the integration time is
25.6 µs. By increasing this integration time to 410 µs, the ADC can detect light levels as low as 1 lx. The ADC can
be programmed with an integration time as high as 3.28 ms, allowing measurement to 100 mlx light levels. The
ADC integration time for the Visible Light Ambient measurement can be programmed independently of the ADC
integration time of the Infrared Light Ambient measurement. The independent ADC parameters allow operation
under glass covers having a higher transmittance to Infrared Light than Visible Light.
When operating in the lower signal range, or when the integration time is increased, it is possible to saturate the
ADC when the ambient light suddenly increases. Any overflow condition is reported in the RESPONSE register,
and the corresponding data registers report a value of 0xFFFF. Based on either of these two overflow indicators,
the host can adjust the ADC sensitivity. However, the overflow condition is not sticky. If the light levels return to a
range within the capabilities of the ADC, the corresponding data registers begin to operate normally. The
RESPONSE register will continue to hold the overflow condition until a NOP command is received. Even if the
RESPONSE register has an overflow condition, commands are still accepted and processed.
The Si1145/46/47 can initiate ALS measurements either when explicitly commanded by the host or periodically
through an autonomous process. Refer to "3. Operational Modes" on page 19 for additional details of the Si1145/
46/47's Operational Modes.
Rev. 1.3
13
Figure 7. Photodiode Spectral Response to Visible and Infrared Light (Indicative)
Si1145/46/47
14
Rev. 1.3
Si1145/46/47
2.4. Ultraviolet (UV) Index
The UV Index is a number linearly related to the intensity of sunlight reaching the earth and is weighted according
to the CIE Erythemal Action Spectrum as shown in Figure 8. This weighting is a standardized measure of human
skin's response to different wavelengths of sunlight from UVB to UVA. The UV Index has been standardized by the
World Health Organization and includes a simplified consumer UV exposure level as shown in Figures 9 and 10.
Figure 8. CIE Erythemal Action Spectrum
Figure 9. UV Index Scale
Figure 10. UV Levels
Rev. 1.3
15
Si1145/46/47
To enable UV reading, set the EN_UV bit in CHLIST, and configure UCOEF [0:3] to the default values of 0x7B,
0x6B, 0x01, and 0x00. Also, set the VIS_RANGE and IR_RANGE bits. If the sensor will be under an overlay that is
not 100% transmissive to sunlight, contact Silicon Labs for more information on adjusting these coefficients.
Typically, after 285 µs, AUX_DATA will contain a 16-bit value representing 100 times the sunlight UV Index. Host
software must divide the results from AUX_DATA by 100.
The accuracy of UV readings can be improved by using calibration parameters that are programmed into the
Si1132/Si114x at Silicon Labs' production facilities to adjust for normal part-to-part variation. The calibration
parameters are recovered from the Si113x/Si114x by writing Command Register @ address 0x18 with the value
0x12.
When the calibration parameters are recovered they show up at I2C registers 0x22 to 0x2D. These are the same
registers used to report the VIS, IR, PS1, PS2, PS3, and AUX measurements.
The use of calibration parameters is documented in the file, Si114x_functions.h, which is part of the Si114x
Programmer's Toolkit example source code and is downloadable from Silabs.com. The host code is expected to
allocate memory for the SI114X_CAL_S structure. The si114x_calibration routine will then fill it up with the
appropriate values.
Once the calibration parameters have been recovered the routine Si114x_set_ucoef is used to modify the default
values that go into the UCOEF0 to UCOEF3 UV configuration registers to remove normal part-to-part variation.
The typical calibrated UV sensor response vs. calculated ideal UV Index is shown in Figure 11 for a large database
of sunlight spectra from cloudy to sunny days and at various angles of the sun/time of day.
Figure 11. Calibrated UV Sensor Response vs. Calculated Ideal UV Index
(AUX_DATA Measurement / 100)
16
Rev. 1.3
Si1145/46/47
2.5. Host Interface
The host interface to the Si1145/46/47 consists of three pins:

SCL
 SDA
 INT
SCL and SDA are standard open-drain pins as required for I2C operation.
The Si1145/46/47 asserts the INT pin to interrupt the host processor. The INT pin is an open-drain output. A pull-up
resistor is needed for proper operation. As an open-drain output, it can be shared with other open-drain interrupt
sources in the system.
For proper operation, the Si1145/46/47 is expected to fully complete its Initialization Mode prior to any activity on
the I2C.
The INT, SCL, and SDA pins are designed so that it is possible for the Si1145/46/47 to enter the Off Mode by
software command without interfering with normal operation of other I2C devices on the bus.
The Si1145/46/47 I2C slave address is 0x60. The Si1145/46/47 also responds to the global address (0x00) and the
global reset command (0x06). Only 7-bit I2C addressing is supported; 10-bit I2C addressing is not supported.
Conceptually, the I2C interface allows access to the Si1145/46/47 internal registers. Table 14 on page 29 is a
summary of these registers.
An I2C write access always begins with a start (or restart) condition. The first byte after the start condition is the I2C
address and a read-write bit. The second byte specifies the starting address of the Si1145/46/47 internal register.
Subsequent bytes are written to the Si1145/46/47 internal register sequentially until a stop condition is
encountered. An I2C write access with only two bytes is typically used to set up the Si1145/46/47 internal address
in preparation for an I2C read.
The I2C read access, like the I2C write access, begins with a start or restart condition. In an I2C read, the I2C
master then continues to clock SCK to allow the Si1145/46/47 to drive the I2C with the internal register contents.
The Si1145/46/47 also supports burst reads and burst writes. The burst read is useful in collecting contiguous,
sequential registers. The Si1145/46/47 register map was designed to optimize for burst reads for interrupt
handlers, and the burst writes are designed to facilitate rapid programming of commonly used fields.
The internal register address is a six-bit (bit 5 to bit 0) plus an Autoincrement Disable (on bit 6). The Autoincrement
Disable is turned off by default. Disabling the autoincrementing feature allows the host to poll any single internal
register repeatedly without having to keep updating the Si1145/46/47 internal address every time the register is
read.
It is recommended that the host should read PS or ALS measurements (in the I2C Register Map) when the Si1145/
46/47 asserts INT. Although the host can read any of the Si1145/46/47's I2C registers at any time, care must be
taken when reading 2-byte measurements outside the context of an interrupt handler. The host could be reading
part of the 2-byte measurement when the internal sequencer is updating that same measurement coincidentally.
When this happens, the host could be reading a hybrid 2-byte quantity whose high byte and low byte are parts of
different samples. If the host must read these 2-byte registers outside the context of an interrupt handler, the host
should “double-check” a measurement if the measurement deviates significantly from a previous reading.
I2C Broadcast Reset: The I2C Broadcast Reset should be sent prior to any I2C register access to the Si114x. If
any I2C register or parameter has already been written to the Si114x when the I2C Broadcast Reset is issued, the
host must send a reset command and reinitialize the Si114x completely.
Rev. 1.3
17
Si1145/46/47
SCL
SDA
SLA6
START
SLA5-0
R/W
D7
Slave Address + R/W
ACK
D6-0
Data Byte
Figure 12. I2C Bit Timing Diagram
Figure 13. Host Interface Single Write
Figure 14. Host Interface Single Read
Figure 15. Host Interface Burst Write
Figure 16. Host Interface Burst Read
Figure 17. Si1145/46/47 REG ADDRESS Format
Notes:
Gray boxes are driven by the host to the Si1145/46/47
White boxes are driven by the Si1145/46/47 to the host
A = ACK or “acknowledge”
N = NACK or “no acknowledge”
S = START condition
Sr = repeat START condition
P = STOP condition
AI = Disable Auto Increment when set
18
Rev. 1.3
NACK
STOP
Si1145/46/47
3. Operational Modes
The Si1145/46/47 can be in one of many operational modes at any one time. It is important to consider the
operational mode since the mode has an impact on the overall power consumption of the Si1145/46/47. The
various modes are:





Off Mode
Initialization Mode
Standby Mode
Forced Conversion Mode
Autonomous Mode
3.1. Off Mode
The Si1145/46/47 is in the Off Mode when VDD is either not connected to a power supply or if the VDD voltage is
below the stated VDD_OFF voltage described in the electrical specifications. As long as the parameters stated in
Table 4, “Absolute Maximum Limits,” on page 9 are not violated, no current will flow through the Si1145/46/47. In
the Off Mode, the Si1145/46/47 SCL and SDA pins do not interfere with other I2C devices on the bus. The LED pins
will not draw current through the infrared diodes. Keeping VDD less than VDD_OFF is not intended as a method of
achieving lowest system current draw. The reason is that the ESD protection devices on the SCL, SDA and INT
pins also from a current path through VDD. If VDD is grounded for example, then, current flow from system power to
system ground through the SCL, SDA and INT pull-up resistors and the ESD protection devices.
Allowing VDD to be less than VDD_OFF is intended to serve as a hardware method of resetting the Si1145/46/47
without a dedicated reset pin.
The Si1145/46/47 can also reenter the Off Mode upon receipt of either a general I2C reset or if a software reset
sequence is initiated. When one of these software methods is used to enter the Off Mode, the Si1145/46/47
typically proceeds directly from the Off Mode to the Initialization Mode.
3.2. Initialization Mode
When power is applied to VDD and is greater than the minimum VDD Supply Voltage stated in Table 1,
“Recommended Operating Conditions,” on page 4, the Si1145/46/47 enters its Initialization Mode. In the
Initialization Mode, the Si1145/46/47 performs its initial startup sequence. Since the I2C may not yet be active, it is
recommended that no I2C activity occur during this brief Initialization Mode period. The “Start-up time” specification
in Table 1 is the minimum recommended time the host needs to wait before sending any I2C accesses following a
power-up sequence. After Initialization Mode has completed, the Si1145/46/47 enters Standby Mode. The host
must write 0x17 to the HW_KEY register for proper operation.
3.3. Standby Mode
The Si1145/46/47 spends most of its time in Standby Mode. After the Si1145/46/47 completes the Initialization
Mode sequence, it enters Standby mode. While in Standby Mode, the Si1145/46/47 does not perform any Ambient
Light measurements or Proximity Detection functions. However, the I2C interface is active and ready to accept
reads and writes to the Si1145/46/47 registers. The internal Digital Sequence Controller is in its sleep state and
does not draw much power. In addition, the INT output retains its state until it is cleared by the host.
I2C accesses do not necessarily cause the Si1145/46/47 to exit the Standby Mode. For example, reading Si1145/
46/47 registers is accomplished without needing the Digital Sequence Controller to wake from its sleep state.
3.4. Forced Conversion Mode
The Si1145/46/47 can operate in Forced Conversion Mode under the specific command of the host processor. The
Forced Conversion Mode is entered if either the ALS_FORCE or the PS_FORCE command is sent. Upon
completion of the conversion, the Si1145/46/47 can generate an interrupt to the host if the corresponding interrupt
is enabled. It is possible to initiate both an ALS and multiple PS measurements with one command register write
access by using the PSALS_FORCE command.
Rev. 1.3
19
Si1145/46/47
3.5. Autonomous Operation Mode
The Si1145/46/47 can be placed in the Autonomous Operation Mode where measurements are performed
automatically without requiring an explicit host command for every measurement. The PS_AUTO, ALS_AUTO and
PSALS_AUTO commands are used to place the Si1145/46/47 in the Autonomous Operation Mode.
The Si1145/46/47 updates the I2C registers for PS and ALS automatically. Each measurement is allocated a 16-bit
register in the I2C map. It is possible to operate the Si1145/46/47 without interrupts. When doing so, the host poll
rate must be at least twice the frequency of the conversion rates for the host to always receive a new
measurement. The host can also choose to be notified when these new measurements are available by enabling
interrupts.
The conversion frequencies for the PS and ALS measurements are set up by the host prior to the PS_AUTO,
ALS_AUTO, or PSALS_AUTO commands.
20
Rev. 1.3
Si1145/46/47
4. Programming Guide
4.1. Command and Response Structure
All Si1145/46/47 I2C registers (except writes to the COMMAND register) are read or written without waking up the
internal sequencer. A complete list of the I2C registers can be found in "4.5. I2C Registers" on page 29. In addition
to the I2C Registers, RAM parameters are memory locations maintained by the internal sequencer. These RAM
Parameters are accessible through a Command Protocol (see "4.6. Parameter RAM" on page 45). A complete list
of the RAM Parameters can be found in "4.6. Parameter RAM" on page 45.
The Si1145/46/47 can operate either in Forced Measurement or Autonomous Mode. When in Forced
Measurement mode, the Si1145/46/47 does not make any measurements unless the host specifically requests the
Si1145/46/47 to do so via specific commands (refer to the Section 3.2). The CHLIST parameter needs to be written
so that the Si1145/46/47 would know which measurements to make. The parameter MEAS_RATE, when zero,
places the internal sequencer in Forced Measurement mode. When in Forced Measurement mode, the internal
sequencer wakes up only when the host writes to the COMMAND register. The power consumption is lowest in
Forced Measurement mode (MEAS_RATE = 0).
The Si1145/46/47 operates in Autonomous Operation mode when MEAS_RATE is non-zero. The MEAS_RATE
represents the time interval at which the Si1145/46/47 wakes up periodically. Once the internal sequencer has
awoken, up to three proximity measurements are made (PS1, PS2 and PS3) depending on which measurements
are enabled via the lower bits of the CHLIST Parameter. All three PS measurements are performed, in sequence,
beginning with the PS1 measurement channel. Up to three measurements are made (ALS_VIS, ALS_IR and AUX)
depending on which measurements are enabled via the upper bits of the CHLIST Parameter. All three
measurements are made in the following sequence: ALS_VIS, ALS_IR and AUX.
The operation of the Si1145/46/47 can be described as two measurement groups bound by some common factors.
The PS Measurement group consists of the three PS measurements while the ALS Measurement group consists of
the Visible Light Ambient Measurement (ALS_VIS), the Infrared Light Ambient Measurement (ALS_IR) and the
Auxiliary measurement (AUX). Each measurement group has three measurements each. The Channel List
(CHLIST) parameter enables the specific measurements for that measurement grouping.
Each measurement (PS1, PS2, PS3, ALS_VIS, ALS_IR, AUX) are controlled through a combination of I2C
Register or Parameter RAM. Tables 7 to 9 below summarize the properties and resources used for each
measurement.
Rev. 1.3
21
Si1145/46/47
4.2. Command Protocol
The I2C map implements a bidirectional message box between the host and the Si1145/46/47 Sequencer. Hostwritable I2C registers facilitate host-to-Si1145/46/47 communication, while read-only I2C registers are used for
Si1145/46/47-to-host communication.
Unlike the other host-writable I2C registers, the COMMAND register causes the internal sequencer to wake up
from Standby mode to process the host request.
When a command is executed, the RESPONSE register is updated. Typically, when there is no error, the upper
four bits are zeros. To allow command tracking, the lower four bits implement a 4-bit circular counter. In general, if
the upper nibble of the RESPONSE register is non-zero, this indicates an error or the need for special processing.
The PARAM_WR and PARAM_RD registers are additional mailbox registers.
In addition to the registers in the I2C map, there are environmental parameters accessible through the Command/
Response interface. These parameters are stored in the internal ram space. These parameters generally take
more I2C accesses to read and write. The Parameter RAM is described in "4.6. Parameter RAM" on page 45.
For every write to the Command register, the following sequence is required:
1. Write 0x00 to Command register to clear the Response register.
2. Read Response register and verify contents are 0x00.
3. Write Command value from Table 5 into Command register.
4. Read the Response register and verify contents are now non-zero. If contents are still 0x00, repeat this step.*
*Note: Step 4 is not applicable to the Reset Command because the device will reset itself and does not increment the
Response register after reset. No Commands should be issued to the device for at least 1 ms after a Reset is issued.
The Response register will be incremented upon the successful completion of a Command. If the Response
register remains 0x00 for over 25 ms after the Command write, the entire Command process should be repeated
starting with Step 1.
Table 5. Command Register Summary
COMMAND Register
Name
Encoding
PARAM_QUERY 100 aaaaa
PARAM_W
R Register
PARAM_RD
Register
Error Code in
RESPONSE Register
—
nnnn nnnn

Reads the parameter pointed to by
bitfield [4:0] and writes value to
PARAM_RD.
See Table 15 for parameters.
Description
PARAM_SET
101 aaaaa
dddd
dddd
nnnn nnnn

Sets parameter pointed by bitfield
[4:0] with value in PARAM_WR, and
writes value out to PARAM_RD. See
Table 15 for parameters.
NOP
000 00000
—
—

Forces a zero into the RESPONSE
register
RESET
000 00001
—
—

Performs a software reset of the
firmware
BUSADDR
000 00010
—
—
—
Modifies I2C address
Reserved
000 00011
—
—
—
—
Reserved
000 00100
—
—
—
—
PS_FORCE
000 00101
—
—

GET_CAL
0001 0010
—
—
22
Forces a single PS measurement
Reports calibration data to I2C registers 0x22–0x2D
Rev. 1.3
Si1145/46/47
Table 5. Command Register Summary (Continued)
COMMAND Register
Name
Encoding
PARAM_W
R Register
PARAM_RD
Register
Error Code in
RESPONSE Register
ALS_FORCE
000 00110
—
—
PSALS_FORCE 000 00111
—
—


Description
Forces a single ALS measurement
Forces a single PS and ALS
measurement
Reserved
000 01000
—
—
—
—
PS_PAUSE
000 01001
—
—
Pauses autonomous PS
ALS_PAUSE
000 01010
—
—
PSALS_PAUSE 000 01011
—
—
Reserved
000 01100
—
—
PS_AUTO
000 01101
—
—





ALS_AUTO
000 01110
—
—

Starts/Restarts an autonomous
ALS Loop
PSALS_AUTO
000 01111
—
—

Starts/Restarts autonomous ALS
and PS loop
Reserved
000 1xxxx
—
—
—
Pauses autonomous ALS
Pauses PS and ALS
—
Starts/Restarts an autonomous PS
Loop
—
Table 6. Response Register Error Codes
RESPONSE Register
Description
0000 cccc
NO_ERROR. The lower bit is a circular counter and is incremented every time a
command has completed. This allows the host to keep track of commands sent to
the Si1145/46/47. The circular counter may be cleared using the NOP command.
1000 0000
INVALID_SETTING. An invalid setting was encountered.
Clear using the NOP command.
1000 1000
PS1_ADC_OVERFLOW. Indicates proximity channel one conversion overflow.
1000 1001
PS2_ADC_OVERFLOW. Indicates proximity channel two conversion overflow.
1000 1010
PS3_ADC_OVERFLOW. Indicates proximity channel three conversion overflow.
1000 1100
ALS_VIS_ADC_OVERFLOW. Indicates visible ambient light channel conversion
overflow.
1000 1101
ALS_IR_ADC_OVERFLOW. Indicates infrared ambient light channel conversion
overflow.
1000 1110
AUX_ADC_OVERFLOW. Indicates auxiliary channel conversion overflow.
Rev. 1.3
23
Si1145/46/47
4.3. Resource Summary
Table 7. Resource Summary for Interrupts
Measurement
Channel
Channel
Enable
Interrupt Status
Output
Interrupt Enable
Proximity
Sense 1
EN_PS1 in
CHLIST[0]
PS1_INT in
IRQ_STATUS[2]
PS1_IE in
IRQ_ENABLE[2]
Proximity
Sense 2
EN_PS2 in
CHLIST[1]
PS2_INT in
IRQ_STATUS[3]
PS2_IE in
IRQ_ENABLE[3]
Proximity
Sense 3
EN_PS3 in
CHLIST[2]
PS3_INT in
IRQ_STATUS[4]
PS3_EN in
IRQ_ENABLE[4]
ALS Visible
24
EN_ALS_VIS in ALS_INT[1:0] in
CHLIST[4]
IRQ_STATUS[1:0]
ALS IR
EN_ALS_IR in
CHLIST[5]
Auxiliary
Measurement
EN_AUX in
CHLIST[6]
—
Rev. 1.3
ALS_IE[1:0] in
IRQ_ENABLE[1:0]
—
Autonomous
Measurement
Time Base
MEAS_RATE[15:0]
Si1145/46/47
Table 8. Resource Summary for LED Choice and ADC Parameters
Measurement
Channel
LED
Selection
ADC Mode
ADC Output
ADC Input
Source
ADC Recovery
Count
ADC High
Signal Mode
ADC Clock
Divider
Proximity
Sense 1
PS1_LED[2:0] in
PSLED12_SELECT[2:0]
PS_ADC_MODE
in
PS_ADC_MISC[2]
PS1_DATA1[7:0] /
PS1_DATA0[7:0]
PS1_ADCMUX[7:0]
PS_ADC_REC in
PS_ADC_COUNTER [6:4]
PS_RANGE in
PS_ADC_MISC[5]
PS_ADC_GAIN[3:0]
Proximity
Sense 2
PS2_LED[2:0] in
PSLED12_SELECT[6:4]
PS2_DATA1[7:0] /
PS2_DATA0[7:0]
PS2_ADCMUX[7:0]
PS2_ALIGN in
PS_ENCODING[5]
Proximity
Sense 3
PS3_LED[2:0] in
PSLED3_SELECT[2:0]
PS3_DATA1[7:0] /
PS3_DATA0[7:0]
PS3_ADCMUX[7:0]
PS3_ALIGN in
PS_ENCODING[6]
ALS Visible
—
—
ADC Alignment
PS1_ALIGN in
PS_ENCODING[4]
ALS_VIS_DATA1 /
ALS_VIS_DATA0
VIS_ADC_REC in
ALS_VIS_ADC_COUNTER [6:4]
VIS_RANGE in
ALS_VIS_ADC_MISC[5]
ALS_VIS_ADC_GAIN [3:0]
ALS_VIS_ALIGN
in ALS_ENCODING[4]
ALS IR
ALS_IR_DATA1[7:0] /
ALS_IR_DATA0[7:0]
IR_ADC_REC in
ALS_IR_ADC_COUNTER [6:4]
IR_RANGE in
ALS_IR_ADC_MISC[5]
ALS_IR_ADC_GAIN [3:0]
ALS_IR_ALIGN
in ALS_ENCODING[5]
Auxiliary
Measurement
AUX_DATA1[7:0] /
AUX_DATA0[7:0]
—
—
—
—
AUX_ADCMUX[7:0]
Rev. 1.3
25
Si1145/46/47
Table 9. Resource Summary for Hardware Pins
Pin Name
LED Current Drive
LED1
LED1_I in PSLED12[3:0]
LED2
LED2_I in PSLED12[7:4]
HW_KEY[7:0]
LED3
LED3_I in PSLED3[3:0]
HW_KEY[7:0]
INT
Output Drive Disable
Analog Voltage Input Enable
ANA_IN_KEY[31:0]
INT_OE in INT_CFG[0]
ANA_IN_KEY[31:0]
ANA_IN_KEY[31:0]
The interrupts of the Si1145/46/47 are controlled through the INT_CFG, IRQ_ENABLE, IRQ_MODE1,
IRQ_MODE2 and IRQ_STATUS registers.
The INT hardware pin is enabled through the INT_OE bit in the INT_CFG register. The hardware essentially
performs an AND function between the IRQ_ENABLE register and IRQ_STATUS register. After this AND function,
if any bits are set, the INT pin is asserted. The host is responsible for clearing the interrupt by writing to the
IRQ_STATUS register. When the specific bits of the IRQ_STATUS register is written with '1', that specific
IRQ_STATUS bit is cleared.
Typically, the host software is expected to read the IRQ_STATUS register, stores a local copy, and then writes the
same value back to the IRQ_STATUS to clear the interrupt source. The INT_CFG register is normally written with
'1'.
The IRQ_MODE1, IRQ_MODE2 and IRQ_ENABLE registers work together to define how the internal sequencer
sets bits in the IRQ_STATUS register (and as a consequence, asserting the INT pin).
The PS1 interrupts are described in Table 10. The PS2 interrupts are described in Table 11. The PS3 interrupts are
described in Table 12. The ALS interrupts are described in Table 13.
26
Rev. 1.3
Si1145/46/47
Table 10. PS1 Channel Interrupt Resources
IRQ_ENABLE[2]
Description
PS1_IE
0
No PS1 Interrupts
1
PS1_INT set after every PS1 sample
Table 11. PS2 Channel Interrupt Resources
IRQ_ENABLE[3]
Description
PS2_IE
0
No PS2 Interrupts
1
PS2_INT set after every PS2 sample
Table 12. PS3 Channel Interrupt Resources
IRQ_ENABLE[4]
Description
PS3_IE
0
No PS3 Interrupts
1
PS3_INT set after every PS3 sample
Table 13. Ambient Light Sensing Interrupt Resources
IRQ_ENABLE[1:0]
Description
ALS_IE[1:0]
0
0
No ALS Interrupts
0
1
ALS_INT set after every ALS_VIS or UV sample
Rev. 1.3
27
Si1145/46/47
4.4. Signal Path Software Model
The following diagram gives an overview of the signal paths, along with the I2C register and RAM Parameter bit
fields that control them. Sections with detailed descriptions of the I2C registers and Parameter RAM follow.
PS1_ALIGN
PS_RATE
PS_ADC_REC
PS_ADC_GAIN
PS_RANGE
PS1_ADCMUX
Ref.
Vdd
Analog
Range
Gain
Recov. time
Rate
Align
Select
0
2
3
6 Out
0x25
0x65
0x75
Offset
Sum
Digital
16
PS1_DATA
In
Enable
EN_PS1
GND
PS2_ALIGN
PS_RATE
PS_ADC_REC
PS_ADC_GAIN
PS_RANGE
PS2_ADCMUX
Ref.
Vdd
Analog
Range
Gain
Recov. time
Rate
Align
Select
0
2
3
6 Out
0x25
0x65
0x75
Offset
Sum
Digital
16
PS2_DATA
In
Enable
EN_PS2
GND
PS3_ALIGN
PS_RATE
PS_ADC_REC
PS_ADC_GAIN
PS_RANGE
PS3_ADCMUX
Ref.
Large IR
Vdd
Analog
Range
Gain
Recov. time
Rate
Align
Select
0
2
3
6 Out
0x25
0x65
0x75
Offset
Sum
Digital
16
PS3_DATA
In
Enable
EN_PS3
GND
ALS_VIS_ALIGN
ALS_RATE
ALS_VIS_ADC_REC
ALS_VIS_ADC_GAIN
VIS_RANGE
GND
Analog
Range
Gain
Recov. time
Rate
Align
Offset
Sum
Digital
16
ALS_VIS_DATA
In
Enable
Small visible
EN_ALS_VIS
ALS_IR_ALIGN
ALS_RATE
ALS_IR_ADC_REC
ALS_IR_ADC_GAIN
IR_RANGE
GND
ALS_IR_ADCMUX
0
Out
Analog
3
Range
Gain
Recov. time
Rate
Align
Select
Offset
Sum
Digital
16
ALS_IR_DATA
In
Enable
EN_ALS_IR
Small IR
AUX_ADCMUX
GND
Offset
Select
Sum
0x65
Temperature
sensor
Out
Vdd
Analog
Digital
16
In
0x75
Enable
EN_AUX
Figure 18. Signal Path Programming Model
28
Rev. 1.3
16
AUX_DATA
Si1145/46/47
4.5. I2C Registers
Table 14. I2C Register Summary
I2C Register
Name
Address
PART_ID
0x00
PART_ID
REV_ID
0x01
REV_ID
SEQ_ID
0x02
SEQ_ID
INT_CFG
0x03
IRQ_ENABLE
0x04
HW_KEY
0x07
HW_KEY
MEAS_RATE0
0x08
MEAS_RATE0
MEAS_RATE1
0x09
MEAS_RATE1
Reserved
0x0A
Reserved
0x0B
Reserved
0x0C
Reserved
0x0D
Reserved
0x0E
PS_LED21
0x0F
PS_LED3
0x10
Reserved
0x11
Reserved
0x12
UCOEF0
0x13
UCOEF0
UCOEF1
0x14
UCOEF1
UCOEF2
0x15
UCOEF2
UCOEF3
0x16
UCOEF3
PARAM_WR
0x17
PARAM_WR
COMMAND
0x18
COMMAND
RESPONSE
0x20
RESPONSE
IRQ_STATUS
0x21
CMD_INT PS3_INT PS2_INT
ALS_VIS_DATA0
0x22
7
6
5
4
3
2
1
0
INT_OE
PS3_IE
PS2_IE
LED2_I
PS1_IE
ALS_IE
LED1_I
LED3_I
PS1_INT
ALS_INT
ALS_VIS_DATA0
Rev. 1.3
29
Si1145/46/47
Table 14. I2C Register Summary (Continued)
I2C Register
Name
Address
ALS_VIS_DATA1
0x23
ALS_VIS_DATA1
ALS_IR_DATA0
0x24
ALS_IR_DATA0
ALS_IR_DATA1
0x25
ALS_IR_DATA1
PS1_DATA0
0x26
PS1_DATA0
PS1_DATA1
0x27
PS1_DATA1
PS2_DATA0
0x28
PS2_DATA0
PS2_DATA1
0x29
PS2_DATA1
PS3_DATA0
0x2A
PS3_DATA0
PS3_DATA1
0x2B
PS3_DATA1
AUX_DATA0/
UVINDEX0
0x2C
AUX_DATA0/UVINDEX0
AUX_DATA1/
UVINDEX1
0x2D
AUX_DATA1/UVINDEX1
PARAM_RD
0x2E
PARAM_RD
CHIP_STAT
0x30
ANA_IN_KEY
0x3B–
0x3E
30
7
6
5
4
3
2
1
RUNNING SUSPEND
ANA_IN_KEY
Rev. 1.3
0
SLEEP
Si1145/46/47
PART_ID @ 0x00
Bit
7
6
5
4
Name
PART_ID
Type
R
3
2
1
0
3
2
1
0
3
2
1
0
Reset value = 0100 0101 (Si1145)
Reset value = 0100 0110 (Si1146)
Reset value = 0100 0111 (Si1147)
REV_ID @ 0x1
Bit
7
6
5
4
Name
REV_ID
Type
R
Reset value = 0000 0000
SEQ_ID @ 0x02
Bit
7
6
5
4
Name
SEQ_ID
Type
R
Reset value = 0000 1000
Bit
Name
7:0
SEQ_ID
Function
Sequencer Revision.
0x08
Si114x-A10 (MAJOR_SEQ=1, MINOR_SEQ=0)
Rev. 1.3
31
Si1145/46/47
INT_CFG @ 0x03
Bit
7
6
5
4
3
2
1
0
INT_OE
Name
RW
Type
RW
Reset value = 0000 0000
Bit
Name
7:2
Reserved
0
INT_OE
Function
Reserved.
INT Output Enable.
INT_OE controls the INT pin drive
0: INT pin is never driven
1: INT pin driven low whenever an IRQ_STATUS and its corresponding IRQ_ENABLE
bits match
32
Rev. 1.3
Si1145/46/47
IRQ_ENABLE @ 0x04
Bit
7
6
5
Name
RW
Type
4
3
2
PS3_IE
PS2_IE
PS1_IE
RW
RW
RW
1
0
ALS_IE
RW
Reset value = 0000 0000
Bit
Name
7:5
Reserved
4
PS3_IE
Function
Reserved.
PS3 Interrupt Enable.
Enables interrupts based on PS3 Channel Activity.
0: INT never asserts due to PS3 Channel activity.
1: Assert INT pin whenever PS3_INT is set by the internal sequencer.
3
PS2_IE
PS2 Interrupt Enable.
Enables interrupts based on PS2 Channel Activity.
0: INT never asserts due to PS2 Channel activity.
1: Assert INT pin whenever PS2_INT is set by the internal sequencer.
2
PS1_IE
PS1 Interrupt Enable.
Enables interrupts based on PS1 Channel Activity.
0: INT never asserts due to PS1 Channel activity.
1: Assert INT pin whenever PS1_INT is set by the internal sequencer.
1
Reserved
0
ALS_IE
Reserved.
ALS Interrupt Enable.
Enables interrupts when VIS bit or UV bit in CHLIST is enabled.
0: INT never asserts due to VIS or UV activity
1: Assert INT pin whenever VIS or UV measurements are ready
Rev. 1.3
33
Si1145/46/47
HW_KEY @ 0x07
Bit
7
6
5
4
3
Name
HW_KEY
Type
RW
2
1
0
Reset value = 0000 0000
Bit
Name
Function
7:0
HW_KEY
The system must write the value 0x17 to this register for proper Si114x operation.
MEAS_RATE0: MEAS_RATE Data Word Low Byte @ 0x08
Bit
7
6
5
4
3
Name
MEAS_RATE[7:0]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
Name
Function
MEAS_RATE[7:0] MEAS_RATE1 and MEAS_RATE0 together form a 16-bit value: MEAS_RATE [15:0].
The 16-bit value, when multiplied by 31.25 us, represents the time duration between
wake-up periods where measurements are made. Once the device wakes up, all
measurements specified in CHLIST are made.
Note that for the Si1145/6/7 with SEQ_ID=0x01, there is a code error that places
MEAS_RATE0 at 0x0A with MEAS_RATE1 at 0x08 instead. This will be fixed in
future revisions of the Si1145/6/7.
34
Rev. 1.3
Si1145/46/47
MEAS_RATE1: MEAS_RATE Data Word High Byte @ 0x09
Bit
7
6
5
4
3
Name
MEAS_RATE[15:8]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
Name
Function
MEAS_RATE[15:8] MEAS_RATE1 and MEAS_RATE0 together form a 16-bit value: MEAS_RATE[15:0].
The 16-bit value, when multiplied by 31.25 ms, represents the time duration between
wake-up periods where measurements are made. Once the device wakes up, all
measurements specified in CHLIST are made.
Note that for the Si1145/6/7 with SEQ_ID=0x01, there is a code error that places
MEAS_RATE0 at 0x0A and MEAS_RATE1 at 0x08 instead. This will be fixed in
future revisions of the Si1145/6/7.
Rev. 1.3
35
Si1145/46/47
PS_LED21 @ 0x0F
Bit
7
6
5
4
3
2
1
Name
LED2_I
LED1_I
Type
RW
RW
0
Reset value = 0000 0000
Bit
Name
Function
7:4
LED2_I
LED2_I Represents the irLED current sunk by the LED2 pin during a PS measurement.
On the Si1145, these bits must be set to zero.
3:0
LED1_1
LED1_I Represents the irLED current sunk by the LED1 pin during a PS measurement.
LED3_I, LED2_I, and LED1_I current encoded as follows:
0000: No current
0001: Minimum current
1111: Maximum current
Refer to Table 2, “Performance Characteristics1,” on page 5 for LED current values.
PS_LED3 @ 0x10
Bit
7
6
5
4
3
2
1
Name
LED3_I
Type
RW
0
Reset value = 0000 0000
36
Bit
Name
7:4
Reserved
3:0
LED3_I
Function
Reserved.
LED3_I Represents the irLED current sunk by the LED3 pin during a PS measurement. See PS_LED21 Register for additional details.
On the Si1145 and Si1146, these bits must be set to zero.
Rev. 1.3
Si1145/46/47
PARAM_WR @ 0x17
Bit
7
6
5
4
3
Name
PARAM_WR
Type
RW
2
1
0
Reset value = 0000 0000
Bit
Name
7:0
Function
PARAM_WR Mailbox register for passing parameters from the host to the sequencer.
COMMAND @ 0x18
Bit
7
6
5
4
3
Name
COMMAND
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
Name
Function
COMMAND COMMAND Register.
The COMMAND Register is the primary mailbox register into the internal sequencer.
Writing to the COMMAND register is the only I2C operation that wakes the device from
standby mode.
Rev. 1.3
37
Si1145/46/47
RESPONSE @ 0x20
Bit
7
6
5
4
3
Name
RESPONSE
Type
RW
2
1
0
Reset value = 0000 0000
38
Bit
Name
Function
7:0
RESPONSE
The Response register is used in conjunction with command processing. When an error
is encountered, the response register will be loaded with an error code. All error codes
will have the MSB is set.
The error code is retained until a RESET or NOP command is received by the
sequencer. Other commands other than RESET or NOP will be ignored. However, any
autonomous operation in progress continues normal operation despite any error.
0x00–0x0F: No Error. Bits 3:0 form an incrementing roll-over counter. The roll over
counter in bit 3:0 increments when a command has been executed by the Si114x. Once
autonomous measurements have started, the execution timing of any command
becomes non-deterministic since a measurement could be in progress when the
COMMAND register is written. The host software must make use of the rollover counter
to ensure that commands are processed.
0x80: Invalid Command Encountered during command processing
0x88: ADC Overflow encountered during PS1 measurement
0x89: ADC Overflow encountered during PS2 measurement
0x8A: ADC Overflow encountered during PS3 measurement
0x8C: ADC Overflow encountered during ALS-VIS measurement
0x8D: ADC Overflow encountered during ALS-IR measurement
0x8E: ADC Overflow encountered during AUX measurement
Rev. 1.3
Si1145/46/47
IRQ_STATUS @ 0x21
Bit
7
6
5
4
3
2
Name
CMD_INT
PS3_INT
PS2_INT
PS1_INT
Type
RW
RW
RW
RW
1
0
ALS_INT
RW
Reset value = 0000 0000
Bit
Name
Function
7:6
Reserved
Reserved.
5
CMD_INT
Command Interrupt Status.
4
PS3_INT
PS3 Interrupt Status.
3
PS2_INT
PS3 Interrupt Status.
2
PS1_INT
PS1 Interrupt Status.
1:0
ALS_INT
ALS Interrupt Status. (Refer to Table 13 for encoding.)
Note: If the corresponding IRQ_ENABLE bit is also set when the IRQ_STATUS bit is set, the INT pin is asserted.
ALS_VIS_DATA0: ALS_VIS_DATA Data Word Low Byte @ 0x22
Bit
7
6
5
4
3
2
Name
ALS_VIS_DATA[7:0]
Type
RW
1
0
Reset value = 0000 0000
Bit
7:0
Name
Function
ALS_VIS_DATA[7:0] ALS VIS Data LSB. Once autonomous measurements have started, this register
must be read after INT has asserted but before the next measurement is made.
Refer to “AN498: Si114x Designer’s Guide”, section “5.6.2 Host Interrupt
Latency”.
Rev. 1.3
39
Si1145/46/47
ALS_VIS_DATA1: ALS_VIS_DATA Data Word High Byte @ 0x23
Bit
7
6
5
4
3
Name
ALS_VIS_DATA[15:8]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
Name
Function
ALS_VIS_DATA[15:8] ALS VIS Data MSB. Once autonomous measurements have started, this register
must be read after INT has asserted but before the next measurement is made.
Refer to “AN498: Si114x Designer’s Guide”, section “5.6.2 Host Interrupt Latency”.
ALS_IR_DATA0: ALS_IR_DATA Data Word Low Byte@ 0x24
Bit
7
6
5
4
3
Name
ALS_IR_DATA[7:0]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
Name
Function
ALS_IR_DATA[7:0] ALS IR Data LSB. Once autonomous measurements have started, this register
must be read after INT has asserted but before the next measurement is made.
Refer to “AN498: Si114x Designer’s Guide”, section “5.6.2 Host Interrupt
Latency”.
ALS_IR_DATA1: ALS_IR_DATA Data Word High Byte @ 0x25
Bit
7
6
5
4
3
Name
ALS_IR_DATA[15:8]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
40
Name
Function
ALS_IR_DATA[15:8] ALS IR Data MSB. Once autonomous measurements have started, this register
must be read after INT has asserted but before the next measurement is made.
Refer to “AN498: Si114x Designer’s Guide”, section “5.6.2 Host Interrupt Latency”.
Rev. 1.3
Si1145/46/47
PS1_DATA0: PS1_DATA Data Word Low Byte @ 0x26
Bit
7
6
5
4
3
Name
PS1_DATA[7:0]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
Name
Function
PS1_DATA[7:0] PS1 Data LSB. Once autonomous measurements have started, this register must be
read after INT has asserted but before the next measurement is made. Refer to
“AN498: Si114x Designer’s Guide”, section “5.6.2 Host Interrupt Latency”.
PS1_DATA1: PS1_DATA Data Word High Byte @ 0x27
Bit
7
6
5
4
3
Name
PS1_DATA[15:8]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
Name
Function
PS1_DATA[15:8] PS1 Data MSB. Once autonomous measurements have started, this register must be
read after INT has asserted but before the next measurement is made. Refer to
“AN498: Si114x Designer’s Guide”, section “5.6.2 Host Interrupt Latency”.
PS2_DATA0: PS2_DATA Data Word Low Byte @ 0x28
Bit
7
6
5
4
3
Name
PS2_DATA[7:0]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
Name
Function
PS2_DATA[7:0] PS2 Data LSB. Once autonomous measurements have started, this register must be
read after INT has asserted but before the next measurement is made. Refer to “AN498:
Si114x Designer’s Guide”, section “5.6.2 Host Interrupt Latency”.
Rev. 1.3
41
Si1145/46/47
PS2_DATA1: PS2_DATA Data Word High Byte @ 0x29
Bit
7
6
5
4
3
Name
PS2_DATA[15:8]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
Name
7:0
Function
PS2_DATA[15:8] PS2 Data MSB. Once autonomous measurements have started, this register must be
read after INT has asserted but before the next measurement is made. Refer to
“AN498: Si114x Designer’s Guide”, section “5.6.2 Host Interrupt Latency”.
PS3_DATA0: PS3_DATA Low Byte @ 0x2A
Bit
7
6
5
4
3
Name
PS3_DATA[7:0]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
Name
7:0
Function
PS3_DATA[7:0] PS3 Data LSB. Once autonomous measurements have started, this register must be
read after INT has asserted but before the next measurement is made. Refer to
“AN498: Si114x Designer’s Guide”, section “5.6.2 Host Interrupt Latency”.
PS3_DATA1: PS3_DATA High Byte @ 0x2B
Bit
7
6
5
4
3
Name
PS3_DATA[15:8]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
42
Name
Function
PS3_DATA[15:8] PS3 Data MSB. Once autonomous measurements have started, this register must
be read after INT has asserted but before the next measurement is made. Refer to
“AN498: Si114x Designer’s Guide”, section “5.6.2 Host Interrupt Latency”.
Rev. 1.3
Si1145/46/47
AUX_DATA0/UVINDEX0: AUX_DATA Data Word Low Byte @ 0x2C
Bit
7
6
5
4
3
Name
AUX_DATA[7:0]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
Name
Function
AUX_DATA[7:0] AUX Data LSB. Once autonomous measurements have started, this register must be
read after INT has asserted but before the next measurement is made. Refer to
“AN498: Si114x Designer’s Guide”, section “5.6.2 Host Interrupt Latency”.
AUX_DATA1/UVINDEX1: AUX_DATA Data Word High Byte @ 0x2D
Bit
7
6
5
4
3
Name
AUX_DATA[15:8]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
Name
Function
AUX_DATA[15:8] AUX Data MSB. Once autonomous measurements have started, this register must
be read after INT has asserted but before the next measurement is made. Refer to
“AN498: Si114x Designer’s Guide”, section “5.6.2 Host Interrupt Latency”.
PARAM_RD @ 0x2E
Bit
7
6
5
4
3
Name
PARAM_RD
Type
RW
2
1
0
Reset value = 0000 0000
Bit
Name
7:0
PARAM_RD
Function
Mailbox register for passing parameters from the sequencer to the host.
Rev. 1.3
43
Si1145/46/47
CHIP_STAT @ 0x30
Bit
7
6
5
4
3
2
1
0
Name
RUNNING
SUSPEND
SLEEP
Type
R
R
R
Reset value = 0000 0000
Bit
Name
Function
7:3
Reserved
Reserved
2
RUNNING
Device is awake.
1
SUSPEND
Device is in a low-power state, waiting for a measurement to complete.
0
SLEEP
Device is in its lowest power state.
ANA_IN_KEY @ 0x3B to 0x3E
Bit
7
6
5
4
3
2
0x3B
ANA_IN_KEY[31:24]
0x3C
ANA_IN_KEY[23:16]
0x3D
ANA_IN_KEY[15:8]
0x3E
ANA_IN_KEY[7:0]
Type
RW
Reset value = 0000 0000
44
Bit
Name
31:0
ANA_IN_KEY[31:0]
Function
Reserved.
Rev. 1.3
1
0
Si1145/46/47
4.6. Parameter RAM
Parameters are located in internal memory and are not directly addressable over I2C. They must be indirectly
accessed using the PARAM_QUERY and PARAM_SET commands described in "4.2. Command Protocol" on
page 22.
Table 15. Parameter RAM Summary Table
Parameter Name
Offset
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
I2C_ADDR
0x00
CHLIST
0x01
EN_UV
—
EN_PS3
PSLED12_SELECT
0x02
—
PSLED3_SELECT
0x03
Reserved
0x04
PS_ENCODING
0x05
ALS_ENCODING
0x06
PS1_ADCMUX
0x07
PS1 ADC Input Selection
PS2_ADCMUX
0x08
PS2 ADC Input Selection
PS3_ADCMUX
0x09
PS3 ADC Input Selection
PS_ADC_COUNTER
0x0A
PS_ADC_GAIN
0x0B
PS_ADC_MISC
0x0C
Reserved
0x0D
Reserved (do not modify from default setting of 0x02)
ALS_IR_ADCMUX
0x0E
ALS_IR_ADCMUX
AUX_ADCMUX
0x0F
AUX ADC Input Selection
ALS_VIS_ADC_COUNTER
0x10
ALS_VIS_ADC_GAIN
0x11
ALS_VIS_ADC_MISC
0x12
Reserved
0x13
Reserved (do not modify from default setting of 0x40)
Reserved
0x14–
0x15
Reserved (do not modify from default setting of 0x00)
Reserved
0x1B
Reserved (do not modify from default setting of 0x00)
LED_REC
0x1C
LED recovery time
ALS_IR_ADC_
COUNTER
0x1D
ALS_IR_ADC_GAIN
0x1E
ALS_IR_ADC_MISC
0x1F
Bit 0
I2C Address
EN_AUX
EN_ALS_IR
EN_ALS_VIS
PS2_LED
—
EN_PS2 EN_PS1
PS1_LED
—
PS3_LED
Reserved (always set to 0)
—
PS3_ALIGN
PS2_ALIGN
PS1_ALIGN
Reserved (always set to 0)
—
ALS_IR_ALI
GN
ALS_VIS_
ALIGN
Reserved (always set to 0)
—
PS_ADC_REC
Reserved (always set to 0)
—
—
—
PS_ADC_GAIN
PS_RANGE
—
PS_ADC_
MODE
VIS_ADC_REC
Reserved (always set to 0)
—
Reserved
(always set to 0)
—
Reserved
(always set to 0)
ALS_VIS_ADC_GAIN
VIS_RANGE
Reserved (always set to 0)
IR_ADC_REC
—
IR_RANGE
Rev. 1.3
—
Reserved (always set to 0)
ALS_IR_ADC_GAIN
Reserved (always set to 0)
45
Si1145/46/47
I2C @ 0x00
Bit
7
6
5
4
3
Name
I2C Address[7:0]
Type
RW
2
1
0
Reset value = 0000 0000
Bit
7:0
46
Name
2
Function
2
I C Address[7:0] Specifies a new I C Address for the device to respond to. The new address takes
effect when a BUSADDR command is received.
Rev. 1.3
Si1145/46/47
CHLIST @ 0x01
Bit
7
6
Name
EN_UV
EN_AUX
Type
5
4
3
EN_ALS_IR EN_ALS_VIS
RW
2
1
0
EN_PS3
EN_PS2
EN_PS1
RW
Reset value = 0000 0000
Bit
Name
7
EN_UV
6
EN_AUX
5
EN_ALS_IR
4
Function
Enables UV Index, data stored in AUX_DATA1[7:0] and AUX_DATA0[7:0]
Enables Auxiliary Channel, data stored in AUX_DATA1[7:0] and AUX_DATA0[7:0].
Enables ALS IR Channel, data stored in ALS_IR_DATA1[7:0] and ALS_IR_DATA0[7:0].
EN_ALS_VIS Enables ALS Visible Channel, data stored in ALS_VIS_DATA1[7:0] and ALS_VIS_DATA0[7:0].
3
Reserved
2
EN_PS3
Enables PS Channel 3, data stored in PS3_DATA1[7:0] and PS3_DATA0[7:0].
1
EN_PS2
Enables PS Channel 2, data stored in PS2_DATA1[7:0] and PS2_DATA0[7:0].
0
EN_PS1
Enables PS Channel 1, data stored in PS1_DATA1[7:0] and PS1_DATA0[7:0].
Note: For proper operation, CHLIST must be written with a non-zero value before forced measurements or autonomous
operation is requested.
Rev. 1.3
47
Si1145/46/47
PSLED12_SELECT @ 0x02
Bit
7
6
5
4
3
2
1
Name
PS2_LED[2:0]
PS1_LED[2:0]
Type
RW
RW
0
Reset value = 0010 0001
48
Bit
Name
7
Reserved
6:4
PS2_LED[2:0]
3
Reserved
2:0
PS1_LED[2:0]
Function
Specifies the LED pin driven during the PS2 Measurement. Note that any combination of irLEDs is possible.
000: NO LED DRIVE
xx1: LED1 Drive Enabled
x1x: LED2 Drive Enabled (Si1146 and Si1147 only. Clear for Si1145)
1xx: LED3 Drive Enabled (Si1147 only. Clear for Si1145 and Si1146)
Specifies the LED pin driven during the PS1 Measurement. Note that any combination of irLEDs is possible.
000: NO LED DRIVE
xx1: LED1 Drive Enabled
x1x: LED2 Drive Enabled (Si1146 and Si1147 only. Clear for Si1145)
1xx: LED3 Drive Enabled (Si1147 only. Clear for Si1145 and Si1146)
Rev. 1.3
Si1145/46/47
PSLED3_SELECT @ 0x03
Bit
7
6
5
4
3
2
1
Name
PS3_LED[2:0]
Type
RW
0
Reset value = 0000 0100
Bit
Name
7:3
Reserved
2:0
Function
PS3_LED[2:0] Specifies the LED pin driven during the PS3 Measurement. Note that any combination
of irLEDs is possible.
000: No LED drive.
xx1: LED1 drive enabled.
x1x: LED2 drive enabled (Si1146 and Si1147 only. Clear for Si1145).
1xx: LED3 drive enabled (Si1147 only. Clear for Si1145 and Si1146).
PS_ENCODING @ 0x05
Bit
7
Name
6
5
4
3
2
1
0
PS3_ALIGN PS2_ALIGN PS1_ALIGN
Type
RW
R/W
R/W
Reset value = 0000 0000
Bit
Name
7
Reserved
Function
6
PS3_ALIGN When set, the ADC reports the least significant 16 bits of the 17-bit ADC when performing
PS3 Measurement. Reports the 16 MSBs when cleared.
5
PS2_ALIGN When set, the ADC reports the least significant 16 bits of the 17-bit ADC when performing
PS2 Measurement. Reports the 16 MSBs when cleared.
4
PS1_ALIGN When set, the ADC reports the least significant 16 bits of the 17-bit ADC when performing
PS1 Measurement. Reports the 16 MSBs when cleared.
3:0
Reserved
Always set to 0.
Rev. 1.3
49
Si1145/46/47
ALS_ENCODING @ 0x06
Bit
7
6
Name
5
4
3
2
1
0
ALS_IR_ALIGN ALS_VIS_ALIGN
Type
RW
RW
Reset value = 0000 0000
Bit
Name
7:6
Reserved
5
ALS_IR_ALIGN
4
3:0
50
Function
When set, the ADC reports the least significant 16 bits of the 17-bit ADC when
performing ALS VIS Measurement. Reports the 16 MSBs when cleared.
ALS_VIS_ALIGN When set, the ADC reports the least significant 16 bits of the 17-bit ADC when
performing ALS IR Measurement. Reports the 16 MSBs when cleared.
Reserved
Always set to 0.
Rev. 1.3
Si1145/46/47
PS1_ADCMUX @ 0x07
Bit
7
6
5
4
3
Name
PS1_ADCMUX[7:0]
Type
RW
2
1
0
Reset value = 0000 0011
Bit
7:0
Name
Function
PS1_ADCMUX[7:0] Selects ADC Input for PS1 Measurement.
The following selections are valid when PS_ADC_MODE = 1 (default). This setting is for normal Proximity Detection function.
0x03: Large IR Photodiode
0x00: Small IR Photodiode
In addition, the following selections are valid for PS_ADC_MODE = 0. With this
setting, irLED drives are disabled and the PS channels are no longer operating in
normal Proximity Detection function. The results have no reference and the references needs to be measured in a separate measurement.
0x02: Visible Photodiode
A separate 'No Photodiode' measurement should be subtracted from this reading.
Note that the result is a negative value. The result should therefore be negated to
arrive at the Ambient Visible Light reading.
0x03: Large IR Photodiode
A separate “No Photodiode” measurement should be subtracted to arrive at
Ambient IR reading.
0x00: Small IR Photodiode
A separate “No Photodiode” measurement should be subtracted to arrive at
Ambient IR reading.
0x06: No Photodiode
This is typically used as reference for reading ambient IR or visible light.
0x25: GND voltage
This is typically used as the reference for electrical measurements.
0x65: Temperature
(Should be used only for relative temperature measurement. Absolute Temperature not guaranteed) A separate GND measurement should be subtracted from
this reading.
0x75: VDD voltage
A separate GND measurement is needed to make the measurement meaningful.
Rev. 1.3
51
Si1145/46/47
PS2_ADCMUX @ 0x08
Bit
7
6
5
4
3
Name
PS2_ADCMUX[7:0]
Type
R/W
2
1
0
Reset value = 0000 0011
Bit
7:0
Name
Function
PS2_ADCMUX[7:0] Selects input for PS2 measurement. See PS1_ADCMUX register description for
details.
PS3_ADCMUX @ 0x09
Bit
7
6
5
4
3
Name
PS3_ADCMUX[7:0]
Type
R/W
2
1
0
Reset value = 0000 0011
Bit
7:0
52
Name
Function
PS3_ADCMUX[7:0] Selects input for PS3 measurement. See PS1_ADCMUX register description for
details.
Rev. 1.3
Si1145/46/47
PS_ADC_COUNTER @ 0x0A
Bit
7
6
Name
5
4
3
2
1
0
PS_ADC_REC[2:0]
Type
RW
R/W
R/W
Reset value = 0111 0000
Bit
Name
7
Reserved
6:4
3:0
Function
PS_ADC_REC[2:0] Recovery period the ADC takes before making a PS measurement.
000: 1 ADC Clock (50 ns times 2PS_ADC_GAIN)
001: 7 ADC Clock (350 ns times 2PS_ADC_GAIN)
010: 15 ADC Clock (750 ns times 2PS_ADC_GAIN)
011: 31 ADC Clock (1.55 µs times 2PS_ADC_GAIN)
100: 63 ADC Clock (3.15 µs times 2PS_ADC_GAIN)
101: 127 ADC Clock (6.35 µs times 2PS_ADC_GAIN)
110: 255 ADC Clock (12.75 µs times 2PS_ADC_GAIN)
111: 511 ADC Clock (25.55 µs times 2PS_ADC_GAIN)
The recommended PS_ADC_REC value is the one’s complement of PS_ADC_GAIN.
Reserved
Always set to 0.
Rev. 1.3
53
Si1145/46/47
PS_ADC_GAIN @ 0x0B
Bit
7
6
5
4
3
2
Name
1
0
PS_ADC_GAIN[2:0]
Type
R/W
R/W
R/W
Reset value = 0000 0000
54
Bit
Name
7:3
Reserved
2:0
PS_ADC_GAIN[2:0]
Function
Increases the irLED pulse width and ADC integration time by a factor of
(2 ^ PS_ADC_GAIN) for all PS measurements.
Care must be taken when using this feature. At an extreme case, each of the
three PS measurements can be configured to drive three separate irLEDs,
each of which, are configured for 359 mA. The internal sequencer does not
protect the device from such an error. To prevent permanent damage to the
device, do not enter any value greater than 5 without consulting with Silicon
Labs.
For Example:
0x0: ADC Clock is divided by 1
0x4: ADC Clock is divided by 16
0x5: ADC Clock is divided by 32
Rev. 1.3
Si1145/46/47
PS_ADC_MISC @ 0x0C
Bit
7
6
5
4
3
2
Name
PS_RANGE
PS_ADC_MODE
Type
RW
RW
1
0
Reset value = 0000 0100
Bit
Name
7:6
Reserved
5
PS_RANGE
4:3
Reserved
2
1:0
Function
When performing PS measurements, the ADC can be programmed to operate in
high sensitivity operation or high signal range. The high signal range is useful in
operation under direct sunlight.
0: Normal Signal Range
1: High Signal Range (Gain divided by 14.5)
PS_ADC_MODE PS Channels can either operate normally as PS channels, or it can be used to perform raw ADC measurements:
0: Raw ADC Measurement Mode
1: Normal Proximity Measurement Mode
Reserved
ALS_IR_ADCMUX @ 0x0E
Bit
7
6
5
4
3
Name
ALS_IR_ADCMUX
Type
RW
2
1
0
Reset value = 0000 0000
Bit
Name
7:0
ALS_IR_ADCMUX
Function
Selects ADC Input for ALS_IR Measurement.
0x00: Small IR photodiode
0x03: Large IR photodiode
Rev. 1.3
55
Si1145/46/47
AUX_ADCMUX @ 0x0F
Bit
7
6
5
4
3
Name
AUX_ADCMUX[7:0]
Type
RW
2
1
0
Reset value = 0110 0101
Bit
7:0
Name
Function
AUX_ADCMUX[7:0] Selects input for AUX Measurement. These measurements are referenced to
GND.
0x65: Temperature (Should be used only for relative temperature measurement.
Absolute Temperature not guaranteed)
0x75: VDD voltage
ALS_VIS_ADC_COUNTER @ 0x10
Bit
7
6
5
Name
4
3
2
1
0
VIS_ADC_REC[2:0]
Type
RW
R/W
R/W
Reset value = 0111 0000
56
Bit
Name
7
Reserved
6:4
VIS_ADC_REC[2:0]
3:0
Reserved
Function
Recovery period the ADC takes before making a ALS-VIS measurement.
000: 1 ADC Clock (50 ns times 2ALS_VIS_ADC_GAIN)
001: 7 ADC Clock (350 ns times 2ALS_VIS_ADC_GAIN)
010: 15 ADC Clock (750 ns times 2ALS_VIS_ADC_GAIN)
011: 31 ADC Clock (1.55 µs times 2ALS_VIS_ADC_GAIN)
100: 63 ADC Clock (3.15 µs times 2ALS_VIS_ADC_GAIN)
101: 127 ADC Clock (6.35 µs times 2ALS_VIS_ADC_GAIN)
110: 255 ADC Clock (12.75 µs times 2ALS_VIS_ADC_GAIN)
111: 511 ADC Clock (25.55 µs times 2ALS_VIS_ADC_GAIN)
The recommended VIS_ADC_REC value is the one’s complement of
ALS_VIS_ADC_GAIN.
Always set to 0.
Rev. 1.3
Si1145/46/47
ALS_VIS_ADC_GAIN @ 0x11
Bit
7
6
5
4
3
2
Name
1
0
ALS_VIS_ADC_GAIN[2:0]
Type
RW
R/W
RW
Reset value = 0000 0000
Bit
Name
7:3
Reserved
2:0
Function
ALS_VIS_ADC_GAIN[2:0] Increases the ADC integration time for ALS Visible measurements by a
factor of (2 ^ ALS_VIS_ADC_GAIN). This allows visible light measurement under dark glass. The maximum gain is 128 (0x7).
For Example:
0x0: ADC Clock is divided by 1
0x4: ADC Clock is divided by 16
0x6: ADC Clock is divided by 64
ALS_VIS_ADC_MISC @ 0x12
Bit
7
6
5
Name
VIS_RANGE
Type
RW
4
3
2
1
0
Reset value = 0000 0000
Bit
Name
7:6
Reserved
5
4:0
Function
VIS_RANGE When performing ALS-VIS measurements, the ADC can be programmed to operate in
high sensitivity operation or high signal range.
The high signal range is useful in operation under direct sunlight.
0: Normal Signal Range
1: High Signal Range (Gain divided by 14.5)
Reserved
Rev. 1.3
57
Si1145/46/47
LED_REC @ 0x1C
Bit
7
6
5
4
3
Name
LED_REC[7:0]
Type
RW
Bit
Name
7:0
2
1
0
2
1
0
Function
LED_REC[7:0] Reserved.
ALS_IR_ADC_COUNTER @ 0x1D
Bit
7
6
5
4
Name
IR_ADC_REC[2:0]
Type
RW
3
Reset value = 0111 0000
58
Bit
Name
7
Reserved
6:4
IR_ADC_REC[2:0]
3:0
Reserved
Function
Recovery period the ADC takes before making a ALS-IR measurement.
000: 1 ADC Clock (50 ns times 2ALS_IR_ADC_GAIN)
001: 7 ADC Clock (350 ns times 2ALS_IR_ADC_GAIN)
010: 15 ADC Clock (750 ns times 2ALS_IR_ADC_GAIN)
011: 31 ADC Clock (1.55 µs times 2ALS_IR_ADC_GAIN)
100: 63 ADC Clock (3.15 µs times 2ALS_IR_ADC_GAIN)
101: 127 ADC Clock (6.35 µs times 2ALS_IR_ADC_GAIN)
110: 255 ADC Clock (12.75 µs times 2ALS_IR_ADC_GAIN)
111: 511 ADC Clock (25.55 µs times 2ALS_IR_ADC_GAIN)
The recommended IR_ADC_REC value is the one’s complement of
ALS_IR_ADC_GAIN.
Always set to 0.
Rev. 1.3
Si1145/46/47
ALS_IR_ADC_GAIN @ 0x1E
Bit
7
6
5
4
3
2
Name
1
0
ALS_IR_ADC_GAIN[2:0]
Type
R/W
R/W
R/W
Reset value = 0000 0000
Bit
Name
7:3
Reserved
2:0
Function
ALS_IR_ADC_GAIN[2:0] Increases the ADC integration time for IR Ambient measurements by a factor of (2 ^ ALS_IR_ADC_GAIN). The maximum gain is 128 (0x7).
For Example:
0x0: ADC Clock is divided by 1
0x4: ADC Clock is divided by 16
0x6: ADC Clock is divided by 64
ALS_IR_ADC_MISC @ 0x1F
Bit
7
6
5
Name
IR_RANGE
Type
RW
4
3
2
1
0
Reset value = 0000 0000
Bit
Name
7:6
Reserved
5
4:0
Function
IR_RANGE When performing ALS-IR measurements, the ADC can be programmed to operate in
high sensitivity operation or high signal range.
The high signal range is useful in operation under direct sunlight.
0: Normal Signal Range
1: High Signal Range (Gain divided by 14.5)
Reserved
Write operations to this RAM parameter must preserve this bit-field value using
read-modify-write.
Rev. 1.3
59
Si1145/46/47
5. Pin Descriptions
DNC
SDA
1
SCL
2
VDD
3
INT
4
10
QFN-10
5
9
LED1
8
GND
7
LED3/CVDD
6
LED2/CVDD
DNC
Table 16. Pin Descriptions
Pin
Name
Type
Description
1
SDA
2
SCL
Input
3
VDD
Power
4
INT
5
DNC
6
LED2/CVDD1
Output
LED2 Output/Connect to VDD.1
Programmable constant current sink normally connected to an infrared
LED cathode. Connect directly to VDD when not in use.
7
LED3/CVDD2
Output
LED3 Output/Connect to VDD.2
Programmable constant current sink normally connected to an infrared
LED cathode. If VLED < (VDD + 0.5 V), a 47 k pull-up resistor from
LED3 to VDD is needed for proper operation. Connect directly to VDD
when not in use.
8
GND
Power
Ground.
Reference voltage.
9
LED1
Output
LED1 Output.
Programmable constant current sink normally connected to an infrared
LED cathode.
10
DNC
Bidirectional I2C Data.
I2C Clock.
Power Supply.
Voltage source.
Bidirectional Interrupt Output.
Open-drain interrupt output pin. Must be at logic level high during powerup sequence to enable low power operation.
Do Not Connect.
This pin is electrically connected to an internal Si1145/46/47 node. It
should remain unconnected.
Do Not Connect.
This pin is electrically connected to an internal Si1145/46/47 node. It
should remain unconnected.
Notes:
1. Si1146 and Si1147 only. Connect to VDD in Si1145.
2. Si1147 only. Connect to VDD in Si1145 and Si1146.
60
Rev. 1.3
Si1145/46/47
6. Ordering Guide
Part Number
Package
LED Drivers
Si1145-A10-GMR
QFN-10
1
Si1146-A10-GMR
QFN-10
2
Si1147-A10-GMR
QFN-10
3
Rev. 1.3
61
Si1145/46/47
7. Package Outline: 10-Pin QFN
Figure 19 illustrates the package details for the Si1145/46/47 QFN package. Table 17 lists the values for the
dimensions shown in the illustration.
Top View
Pin 1 Indication
Figure 19. QFN Package Diagram Dimensions
62
Rev. 1.3
Si1145/46/47
Table 17. Package Diagram Dimensions
Dimension
Min
Nom
Max
A
0.55
0.65
0.75
b
0.20
0.25
0.30
D
2.00 BSC.
e
0.50 BSC.
E
2.00 BSC.
L
0.30
0.35
aaa
0.10
bbb
0.10
ccc
0.08
ddd
0.10
0.40
Notes:
1. All dimensions shown are in millimeters (mm).
2. Dimensioning and Tolerancing per ANSI Y14.5M-1994.
Pin 1
0.115 die
offset to
package
0.66
0.12
0.65
0.16
Small IR photodiode
and visible photodiode
(stacked)
0.415
Large IR photodiode
0.14
Figure 20. Photodiode Centers
Rev. 1.3
63
Si1145/46/47
8. Suggested PCB Land Pattern
Figure 21 illustrates the PCB land pattern details for the Si1145/46/47. Table 18 lists the values for the dimensions
shown in the illustration.
Figure 21. PCB Land Pattern
64
Rev. 1.3
Si1145/46/47
Table 18. PCB Land Pattern Dimensions
Dimension
mm
C1
1.90
C2
1.90
E
0.50
X
0.30
Y
0.80
Notes:
General
1. All dimensions shown are in millimeters (mm).
2. This Land Pattern Design is based on the IPC-7351 guidelines.
3. All dimensions shown are at Maximum Material Condition (MMC). Least
Material Condition (LMC) is calculated based on a Fabrication Allowance of
0.05 mm.
Solder Mask Design
4. All metal pads are to be non-solder mask defined (NSMD). Clearance
between the solder mask and the metal pad is to be 60 mm minimum, all the
way around the pad.
Stencil Design
5. A stainless steel, laser-cut and electro-polished stencil with trapezoidal walls
should be used to assure good solder paste release.
6. The stencil thickness should be 0.125 mm (5 mils).
7. The ratio of stencil aperture to land pad size should be 1:1 for all pads.
Card Assembly
8. A No-Clean, Type-3 solder paste is recommended.
9. The recommended card reflow profile is per the JEDEC/IPC J-STD-020D
specification for Small Body Components.
65
Rev. 1.3
Si1145/46/47
DOCUMENT CHANGE LIST
Revision 0.1 to Revision 1.0

Updated UV functional description in "2.4. Ultraviolet
(UV) Index" on page 15.
I2C slave address changed from 0x5A to 0x60 in
"2.5. Host Interface" on page 17.
 Added calibration command in "4.2. Command
Protocol" on page 22.
 Added order numbers in "6. Ordering Guide" on
page 61.

Revision 1.0 to Revision 1.1

Removed threshold settings.
Revision 1.1 to Revision 1.2

Updated recommended UV coefficients.
 Updated photodiode spectral response.
Revision 1.2 to Revision 1.3

Clarified how to enable UV reading.
Clarified usage of Command Register and
Parameter RAM.
 Clarified LED2 and LED3 connection when using
Si1145 and Si1146.

66
Rev. 1.3
Smart.
Connected.
Energy-Friendly.
Products
Quality
Support and Community
www.silabs.com/products
www.silabs.com/quality
community.silabs.com
Disclaimer
Silicon Laboratories intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using
or intending to use the Silicon Laboratories products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and
"Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Laboratories reserves the right to
make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the
included information. Silicon Laboratories shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses
granted hereunder to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any Life Support System without the specific written consent
of Silicon Laboratories. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant
personal injury or death. Silicon Laboratories products are not designed or authorized for military applications. Silicon Laboratories products shall under no circumstances be used in
weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons.
Trademark Information
Silicon Laboratories Inc.® , Silicon Laboratories®, Silicon Labs®, SiLabs® and the Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®, EFM32®,
EFR, Ember®, Energy Micro, Energy Micro logo and combinations thereof, "the world’s most energy friendly microcontrollers", Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®,
ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY®, Telegesis, the Telegesis Logo®, USBXpress® and others are trademarks or registered trademarks of Silicon Laboratories Inc. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. All other products or brand
names mentioned herein are trademarks of their respective holders.
Silicon Laboratories Inc.
400 West Cesar Chavez
Austin, TX 78701
USA
http://www.silabs.com