All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2010. All rights reserved.
Product data sheet
Rev. 3 — 3 August 2010
17 of 48
40-bit Fm+ I
C-bus advanced I/O port with RESET, OE and INT
7.6 GPIO All Call
A ‘GPIO All Call’ command allows the programming of multiple advanced GPIOs with
C-bus addresses at the same time. This allows to optimize code programming
when the master needs to send the same instruction to several devices. To respond to
such a command and sequence, the PCA9698 needs to have its IOAC bit (register 2Ah,
bit 3) set to 1. Devices that have this bit set to 0 do not participate in any ‘GPIO All Call’
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
7.7 Output state change on ACK or STOP
State change of the I/Os programmed as outputs can be done either:
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
Example 1: Only one PCA9698 is used on the I
C-bus and all the outputs need to change
at the same time.
OCH bit (Mode Selection Register, bit 1) must be equal to ‘0’.
The master accesses the device and programs the Output Port register(s) that has
(have) to be changed (up to 5 ports).
When done, the master must generate a STOP command.
At the STOP command, the PCA9698 will update the Output Port register(s) that has
(have) been programmed and change the output states all at the same time.
Example 2: More than one PCA9698 is used on the I
C-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.