MAX7300
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port I/O Expander
_______________________________________________________________________________________ 7
Serial Interface
Serial Addressing
The MAX7300 operates as a slave that sends and
receives data through an I
2
C-compatible 2-wire inter-
face. The interface uses a serial data line (SDA) and a
serial clock line (SCL) to achieve bidirectional commu-
nication between master(s) and slave(s). A master (typ-
ically a microcontroller) initiates all data transfers to and
from the MAX7300, and generates the SCL clock that
synchronizes the data transfer (Figure 2).
The MAX7300 SDA line operates as both an input and
an open-drain output. A pullup resistor, typically 4.7k,
is required on SDA. The MAX7300 SCL line operates
only as an input. A pullup resistor, typically 4.7k, is
required on SCL if there are multiple masters on the 2-
wire interface, or if the master in a single-master system
has an open-drain SCL output.
Each transmission consists of a START condition
(Figure 3) sent by a master, followed by the MAX7300
7-bit slave address plus R/W bit (Figure 6), a register
address byte, one or more data bytes, and finally a
STOP condition (Figure 3).
START and STOP Conditions
Both SCL and SDA remain high when the interface is
not busy. A master signals the beginning of a transmis-
sion with a START (S) condition by transitioning SDA
from high to low while SCL is high. When the master
has finished communicating with the slave, it issues a
STOP (P) condition by transitioning SDA from low to
high while SCL is high. The bus is then free for another
transmission (Figure 3).
Bit Transfer
One data bit is transferred during each clock pulse.
The data on SDA must remain stable while SCL is high
(Figure 4).
Acknowledge
The acknowledge bit is a clocked 9th bit, which the
recipient uses to handshake receipt of each byte of
data (Figure 5). Thus, 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 sta-
ble low during the high period of the clock pulse. When
the master is transmitting to the MAX7300, the
MAX7300 generates the acknowledge bit since the
Table 1. Port Configuration Map
REGISTER DATA
REGISTER
ADDRESS
CODE (HEX)
D7 D6 D5 D4 D3 D2 D1 D0
Port Configuration for P7, P6, P5, P4 0x09 P7 P6 P5 P4
Port Configuration for P11, P10, P9, P8 0x0A P11 P10 P9 P8
Port Configuration for P15, P14, P13, P12 0x0B P15 P14 P13 P12
Port Configuration for P19, P18, P17, P16 0x0C P19 P18 P17 P16
Port Configuration for P23, P22, P21, P20 0x0D P23 P22 P21 P20
Port Configuration for P27, P26, P25, P24 0x0E P27 P26 P25 P24
Port Configuration for P31, P30, P29, P28 0x0F P31 P30 P29 P28
Table 2. Port Configuration Matrix
PORT
CONFIGURATION
BIT PAIR
MODE FUNCTION
PORT
REGISTER
(0x20–0x5F)
PIN BEHAVIOR
ADDRESS
CODE
(
HEX
)
UPPER LOWER
DO NOT USE THIS SETTING 0x09 to 0x0F 0 0
Register bit = 0 Active-low logic output
Output GPIO Output
Register bit = 1 Active-high logic output
0x09 to 0x0F 0 1
Input
GPIO Input
without Pullup
Schmitt logic input 0x09 to 0x0F 1 0
Input GPIO Input with Pullup
Register bit =
input logic level
Schmitt logic input with pullup 0x09 to 0x0F 1 1
MAX7300
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port I/O Expander
8 _______________________________________________________________________________________
MAX7300 is the recipient. When the MAX7300 is trans-
mitting to the master, the master generates the
acknowledge bit since the master is the recipient.
Slave Address
The MAX7300 has a 7-bit-long slave address (Figure 6).
The eighth bit following the 7-bit slave address is the
R/W bit. It is low for a write command and high for a
read command.
The first 3 bits (MSBs) of the MAX7300 slave address
are always 100. Slave address bits A3, A2, A1, and A0
are selected by the address inputs, AD1 and AD0.
These two input pins can be connected to GND, V+,
SDA, or SCL. The MAX7300 has 16 possible slave
addresses (Table 3), and therefore a maximum of 16
MAX7300 devices can share the same interface.
Message Format for Writing
the MAX7300
A write to the MAX7300 comprises the transmission of
the MAX7300’s slave address with the R/W bit set to
zero, followed by at least 1 byte of information. The first
byte of information is the command byte. The com-
mand byte determines which register of the MAX7300
is to be written by the next byte, if received. If a STOP
condition is detected after the command byte is
received, then the MAX7300 takes no further action
(Figure 7) beyond storing the command byte.
SLAVE ADDRESS BYTE
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15
R/W
8
8
CEDATA
8
SDA
SCL
PORT REGISTERS
GPIO
CONFIGURATION
P4 TO P31
ADDRESS
MATCHER
AD0
AD1
COMMAND BYTEDATA BYTE
R/W
7-BIT DEVICE ADDRESS
7
7
TO COMMAND REGISTERS
TO/FROM DATA REGISTERS
GPIO DATA
R/W
CONFIGURATION
REGISTERS
PORT CHANGE
DETECTOR
MASK REGISTER
COMMAND
REGISTER DECODE
8
DATA BYTE COMMAND BYTE
Figure 1. MAX7300 Functional Diagram
MAX7300
2-Wire-Interfaced, 2.5V to 5.5V, 20-Port or
28-Port I/O Expander
_______________________________________________________________________________________ 9
Any bytes received after the command byte are consid-
ered data bytes. The first data byte goes into the inter-
nal register of the MAX7300 selected by the command
byte (Figure 8). If multiple data bytes are transmitted
before a STOP condition is detected, these bytes are
generally stored in subsequent MAX7300 internal regis-
ters because the command byte address generally
autoincrements (Table 4).
Message Format for Reading
The MAX7300 is read using the MAX7300’s internally
stored command byte as address pointer, the same way
the stored command byte is used as address pointer for
a write. The pointer generally autoincrements after each
data byte is read using the same rules as for a write
(Table 4). Thus, a read is initiated by first configuring the
MAX7300’s command byte by performing a write (Figure
7). The master can now read ‘n’ consecutive bytes from
the MAX7300, with the first data byte being read from the
register addressed by the initialized command byte
(Figure 9). When performing read-after-write verification,
remember to reset the command byte’s address
because the stored control byte address generally has
been autoincremented after the write (Table 4). Table 5
is the register address map.
Figure 2. 2-Wire Serial Interface Timing Details
SCL
SDA
START CONDITIONSTOP CONDITION
REPEATED START CONDITION
START CONDITION
t
SU, DAT
t
HD, DAT
t
LOW
t
HD, STA
t
HIGH
t
R
t
F
t
SU, STA
t
HD, STA
t
SU, STO
t
BUF
Figure 3. Start and Stop Conditions
SDA
SCL
S
START
CONDITION
P
STOP
CONDITION
SDA
SCL
DATA LINE STABLE; DATA VALID
CHANGE OF DATA ALLOWED
Figure 4. Bit Transfer

MAX7300ATL+

Mfr. #:
Manufacturer:
Maxim Integrated
Description:
Interface - I/O Expanders 2.5-5.5V 20/28 Port I/O Expander
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union