PCA9698
PCA9698
40-bit Fm+ I2C-bus advanced I/O port with RESET, OE and INT
Rev. 3 — 3 August 2010 Product data sheet
1. General description
The PCA9698 provides 40-bit parallel input/output (I/O) port expansion for I2C-bus
applications organized in 5 banks of 8 I/Os. At 5 V supply voltage, the outputs are capable
of sourcing 10 mA and sinking 25 mA with a total package load of 1 A to allow direct
driving of 40 LEDs. Any of the 40 I/O ports can be configured as an input or output.
The PCA9698 is the first GPIO device in a new Fast-mode Plus (Fm+) family. Fm+
devices offer higher frequency (up to 1 MHz) and longer, more densely populated bus
operation (up to 4000 pF).
An open-drain interrupt output pin (INT) allows monitoring of the input pins and is asserted
each time a change occurs in one or several input ports (unless masked).
The Output Enable pin (OE) 3-states any I/O selected as output and can be used as an
input signal to blink or dim LEDs (PWM with frequency > 80 Hz and change duty cycle).
A ‘GPIO All Call’ command allows to program multiple Advanced GPIOs at the same time
even if they have different I2C-bus addresses. This allows optimal code programming
when more than one device needs to be programmed with the same instruction or if all
outputs need to be turned on or off at the same time (for example, LED test).
The Device ID, hard coded in the PCA9698, allows the system master to read
manufacturer, part type and revision information.
The SMBus Alert feature allows the SMBALERT pins of multiple devices with this feature
to be connected together to form a wired-AND signal and to be used in conjunction with
the SMBus Alert Response Address.
The internal Power-On Reset (POR) or hardware reset pin (RESET) initializes the 40 I/Os
as inputs. Three address select pins configure one of 64 slave addresses.
The PCA9698 is available in 56-pin TSSOP and HVQFN packages and is specified over
the −40 °C to +85 °C industrial temperature range.
3. Applications
Servers
RAID systems
Industrial control
Medical equipment
PLCs
Cell phones
Gaming machines
Instrumentation and test measurement
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
4. Ordering information
Table 1. Ordering information
Tamb = −40 °C to +85 °C
Type number Topside mark Package
Name Description Version
PCA9698DGG PCA9698DGG TSSOP56 plastic thin shrink small outline package; 56 leads; SOT364-1
body width 6.1 mm
PCA9698BS PCA9698BS HVQFN56 plastic thermal enhanced very thin quad flat package; SOT684-1
no leads; 56 terminals; body 8 × 8 × 0.85 mm
5. Block diagram
OE
PCA9698
IO0_0
IO0_1
8-bit INPUT/ IO0_2
AD0
ADDRESS OUTPUT IO0_3
AD1 PORTS
DECODER IO0_4
AD2
read pulse 0 BANK 0 IO0_5
write pulse 0 IO0_6
IO0_7
BANK 1
SCL LOW PASS
INPUT I2C-BUS/SMBUS BANK 2
SDA FILTERS CONTROL
BANK 3
IO4_0
IO4_1
8-bit INPUT/ IO4_2
OUTPUT IO4_3
VDD PORTS
IO4_4
POWER-ON read pulse 4 BANK 4 IO4_5
VSS
RESET IO4_6
write pulse 4
RESET IO4_7
INTERRUPT
MANAGEMENT
INT/SMBALERT
LP FILTER
002aab935
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
OE
OEPOL
I/O
configuration VDD
register
data from
shift register D Q OUTx
FF
write configuration
CK Q
pulse
IOx_y
output port
register
data from
shift register D Q
D Q
FF Mx[y]
FF OCH
CK
write pulse CK
STOP INTERRUPT
pulse INT
MANAGEMENT
input port
register
D Q
input port
FF register data
(Ix[y])
read pulse CK
polarity inversion
register
data from
D Q polarity inversion
shift register
register data
FF (Px[y])
write polarity
pulse CK
002aab936
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
6. Pinning information
6.1 Pinning
SDA 1 56 RESET
SCL 2 55 INT/SMBALERT
IO0_0 3 54 IO4_7
IO0_1 4 53 IO4_6
IO0_2 5 52 IO4_5
VSS 6 51 VSS
IO0_3 7 50 IO4_4
IO0_4 8 49 IO4_3
IO0_5 9 48 IO4_2
IO0_6 10 47 IO4_1
VSS 11 46 VDD
IO0_7 12 45 IO4_0
IO1_0 13 44 IO3_7
IO1_1 14 43 IO3_6
PCA9698DGG
IO1_2 15 42 IO3_5
IO1_3 16 41 IO3_4
IO1_4 17 40 IO3_3
VDD 18 39 VSS
IO1_5 19 38 IO3_2
IO1_6 20 37 IO3_1
IO1_7 21 36 IO3_0
IO2_0 22 35 IO2_7
VSS 23 34 VSS
IO2_1 24 33 IO2_6
IO2_2 25 32 IO2_5
IO2_3 26 31 IO2_4
AD0 27 30 OE
AD1 28 29 AD2
002aab932
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
48 INT/SMBALERT
49 RESET
56 IO0_3
54 IO0_2
53 IO0_1
52 IO0_0
47 IO4_7
46 IO4_6
45 IO4_5
43 IO4_4
50 SDA
51 SCL
55 VSS
44 VSS
terminal 1
index area
IO0_4 1 42 IO4_3
IO0_5 2 41 IO4_2
IO0_6 3 40 IO4_1
VSS 4 39 VDD
IO0_7 5 38 IO4_0
IO1_0 6 37 IO3_7
IO1_1 7 36 IO3_6
PCA9698BS
IO1_2 8 35 IO3_5
IO1_3 9 34 IO3_4
IO1_4 10 33 IO3_3
VDD 11 32 VSS
IO1_5 12 31 IO3_2
IO1_6 13 30 IO3_1
IO1_7 14 29 IO3_0
IO2_0 15
VSS 16
IO2_1 17
IO2_2 18
IO2_3 19
AD0 20
AD1 21
AD2 22
OE 23
IO2_4 24
IO2_5 25
IO2_6 26
VSS 27
IO2_7 28
002aab934
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
[1] HVQFN56 package die supply ground is connected to both VSS pins and exposed center pad. VSS pins
must be connected to supply ground for proper device operation. For enhanced thermal, electrical, and
board level performance, the exposed pad needs to be soldered to the board using a corresponding
thermal pad on the board and for proper heat conduction through the board, thermal vias need to be
incorporated in the printed-circuit board in the thermal pad region.
7. Functional description
Refer to Figure 1 “Block diagram of PCA9698”.
slave address
A6 A5 A4 A3 A2 A1 A0 R/W
programmable
002aab937
The last bit of the first byte defines the operation to be performed. When set to logic 1 a
read is selected while a logic 0 selects a write operation.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
R/W R/W
0 0 0 1 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 R/W
002aab938 002aab939 002aab940
Fig 6. Alert Response address Fig 7. GPIO All Call address Fig 8. Device ID address
AI − D5 D4 D3 D2 D1 D0
default at power-up
1 0 0 0 0 0 0 0
or after RESET
register number
Auto-Increment 002aab941
The lowest 6 bits are used as a pointer to determine which register will be accessed.
Registers are divided into 2 categories: 5-bank register category, and 1-bank register
category.
Only a command register code with the 7 least significant bits equal to the 28 allowable
values as defined in Table 3 “Register summary” will be acknowledged. Reserved or
undefined command codes will not be acknowledged. At power-up, this register defaults
to 80h, with the AI bit set to ‘1’, and the lowest 7 bits set to ‘0'.
During a write operation, the PCA9698 will acknowledge a byte sent to the OP, PI, IOC,
MSK, OUTCONF, ALLBNK, and MODE registers, but will not acknowledge a byte sent to
the IPx registers since these are read-only registers.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
If the Auto-Increment flag is set (AI = 1), the 3 least significant bits are automatically
incremented after a read or write. This allows the user to program and/or read the
5 register banks sequentially.
If more than 5 bytes of data are written and AI = 1, previous data in the selected registers
will be overwritten or reread. Reserved registers are skipped and not accessed (refer to
Table 3).
If the Auto-Increment flag is cleared (AI = 0), the 3 least significant bits are not
incremented after data is read or written, only one register will be repeatedly read or
written.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
Table 4. IP0 to IP4 - Input Port registers (address 00h to 04h) bit description
Legend: * default value ‘X’ determined by the externally applied logic level.
Address Register Bit Symbol Access Value Description
00h IP0 7 to 0 I0[7:0] R XXXX XXXX* Input Port register bank 0
01h IP1 7 to 0 I1[7:0] R XXXX XXXX* Input Port register bank 1
02h IP2 7 to 0 I2[7:0] R XXXX XXXX* Input Port register bank 2
03h IP3 7 to 0 I3[7:0] R XXXX XXXX* Input Port register bank 3
04h IP4 7 to 0 I4[7:0] R XXXX XXXX* Input Port register bank 4
The Polarity Inversion register can invert the logic states of the port pins. The polarity of
the corresponding bit is inverted when Px[y] bit in the PI register is set to 1. The polarity of
the corresponding bit is not inverted when Px[y] bits in the PI register is set to 0.
Where ‘x’ refers to the bank number (0 to 4); ‘y’ refers to the bit number (0 to 7).
Table 5. OP0 to OP4 - Output Port registers (address 08h to 0Ch) bit description
Legend: * default value.
Address Register Bit Symbol Access Value Description
08h OP0 7 to 0 O0[7:0] R/W 0000 0000* Output Port register bank 0
09h OP1 7 to 0 O1[7:0] R/W 0000 0000* Output Port register bank 1
0Ah OP2 7 to 0 O2[7:0] R/W 0000 0000* Output Port register bank 2
0Bh OP3 7 to 0 O3[7:0] R/W 0000 0000* Output Port register bank 3
0Ch OP4 7 to 0 O4[7:0] R/W 0000 0000* Output Port register bank 4
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
Where ‘x’ refers to the bank number (0 to 4); ‘y’ refers to the bit number (0 to 7).
Table 6. PI0 to PI4 - Polarity Inversion registers (address 10h to 14h) bit description
Legend: * default value.
Address Register Bit Symbol Access Value Description
10h PI0 7 to 0 P0[7:0] R/W 0000 0000* Polarity Inversion register bank 0
11h PI1 7 to 0 P1[7:0] R/W 0000 0000* Polarity Inversion register bank 1
12h PI2 7 to 0 P2[7:0] R/W 0000 0000* Polarity Inversion register bank 2
13h PI3 7 to 0 P3[7:0] R/W 0000 0000* Polarity Inversion register bank 3
14h PI4 7 to 0 P4[7:0] R/W 0000 0000* Polarity Inversion register bank 4
Where ‘x’ refers to the bank number (0 to 4); ‘y’ refers to the bit number (0 to 7).
Table 7. IOC0 to IOC4 - I/O Configuration registers (address 18h to 1Ch) bit description
Legend: * default value.
Address Register Bit Symbol Access Value Description
18h IOC0 7 to 0 C0[7:0] R/W 1111 1111* I/O Configuration register bank 0
19h IOC1 7 to 0 C1[7:0] R/W 1111 1111* I/O Configuration register bank 1
1Ah IOC2 7 to 0 C2[7:0] R/W 1111 1111* I/O Configuration register bank 2
1Bh IOC3 7 to 0 C3[7:0] R/W 1111 1111* I/O Configuration register bank 3
1Ch IOC4 7 to 0 C4[7:0] R/W 1111 1111* I/O Configuration register bank 4
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
Mx[y] = 0: A level change at the I/O will generate an interrupt if IOx_y defined as input
(Cx[y] in IOC register = 1).
Mx[y] = 1: A level change in the input port will not generate an interrupt if IOx_y defined
as input (Cx[y] in IOC register = 1).
Table 8. MSK0 to MSK4 - Mask interrupt registers (address 20h to 24h) bit description
Legend: * default value.
Address Register Bit Symbol Access Value Description
20h MSK0 7 to 0 M0[7:0] R/W 1111 1111* Mask Interrupt register bank 0
21h MSK1 7 to 0 M1[7:0] R/W 1111 1111* Mask Interrupt register bank 1
22h MSK2 7 to 0 M2[7:0] R/W 1111 1111* Mask Interrupt register bank 2
23h MSK3 7 to 0 M3[7:0] R/W 1111 1111* Mask Interrupt register bank 3
24h MSK4 7 to 0 M4[7:0] R/W 1111 1111* Mask Interrupt register bank 4
This register controls the configuration of the output ports as open-drain or totem-pole.
The 4 least significant bits control the output architecture for bank 0, 2 bits at a time.
The 4 most significant bits control the output architectures for bank 1 to bank 4, each bit
controlling one bank.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
This register allows all the I/Os configured as outputs to be programmed with the same
logic value. This programming is applied to all the banks or a selection of banks.
When this register is programmed, values in the Output Port registers are not changed
and do not reflect the states of I/Os configured as outputs anymore.
7.4.7.1 Examples
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
• IOAC bit controls the ability of the device to respond to a ‘GPIO All Call’ command
(see Section 7.6 “GPIO All Call” for more information), allowing programming of more
than one device at the same time.
– IOAC = 0: The device cannot respond to a ‘GPIO All Call’ command.
– IOAC = 1: The device can respond to a ‘GPIO All Call’ command.
Remark: The ‘GPIO ALL CALL’ command defined for the PCA9698 is different from
the I2C-bus protocol ‘General Call’ command.
• SMBA bit controls the capability of the PCA9698 to respond to a SMBAlert command.
– SMBA = 0: PCA9698 does not respond to an Alert Response Address.
– SMBA = 1: PCA9698 responds to an Alert Response Address. Bits 5, 6 and 7 are
reserved and must be programmed with 0s.
• Unused bits (bits 2, 5, 6 and 7) must be programmed with 0s for proper device
operation.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
• 12 bits with the manufacturer name, unique per manufacturer (e.g., NXP)
• 9 bits with the part identification, assigned by manufacturer (e.g., PCA9698)
• 3 bits with the die revision, assigned by manufacturer (e.g., RevX)
The Device ID is read-only, hard-wired in the device and can be accessed as follows:
1. START command
2. The master sends the Reserved Device ID I2C-bus address followed by the R/W bit
set to ‘0’ (write): ‘1111 1000’.
3. The master sends the I2C-bus slave address of the slave device it needs to identify.
The LSB is a ‘Don’t care’ value. Only one device must acknowledge this byte (the one
that has the I2C-bus slave address).
4. The master sends a Re-START command.
Remark: A STOP command followed by a START command will reset the slave state
machine and the Device ID Read cannot be performed. Also, a STOP command or a
Re-START command followed by an access to another slave device will reset the
slave state machine and the Device ID Read cannot be performed.
5. The master sends the Reserved Device ID I2C-bus address followed by the R/W bit
set to ‘1’ (read): ‘1111 1001’.
6. The Device ID Read can be done, starting with the 12 manufacturer bits (first byte +
4 MSBs of the second byte), followed by the 9 part identification bits (4 LSBs of the
second byte + 5 MSBs of the third byte), and then the 3 die revision bits (3 LSBs of
the third byte).
7. The master ends the reading sequence by NACKing the last byte, thus resetting the
slave device state machine and allowing the master to send the STOP command.
Remark: The reading of the Device ID can be stopped anytime by sending a NACK
command.
If the master continues to ACK the bytes after the third byte, the PCA9698 rolls back
to the first byte and keeps sending the Device ID sequence until a NACK has been
detected.
manufacturer 0 0 0 0 0 0 0 0 0 0 0 0
part identification 0 0 0 0 0 0 0 0 0
revision 0 0 0
002aab942
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
The ‘GPIO All Call’ command can be performed only for a write operation and cannot be
used in conjunction with a read operation.
• Master initiates a command sequence with the START command, the ‘GPIO All Call’
command associated with a Write command: Start − 1101 110 + Write
• All the devices that are programmed to respond to this command will acknowledge
• The master then sends the data and all the devices that are programmed to respond
acknowledge the byte(s)
• The master ends the sequence by sending a STOP or Repeated START command.
If the master initiates a ‘GPIO All Call’ sequence with a Read command, none of the slave
devices acknowledge.
• during the ACK phase every time an Output Port register is modified. The output state
is then updated one-by-one (at a bank level): OCH bit = 1 (register 2Ah, bit 1)
• at a STOP command allowing all the outputs to change at the exact same moment:
OCH bit = 0 (register 2Ah, bit 1).
Change of the outputs at the STOP command allows synchronizing of all the programmed
banks in a single device, and also allows synchronizing outputs of more than one
PCA9698.
Example 1: Only one PCA9698 is used on the I2C-bus and all the outputs need to change
at the same time.
Example 2: More than one PCA9698 is used on the I2C-bus and all the outputs need to
change at the same time.
• OCH bit (Mode Selection Register, bit 1) must be equal to ‘0’ in all the devices.
• The master device must access the devices one-by-one.
• Access to each device must be separated by a Re-START command.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
• When all the devices have been accessed, the master must generate a STOP
command.
• At the STOP command, all the PCA9698s that have been accessed will update their
Output Port registers that have been programmed and change the output states all at
the same time.
Remark: The PCA9698 has one level of buffers to store 5 bytes of data, and the actual
Output Port registers will get updated on the STOP condition. If the master sends more
than 5 bytes of data (with AI = 1), the data in the buffer will get overwritten.
It is highly recommended to program the MSK register, and the IOC registers during the
initialization sequence after power-up, since any change to them during Normal mode
operation may cause undesirable interrupt events to happen.
Remark: Changing an I/O from an output to an input may cause a false interrupt to occur
if the state of the pin does not match the contents of the Input Port register.
Only a Read of the Input Port register that contains the bit(s) image of the input(s) that
generated the interrupt clears the interrupt condition.
If more than one input register changed state before a read of the Input Port register is
initiated, the interrupt is cleared when all the input registers containing all the inputs that
changed are read.
Example: If IO0_5, IO2_3, and IO3_7 change state at the same time, the interrupt is
cleared only when INREG0, INREG2, and INREG3 are read.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
The SMBALERT pins of multiple devices with this feature can be connected together to
form a wired-AND signal and can be used in conjunction with the SMBus Alert Response
Address. ‘SMBus Alert’ message is 2 bytes long and allows the master to determine
which device generated the Alert (SMBALERT going LOW).
When SMBA bit = 1 (register 2Ah, bit 4), the PCA9698 supports the SMBus Alert function
and its INT/SMBALERT pin may be connected as an SMBus Alert signal.
When a master device senses that an ‘SMBus Alert’ condition is present on the ALERT
line (SMBALERT pin of the PCA9698 and/or other devices going LOW):
• It accesses the slave device(s) through the Alert Response Address (ARA)
associated with a Read Command: Start − 0001 100 + R/W = 1.
• If the PCA9698 is the device that generated the ‘SMBus Alert’ condition (and its
SMBA bit = 1), it will acknowledge the SMBus Alert command and respond by
transmitting its slave address on the SDA line. The 8th bit (LSB) of the slave address
byte will be a zero.
• The device will acknowledge an ARA command only if the SMBALERT signal has
been previously asserted (SMBALERT = LOW).
• If more than one device pulls its SMBALERT pin LOW, the highest priority (lowest
I2C-bus address) device will win communication rights via standard I2C-bus arbitration
during the slave address transfer.
• If the PCA9698 wins the arbitration, its SMBALERT pin will become inactive (will go
HIGH) at the completion of the slave address transmission (9th clock pulse, NACK
phase).
• If the PCA9698 loses the arbitration, its SMBALERT pin will remain active (will stay
LOW).
• The master ends the sequence by sending a NACK and then STOP command.
• If the SMBALERT is still LOW after transfer is complete, it means that more than one
device made the request. Another full transaction is then required.
Remark: If the master initiates an ‘SMBus Alert’ sequence with a Write Command, none
of the slave devices acknowledge. The SMBALERT is open-drain and requires a pull-up
resistor to VDD.
Remark: If the master sends an ACK after reading the I2C-bus slave address, the slave
device keeps sending ‘1’s until a NACK is received.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
• When a LOW level is applied to the OE pin, with OEPOL = 0 (register 2Ah, bit 4) or a
HIGH level is applied to the OE pin, with OEPOL = 1 (register 2Ah, bit 0), all the I/Os
configured as outputs are enabled and the logic value programmed in their respective
OP registers is applied to the pins.
• When a HIGH level is applied to the OE pin, with OEPOL = 0 (register 2Ah, bit 0) or a
LOW level is applied to the OE pin, with OEPOL = 1 (register 2Ah, bit 0), all the I/Os
configured as outputs are 3-stated.
For applications requiring LED blinking with brightness control, this pin can be used to
control the brightness by applying a high frequency PWM signal on the OE pin. LEDs can
be blinked using the Output Port registers and can be dimmed using the PWM signal on
the OE pin thus controlling the brightness by adjusting the duty cycle.
Default is OEPOL = 0, so if the OE pin is held HIGH, the outputs are disabled. The OE pin
needs to be pulled LOW or OEPOL changed to ‘1’ to enable the outputs.
It is recommended to define the required polarity of the OE input by programing the value
of OEPOL before programming the configuration registers (IOC register).
The robust state machine does not respond until it sees a valid START condition and the
50 ns noise filter will filter out any insertion glitches. The PCA9698 will not cause
corruption of active data on the bus nor will the device be damaged or cause damage to
devices already on the bus when similar featured devices are being used.
7.14 Standby
The PCA9698 goes into standby when the I2C-bus is idle. Standby supply current is lower
than 1.0 μA (typical).
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
SDA
SCL
SDA
SCL
S P
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
SDA
SCL
SLAVE
002aaa966
8.3 Acknowledge
The number of data bytes transferred between the START and the STOP conditions from
transmitter to receiver is not limited. Each byte of eight bits is followed by one
acknowledge bit. The acknowledge bit is a HIGH level put on the bus by the transmitter,
whereas the master generates an extra acknowledge related clock pulse.
A slave receiver which is addressed must generate an acknowledge after the reception of
each byte. Also a master must generate an acknowledge after the reception of each byte
that has been clocked out of the slave transmitter. The device that acknowledges has to
pull down the SDA line during the acknowledge clock pulse, so that the SDA line is stable
LOW during the HIGH period of the acknowledge related clock pulse; set-up and hold
times must be taken into account.
A master receiver must signal an end of data to the transmitter by not generating an
acknowledge on the last byte that has been clocked out of the slave. In this event, the
transmitter must leave the data line HIGH to enable the master to generate a STOP
condition.
data output
by transmitter
not acknowledge
data output
by receiver
acknowledge
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
Data is read from the PCA9698 registers using ‘Read Byte’ and ‘Receive Byte’ transfers
(see Figure 19 and Figure 20).
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
NXP Semiconductors
acknowledge
from slave
acknowledge
from slave acknowledge acknowledge acknowledge acknowledge acknowledge STOP
from slave from slave from slave from slave from slave condition
slave address command register
SDA S A6 A5 A4 A3 A2 A1 A0 0 A 1 0 0 0 1 0 0 0 A DATA BANK 0 A DATA BANK 1 A DATA BANK 2 A DATA BANK 3 A DATA BANK 4 A P
Output Port
START condition R/W register bank 0
is selected
AI = 1
write to port when OCH = 0
tv(Q)
data valid
All information provided in this document is subject to legal disclaimers.
all banks
write to port when OCH = 1
tv(Q)
40-bit Fm+ I2C-bus advanced I/O port with RESET, OE and INT
Rev. 3 — 3 August 2010
data valid data valid data valid data valid data valid
bank 0 bank 1 bank 2 bank 3 bank 4
002aab944
OE is LOW (with OEPOL = 0) or HIGH (with OEPOL = 1) to observe a change in the outputs.
If more than 5 bytes are written, previous data are overwritten.
Fig 15. Write to the 5 output ports
PCA9698
© NXP B.V. 2010. All rights reserved.
26 of 48
NXP Semiconductors PCA9698
40-bit Fm+ I2C-bus advanced I/O port with RESET, OE and INT
write to port
tv(Q)
OE is LOW (with OEPOL = 0) or HIGH (with OEPOL = 1) to observe a change in the outputs.
OCH = 0. When OCH = 1, the change in the port happens at the acknowledge phase.
Two, three, or four adjacent banks can be programmed by using the Auto-Increment feature (AI = 1) and change at the
corresponding output port becomes effective at the STOP command when OCH = 0, or at each acknowledge when OCH = 1.
Fig 16. Write to a specific output port
acknowledge
from slave acknowledge acknowledge acknowledge
from slave from slave from slave
slave address command register
START condition R/W AI = 1 01 0000 for Polarity Inversion register programming bank 0
01 1000 for Configuration register programming bank 0
10 0000 for Mask interrupt register programming bank 0
STOP
condition
002aab946
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
acknowledge
from slave acknowledge acknowledge
from slave from slave
slave address command register
SDA S A6 A5 A4 A3 A2 A1 A0 0 A X 0 1 0 1 0 D1 D0 A DATA A P
SDA S A6 A5 A4 A3 A2 A1 A0 0 A 1 0 D5 D4 D3 D2 D1 D0 A Sr A6 A5 A4 A3 A2 A1 A0 1 A
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
SDA S A6 A5 A4 A3 A2 A1 A0 0 A X 0 1 0 1 0 D1 D0 A Sr A6 A5 A4 A3 A2 A1 A0 1 A DATA A P
last byte
START condition R/W AI = 'don't care' repeated START R/W STOP
condition condition
00 for output structure configuration register reading At this moment master-transmitter
01 for for all bank control register reading becomes master-receiver, and
10 for mode selection register reading slave-receiver becomes slave-transmitter.
002aab949
S 0 0 0 1 1 0 0 1 A A6 A5 A4 A3 A2 A1 A0 0 A P
SMBALERT
002aab950
S 1 1 1 1 1 0 0 0 A A6 A5 A4 A3 A2 A1 A0 0 A Sr 1 1 1 1 1 0 0 1 A
M M M9 M8 M7 M6 M5 M4 A M3 M2 M1 M0 P8 P7 P6 P5 A P4 P3 P2 P1 P0 R2 R1 R0 A P
11 10
STOP condition
manufacturer name = 000000000000 part identification = 000000000 revision = 000
002aab951
If more than 3 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 22. Device ID field reading
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
acknowledge
from slave acknowledge acknowledge acknowledge
from slave(s) from slave(s) from slave(s)
GPIO All Call address command register
START condition R/W AI = 1 00 1000 for Output Port register programming bank 0
01 0000 for Polarity Inversion register programming bank 0
01 1000 for Configuration register programming bank 0
10 0000 for Mask interrupt register programming bank 0
acknowledge acknowledge acknowledge
from slave(s) from slave(s) from slave
STOP
condition
002aab952
Only slave devices with bit IOAC = 1 answer to the GPIO All Call transaction.
Output Port register programming becomes effective at the STOP command if OCH = 0, at each acknowledge if OCH = 1.
Configuration, Polarity Inversion, and Mask interrupt registers become effective at the acknowledge.
Less than 5 bytes can be programmed by using the same scheme.
‘D5 D4 D3 D2 D1 D0’ refers to the first register to be programmed.
If more than 5 bytes are written, previous data are overwritten (the sixth Configuration register will roll over to the first
addressed Configuration register, the sixth Polarity Inversion register will roll over to the first addressed Polarity Inversion
register, the sixth Mask interrupt register will roll over to the first addressed Mask interrupt register).
Fig 23. GPIO All Call write to the Output Port, I/O Configuration, Polarity Inversion, or Mask interrupt registers
SDA S 1 1 0 1 1 1 0 0 A X 0 1 0 1 0 D1 D0 A DATA A P
Only slave devices with bit 0 IOAC = 1 answer the GPIO All Call transaction.
The programming becomes effective at the acknowledge.
If more than 1 byte is written, previous data is overwritten.
Fig 24. GPIO All Call write to the Output structure configuration, All Bank Control, or Mode selection registers
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
5V
VDD
1.1 kΩ 1.1 kΩ 2 kΩ
1.6 kΩ 1.6 kΩ 2 kΩ
(optional) (optional)
VDD VDD
MASTER PCA9698
CONTROLLER SUBSYSTEM 1
SCL SCL IO0_0 (e.g., temp. sensor)
A
IO1_0
IO4_0 B
IO4_7
ALARM
AD2 SUBSYSTEM 3
AD1 (e.g., alarm system)
AD0
VDD
VSS
24 LED MATRIX
ALPHANUMERIC
KEYPAD
002aab954
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
002aab955 002aab956
1.2 1.2
IDD IDD
(μA) (μA)
VDD = 5 V VDD = 5 V
0.8 0.8
3.3 V 3.3 V
0.4 0.4
2.3 V 2.3 V
0 0
−50 0 50 100 −50 0 50 100
Tamb (°C) Tamb (°C)
fSCL = 400 kHz; all I/Os unloaded SCL = VDD; all I/Os unloaded
Fig 26. Supply current as a function of temperature Fig 27. Standby current as a function of temperature
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
002aab957 002aab958
600 50
IDD Isink
(μA) (mA)
40
Tamb = −40 °C
400
+25 °C
30
+85 °C
fSCL = 1 MHz 20
200
400 kHz 10
100 kHz
0 0
2.0 3.0 4.0 5.0 6.0 0 0.2 0.4 0.6
VDD (V) VOL (V)
002aab959 002aab960
50 50
Isink Isink
(mA) (mA)
40 40
Tamb = −40 °C Tamb = −40 °C
+25 °C +25 °C
30 30
+85 °C +85 °C
20 20
10 10
0 0
0 0.2 0.4 0.6 0 0.2 0.4 0.6
VOL (V) VOL (V)
Fig 30. I/O sink current as a function of LOW-level Fig 31. I/O sink current as a function of LOW-level
output voltage (VDD = 3.0 V) output voltage (VDD = 4.5 V)
002aab961 002aab962
30 50
Isource Tamb = −40 °C
Isource (mA)
(mA) 40 +25 °C
Tamb = −40 °C +85 °C
20 +25 °C
30
+85 °C
20
10
10
0 0
0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8
VDD − VOH (V) VDD − VOH (V)
Fig 32. I/O source current as a function of HIGH-level Fig 33. I/O source current as a function of HIGH-level
output voltage (VDD = 2 V) output voltage (VDD = 3.3 V)
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
002aab965 002aab963
50 400
Isource Tamb = −40 °C VOL
(mA) (mV)
40 +25 °C
+85 °C 300
(1)
30
200
20
(2)
100
10
(3)
(4)
0 0
0 0.2 0.4 0.6 −50 0 50 100
VDD − VOH (V) Tamb (°C)
002aab964
600
VDD − VOH
(V)
400
(1)
200
(2)
0
−50 0 50 100
Tamb (°C)
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
[1] tVD;ACK = time for Acknowledgement signal from SCL LOW to SDA (out) LOW.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
[2] tVD;DAT = minimum time for SDA data out to be valid following SCL LOW.
[3] Minimum SCL clock frequency is limited by the bus time-out feature, which resets the serial bus interface if either SDA or SCL is held
LOW for a minimum of 25 ms. Disable bus time-out feature for DC operation.
[4] A master device must internally provide a hold time of at least 300 ns for the SDA signal (refer to the VIL of the SCL signal) in order to
bridge the undefined region of SCL’s falling edge.
[5] Cb = total capacitance of one bus line in pF.
[6] The maximum tf for the SDA and SCL bus lines is specified at 300 ns. The maximum fall time for the SDA output stage tf is specified at
250 ns. This allows series protection resistors to be connected between the SDA and the SCL pins and the SDA/SCL bus lines without
exceeding the maximum specified tf.
[7] Input filters on the SDA and SCL inputs suppress noise spikes less than 50 ns.
SDA
SCL
SCL
tBUF tf
tr
SDA
002aab175
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
SCL
SDA
30 %
trst
RESET 50 % 50 % 50 %
trec(rst)
tw(rst)
trst
50 %
IOx_y
output off
002aac018
2VDD
open
VSS
VDD RL
500 Ω
VI VO
PULSE
DUT
GENERATOR
CL
RT 500 Ω
50 pF
002aac019
RL = load resistance.
CL = load capacitance includes jig and probe capacitance.
RT = termination resistance should be equal to the output impedance Zo of the pulse generators.
Fig 40. Test circuitry for switching times
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
TSSOP56: plastic thin shrink small outline package; 56 leads; body width 6.1 mm SOT364-1
D E A
X
y HE v M A
56 29
Q
A2 (A 3) A
A1
pin 1 index
θ
Lp
L
1 28 detail X
w M
e bp
0 2.5 5 mm
scale
Notes
1. Plastic or metal protrusions of 0.15 mm maximum per side are not included.
2. Plastic interlead protrusions of 0.25 mm maximum per side are not included.
99-12-27
SOT364-1 MO-153
03-02-19
HVQFN56: plastic thermal enhanced very thin quad flat package; no leads;
56 terminals; body 8 x 8 x 0.85 mm SOT684-1
D B A
terminal 1
index area A
E A1
c
detail X
e1 C
e 1/2 e b v M C A B y1 C y
15 28 w M C
L
29
14
e
Eh e2
1/2 e
1
42
terminal 1
56 43
index area
Dh X
0 2.5 5 mm
scale
DIMENSIONS (mm are the original dimensions)
A(1)
UNIT A1 b c D(1) Dh E(1) Eh e e1 e2 L v w y y1
max.
Note
1. Plastic or metal protrusions of 0.075 mm maximum per side are not included.
01-08-08
SOT684-1 --- MO-220 ---
02-10-22
• Through-hole components
• Leaded or leadless SMDs, which are glued to the surface of the printed circuit board
Not all SMDs can be wave soldered. Packages with solder balls, and some leadless
packages which have solder lands underneath the body, cannot be wave soldered. Also,
leaded SMDs with leads having a pitch smaller than ~0.6 mm cannot be wave soldered,
due to an increased probability of bridging.
The reflow soldering process involves applying solder paste to a board, followed by
component placement and exposure to a temperature profile. Leaded packages,
packages with solder balls, and leadless packages are all reflow solderable.
• Board specifications, including the board finish, solder masks and vias
• Package footprints, including solder thieves and orientation
• The moisture sensitivity level of the packages
• Package placement
• Inspection and repair
• Lead-free soldering versus SnPb soldering
• Process issues, such as application of adhesive and flux, clinching of leads, board
transport, the solder wave parameters, and the time during which components are
exposed to the wave
• Solder bath specifications, including temperature and impurities
• Lead-free versus SnPb soldering; note that a lead-free reflow process usually leads to
higher minimum peak temperatures (see Figure 43) than a SnPb process, thus
reducing the process window
• Solder paste printing issues including smearing, release, and adjusting the process
window for a mix of large and small components on one board
• Reflow temperature profile; this profile includes preheat, reflow (in which the board is
heated to the peak temperature) and cooling down. It is imperative that the peak
temperature is high enough for the solder to make reliable solder joints (a solder paste
characteristic). In addition, the peak temperature must be low enough that the
packages and/or boards are not damaged. The peak temperature of the package
depends on package thickness and volume and is classified in accordance with
Table 16 and 17
Studies have shown that small packages reach higher temperatures during reflow
soldering, see Figure 43.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
peak
temperature
time
001aac844
17. Abbreviations
Table 18. Abbreviations
Acronym Description
CDM Charged Device Model
DUT Device Under Test
ESD ElectroStatic Discharge
GPIO General Purpose Input/Output
HBM Human Body Model
I2C-bus Inter-Integrated Circuit bus
LED Light Emitting Diode
MM Machine Model
PICMG PCI Industrial Computer Manufacturers Group
PLC Programmable Logic Controller
POR Power-On Reset
PWM Pulse Width Modulation
RAID Redundant Array of Independent Discs
SMBus System Management Bus
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
[1] Please consult the most recently issued document before initiating or completing a design.
[2] The term ‘short data sheet’ is explained in section “Definitions”.
[3] The product status of device(s) described in this document may have changed since this document was published and may differ in case of multiple devices. The latest product status
information is available on the Internet at URL http://www.nxp.com.
Limited warranty and liability — Information in this document is believed to Limiting values — Stress above one or more limiting values (as defined in
be accurate and reliable. However, NXP Semiconductors does not give any the Absolute Maximum Ratings System of IEC 60134) will cause permanent
representations or warranties, expressed or implied, as to the accuracy or damage to the device. Limiting values are stress ratings only and (proper)
completeness of such information and shall have no liability for the operation of the device at these or any other conditions above those given in
consequences of use of such information. the Recommended operating conditions section (if present) or the
Characteristics sections of this document is not warranted. Constant or
In no event shall NXP Semiconductors be liable for any indirect, incidental,
repeated exposure to limiting values will permanently and irreversibly affect
punitive, special or consequential damages (including - without limitation - lost
the quality and reliability of the device.
profits, lost savings, business interruption, costs related to the removal or
replacement of any products or rework charges) whether or not such Terms and conditions of commercial sale — NXP Semiconductors
damages are based on tort (including negligence), warranty, breach of products are sold subject to the general terms and conditions of commercial
contract or any other legal theory. sale, as published at http://www.nxp.com/profile/terms, unless otherwise
Notwithstanding any damages that customer might incur for any reason agreed in a valid written individual agreement. In case an individual
whatsoever, NXP Semiconductors’ aggregate and cumulative liability towards agreement is concluded only the terms and conditions of the respective
customer for the products described herein shall be limited in accordance agreement shall apply. NXP Semiconductors hereby expressly objects to
with the Terms and conditions of commercial sale of NXP Semiconductors. applying the customer’s general terms and conditions with regard to the
purchase of NXP Semiconductors products by customer.
Right to make changes — NXP Semiconductors reserves the right to make
changes to information published in this document, including without No offer to sell or license — Nothing in this document may be interpreted or
limitation specifications and product descriptions, at any time and without construed as an offer to sell products that is open for acceptance or the grant,
notice. This document supersedes and replaces all information supplied prior conveyance or implication of any license under any copyrights, patents or
to the publication hereof. other industrial or intellectual property rights.
Suitability for use — NXP Semiconductors products are not designed, Export control — This document as well as the item(s) described herein
authorized or warranted to be suitable for use in life support, life-critical or may be subject to export control regulations. Export might require a prior
safety-critical systems or equipment, nor in applications where failure or authorization from national authorities.
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
Non-automotive qualified products — Unless this data sheet expressly own risk, and (c) customer fully indemnifies NXP Semiconductors for any
states that this specific NXP Semiconductors product is automotive qualified, liability, damages or failed product claims resulting from customer design and
the product is not suitable for automotive use. It is neither qualified nor tested use of the product for automotive applications beyond NXP Semiconductors’
in accordance with automotive testing or application requirements. NXP standard warranty and NXP Semiconductors’ product specifications.
Semiconductors accepts no liability for inclusion and/or use of
non-automotive qualified products in automotive equipment or applications.
In the event that customer uses the product for design-in and use in 19.4 Trademarks
automotive applications to automotive specifications and standards, customer
Notice: All referenced brands, product names, service names and trademarks
(a) shall use the product without NXP Semiconductors’ warranty of the
are the property of their respective owners.
product for such automotive applications, use and specifications, and (b)
whenever customer uses the product for automotive applications beyond I2C-bus — logo is a trademark of NXP B.V.
NXP Semiconductors’ specifications such use shall be solely at customer’s
PCA9698 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
21. Contents
1 General description . . . . . . . . . . . . . . . . . . . . . . 1 11.1 Performance curves. . . . . . . . . . . . . . . . . . . . 34
2 Features and benefits . . . . . . . . . . . . . . . . . . . . 1 12 Dynamic characteristics. . . . . . . . . . . . . . . . . 37
3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 13 Test information . . . . . . . . . . . . . . . . . . . . . . . 39
4 Ordering information . . . . . . . . . . . . . . . . . . . . . 3 14 Package outline. . . . . . . . . . . . . . . . . . . . . . . . 40
5 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 3 15 Handling information . . . . . . . . . . . . . . . . . . . 42
6 Pinning information . . . . . . . . . . . . . . . . . . . . . . 5 16 Soldering of SMD packages . . . . . . . . . . . . . . 42
6.1 Pinning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 16.1 Introduction to soldering. . . . . . . . . . . . . . . . . 42
6.2 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . 6 16.2 Wave and reflow soldering. . . . . . . . . . . . . . . 42
7 Functional description . . . . . . . . . . . . . . . . . . . 7 16.3 Wave soldering . . . . . . . . . . . . . . . . . . . . . . . 42
7.1 Device address . . . . . . . . . . . . . . . . . . . . . . . . . 7 16.4 Reflow soldering . . . . . . . . . . . . . . . . . . . . . . 43
7.2 Alert response, GPIO All Call and Device ID 17 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . 44
addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 18 Revision history . . . . . . . . . . . . . . . . . . . . . . . 45
7.3 Command register . . . . . . . . . . . . . . . . . . . . . . 8 19 Legal information . . . . . . . . . . . . . . . . . . . . . . 46
7.3.1 5-bank register category . . . . . . . . . . . . . . . . . . 9 19.1 Data sheet status . . . . . . . . . . . . . . . . . . . . . . 46
7.3.2 1-bank register category . . . . . . . . . . . . . . . . . . 9 19.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.4 Register definitions . . . . . . . . . . . . . . . . . . . . . . 9 19.3 Disclaimers . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.4.1 IP0 to IP4 - Input Port registers . . . . . . . . . . . 11 19.4 Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.4.2 OP0 to OP4 - Output Port registers . . . . . . . . 11
20 Contact information . . . . . . . . . . . . . . . . . . . . 47
7.4.3 PI0 to PI4 - Polarity Inversion registers . . . . . 12
7.4.4 IOC0 to IOC4 - I/O Configuration registers. . . 12 21 Contents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.4.5 MSK0 to MSK4 - Mask interrupt registers . . . 13
7.4.6 OUTCONF - output structure configuration
register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.4.7 ALLBNK - All Bank control register. . . . . . . . . 14
7.4.7.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.4.8 MODE - PCA9698 mode selection register . . 15
7.5 Device ID - PCA9698 ID field . . . . . . . . . . . . . 16
7.6 GPIO All Call . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.7 Output state change on ACK or STOP . . . . . . 17
7.8 Power-on reset . . . . . . . . . . . . . . . . . . . . . . . . 18
7.9 RESET input . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.10 Interrupt output (INT) . . . . . . . . . . . . . . . . . . . 18
7.11 SMBus Alert output (SMBALERT) . . . . . . . . . 19
7.12 Output enable input (OE) . . . . . . . . . . . . . . . . 20
7.13 Live insertion . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.14 Standby. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.15 Address map . . . . . . . . . . . . . . . . . . . . . . . . . 21
8 Characteristics of the I2C-bus . . . . . . . . . . . . 23
8.1 Bit transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
8.1.1 START and STOP conditions . . . . . . . . . . . . . 23
8.2 System configuration . . . . . . . . . . . . . . . . . . . 24
8.3 Acknowledge . . . . . . . . . . . . . . . . . . . . . . . . . 24
8.4 Bus transactions . . . . . . . . . . . . . . . . . . . . . . . 25
9 Application design-in information . . . . . . . . . 31
10 Limiting values. . . . . . . . . . . . . . . . . . . . . . . . . 32
11 Static characteristics. . . . . . . . . . . . . . . . . . . . 33
Please be aware that important notices concerning this document and the product(s)
described herein, have been included in section ‘Legal information’.