Designing VCNL4020 into an Application

VISHAY SEMICONDUCTORS
www.vishay.com
Optical Sensors
Application Note
Designing VCNL4020 into an Application
INTRODUCTION AND BASIC OPERATION
The VCNL4020 is a fully integrated proximity and ambient
light sensor. It combines an infrared emitter and PIN
photodiode for proximity measurement, ambient light
sensor, and signal processing IC in a single package with a
16 bit ADC. The device provides ambient light sensing to
support conventional backlight and display brightness
auto-adjustment, and proximity sensing to minimize
accidental touch input that can lead to call drops and
camera launch. With a range of up to 20 cm (7.9"), this
stand-alone, single component greatly simplifies the use
and design-in of a proximity sensor in consumer and
industrial applications because no mechanical barriers are
required to optically isolate the emitter from the detector.
The VCNL4020 features a miniature leadless package (LLP)
for surface mounting in a 4.9 mm x 2.4 mm package
with a low profile of 0.83 mm designed specifically for
the low height requirements of smart phone, mobile
phone, digital camera, and tablet PC applications.
Through its standard I2C bus serial digital interface, it
allows easy access to a “Proximity Signal” and “Light
Intensity” measurements without complex calculations or
programming. The programmable interrupt function offers
wake-up functionality for the microcontroller when a
proximity event or ambient light change occurs which
reduces processing overhead by eliminating the need for
continuous polling.
Proximity Sensor
Ambient Light Sensor
Infrared Emitter
22639
SCL
INT
VDD
Cathode
PD
22640
VSS
Cathode
Emitter
SDA
Anode
Emitter
Fig. 1 - VCNL4020 Top View
Fig. 2 - VCNL4020 Bottom View
COMPONENTS (BLOCK DIAGRAM)
Oscillator
Integrating
ADC
Signal
Processing
6 nc
Proxi PD
Interrupt
SCL 4
INT 3
SDA 2
IR 1
Anode
I2C
VCNL4020
Data Register
VDD 5
IRED
MUX
Command Register
22641
7 nc
8 GND
Amp.
LED Driver
Fig. 3 - VCNL4020 Detailed Block Diagram
Revision: 13-Aug-14
Document Number: 84136
1
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
APPLICATION NOTE
Ambi PD
9 GND
10 IR
Cathode
The major components of the VCNL4020 are shown in the block diagram.
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
The integrated infrared emitter has a peak wavelength of
890 nm. It emits light that reflects off an object within 20 cm
of the sensor. The infrared emitter spectrum is shown in
Figure 4.
PIN CONNECTIONS
Figure 3 shows the pin assignments of the VCNL4020.
The connections include:
• Pin 1 - IR anode to the power supply
• Pin 2 - SDA to microcontroller
Ie, rel - Relative Radiant Intensity
1.1
IF = 100 mA
1.0
• Pin 4 - SCL to microcontroller
0.8
• Pin 5 - VDD to the power supply
0.7
• Pin 6, pin 7 - must not be connected
0.6
• Pin 8, pin 9 - connect to ground
0.5
• Pin 10 - not connected. Used only if external emitters are
being used.
0.4
0.3
0.2
0.1
0
750
22305
800
850
900
950
1000
1050
λ - Wavelength (nm)
Fig. 4 - Relative Radiant Intensity vs. Wavelength
The infrared emitter has a programmable drive current from
10 mA to 200 mA in 10 mA steps. The infrared light emitted
is modulated at one of four user defined carrier frequencies:
390.625 kHz, 781.25 kHz, 1.5625 MHz (not recommended),
or 3.125 MHz (not recommended). The PIN photodiode
receives the light that is reflected off the object and converts
it to a current. It has a peak sensitivity of 890 nm, matching
the peak wavelength of the emitter. It is insensitive to
ambient light. It ignores the DC component of light and
“looks for” the pulsed light at one of the two recommended
frequencies used by the emitter. Using a modulated signal
for proximity provides distinct advantages over other
sensors on the market.
The ambient light sensor receives the visible light and
converts it to a current. The human eye can see light of
wavelengths from 400 nm to 700 nm with a peak of 560 nm.
APPLICATION NOTE
• Pin 3 - INT to microcontroller
0.9
Vishay’s ambient light sensor closely matches this range of
sensitivity. It has peak sensitivity at 540 nm and a bandwidth
from 430 nm to 610 nm.
The application specific integrated circuit or ASIC includes
an LED driver, I2C bus interface, amplifier, integrating analog
to digital converter, oscillator, and Vishay’s “secret sauce”
signal processor. For proximity, it converts the current from
the PIN photodiode to a 16-bit digital data output value. For
ambient light sensing, it converts the current from the
ambient light detector, amplifies it and converts it to a 16-bit
digital output stream.
Revision: 13-Aug-14
The power supply for the ASIC (VDD) has a defined range
from 2.5 V to 3.6 V. The infrared emitter may be connected
in the range from 2.5 V to 5.0 V. It is best if VDD is connected
to a regulated power supply and pin 1, IR Anode, is
connected directly to the battery. This eliminates any
influence of the high infrared emitter current pulses on the
VDD supply line. The ground pins 8 and 9 are electrically the
same. They use the same bottom metal pad and may be
routed to the same stable ground plane. The power supply
decoupling components shown in Figure 5 are optional.
They isolate the sensor from other possible noise on the
same power rail but in most applications are not needed. If
separate power supplies for the VDD and the infrared emitter
are used and there are no negative spikes below 2.5 V, only
one capacitor at VDD could be used. The 100 nF capacitor
should be placed close to the VDD pin. The SCL and SDA as
well as the interrupt lines need pull-up resistors. The resistor
values depend on the application and on the I2C bus speed.
Common values are about 2.2 kΩ to 4.7 kΩ for the SDA and
SCL and 10 kΩ to 100 kΩ for the Interrupt.
2.5 V to
5.0 V
C1
1.7 V .. 5.0 V
C2
22 μF 100 nF
2.5 V to
1.6 V
R1
10R
10 μF
C4
C3
R2 R3 R4
IR_Anode (1)
VDD (5)
Host
Micro
Controller
100 nF
VCNL4020
GPIO
SCL (4)
GND (8, 9) SDA (2)
I2C bus clock SCL
I2C bus data SDA
Fig. 5 - VCNL4020 Application Circuit
Document Number: 84136
2
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
MECHANICAL DESIGN CONSIDERATIONS
The VCNL4020 is a fully integrated proximity and ambient
light sensor. Competing sensors use a discrete infrared
emitter which leads to complex geometrical calculations to
determine the position of the emitter. Competing sensors
also require a mechanical barrier between the emitter and
detectors to eliminate crosstalk; light reflecting off the inside
of the window cover which can produce false proximity
readings. The VCNL4020 does not require a mechanical
barrier. The signal processor continuously compensates for
the light reflected from windows ensuring a proper proximity
reading. As a fully integrated sensor, the design process is
greatly simplified.
The only dimensions that the design engineer needs to
consider are the distance from the top surface of the sensor
to the outside surface of the window and the size of the
window. These dimensions will determine the size of the
detection zone.
The angle of half intensity of the emitter and the angle of half
sensitivity of the PIN photodiode are ± 55° as shown in
Figure 6 and Figure 7.
20°
1.0
0.9
40°
0.8
0.7
60°
0.6
ϕ - Angular Displacement
Irel - Relative Radiant Intensity
0°
α = ± 55°
3.46
Fig. 8 - Emitter and Detector Angle and Distance
The center of the sensor and center of the window should be
aligned. Assuming the detection zone is a cone shaped
region with an angle of ± 40°, the following are dimensions
for the distance from the top surface of the sensor to the
outside surface of the glass, d, and the width of the window,
w. The distance from the center of the infrared emitter to the
center of the PIN photodiode is 3.46 mm. The height of the
sensor is 0.83 mm.
w
x
3.46
D
d
α
80°
0.83
0.5 0.4 0.3 0.2 0.1 0
22306
Fig. 9 - Window Dimensions
Fig. 6 - Angle of the Half Intensity of the Emitter
20°
1.0
0.9
40°
0.8
0.7
60°
0.6
ϕ - Angular Displacement
Srel - Relative Sensitivity
APPLICATION NOTE
0°
80°
0.5 0.4 0.3 0.2 0.1 0
d
(mm)
x
(0.84 d)
w
(3.46 + 2 x)
0.5
0.42
4.30
1.0
0.84
5.14
1.5
1.26
6.02
2.0
1.68
6.82
2.5
2.10
7.66
3.0
2.52
8.50
The results above represent the ideal width of the window.
The mechanical design of the device may not allow for this
size.
22308
Fig. 7 - Angle of the Half Sensitivity of the PIN Photodiode
Revision: 13-Aug-14
Document Number: 84136
3
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
PROXIMITY SENSOR
The main DC light sources found in the environment are
sunlight and tungsten (incandescent) bulbs. These kinds of
disturbance sources will cause a DC current in the detector
inside the sensor, which in turn will produce noise in the
receiver circuit. The negative influence of such DC light can
be reduced by optical filtering. Light in the visible range,
400 nm to 700 nm, is completely removed by the use of an
optical cut-off filter at 800 nm. With filtering, only longer
wavelength radiation above 800 nm can be detected. The
PIN photodiode therefore receives only a limited band from
the original spectrum of these DC light sources as shown in
Figure 10.
the reflection and DC noise produces an output current on
the proximity and light sensing photodiode. This current is
converted in to a count called the offset count.
In addition to the offset, there is also a small noise floor
during the proximity measurement which comes from the
DC light suppression circuitry. This noise is in the range from
± 5 counts to ± 20 counts. The application should “ignore”
this offset and small noise floor by subtracting them from the
total proximity readings. The application specific offset is
easily determined during the development of the end
product.
Reflected signal
S(λ)rel - Relative Spectral Sensitivity
1.1
1.0
0.9
0.8
0.7
0.6
Offset
-
Noise floor
=
Proximity count
22382
0.5
Fig. 12 - Proximity Calculation
0.4
0.3
0.2
0.1
0
400
500
600
700
800
900
1000 1100
λ - Wavelength (nm)
Fig. 10 - Spectral Sensitivity of Proximity PIN Photodiode
22307
As mentioned earlier, the proximity sensor uses a
modulated carrier signal on one of four user selected
frequencies. These frequencies are far from the ballast
frequencies of fluorescent lights ensuring that the sensor is
unaffected by them. The infrared emitter sends out a series
of pulses, a burst, at the selected frequency and the PIN
photodiode which features a band pass filter set to this
same frequency, receives the reflected pulses, Figure 11.
100 mA
APPLICATION NOTE
-
Offset
• distance to the cover
• proximity of surrounding
components
• tolerances of the sensor
• defined IRED current
• ambient temperature
• type of cover material used
• ambient light
153 μs
Results typically do not need to be averaged. If an object
with very low reflectivity or at longer range needs to be
detected, the sensor provides a register where the customer
can define the number of consecutive measurements above
a user-defined threshold before producing an interrupt. This
provides stable results without requiring averaging.
PROXIMITY CURRENT COSUMPTION
The standby current of the VCNL4020 is 1.5 μA. In this
mode, only the I2C interface is active. In most consumer
electronic applications the sensor will spend the majority of
time in standby mode. For proximity sensing, the current
consumption of the VCNL4020 is primarily a function of the
infrared emitter current and, secondarily, signal processing
done by the ASIC. Example current consumption
calculations are shown below for the range of IRED current
and measurement rates. The current between burst pulse
frames is equivalent to the standby mode. The duty cycle of
the emitter is 50 %.
10 measurement per second, emitter current = 100 mA
100 ms
22381
Fig. 11 - Emitter Pulses
In addition to DC light source noise, there is some reflection
of the infrared emitted light off the surfaces of the
components which surround the VCNL4020. The distance
to the cover, proximity of surrounding components, the
tolerances of the sensor, the defined infrared emitter
current, the ambient temperature, and the type of window
material used all contribute to this reflection. The result of
Revision: 13-Aug-14
ASIC: 2.71 mA x 164 μs x 10/1 s =
4.45 μA
IRED: 100 mA x 153 μs/1 s x 0.5 x 10/1 s =
76.50 μA
total:
80.95 μA
250 measurement per second, emitter current = 200 mA
ASIC: 2.71 mA x 164 μs x 250/1 s =
111.0 μA
IRED: 200 mA x 153 μs x 0.5 x 250/1 s =
3.825 mA
total:
3.936 mA
Document Number: 84136
4
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
PROXIMITY INITIALIZATION
The VCNL4020 contains seventeen 8-bit registers for
operation control, parameter setup and result buffering. All
registers are accessible via I2C communication. The built in
I2C interface is compatible with all I2C modes: standard, fast
and high speed. I2C H-Level voltage range is from 1.7 V to
5.0 V.
There are only three registers out of the seventeen that
typically need to be defined:
1. IRED Current = 10 mA… 200 mA
IR LED Current Register #3 [83h]
2. Proximity Measurement Rate = 1.95 to 250 meas/s
Proximity Rate Register #2 [82h]
3. Proximity and Light Sensor: Number of consecutive
measurements above/below threshold:
- int_count_exceed = 1 to 128
defines number of consecutive measurements above
threshold
- int_thres_en = 1
enables interrupt when threshold is exceeded
- int_thres_sel = 0
definines thresholds for proximity
To define these register values, evaluation test should be
performed. The sensor starter kit allows you to perform
evaluation tests and properly set the registers for your
application. The kit is available from any of Vishay’s
distributors. It comes with the VCNL4020 sensor board.
Timing
For an I2C bus operating at 100 kHz, an 8-bit write or read
command plus start, stop and acknowledge bits takes
100 μs. When the device is powered on, the initialization
with just these 3 registers needs 3 write commands, each
requiring 3 bytes: slave address, register and data.
Power Up
The release of internal reset, the start of the oscillator and
signal processor needs
2.5 ms
Initialize Registers
Interrupt Control Register # 9 [89h].
Write to 3 registers
900 μs
For ambient light sensing, the default averaging value is
32 measurements. If this value needs to be changed or if
“Continuous conversion” mode is desired, a fourth register
may be defined:
- IR LED current
4. ALS Measurement Rate, auto offset = on, averaging
Ambient Light Parameter Register # 4 [84h]
Once the device is powered on and the VCNL4020
initialized, a proximity measurement can be taken. Before
the first read out of the proximity count, a wait time is
required. Subsequent reads do not require this wait time.
Figure 13 shows the typical digital counts output versus
distance for three different emitter currents. The reflective
reference medium is the Kodak Gray card. This card shows
approximately 18 % reflectivity at 890 nm.
100 000
LED current 200 mA
Proximity Value (cts)
- Proximity rate
- Interrupt control
Start measurement
300 μs
Measurement being made
170 μs
Wait time prior to first read
400 μs
Read out of the proximity data
600 μs
Total:
10 000
APPLICATION NOTE
The proximity measurement rate determines how fast the
application reacts when an object appears in, or is removed
from, the proximity zone. Reaction time is also determined
by the number of counts that must be exceeded before an
interrupt is set.
1470 μs
1000
LED current 100 mA
100
LED current 20 mA
10
Media: Kodak gray card
1
0.1
1
10
100
Distance to Reflecting Card (mm)
Fig. 13 - Proximity Value vs. Distance
Revision: 13-Aug-14
Document Number: 84136
5
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
AMBIENT LIGHT SENSING
Illuminance is the measure of the intensity of light incident
on a surface and can be correlated to the brightness
perceived by the human eye. In the visible range, it is
measured in units called “lux.” Light sources with the same
lux measurement appear to be equally bright. In Figure 14,
the incandescent light and sunlight have been scaled to
have the same lux measurement. In the infrared region, the
intensity of the incandescent light is significantly higher. A
standard silicon photodiode is much more sensitive to
infrared light than visible light. Using it to measure ambient
light will result in serious deviations between the lux
measurements of different light sources and human-eye
perception. Using Vishay’s ambient light sensors will solve
this problem because they are most sensitive to the visible
part of the spectrum.
Incandescent light
0.8
Human eye
0.6
Ambient
light sensor
Silicon photodiode
0.2
0.0
0
500
700
1000
1500
Wavelength (nm)
22389
Photopic peak 550 nm
APPLICATION NOTE
Fig. 14 - Relative Spectral Sensitivity vs. Wavelength
The human eye can see light with wavelengths from 400 nm
to 700 nm. The ambient light sensor closely matches this
range of sensitivity and provides a digital output based on a
16-bit signal.
AMBIENT LIGHT MEASUREMENT,
RESOLUTION AND OFFSET
The ambient light sensors measurement resolution is
0.25 lux/count. The 16-bit digital resolution is equivalent to
65 536 counts. This yields a measurement range from
0.25 lux to 16 383 lux.
Revision: 13-Aug-14
10 000
1000
100
10
1
0.1
1
10
100
1000
10 000
EV - Illuminance (lx)
Fig. 15 - Ambient Light Values vs. Illuminance
In most applications a cosmetic window or cover is placed
in front of the sensor. These covers reduce the amount of
light reaching the sensor. It is not uncommon for only 10 %
of the ambient light to pass through the window. The
resulting sensor resolution in relation to cover transparency
is shown in Table 11.
TABLE 11 - RESOLUTION VS. TRANSPARENCY
Visible Infrared
1.0
0.4
100 000
Ambient Light Signal (cts)
Ambient light sensors are used to detect light or brightness
in a manner similar to the human eye. They allow settings to
be adjusted automatically in response to changing ambient
light conditions. By turning on, turning off, or adjusting
features, ambient light sensors can conserve battery power
or provide extra safety while eliminating the need for manual
adjustments.
COVER VISIBLE LIGHT
TRANSPARENCY
(%)
RESULTING SENSOR
RESOLUTION
(LUX/COUNT)
100
0.25
50
0.5
20
1.25
10
2.5
Similar to the proximity measurements, there is a digital
offset deviation of - 3 counts which has to be considered
when setting up the application thresholds. This offset
comes from tolerances within the digital compensation
process. In single-digit lux ambient lighting where the
transparency of the window is 10 % or less these 3 counts
should be added to the actual ambient light value.
AMBIENT LIGHT SENSOR CURRENT
CONSUMPTION
The ambient light sensor can operate in single or continuous
mode. In single mode operation, an ambient light
measurement consists of up to 128 individual measurement
cycles which are averaged. The timing diagram for an
individual measurement cycle is shown in Figure 16.
Document Number: 84136
6
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Start
of Cycle
Offset
Compensation
Measurement
Ambient Light
Measurement
40 μs
225 μs
225 μs
time
22392
Standard Deviation (cts)
Designing VCNL4020 into an Application
10
8
6
4
2
0
1
2
4
8
22394
Fig. 16 - Timing Diagram for Individual
Measurement Cycle
In single-mode operation, an ambient light measurement
takes 100 ms. The single measurement cycles are evenly
spread inside this 100 ms frame. Figure 17 shows an
example where 8 single measurement cycles are averaged.
The maximum number of single measurement cycles that
can be used to calculate an average is 128. The maximum
number of times this average can be calculated in one
second is 10.
16
Average
32
64
128
Fig. 18 - Ambient Light Noise vs. Averaging
In continuous conversion mode, the ambient light sensor
measurement time can be reduced. A timing example of
continuous mode where 8 measurements are averaged is
shown in Figure 19.
Start
450 μs
5.7 ms
22395
Start
12.5 ms
Fig. 19 - Ambient Light Measurement with Averaging = 8
Using Continuous Conversion Mode
100 ms
22393
Fig. 17 - Ambient Light Measurement with Averaging = 8
APPLICATION NOTE
A higher number of measurement cycles increases the
accuracy of the reading and reduces the influence of
modulated light sources. However, a higher number of
cycles also consume more power. During an individual
measurement cycle, the ASIC consumes approximately
2.7 mA. Between the individual measurements, the current
consumption is 9 μA. Example current consumption
calculations are shown below.
Current Calculations for Ambient Light Measurements:
1 measurement per second, AVG = 32
2.7 mA x 450 μs/1 cycle x 32 cycles x 1 = 39 μA
10 measurement per second, AVG = 128
2.7 mA x 450 μs/1 cycle x 128 cycles x 10 = 1.55 mA
The current consumption for the ambient light sensor is
strongly dependent on the number of measurements taken.
In single-mode operation, the highest average current is
1.55 mA. Figure 18 shows that increasing the number of
cycles averaged reduces the standard deviation of the
measurement.
Revision: 13-Aug-14
The individual measurements are done sequentially. Recall
that one individual measurement cycle, including offset
compensation, takes approximately 450 μs. The gap time is
180 μs. As shown in Figure 19, the result of the 8 cycles is
already accessible after about 6 ms. However, fluorescent
light suppression is less effective in this mode.
There will be no influence on the ambient measurement from
the infrared emitter used for proximity because the proximity
measurements are made between the ambient light
measurements. They are not performed at the same time.
AMBIENT LIGHT INITIALIZATION
For ambient light sensing, only register #4 parameters need
to be initialized
• Continuous conversion ON/OFF (register #4b7)
• Offset compensation ON/OFF (register #4b3)
• Number of average measurements (register #4b0 to 4b2)
The default settings are:
• Continuous conversion = OFF
• Offset compensation = ON
• Number of average measurements = 32
Document Number: 84136
7
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
INTERRUPT
The VCNL4020 features an interrupt function. The interrupt
function enables the sensor to work independently until a
predefined proximity or ambient light event or threshold
occurs. It then sets an interrupt which requires the
microcontroller to awaken. This helps customers reduce
their software effort, and reduces power consumption by
eliminating polling communication traffic between the
sensor and microcontroller. The interrupt pin, Pin 3 of the
VCNL4020, should be connected to a dedicated GPIO of the
controller. A pull-up resistor is added to the same power
supply to which the controller is connected. This INT pull-up
resistor may be in the range of 1 kΩ to 100 kΩ. Its current
sinking capability is greater than 8 mA, typically 10 mA, and
less than 20 mA.
The events that can generate an interrupt include:
1. A lower and an upper threshold for the proximity value
can be defined. If the proximity value falls below the lower
limit or exceeds the upper limit, an interrupt event will be
generated. In this case, an interrupt flag bit in the
interrupt status register will be set and the interrupt pad
of the ASIC will be pulled to low by an open drain
pull-down circuit. In order to eliminate false triggering of
the interrupt by noise or disturbances, it is possible to
define the number of consecutive measurements that
have to occur before the interrupt is triggered.
For each of these conditions a separate bit can activate or
deactivate the interrupt. This means that a combination of
different conditions can occur simultaneously. Only
condition 1 and 2 cannot be activated at the same time. For
them, one bit indicates that the threshold interrupt is on or
off, a second bit indicates if it is for proximity or ambient
light.
When an interrupt is generated, the information about the
condition that has generated the interrupt will be stored and
is available for the user in an interrupt status register which
can be read out via I2C. Each condition that can generate an
interrupt has a dedicated result flag. This allows
independent handling of the different conditions. For
example, if the interrupt is generated by the upper threshold
condition and a measurement ready condition, both flags
are set.
To clear the interrupt line, the user has to clear the enabled
interrupt flag in the interrupt status register, Register 14.
Resetting the interrupt status register is done with an I2C
write command. One interrupt bit can be cleared without
affecting another. If there was a second interrupt source, it
would have to be cleared separately. With a write command
where all four interrupt bits are set to “1” all these bits and
the interrupt line is cleared or reset.
2. A lower and an upper threshold for the ambient light
value can be defined. If the ambient light value falls
below the lower limit or exceeds the upper limit, an
interrupt event will be generated. There is only one set of
high and low threshold registers. You will have to decide
if the thresholds will be defined for proximity or ambient
light.
3. An interrupt can be generated when a proximity
measurement is ready.
APPLICATION NOTE
4. An interrupt can be generated when an ambient light
measurement is ready.
Revision: 13-Aug-14
Document Number: 84136
8
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
REGISTER FUNCTIONS
Register #0 Command Register
Register address = 80h
Register #0 is for starting ambient light or proximity measurements. The register contains 2 flag bits for data indication.
TABLE 1 - COMMAND REGISTER #0
BIT 7
config_lock
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
als_data_ rdy
prox_data_ rdy
als_od
prox_od
als_en
prox_en
selftimed_ en
DESCRIPTION
Config_lock
Read only bit. Value = 1
als_data_rdy
Read only bit. Value = 1 when ambient light measurement data is available in the result registers. This bit
will be reset when one of the corresponding result registers (reg #5, reg #6) is read.
prox_data_rdy
Read only bit. Value = 1 when proximity measurement data is available in the result registers. This bit will
be reset when one of the corresponding result registers (reg #7, reg #8) is read.
als_od
R/W bit. Starts a single on-demand measurement for ambient light. If averaging is enabled, starts a
sequence of readings and stores the averaged result. Result is available at the end of conversion for
reading in the registers #5 (HB) and #6 (LB).
prox_od
R/W bit. Starts a single on-demand measurement for proximity.
Result is available at the end of conversion for reading in the registers #7 (HB) and #8 (LB).
als_en
R/W bit. Enables periodic als measurement
prox_en
R/W bit. Enables periodic proximity measurement
selftimed_en
R/W bit. Enables state machine and LP oscillator for selftimed measurements; no measurement is
performed until the corresponding bit is set.
When single on demand measurements are made, bit 3 and bit 4 are set with the same write command, ambient light and
proximity measurements will both be made at the same time. For periodic measurements, the selftimed_en bit must be set first,
then the als_en and/or prox_en bit(s) can be set.
On-demand measurement modes are disabled when the selftimed_en bit is set.
To avoid synchronization problems and undefined states between the clock domains, changes to the proximity or ambient light
measurement rates in register #2 and register #4 respectively can be made only when there are no selftimed measurements
being made, b0 (selftimed_en bit) = 0.
Register #1 Product ID Revision Register
Register address = 81h. This register contains information about product ID and product revision.
Register data value of current revision = 21h.
TABLE 2 - PRODUCT ID REVISION REGISTER #1
BIT 7
BIT 6
BIT 5
BIT 4
APPLICATION NOTE
PRODUCT ID
BIT 3
BIT 2
BIT 1
BIT 0
REVISION ID
DESCRIPTION
Product ID
Read only bits. Value = 2
Revision ID
Read only bits. Value = 1
Revision: 13-Aug-14
Document Number: 84136
9
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
Register #2 Rate of Proximity Measurement
Register address = 82h. This register contains the rate of proximity measurements to be carried out within 1 second.
TABLE 3 - PROXIMITY RATE REGISTER #2
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
Rate of proximity measurement
(no. of measurements per second)
n/a
DESCRIPTION
R/W bits.
000 - 1.95 measurements/s (default setting)
001 - 3.90625 measurements/s
010 - 7.8125 measurements/s
Proximity rate
011 - 16.625 measurements/s
100 - 31.25 measurements/s
101 - 62.5 measurements/s
110 - 125 measurements/s
111 - 250 measurements/s
Again, if selftimed measurements are being made, any new measurement rate written to this register will not be made until
selftimed_en measurement is stopped.
Register #3 LED Current Setting for Proximity Mode
Register address = 83h. This register is to set the current of the infrared emitter for proximity measurements. The value is
adjustable from 0 mA to 200 mA in 10 mA steps. This register also contains information about the used device fuse program ID.
TABLE 4 - IR LED CURRENT REGISTER #3
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
Fuse prog ID
BIT 2
BIT 1
BIT 0
Infrared emitter current
DESCRIPTION
Fuse prog ID
Read only bits. Information about fuse program revision used for initial setup/calibration of the device.
R/W bits. IR LED current = Value (dec.) x 10 mA.
Valid Range = 0 - 20d (00 - 14 h)
0 = 0 mA
1 = 10 mA
2 = 20 mA (default setting)
Infrared emitter current value
.
APPLICATION NOTE
.
20 = 200 mA,
LED Current is limited to 200 mA. If higher values than 20d (14h) are written, the current will be set to
200 mA.
Revision: 13-Aug-14
Document Number: 84136
10
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
Register #4 Ambient Light Parameter Register
Register address = 84h.
TABLE 5 - AMBIENT LIGHT PARAMETER REGISTER #4
BIT 7
BIT 6
Continuous
conversion
mode
BIT 5
BIT 4
als_rate
BIT 3
Auto offset
compensation
BIT 2
BIT 1
BIT 0
Average function
(number of measurements per run)
DESCRIPTION
R/W bit. Continuous conversion mode.
Continuous conversion mode
Enable = 1 ; Disable = 0 (default)
This function can be used for performing faster ambient light measurements. Please refer to the
application information chapter 3.3 for details about this function.
R/W bits. Ambient light measurement rate
000 - 1 samples/s
001 - 2 samples/s (default setting)
010 - 3 samples/s
Ambient light measurement rate
011 - 4 samples/s
100 - 5 samples/s
101 - 6 samples/s
110 - 8 samples/s
111 - 10 samples/s
R/W bit. Automatic offset compensation.
Enable = 1 (default) ; Disable = 0
Auto offset compensation
In order to compensate for temperature related drift of the ambient light values, there is a built-in,
automatic offset compensation function. With auto offset compensation enabled, the offset value is
measured before each ambient light measurement and subtracted automatically from the actual reading.
R/W bits. Averaging function.
Bit value sets the number of single conversions done during one measurement cycle. Result is the average
value of all conversions.
Number of conversions = 2 decimal_value
Bit 2, bit1, bit 0
000 - 1 conversion
Averaging function
001 - 2 conversions
010 - 4 conversions
011 - 8 conversions
100 - 16 conversions
APPLICATION NOTE
101 - 32 conversions (default setting)
110 - 64 conversions
111 - 128 conversions
Again, if selftimed measurements are being made, any new measurement rate written to this register will not be made until
selftimed_en measurement is stopped.
Revision: 13-Aug-14
Document Number: 84136
11
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
Register #5 and #6 Ambient Light Result Register
Register address = 85h and 86h. These registers are the result registers for ambient light measurement readings. The result is
a 16 bit value. The high byte is stored in register #5 and the low byte in register #6.
TABLE 6 - AMBIENT LIGHT RESULT REGISTER #5
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
BIT 3
BIT 2
BIT 1
BIT 0
DESCRIPTION
Read only bits. High byte (15:8) of ambient light measurement result
TABLE 7 - AMBIENT LIGHT RESULT REGISTER #6
BIT 7
BIT 6
BIT 5
BIT 4
DESCRIPTION
Read only bits. Low byte (7:0) of ambient light measurement result
Register #7 and #8 Proximity Measurement Result Register
Register address = 87h and 88h. These registers are the result registers for proximity measurement readings. The result is a 16
bit value. The high byte is stored in register #7 and the low byte in register #8.
TABLE 8 - PROXIMITY RESULT REGISTER #7
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
BIT 3
BIT 2
BIT 1
BIT 0
DESCRIPTION
Read only bits. High byte (15:8) of proximity measurement result
TABLE 9 - PROXIMITY RESULT REGISTER #8
BIT 7
BIT 6
BIT 5
BIT 4
DESCRIPTION
Read only bits. Low byte (7:0) of proximity measurement result
Register #9 Interrupt Control Register
Register address = 89h.
TABLE 10 - INTERRUPT CONTROL REGISTER #9
BIT 7
int_count_exceed
BIT 6
BIT 5
BIT 4
N/A
BIT 3
BIT 2
int_prox_ready_en int_als_ready_en
BIT 1
BIT 0
int_thres_ en
int_thres_ sel
DESCRIPTION
R/W bits. These bits contain the number of consecutive measurements needed
above/below the threshold
000 - 1 count (default setting)
APPLICATION NOTE
001 - 2 counts
int_count_exceed
010 - 4 counts
011 - 8 counts
100 - 16 counts
101 - 32 counts
110 - 64 counts
111 - 128 counts
int_prox_ready_en
R/W bit. Enables interrupt generation when proximity data is ready
int_als_ready_en
R/W bit. Enables interrupt generation when ambient data is ready
int_thres_en
R/W bit. Enables interrupt generation when high or low threshold is exceeded
int_thres_sel
Revision: 13-Aug-14
R/W bit. If 0: thresholds are applied to proximity measurements
If 1: thresholds are applied to ambient light measurements
Document Number: 84136
12
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
Register #10 and #11 Low Threshold
Register address = 8Ah and 8Bh. These registers contain the low threshold value. The value is a 16 bit word. The high byte is
stored in register #10 and the low byte in register #11
TABLE 11 - LOW THRESHOLD REGISTER #10
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
BIT 3
BIT 2
BIT 1
BIT 0
DESCRIPTION
R/W bits. High byte (15:8) of low threshold value
TABLE 12 - LOW THRESHOLD REGISTER #11
BIT 7
BIT 6
BIT 5
BIT 4
DESCRIPTION
R/W bits. Low byte (7:0) of low threshold value
Register #12 and #13 High Threshold
Register address = 8Ch and 8Dh. These registers contain the high threshold value. The value is a 16 bit word. The high byte is
stored in register #12 and the low byte in register #13
TABLE 13 - HIGH THRESHOLD REGISTER #12
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
BIT 3
BIT 2
BIT 1
BIT 0
DESCRIPTION
R/W bits. High byte (15:8) of high threshold value
TABLE 14 - HIGH THRESHOLD REGISTER #13
BIT 7
BIT 6
BIT 5
BIT 4
DESCRIPTION
R/W bits. Low byte (7:0) of high threshold value
Register #14 Interrupt Status Register
Register address = 8Eh. This register contains information about the interrupt status for either proximity or ambient light
measurement and indicates a threshold was exceeded.
TABLE 15 - INTERRUPT STATUS REGISTER #14
BIT 7
N/A
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
int_prox_ ready
int_als_ ready
int_th_low
int_th_high
APPLICATION NOTE
DESCRIPTION
int_prox_ready
R/W bit. Indicates a generated interrupt for proximity
int_als_ready
R/W bit. Indicates a generated interrupt for als
int_th_low
R/W bit. Indicates a low threshold was exceed
int_th_high
R/W bit. Indicates a high threshold was exceed
Once an interrupt is generated, the corresponding status bit goes to 1 and stays there until it is cleared by writing a 1 in the
corresponding bit. For example, when an upper threshold is exceeded, an interrupt is generated. The int_th_hi status bit goes
to 1. It will stay at 1 until it is cleared by overwriting a 1 in the int_th_hi bit. The interrupt pad will be pulled down as long as one
of the status bits is 1.
Revision: 13-Aug-14
Document Number: 84136
13
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
Register #15 Proximity Modulator Timing Adjustment
Register address = 8Fh.
TABLE 16 - MODULATOR TIMING ADJUSTMENT REGISTER #15
BIT 7
BIT 6
MODULATION DELAY TIME
BIT 5
BIT 4
BIT 3
PROXIMITY FREQUENCY
BIT 2
BIT 1
BIT 0
MODULATION DEAD TIME
DESCRIPTION
Modulation delay time
R/W bits. Sets a delay time between infrared emitter signal and infrared input signal
evaluation. This function is to compensate for delays between the emitter and photo
diode when external emitters are used and may also be used with the faster proximity
frequencies. It is used to optimize the measurement signal level.
Proximity frequency
R/W Bits. Sets the proximity infrared signal frequency
The proximity measurement uses a square signal as measurement signal.
Four different frequencies are possible:
00 = 390.625 kHz (Default Setting)
01 = 781.25 kHz
10 = 1.5625 MHz (not recommended)
11 = 3.125 MHz (not recommended)
Modulation dead time
R/W bits. Sets a time period when the reflected infrared signal is not read. This
compensates for the rise time slope of the emitter and resulting slope of the reflected
signal. Values of 0 to 7 are allowed. The default value is 1. This function reduces
possible disturbance effects but also can reduce signal levels.
User access for this register was maintained for applications using external infrared emitters. For applications using only the
internal emitter, the default register values are already optimized for proximity operation: delay time = 0, proximity frequency =
390 kHz, and dead time = 1.
Modulation Delay Time
The proximity function works with a modulated signal. The proximity signal demodulator is frequency and phase sensitive and
references to the transmitted signal. In case of external infrared emitters with additional driver stages, there might be signal
delays that could cause signal loss. By adjusting the “delay time” setting, this additional delay can be compensated. The delay
time can be set to values between 0 and 7. Using external infrared emitters the optimum setting is determined by trying different
settings. The setting with highest readings for proximity at a certain reflection condition should be selected. Since most
applications will use the internal emitter, the default value is 0.
Proximity Frequency
This parameter was used during the development of the VCNL4020. The default setting of f = 390 kHz is the optimum setting.
APPLICATION NOTE
Modulation Dead Time
Due to the emitter rise and fall times, the modulation signal is not a perfect square wave. Instead a slight slope occurs at the
start and end of the signal. The modulation dead time defines a time window or range where the slopes from the received
modulated signal are blanked out. This function eliminates effects from slow slopes, glitches and other noise disturbances on
the received signal. If the modulation dead time is set too long, a portion of the reflected signal will be lost in addition to the rise
time slope. The modulation dead time can be set to values between 0 and 7. The default setting is 1. This setting is sufficient
to suppress noise transients. It is NOT recommended to use the value “0” as a “dead time” setting. When using an external
driver and emitters, it might be necessary to adjust this parameter. An external driver might cause slow slopes, unstable
readings or higher noise. Such effects could be reduced by adjusting this parameter.
Revision: 13-Aug-14
Document Number: 84136
14
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
APPLICATION EXAMPLE
The following example will demonstrate the ease of
using the VCNL4020 sensor. Customers are strongly
encouraged to purchase a sensor starter kit. The kit comes
with a VCNL4020 sensor board.
Offset
During development, the application-specific offset counts
for the sensor were determined. As previously mentioned,
the offset count is affected by the components surrounding
the VCNL4020, the window or cover being used, the
distance from the sensor to the cover and emitter intensity
which is controlled by the forward current. In the following
example, with a cover over the sensor and setting the
emitter current to 100 mA, the offset counts are
5400 counts, Figure 20. Offset counts vary by application
and can be anywhere from 5000 counts to 20 000 counts. It
is important to note that the offset count may change slightly
over time due to, for example, the window becoming
scratched or dirty, or being exposed to high temperature
changes. If possible, the offset value should occasionally be
checked and, if necessary, modified.
Time 0 to A: Power up
• Lower interrupt threshold = 0
• Upper interrupt threshold = FFFF (65535)
• Interrupt flag = 0, interrupt line high
• High limit and low limit flags = 0
FFFF
(65535)
Time A: μC Sleep
• Lower interrupt threshold = 5300
• Upper interrupt threshold = 5500
• Interrupt flag = 0, interrupt line high
• High limit and low limit flags = 0
Upper
threshold
157C h
(5500)
Upper
threshold
(OC: 5400)
Lower
threshold
14B h
(5300)
0
Interrupt flag
t
A
t
0
Fig. 21
16 bit value
Time B: Single Event Above Upper Threshold
• Lower interrupt threshold = 5300
• Upper interrupt threshold = 5500
• Interrupt flag = 0, interrupt line low
• High limit and low limit flags = 0
Time C: Single Event Below Upper Threshold
FFFF
(65535)
Offset
1518 h
(5400)
0
Interrupt flag
t
0
t
Fig. 20
APPLICATION NOTE
16 bit value
By setting the number of occurences before generating an
interrupt to 4, a single proximity value above or below the
thresholds will have no effect as shown in Figure 22.
16 bit value
FFFF
(65535)
set only an upper threshold. However, in other sensing
applications, a lower threshold may also be set. This creates
an operating band where any change in the objects position
would trigger a threshold as shown in Figure 21.
Power Up
As mentioned, there are three variables that need to be set
in the register when the sensor is powered up: the emitter
current, the number of occurrences that must exceed a
threshold to generate an interrupt and the number of
proximity measurements per second. For the application,
the sensor should detect an object at 5 cm distance.
Development testing determined that a current of 100 mA
produces adequate counts for detection. The proximity
measurement rate is set to 7.8125 measurements per
second and the number of occurrences to trigger an
interrupt is set to 4. Based on development testing, with a
hand approximately 5 cm above the window cover, the
resulting count is 5500. This will be used as the upper
threshold.
Upper
threshold
157C h
(5500)
(OC: 5400)
Lower
threshold
14B4 h
(5300)
0
Interrupt flag
A
B
C
t
t
0
Fig. 22
Once an object is detected, the sensor can be switched to
continuous polling or the thresholds can be reprogrammed.
A smartphone application will use a proximity sensor to
detect when the phone is brought to the user’s ear and
disable the touch screen and turn off the backlight. For
other applications, the action taken when an object is
detected is very application specific. For example, soap
may be dispensed, paper towels may be unrolled, a blower
turns on, or a lid is opened.
For smart phone applications it would be typical to initially
Revision: 13-Aug-14
Document Number: 84136
15
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
16 bit value
FFFF
(65535)
Upper
threshold
157C h
(5500)
(OC: 5400)
Lower
threshold
14B4 h
(5300)
0
Interrupt flag
A
B
C
D
FFFF
(65535)
Time G: Call Ends
• Interrupt is generated
• Interrupt flag, int_th_lo is set to 1
• Interrupt line goes low
New Upper
threshold
FFFF
(OC: 5400)
New Lower
threshold
154A h
(5450)
16 bit value
Time D: Upper Threshold Exceeded
Time E: Number of Occurrence > 4
• Interrupt is generated
• Upper interrupt threshold = 5500
• Interrupt flag, int_th_hi is set to 1
• Interrupt line goes low
t
E
0
Interrupt flag
A
B
C
t
0
D
E
F
G
t
t
0
Fig. 23
Fig. 25
In smart phone applications, the thresholds will be
reprogrammed and the sensor will wait for another interrupt
signal. In this case, the upper threshold should be set to a
maximum value since the phone is already next to the user’s
ear and a lower threshold set so when the phone call is
complete and the phone brought away from the ear, the
backlight and touch screen will be turned back on.
The upper threshold needs to be set as high as possible
since an interrupt has already been generated; set to FFFF
(65535). The lower threshold is set to 5450 counts; a value
that is higher than the offset but low enough to indicate the
removal of the phone from the users ear.
Time F: μC Awake, Threshold Reset
• Interrupt is cleared
• Interrupt flag, int_th_hi = 1
• Lower interrupt threshold = 5450
• Upper interrupt threshold = FFFF
• Interrupt flag = 0, interrupt line high
16 bit value
FFFF
(65535)
New Lower
threshold
154A h
(5450)
(OC: 5400)
APPLICATION NOTE
New Upper
threshold
FFFF
0
Interrupt flag
A
B
C
D
E
F
t
t
0
Fig. 24
When the object is removed, the sensor counts will return to
5400 counts and the lower threshold will generate an
interrupt, int_th_low = 1.
Revision: 13-Aug-14
Document Number: 84136
16
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
EXAMPLE REGISTER SETTINGS
When the sensor is powered-up the first time, the default register settings are made for the application.
ACTION
REGISTER SETTING
Set infrared emitter current to 100 mA
REGISTER #3 [83h]: 26, 83, 0A
Set proximity measurement rate to 7.8125 measurements/s
REGISTER # 2 [82h]: 26, 82, 02
Set ambient light sensor mode to normal, the measurement rate to 2 measurements/s
and the averaging to 32 conversions
REGISTER #4 [84h]: 26, 84, 1D
Set number of consecutive measurements that must occur to initiate an interrupt to 4:
Generate an interrupt when the threshold is exceeded . . . . . . . . . . . . . . . . . . . . . . . . . .
Thresholds are for proximity measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Register # 9 [89h]: 26, 89, 42
42 h: int_count_exceed = 4
int_thres_en = 1
int_thres_sel = 0
DEFAULT VALUE SET-UP ONLY AS HEXADECIMAL CODE IS:
26, 83, 0A
write: IRED current = 10
26, 82, 02
write: Prox rate = 02
(= 100 mA)
26, 84, 1D
write: ALS mode = 1D
(= measure/s, auto-offset = on, averaging = 5)
26, 89, 42
write: Int cntr reg = 42
(= int_count_exceed = 4, int_thres_en = 1, int_thres_sel = 0)
(= 8 measure/s)
Set an upper threshold for detecting an object and do not set a lower threshold.
ACTION
REGISTER SETTING
Set lower threshold value to 0 counts
Register #10 (8Ah): 26, 8A, 00
Register #11 (8Bh): 26, 8B, 00
Set upper threshold value to 5860 counts - 16E4 (hex)
Register #12 (8Ch): 26, 8C, 16
Register #13 (8Dh): 26, 8D, E4
Start periodic proximity measurements
Register #0 (80h): 26, 80, 03
Read interrupt status register
Register #14 (8Eh): 26, 8E, 27, xx
APPLICATION NOTE
THIS PROXIMITY SET-UP SHOWN ONLY AS HEXADECIMAL CODE IS:
26, 8A, 00
write: L_TH_HB = 00
26, 8B, 00
write: L_TH_LB = 00
26, 8C, 16
write: H_TH_HB = 16
26, 8D, E4
write: H_TH_LB = E4
26, 80, 03
write: 3: prox_en = 1, selftimed_en = 1
WAIT
at least 400 μs
26, 8E, 27, xx
read: xxxxxxx1, indicates int_th_hi = 1
Assuming an object was detected, the interrupt was cleared and the software reprograms the thresholds to be able to respond
when the object is no longer present. The upper threshold is set to FFFF counts while the lower threshold is set to 5810 counts.
ACTION
REGISTER SETTING
Set lower threshold to 5810 counts - 16B2 (hex)
Register #10 (8Ah): 26, 8A, 16
Register #11 (8Bh): 26, 8B, B2
Set upper threshold to maximum counts - FFFF (hex)
Register #12 (8Ch): 26, 8C, FF
Register #13 (8Dh): 26, 8D, FF
Start periodic proximity measurements
Register #0 (80h): 26, 80, 03
Read interrupt status register
Register #14 (8Eh): 26, 8E, 27, xx
Revision: 13-Aug-14
Document Number: 84136
17
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
THIS PROXIMITY SET-UP SHOWN ONLY AS HEXADECIMAL CODE IS:
26, 8A, 16
write: L_TH_HB = 16
26, 8B, B2
write: L_TH_LB = B2
26, 8C, FF
write: H_TH_HB = FF
26, 8D, FF
write: H_TH_LB = FF
26, 80, 03
write: 3: prox_en = 1, selftimed_en = 1
WAIT
at least 400 μs
26, 8E, 27, xx
read: xxxxxx1x, indicates int_th_lo = 1
PROGRAMM FLOW CHART
Initial setup for proximity sensor. Note that default values do not need to be programmed.
Start Proximity Sensor Set Up
Infrared Emitter Current Reg#3: 10
Proximity Rate Reg#2: 2
Ambient Light Parameter Reg#4: 29
Interrupt Control Reg#9: 66
Set infrared emitter current to 100 mA
Set proximity measurement rate to 8 measurements/s
Accept default values of 2 measurements/s,
auto-offset is on and averaging is equal to 5,
meaning 32 conversions are averaged
Set 4 measurements above threshold to generate
an interrupt (64): 4, [b7-b5:010]
Enable interrupt when threshold value exceeded (2)
Apply threshold values to proximity not ambient light (0)
APPLICATION NOTE
End Proximity Sensor Set Up
Revision: 13-Aug-14
Document Number: 84136
18
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
Defining the Upper Threshold
The upper threshold value is set so that an interrupt is generated when an object comes close enough to the sensor to create
a defined increase in counts. In this example, the offset counts are 5760 and the upper threshold is set 100 counts above the
offset.
Selftimed Proximity Measurement
OC_new = OC_old?
Check Offset Count
Clear Interrupt
(int_th_hi = 1, int_th_lo = 1)
Clear Interrupt Flags
H_TH = 5860
Set High Threshold limit
TH = OC + H_TH = 5760 + 100
Low Threshold (HB) Reg#10: 0
Default Value
Low Threshold (LB) Reg#11: 0
Default Value
High Threshold (HB) Reg#12: 5632
Set Threshold Registers, High Byte
High Threshold (LB) Reg#13: 228
Set Threshold Registers, Low Byte
Command Reg#0: 3
Enable Selftimed Measurement (2),
Define and Start for Proximity (1)
μC Enters Sleep Mode
APPLICATION NOTE
When an object does come close enough to the sensor to generate 100 counts and 4 consecutive measurements occur at or
above this level, the interrupt line will go LOW and the interrupt can be read by the microcontroller in register 14 where int_th_hi
will equal 1.
Revision: 13-Aug-14
Document Number: 84136
19
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
Redefine Thresholds
Once the counts have surpassed the initial high threshold, a low threshold needs to be set to generate an interrupt when the
object is removed. The upper threshold should no longer lead to an interrupt and is therefore set to maximum value. The offset
counts within this example are chosen for 5760 and then upper threshold set to 100 counts above this, so to 5860. The lower
threshold is just defined for half of this 100 delta counts, so to 50. With this the lower threshold is set to 5760 + 50 = 5810.
Selftimed Proximity Measurement
Clear Interrupt
(int_th_hi = 1, int_th_lo = 1)
L_TH = 5810
Clear Interrupt Flags
Set Low Threshold L_TH
Offset + L _TH = 5760 + 100/2 = 5810
Low Threshold (HB) Reg#10: 5632
Set Low Threshold Register, High Byte
Low Threshold (LB) Reg#11: 178
Set Low Threshold Register, Low Byte
High Threshold (HB) Reg#12: FF
Set High Threshold Registers, High Byte
High Threshold (LB) Reg#13: FF
Set High Threshold Registers, Low Byte
Command Reg#0: 3
Enable Selftimed Measurement (2),
Define and Start for Proximity (1)
μC Enters Sleep Mode
APPLICATION NOTE
When the object is removed and 4 consecutive measurements occur at or below the lower threshold, the interrupt line will go
LOW and the interrupt can be read by the microcontroller in register 14 where int_th_lo will equal 1.
Revision: 13-Aug-14
Document Number: 84136
20
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000
Application Note
www.vishay.com
Vishay Semiconductors
Designing VCNL4020 into an Application
Complete Flow Chart
Selftimed Proximity Measurement
Selftimed Proximity Measurement
OC_new = OC_old?
Clear Interrupt
(int_th_hi = 1, int_th_lo = 1)
Clear Interrupt
(int_th_hi = 1, int_th_lo = 1)
Start Proximity Sensor Set Up
L_TH = 5810
Infrared Emitter Current Reg#3: 10
H_TH = 5860
Low Threshold (HB) Reg#10: 5632
Low Threshold (HB) Reg#10: 0
Proximity Rate Reg#2: 2
Low Threshold (LB) Reg#11: 178
Low Threshold (LB) Reg#11: 0
Ambient Light Parameter Reg#4: 29
High Threshold (HB) Reg#12: FF
Interrupt Control Reg#9: 66
High Threshold (HB) Reg#12: 5632
End Proximity Sensor Set Up
High Threshold (LB) Reg#13: 228
High Threshold (LB) Reg#13: FF
Command Reg#0: 3
Command Reg#0: 3
int_line = L
int_th _lo = 1
Int_line = L
int_th_hi = 1
μC Enters Sleep Mode
μC Enters Sleep Mode
APPLICATION NOTE
Interrupt
(int_th_hi = 1)
Revision: 13-Aug-14
Interrupt
(int_th_lo = 1)
Document Number: 84136
21
For technical questions, contact: [email protected]
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000