Acknowledge
The acknowledge bit is a clocked 9th bit the recipient uses
to acknowledge receipt of each byte of data (Figure 4).
Each byte transferred effectively requires 9 bits. The
master generates the 9th clock pulse, and the recipient
pulls down SDA during the acknowledge clock pulse,
such that the SDA line is stable low during the high
period of the clock pulse. When the master is transmit-
ting to the MAX7327, the MAX7327 generates the
acknowledge bit because the device is the recipient.
When the MAX7327 is transmitting to the master, the
master generates the acknowledge bit because the
master is the recipient.
Slave Address
The MAX7327 has two different 7-bit slave addresses
(Figure 5). The addresses are different to communicate
to the eight push-pull outputs, O8-O15, or the other
eight I/Os. The eighth bit following the 7-bit slave
address is the R/Wbit. It is low for a write command,
and high for a read command.
The first (A6), second (A5), and third (A4) bits of the
MAX7327 slave address are always 1, 1, and 0 (O0,
O1, P2–P5, O6, O7) or 1, 0, and 1 (O8–O15). Connect
AD0 and AD2 to GND, V+,SDA, or SCL to select slave
address bits A3, A2, A1, and A0. The MAX7327 has 16
possible slave addresses (Tables 2 and 3), allowing up
to 16 MAX7327 devices on an I2C bus.
Accessing the MAX7327
The MAX7327 is a combination of MAX7320 and
MAX7323. The group A of eight ports (O0, O1, P2–P5,
O6, and O7) corresponding to those of the MAX7323 and
the group B of eight ports (O8–O15) corresponding to
those of the MAX7320 are read/write separately through
their own addresses as shown by Tables 2 and 3,
respectively.
A single-byte read from the group A ports of the
MAX7327 returns the status of the four I/O ports and
the four output ports (read back as inputs), and clear
both the internal transition flags and the INT output
when the master acknowledges the slave address byte.
A 2-byte read from the group A ports of the MAX7327
returns the status of the four I/O ports and the four out-
put ports (as for a single byte read), followed by the
four transition flags for the four I/O ports. The internal
transition flags and the INT output are cleared automat-
ically when the master acknowledges the slave
address byte (but the previous transition flag data is
sent as the second byte).
A multibyte read (more than 2 bytes before the I2C
STOP bit) from the group A ports of the MAX7327
repeatedly returns the port data, alternating with the
transition flags. As the port 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 input data change occurs during the read
sequence, then INT is reasserted during the I2C STOP
bit. The MAX7327 does not generate another interrupt
during a single-byte or multibyte MAX7327 read routine.
Input port data is sampled during the preceding I2C
acknowledge bit (the acknowledge bit for the I2C slave
address in the case of a single-byte or 2-byte read).
MAX7327
I2C Port Expander with 12 Push-Pull
Outputs and 4 Open-Drain I/Os
______________________________________________________________________________________ 11