Datasheet

PCAL6416A All information provided in this document is subject to legal disclaimers. © NXP Semiconductors N.V. 2014. All rights reserved.
Product data sheet Rev. 6 — 9 October 2014 18 of 61
NXP Semiconductors
PCAL6416A
Low-voltage translating 16-bit I
2
C-bus/SMBus I/O expander
7.8 Interrupt output (INT)
An interrupt is generated by any rising or falling edge of the port inputs in the Input mode.
After time t
v(INT)
, the signal INT is valid. The interrupt is reset when data on the port
changes back to the original value or when data is read from the port that generated the
interrupt (see Figure 17
). Resetting occurs in the Read mode at the acknowledge (ACK)
or not acknowledge (NACK) bit after the rising edge of the SCL signal. Interrupts that
occur during the ACK or NACK clock pulse can be lost (or be very short) due to the
resetting of the interrupt during this pulse. Any change of the I/Os after resetting is
detected and is transmitted as INT
.
A pin configured as an output cannot cause an interrupt. 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.
The INT
output has an open-drain structure and requires pull-up resistor to V
DD(P)
or
V
DD(I2C-bus)
, depending on the application. INT should be connected to the voltage source
of the device that requires the interrupt information.
When using the input latch feature, the input pin state is latched. The interrupt is reset only
when data is read from the port that generated the interrupt. The reset occurs in the
Read mode at the acknowledge (ACK) or not acknowledge (NACK) bit after the rising
edge of the SCL signal.
8. Bus transactions
The PCAL6416A is an I
2
C-bus slave device. Data is exchanged between the master and
PCAL6416A through write and read commands using I
2
C-bus. The two communication
lines are a serial data line (SDA) and a serial clock line (SCL). Both lines must be
connected to a positive supply via a pull-up resistor when connected to the output stages
of a device. Data transfer may be initiated only when the bus is not busy.
8.1 Write commands
Data is transmitted to the PCAL6416A by sending the device address and setting the
Least Significant Bit (LSB) to a logic 0 (see Figure 9
for device address). The command
byte is sent after the address and determines which register receives the data that follows
the command byte.
Twenty-two registers within the PCAL6416A are configured to operate as eleven register
pairs. The eleven pairs are input port, output port, polarity inversion, configuration, output
drive strength (two 16-bit registers), input latch, pull-up/pull-down enable,
pull-up/pull-down selection, interrupt mask, and interrupt status registers. After sending
data to one register, the next data byte is sent to the other register in the pair (see
Figure 12
and Figure 13). For example, if the first byte is sent to Output Port 1 (register 3),
the next byte is stored in Output Port 0 (register 2).
There is no limit on the number of data bytes sent in one write transmission. In this way,
the host can continuously update a register pair independently of the other registers.