English
Language : 

CAP1166 Datasheet, PDF (15/79 Pages) Microchip Technology – 6 Channel Capacitive Touch Sensor with 6 LED Drivers
CAP1166
1. CAP1166 supports I2C fast mode at 400kHz. This covers the SMBus max time of 100kHz.
2. Minimum frequency for SMBus communications is 10kHz.
3. The SMBus slave protocol will reset if the clock is held at a logic ‘0’ for longer than 30ms. This timeout function-
ality is disabled by default in the CAP1166 and can be enabled by writing to the TIMEOUT bit. I2C does not have
a timeout.
4. The SMBus slave protocol will reset if both the clock and data lines are held at a logic ‘1’ for longer than 200µs
(idle condition). This function is disabled by default in the CAP1166 and can be enabled by writing to the TIME-
OUT bit. I2C does not have an idle condition.
5. I2C devices do not support the Alert Response Address functionality (which is optional for SMBus).
6. I2C devices support block read and write differently. I2C protocol allows for unlimited number of bytes to be sent
in either direction. The SMBus protocol requires that an additional data byte indicating number of bytes to read /
write is transmitted. The CAP1166 supports I2C formatting only.
4.3 SMBus Protocols
The CAP1166 is SMBus 2.0 compatible and supports Write Byte, Read Byte, Send Byte, and Receive Byte as valid
protocols as shown below.
All of the below protocols use the convention in Table 4-2.
TABLE 4-2: PROTOCOL FORMAT
Data Sent to Data Sent to the
Device
HOst
Data sent
Data sent
4.3.1 SMBUS WRITE BYTE
The Write Byte is used to write one byte of data to a specific register as shown in Table 4-3.
TABLE 4-3: WRITE BYTE PROTOCOL
Start
Slave
Address
WR
ACK
1 ->0 YYYY_YYY
0
0
Register
Address
XXh
ACK
0
Register Data
XXh
ACK
0
Stop
0 -> 1
4.3.2 SMBUS READ BYTE
The Read Byte protocol is used to read one byte of data from the registers as shown in Table 4-4.
TABLE 4-4: READ BYTE PROTOCOL
Start
Slave
Address
WR
ACK
Register
Address
1->0 YYYY_YYY 0
0
XXh
ACK
0
Start
1 ->0
Slave
Address
YYYY_YYY
RD ACK
10
Register
Data
XXh
NACK Stop
1 0 -> 1
4.3.3 SMBUS SEND BYTE
The Send Byte protocol is used to set the internal address register pointer to the correct address location. No data is
transferred during the Send Byte protocol as shown in Table 4-5.
APPLICATION NOTE: The Send Byte protocol is not functional in Deep Sleep (i.e., DSLEEP bit is set).
TABLE 4-5:
Start
1 -> 0
SEND BYTE PROTOCOL
Slave Address
WR
YYYY_YYY
0
ACK
0
Register Address
XXh
ACK
0
Stop
0 -> 1
 2015 Microchip Technology Inc.
DS00001621B-page 15