Datasheet
Accessing the MAX7323
The MAX7323 is accessed through an I
2
C interface. The
transition flags are cleared, and INT is deasserted each
time the device acknowledges the I
2
C slave address.
A single-byte read from the MAX7323 returns the status
of the four I/O ports and the four output ports (read back
as inputs).
A 2-byte read returns first the status of the four I/O ports
and the four output ports (as for a single-byte read),
followed by the four transition flags for the four I/O ports.
A multibyte read (more than 2 bytes before the I
2
C
STOP bit) repeatedly returns the port data, alternating
with the transition flags. As the input data is resampled for
each transmission, and the transition flags are reset each
time, a multibyte read continuously returns the current
data and identifies any changing I/O ports.
If a port data change occurs during the read sequence,
INT is reasserted after the I
2
C STOP bit. The MAX7323
does not generate another interrupt during a single-byte
or multibyte read.
Port data is sampled during the preceding I
2
C
acknowledge bit (the acknowledge bit for the I
2
C slave
address in the case of a single-byte or 2-byte read).
A single-byte write to the MAX7323 sets the logic
state of the four open-drain I/O ports and four push-pull
outputs.
In a 2-byte write to the MAX7323, the first byte sets
the logic state of the four open-drain I/O ports and four
push-pull outputs, while the second byte sets the interrupt
mask bits for the four open-drain I/O ports.
Reading from the MAX7323
A read from the MAX7323 starts with the master
transmitting the MAX7323’s slave address with the R/W
bit set high. The MAX7323 acknowledges the slave
address, and samples the ports during the acknowledge
bit. INT deasserts during the slave address acknowledge.
Typically, the master reads 1 or 2 bytes from the
MAX7323, each byte being acknowledged by the master
upon reception, with the exception of the last byte.
When the master reads 1 byte from the MAX7323
it subsequently issues a STOP condition (Figure 6).
The MAX7323 transmits the current port data, clears
the change flags, and resets the transition detection.
INT deasserts during the slave acknowledge. The new
snapshot data is the current input port data transmitted to
the master, so any input port changes that occur during
the transmission are detected. INT remains high until the
STOP condition.
The master can read 2 bytes from the MAX7323 and
then issues a STOP condition (Figure 7). In this case, the
MAX7323 transmits the current port data, followed by
the change flags. The change flags are cleared, and
transition detection restarted. INT goes high (high
impedance if an external pullup resistor is not fitted)
during the slave acknowledge. The new snapshot data is
the current port data transmitted to the master, so any port
changes occurring during the transmission are detected.
INT remains high until the STOP condition.
Figure 4. Acknowledge
SCL
SDA BY
TRANSMITTER
CLOCK PULSE
FOR ACKNOWLEDGMENT
START
CONDITION
SDA BY
RECEIVER
1 2 8 9
S
Figure 3. Bit Transfer
SDA
SCL
DATA LINE STABLE;
DATA VALID
CHANGE OF DATA
ALLOWED
www.maximintegrated.com
Maxim Integrated
│
10
MAX7323 I
2
C Port Expander with 4 Push-Pull
Outputs and 4 Open-Drain I/Os