Datasheet
PCA9670 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
Product data sheet Rev. 3 — 30 May 2013 10 of 35
NXP Semiconductors
PCA9670
Remote 8-bit I/O expander for Fm+ I
2
C-bus with reset
Remark: The reading of the Device ID can be stopped anytime by sending a NACK
command.
Remark: If the master continues to ACK the bytes after the third byte, the PCA9670
rolls back to the first byte and keeps sending the Device ID sequence until a NACK
has been detected.
For the PCA9670, the Device ID is as shown in Figure 10
.
Simple code for reading Device ID:
<S> <F8h> <ACK> <slave address> <ACK> <SR> <F9h > <ACK> <DATA1>
<ACK> <DATA2> <ACK> <DATA3> <NACK> <P>
Fig 10. PCA9670 Device ID field
0
002aac264
0 0
00 0 0 0 0 0 0
00 0 0 0 0 0 0
revision
1
0 0 0 0
part identification
manufacturer
If more than 2 bytes are read, the slave device loops back to the first byte (manufacturer byte) and keeps sending data until the
master generates a ‘no acknowledge’.
Fig 11. Device ID field reading
002aac267
A6 A5 A4 A3 A2 A1 A0
I
2
C-bus slave address
of the device to be identified
A
no acknowledge
from master
P
STOP condition
M
11
M
10
M9 M8 M7 M6 M5 M4
Sr
repeated START
condition
1 A
R/W
S 1 1 1 1 1 0 0
Device ID address
START condition
0 A
R/W
acknowledge from
one or several slaves
0 A
don’t care
acknowledge from
slave to be identified
1 1 1 1 1 0 0
Device ID address
acknowledge from
slave to be identified
A M3 M2 M1 M0
acknowledge
from master
manufacturer name = 000000000000
P8 P7 P6 P5 A
acknowledge
from master
P4 P3 P2 P1 P0 R2 R1 R0
part identification = 100000000 revision = 000
