VCNL3020
www.vishay.com
Vishay Semiconductors
Rev. 1.0, 25-Jun-12
5
Document Number: 84150
For technical questions, contact: sensorstechsupport@vishay.com
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
2. I
2
C Interface
The VCNL3020 contains seventeen 8 bit registers for operation control, parameter setup and result buffering. All registers are
accessible via I
2
C communication. Figure 13 shows the basic I
2
C communication with VCNL3020.
The built in I
2
C interface is compatible with all I
2
C modes (standard, fast, and high speed).
I
2
C H-level range = 1.7 V to 5 V.
Please refer to the I
2
C specification from NXP for details.
Fig. 10 - Send Byte/Receive Byte Protocol
Device Address
The VCNL3020 has a fix slave address for the host
programming and accessing selection. The predefined 7 bit
I
2
C bus address is set to 0010 011 = 13h. The least
significant bit (LSB) defines read or write mode. Accordingly
the bus address is set to 0010 011x = 26h for write, 27h for
read.
Register Addresses
VCNL3020 has seventeen user accessible 8 bit registers.
The register addresses are 80h (register #0) to 90h
(register #16).
REGISTER FUNCTIONS
Register #0 Command Register
Register address = 80h
The register #0 is for starting proximity measurements. This register contains a flag bit for data ready indication.
Note
• Beside prox_en first selftimed_en needs to be set. On-demand measurement mode is disabled if selftimed_en bit is set. For the selftimed_en
mode changes in reading rates (reg #2) can be made only when b0 (selftimed_en bit) = 0.
S
Slave address
Rd
Receive byte Read data from VCNL3020
A
Register address
A
Wr
P
S
Slave address
PA
A
Data byte
Send byte Write command to VCNL3020
S = start condition
P = stop condition
A = acknowledge
Host action
VCNL3020 response
S
Slave address
A Register address
A
Wr
P
Data byte
A
22313-3
TABLE 1 - COMMAND REGISTER #0
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
config_lock n/a prox_data_rdy n/a prox_od n/a prox_en selftimed_en
Description
config_lock Read only bit. Value = 1
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.
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).
prox_en R/W bit. Enables periodic proximity measurement
selftimed_en
R/W bit. Enables state machine and LP oscillator for self timed measurements; no measurement is
performed until the corresponding bit is set