The MAX7356/MAX7357/MAX7358 8-channel I2C
switches/multiplexers expand the main I
2
C bus to any
combination of 8 extended I
2
C buses. They enable a
master on the main bus to isolate and communicate
with devices or groups of devices that may otherwise
have slave address conflicts. Any extended bus can be
connected or disconnected by control packets from the
main I2C bus writing to the main control register of
these I
2
C switches.
The MAX7357 and MAX7358 feature an enhanced
mode that includes a built-in timer used to monitor all
extended buses for lock-up conditions. If the clock or
data line of any of these buses is low for more than
25ms (typ), a lock condition is detected. An optional
interrupt can be generated through the bidirectional
RST/INT. The master can read the bus lock-up register
to find out which extended bus is locked up. The master can also enable the MAX7357 or the MAX7358 to
send a “flush-out” sequence on the faulty channel.
There is an optional preconnection check that
can be enabled to toggle the extended bus clock and
data line low then high to ensure the downstream bus is
not locked high prior to connecting it to the host bus.
The MAX7356/MAX7357/MAX7358 are transparent
to signals sent and received at each channel, allowing
multiple masters. Any device connected to an I
2
C
bus can transmit and receive signals; however, only the
master connected to the host side of the MAX7356/
MAX7357/MAX7358 should address the device.
The MAX7356/MAX7357/MAX7358 are available in 24-pin
TSSOP and TQFN packages and are specified over the
extended -40°C to +85°C temperature range.
Applications
Features
o Bus Lock-Up Detection and Isolation (MAX7357,
MAX7358)
o Host Notification on Detection of Lock-Up
(MAX7357, MAX7358)
o Maintain Fault Diagnostic Information (MAX7357,
MAX7358)
o Dual-Function RST/INT Provides Lock-Up
Notification and Hardware Reset (MAX7357,
MAX7358)
o RST Input Resets I
2
C Interface (MAX7358)
o 3 Address Control Inputs
o Low RONSwitches
o Logic-Level Translation
o Low 0.1µA (typ) Standby Current
o Support Hot Insertion
o 100kbps Standard-Mode or 400kbps Fast-Mode
(VDD= +2.3V to +3.6V, TA= -40°C to +85°C, unless otherwise noted. Typical values are at VDD= +3.3V, TA= +25°C.) (Notes 2–5)
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional
operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to
absolute maximum rating conditions for extended periods may affect device reliability.
Note 1: Package thermal resistances were obtained using the method described in JEDEC specification JESD51-7, using a 4-layer
board. For detailed information on package thermal considerations, refer to www.maxim-ic.com/thermal-tutorial
.
(Voltages referenced to GND.)
VDD.................................................................. -0.3V to +6.0V
All Other Pins.....................................................-0.3V to +6.0V
(VDD= 2.3V to 5.5V, TA= -40°C to +85°C, unless otherwise noted.) (Notes 2, 6)
Note 2: All devices are 100% production tested at T
A
= +25°C. Specifications are over -40°C to +85°C and are guaranteed by
design.
Note 3: Subscript SW refers to all SC_ and SD_ pins.
Note 4: V
SWin
= Switch input voltage; I
SWout
= Current between SD_ and SDA or SC_ and SCL. See Figure 4.
Note 5: V
I
= V
SD_
or V
SC_
.
Note 6: All timing is measured using 20% and 80% levels, unless otherwise noted.
Note 7: Pass gate propagation delay is calculated from the 20Ω typical R
ON
and the 15pF load capacitance.
Note 8: A device must internally provide a hold time of at least 300ns for the SDA signal (referred to the V
IH(min)
of the SCL signed)
to bridge the undefined region of the falling edge of SCL.
—— EPE xp osed P ad ( TQ FN O nl y) . C onnect E P to g r ound . D o not use E P as the onl y g r ound connecti on.
NAMEFUNCTION
DD
RST
(RST/INT)
Supply Voltage
Active-Low Reset Input and Interrupt Output. RST resets the MAX7356 by a host. RST/INT on
the MAX7357 or MAX7358 is bidirectional. RST/INT is used to reset the device by a host or by
the device to send an interrupt signal to the host.
C multiplexers/switches for connecting a large num-
ber of I
2
C components to a single master. The circuits
connect a main I
2
C bus to any combination of 8 extended I2C buses. They enable a master on the main bus to
isolate and communicate with devices or groups of
devices that may otherwise have slave address conflicts. Any extended bus can be connected or disconnected by control packets from the main I2C bus writing
to the main control register of these I2C switches.
The MAX7357/MAX7358 feature a built-in timer used to
monitor all extended buses, for lock-up conditions. If the
data line of any of these buses is low for more than
25ms, a lock condition is detected. An optional interrupt
can be generated through the bidirectional RST/INT pin.
The master can read the bus lock-up register to find out
which extended bus is locked up. The master can also
optionally enable the MAX7357 or MAX7358 to send a
flush-out sequence on the faulty channel. There is an
optional preconnection check that can be enabled,
which toggles the extended bus clock and data line low
then high to ensure that the downstream bus is not
locked high prior to connecting it to the host bus.
The bus lock-up detection and isolation features are
enabled by writing a unique series of I2C commands to
the MAX7357/MAX7358.
Power-On Reset
When power is applied to VDD, an internal power-on
reset (POR) holds the MAX7356/MAX7357/MAX7358 in
a reset state until VDDhas reached V
POR
. At this point,
the reset condition is released and the MAX7356/
MAX7357/MAX7358 registers and I2C state machine
are initialized to their default states.
Basic Mode of Operation
The MAX7356/MAX7357/MAX7358 feature a basic
mode of operation. In basic mode, the device operates
solely as a collection of analog switches that enable
any combination of the extended buses (SC_, SD_)
to be connected to the host-side bus (SCL, SDA). Only
the switch control register is accessible in basic mode
of operation.
Enhanced Mode of Operation
(MAX7357/MAX7358)
The MAX7357 and MAX7358 feature an enhanced
mode of operation that enable features and registers
that are unavailable in the basic mode of operation.
When operating in enhanced mode, there are 7 registers available to the host. Features such as bus lock-up
detection, preconnection fault tests, and diagnostic
information are made available to the user. A special
sequence of commands can switch the MAX7357 or
MAX7358 from basic mode to enhanced mode, and a
simple write to the configuration register can switch the
devices from enhanced mode back to basic mode.
Entering Basic Mode from
Enhanced Mode
(MAX7357/MAX7358)
When the 7 registers of Table 2 are enabled, the
MAX7357 and MAX7358 can be put into basic mode by
setting bit B6 of the configuration register. When basic
mode is entered, the value of all registers return to their
POR value. B6 of the configuration register is also maintained to allow operation in basic mode. When in basic
mode, the MAX7357 and MAX7358 can be returned to
full feature mode by receiving a special sequence of
commands from the host as described below.
The sequence of I2C commands for enabling the
MAX7357 or MAX7358 enhanced features (bus lock-up
detection, isolation, and notification) as well as access
to the additional 6 registers consists of a write byte, a
read byte, another write byte, and another read byte
with no data bytes following any of these write or read
bytes, as shown in Figure 5. A write byte consists of
the 7-bit MAX7357 or MAX7358 device address followed by a 0. A read byte consists of the 7-bit
MAX7357 or MAX7358 device address followed by a 1.
The special sequence begins with a START condition
and ends with a STOP condition. Repeated START
conditions are used to interconnect these write and
read bytes.
The complete special sequence of I2C commands
needs to be received by the MAX7357 or MAX7358 to
activate the enhanced mode.
Figure 5. The Special Sequence of I2C Commands for Turning on the Full Feature
ACKNOWLEDGE FROM THE
MAX7357 OR MAX7358
ADDRESS OF MUX/SWT PARTS
START
0 A SrADDRESS OF MUX/SWT PART0 A SrADDRESS OF MUX/SWT PART1 A SrADDRESS OF MUX/SWT PART1 A P
If either line of any downstream bus is low for a period
exceeding 25ms between t1and t2in Figure 6, the
MAX7357/MAX7358 detect a lock-up fault on that bus
and takes the action configured by the user. If the lockup is not on the main bus, SDA and SCL return to the
high state at the same time. The MAX7357 or MAX7358
then identifies which SD_ or SC_ is still pulled low. If the
optional interrupt function is enabled (by setting B0 of
the configuration register), an active-low interrupt is
generated at RST/INT.
If B4 in the configuration register is set to 1, then only
faults on connected buses cause the MAX7357 or
MAX7358 to disconnect all buses from each other.
When this is the case, faults detected on disconnected
buses set the flag in the lock-up status register, and, if
enabled, notify the host of the fault, but do not disconnect the buses from one another.
B1 of the configuration register enables the flush-out
sequence. If this bit is set to 1, the MAX7357 or
MAX7358 attempts to send a flush-out sequence over
the locked SD_ and SC_ pair (the sequence begins at
t
5
in Figure 6). If the flush-out sequence is successful,
the locked bus (SD_ and SC_) is released at t
6
(Figure
6). The I2C master (at SDA and SCL) reads the
MAX7357 or MAX7358 lock-up status register to identify the locked-up bus. If RST/INT is enabled as an
interrupt, it is released once a read command to the
lock-up indication register is received by the MAX7357
or MAX7358 (shown at t7in Figure 6). The RST/INT
can also be automatically released after a 1.6s delay
by setting bit 2 of the configuration register.
Preconnection Wiggle Test
(Stuck High Fault)
(MAX7357/MAX7358)
By setting bit B7 in the configuration register to 1, a preconnection wiggle test is enabled for all downstream
buses. This test only runs on the downstream bus when
the bus is selected through the switch control register.
Enabling this test does not affect any bus that is already
connected to the host bus; however, deselecting and
subsequently reselecting the bus will cause the test to
occur. The test is performed when the switch control register bit (or bits if multiple buses are selected in the same
I2C transaction) toggles from 0 to 1 and a stop condition
is received. It consists of the MAX7357 or MAX7358
pulling the downstream clock line low, then the downstream data line low. Both lines are checked for a nominal low value, and then the clock line is released followed
by the data line (Note: This is an I
2
C stop condition and
is seen by any I2C devices connected to the extended
bus). If either the clock or data line (or both) fail to pull
low during the test, the MAX7357 or MAX7358 do not
allow that downstream bus to connect to the host. If the
optional interrupt notification bit is set (B0), the device
notifies the host that a fault has occurred. The I2C master
can then read the MAX7357 or MAX7358 registers to find
out which bus or buses caused the fault. Faults detected
by this test are stored in the preconnection fault register
(0x06). The stuck high Fault register is cleared once this
register is read, resetting the device, or disabling the
preconnection test.
Device Address
The MAX7356/MAX7357/MAX7358 family of devices
has selectable device addresses through three external
inputs. The slave address consists of 4 fixed bits
(A6–A3 set to 1110); followed by 3 pin-programmable
bits (A2, A1, A0), as shown in Figure 7. The addresses
A2, A1, and A0 can also be driven dynamically if
required, but the values must be stable when they are
expected in the address sequence.
Figure 6. Bus Lock-Up Detection, Isolation, and Notification Timing Diagram
t
3
t
t
5
t
4
2
NOTE: THE FLUSH-OUT SEQUENCE RUNS AT AN SC_ FREQUENCY OF 40kHz.
THE HOST MAY COMMUNICATE AT UP TO 400kHz. THE TIMING SHOWN IS NOT TO SCALE.
t
SDA
SCL
SD_
SC_
RST/INT
t
1
6
BYTE1
FLUSH-OUT DATA
BYTE4
t
7
MAX7356/MAX7357/MAX7358
1-to-8 I2C Bus Switches/Multiplexers with Bus
Lock-Up Detection, Isolation, and Notification
Available addresses depend on the hardware connections of pins A2, A1, and A0 as shown in Table 1.
The last bit following the slave address bit A0 on an I
2
C
command defines the operation to be performed. When
the last bit sets to logic 1, a read is selected while logic
0 selects a write operation.
Register Map (MAX7357/MAX7358)
The MAX7357 and MAX7358 have 7 registers (shown in
Table 2) that can be accessed through the I2C bus. The
MAX7357 powers up with all of these registers accessible. The initial register address counter is at 0x00. The
MAX7358 powers up in basic mode with only the switch
control register available. Writing to a MAX7358
changes only the contents of the switch control register.
By sending a unique I2C sequence to the MAX7358, all
7 registers become available.
Register Access Protocol (MAX7356)
Only the MAX7356 device address is required to gain
access to its registers. A typical I2C command to communicate with the MAX7356 starts with its device
address followed directly by data bytes.
Only the switch control register can be accessed through
an I2C write or read command. All data bytes are for
the switch control register. The last data byte in an I2C
write command is retained by the switch control register.
Register Access Protocol
(MAX7357/MAX7358)
Only the MAX7357 or MAX7358 I2C device address is
required to gain access to its registers. A typical I2C
command to communicate with the MAX7357 or
MAX7358 starts with its device address and is followed
directly by data bytes. Internal register addresses are
not used in an I2C write or read command.
For enhanced mode, all registers are accessed in
sequence starting with the switch control register and
follows the order defined by internal register addresses
as shown in Table 2. Internal register addresses are
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, and 0x06 for
switch control, configuration, flush-out sequence, lockup indication, first and second bytes of the traffic prior
to lock-up, and preconnection fault registers, respectively. When writing data to the register(s), addressing
starts with address 0x00 and goes one higher in each
subsequent byte and comes back to 0x00 again after
0x02 since the next four higher addressed registers are
read only. Read access also starts with the internal register address 0x00 and goes one higher in each subsequent byte and comes back to 0x00 again after 0x06.
For basic mode, only the switch control register can be
accessed through an I2C write or read command. All
data bytes are for the switch control register. The last
data byte in an I2C write command is retained by the
switch control register. Incomplete bytes are ignored.
Switch Control Register
The switch control register (Figure 8) selects which
channels will be connected to the main I2C bus. This
register can be written and read through the main I2C
bus. The POR value for the switch control register is
0x00—all switches disconnected.
A SC_/SD_ downstream pair, or channel, is selected by
the contents of the switch control register. All bits of the
control byte are used to determine which channel is to
Figure 8. Switch Control Register
Table 4. Switch Control Register Channel Selection
be selected. More than one channel can be selected
simultaneously. When a channel is selected, the channel
becomes active immediately after a stop condition has
been placed on the I2C bus. This ensures that all
SC_/SD_ lines are in a HIGH state when the channel is
made active, so that no false conditions are generated at
the time of connection.
Configuration Register
(MAX7357/MAX7358)
B0 = RST/INT serves as an interrupt when a bus lockup condition is detected.
B1 = Flush-out sequence is sent automatically on lockedup channels when a lock-up condition is detected.
B2 = When B0 = 1, release the RST/INT output after
asserting for 1.6 seconds.
B3 = Data in the lock-up indication register cleared only
after reading the register.
B4 = Connected channels remain connected on detection of lock-up if the lock-up condition is present only on
a channel that is not connected.
B5 = Disable bus lock-up detection.
B6 = Basic mode.
B7 = Enables the preconnection wiggle test for SC_
and SD_.
Flush-Out Sequence Register
(MAX7357/MAX7358)
A flush-out sequence can be sent to a particular auxiliary bus automatically after the identification of the lockup condition. The flush-out sequence consists of 18
SC_ clock cycles. An 8-bit sequence for the SD_ to follow during the flush-out cycle can also be defined by
writing to the flush-out sequence register. By default,
the flush-out sequence register is all ones. The
MAX7357 or MAX7358 attempt to send the one-byte
sequence followed by an additional clock cycle (NACK)
two times sequentially, followed by a stop condition.
The effectiveness of sending the flush-out sequence
depends on the behavior of the locked-up device. For
an auxiliary bus with only slave devices, it is more likely
that the SCL line can still be driven by the MAX7357 or
MAX7358. In this case, a slave device may respond to
a particular flush-out sequence. After the release of the
SD_ line by a “stuck” device, the remaining sequence
on the SD_ line can be used to reset itself.
Bus Lock-Up Indication Register
(MAX7357/MAX7358)
The bus master can read the lock-up indication byte to
identify the stuck channels. A bit set to ”1” indicates
that the associated channel is stuck. The indication for
a given channel remains as long as the lock-up condi-
B7B6B5B4B3B2B1B0COMMAND
XXXXXXX0Interrupt with RST/INT disabled
XXXXXXX1Interrupt with RST/INT enabled
XXXXXX0XFlush-out disabled
XXXXXX1XFlush-out enabled
XXXXX0XXRST/INT released after a register read
XXXXX1XXRST/INT released after 1.6 seconds
XXXX0XXX
XXXX1XXX
XXX0XXXXDisconnect all channels on bus lock-up
XXX1XXXXDisconnect only the locked up bus
XX0XXXXXBus lock-up detection enabled
XX1XXXXXBus lock-up detection disabled
X0XXXXXXEnhanced mode
X1XXXXXXBasic mode enabled
0XXXXXXXPreconnect test is disabled
1XXXXXXXPreconnect test is enabled
The lock-up register shows the current
condition
The lock-up register data is not cleared
until a read
tion exists on that channel. If the interrupt feature is
selected (B0 of the configuration register is 1), however, the interrupt signal, RST/INT, deasserts (goes to
high) once this bus lock-up indication register is read.
If desired, setting bit B3 of the configuration register to
1 can latch the lock-up data. When B3 is set, the lockup bits remain set (even if a channel becomes
“unstuck”) until the lock-up indication register is read
by the master. Lock-up conditions on unconnected auxiliary buses are also detected. When this happens, operation is the same as when lock-ups are detected on
connected buses, except that, if desired, bus connections may be maintained as long as any detected lockups are present only on unconnected channels. This
option is selected using bit B4 of the configuration register. (Figure 9)
Traffic Prior to Lock-Up Register
(MAX7357/MAX7358)
The I2C bus traffic information per SCL clock is monitored and stored into the two-byte traffic prior to lock-up
register. The first two bytes of information after a START
are stored in this register. This I
2
C bus traffic information is frozen upon a bus lock-up detection. A host can
read these two bytes of traffic information upon the
reception of an interrupt signal. The contents of the traffic prior to lock-up register is released and refreshed
once it is read.
The traffic prior to lock-up register can be used to identify the device address as well as the following byte
involved in a bus lock-up.
When troubleshooting an I2C bus, a scope is usually
used to capture traffic leading to the problem. The contents of the traffic prior to the bus fault can usually be
determined by identifying a device address, a register
address, or a part of this data.
Table 7 shows contents of the traffic prior to the lock-up
register corresponding to a lock-up situation as demonstrated by Figure 10.
Table 8. Stuck HIGH Fault Register Channel Indication
X = Don’t care.
Table 7. A Traffic Prior to Lock-Up Register Contents Example
Stuck HIGH Fault Register
(MAX7357/MAX7358)
Following an interrupt when bit B0 and B7 are enabled,
the bus master can read the stuck high fault byte to
identify stuck channels. A bit set to ”1” indicates that
the associated channel is stuck, and will not be allowed
to be connected to the host bus. The stuck high fault
register is cleared, and, if the interrupt feature is
enabled, RST/INT deasserts (goes to high) once this
register is read. However, while B7 is set to one, any
time a disconnected bus is selected for connection, the
preconnect test runs. If the fault still exists, the fault
handling sequence repeats and the faulty bus will not
be allowed to connect to the host bus.
RST
(MAX7356)
The RST on the MAX7356 can be used to reset the
MAX7356 by a host. The RST input is an active-low signal. By asserting this signal low for a minimum of t
WL(rst)
externally, the MAX7356 resets its I2C state machine
and deselects all channels. RST is overvoltage-tolerant
to +6V. The RST input must be connected to V
DD
through a pullup resistor.
RST/INT
(MAX7357/MAX7358)
The RST/INT on the MAX7357 or MAX7358 is bidirectional. It can be used to reset the device by a host or by
the device to send an interrupt signal to the host. The
RST/INT input is an active-low signal. By asserting
RST/INT low for a minimum of t
WL(rst)
externally, the
device resets its registers and I2C state machine and
deselects all channels. When RST/INT is configured to
notify the host of fault conditions, and while RST/INT
is being used as an output by the MAX7357 or
MAX7358 (sending an interrupt to the host), it does not
function as a reset input. RST/INT is overvoltage-tolerant
to +6V. RST/INT must be connected to VDDthrough a
pullup resistor.
Interrupt Signal (MAX7357/MAX7358)
A bus lock-up-caused interrupt signal can be sent to a
host through the bidirectional RST/INT pin depending
on whether or not bit B0 of the configuration register is
set. Configuration register bit B2 controls how the interrupt signal is reset. When B2 = 0, the interrupt signal
asserts (stays low) until the lock-up indication register is
read. When B2 = 1, the interrupt signal deasserts after
ADDRESSB7B6B5B4B3B2B1B0NOTE
0x0401101000Write to the troubled device address
0x0501100000The first data byte with trailing 0’s due to lock-up
2 seconds. The interrupt signal asserts again once a
new lock-up is detected. The interrupt signal does not
activate the reset function.
Serial Interface
Serial Addressing
The MAX7356/MAX7357/MAX7358 operate as a slave
that sends and receives data through an I
2
C interface.
The interface uses a serial-data line (SDA) and a serialclock line (SCL) to achieve bidirectional communication
between master(s) and slave(s). The master initiates all
data transfers to and from the MAX7357 or MAX7358
and generates the SCL clock that synchronizes the
data transfer.
SDA operates as both an input and an open-drain output. A pullup resistor (4.7kΩ, typ) is required on SDA.
SCL operates only as an input. A pullup resistor (4.7kΩ,
typ) 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 sent
by a master, followed by the MAX7356/MAX7357/
MAX7358’s 7-bit slave address plus R/W bit, and then
optionally 1 or more data bytes, and finally a STOP condition (Figure 10).
START and STOP Conditions
Both SCL and SDA remain high when the interface is
not busy. The master signals the beginning of a transmission 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, the master
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 11).
Bit Transfer
One data bit is transferred during each clock pulse.
The data on SDA must remain stable while SCL is high
(Figure 12).
Acknowledge
The acknowledge bit is a clocked 9th bit the recipient
uses to handshake receipt of each byte of data (Figure
13). 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, so the SDA line is stable low during the
high period of the clock pulse. When the master is
transmitting to the MAX7356/MAX7357/MAX7358, the
MAX7356/MAX7357/MAX7358 generate the acknowl-
Figure 10. Bus Lock-Up During a 3-Byte Write Command
Figure 11. Start and Stop Conditions
Figure 12. Bit Transfer
Figure 13. Acknowledge
ACKNOWLEDGE FROM
THE TROUBLED DEVICE
0A0100110S00LLLLLLLLLLLLLLL11
LOCK-UP
OCCURS
START
SDA
SCL
S
START
CONDITION
SDA
SCL
DATA STABLE
DATA VALID
START
CONDITION
SCL
SDA
128 9
CHANGE OF
DATA ALLOWED
W
CONDITION
CLOCK PULSE FOR
ACKNOWLEDGMENT
NOT ACKNOWLEDGE
ACKNOWLEDGE
FIRST DATA BYTESECOND DATA BYTE
P
STOP
MAX7356/MAX7357/MAX7358
1-to-8 I2C Bus Switches/Multiplexers with Bus
Lock-Up Detection, Isolation, and Notification
edge bit because the device is the recipient. When the
MAX7356/MAX7357/MAX7358 are transmitting to the
master, the master generates the acknowledge bit
because the master is the recipient.
Slave Address
The MAX7356/MAX7357/MAX7358 have 7-bit-long
slave addresses (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.
Accessing the MAX7356
A single-byte write to the MAX7356 sets the switch
control register.
A multibyte write to the MAX7356 writes repeatedly to
the switch control register. The last byte written determines the contents of the register.
A single-byte read from the MAX7356 returns the con-
tents of the switch control register.
A multibyte read (2 or more bytes before the I2C STOP
bit) from the MAX7356 returns the contents of the
switch control register repeatedly.
Accessing the MAX7357/MAX7358 in
Enhanced Mode
In enhanced mode, all 7 registers are enabled. These
registers are autoincremented starting with the switch
control register during each I2C transaction. When a
new transaction begins, the switch control register is
the first register accessed.
A single-byte write to the MAX7357 or MAX7358 sets
the switch control register.
A 2-byte write to the MAX7357 or MAX7358 sets the
switch control and configuration registers.
A 3-byte write to the MAX7357 or MAX7358 sets the
switch control, configuration, and flush-out sequence
registers.
A multibyte write to the MAX7357 or MAX7358 with
more than three bytes sets the first three registers, then
resets the pointer back to the switch control register
(0x00) since the remaining registers are read only.
Subsequent bytes of data, after 3 bytes, begin overwriting the first set of data starting with 0x00, 0x01, 0x02,
then looping back to 0x00 again, and continuing until a
STOP condition is received.
A single-byte read from the MAX7357 or MAX7358
returns the contents of the switch control register.
A multibyte read from the MAX7357 or MAX7358 returns
contents of all 7 registers in sequence and repeats.
The internal register address count always begins with
the switch control register, 0x00.
Accessing the MAX7357/MAX7358
in Basic Mode
In basic mode, only the switch control register is
enabled.
A single-byte write to the MAX7357 or MAX7358 sets
the switch control register.
A multibyte write to the MAX7357 or MAX7358 in basic
mode writes repeatedly to the switch control register.
The last byte written determines the contents of the register.
A single-byte read from the MAX7357 or MAX7358
returns the contents of the switch control register.
A multibyte read (2 or more bytes before the I
2
C STOP
bit) from the MAX7357 or MAX7358 returns the contents
of the switch control register repeatedly.
Writing to the MAX7356
The MAX7356’s switch control register can be written by
an I2C write command starting with the device address
for the MAX7356 and followed by data bytes. The last
data byte is stored into the switch control register.
A write to the MAX7356 starts with the master transmitting
the slave address with the R/W bit set low. The MAX7356
acknowledges the slave address. The master can then
issue a STOP condition after the acknowledge (Figure 14),
but typically the master proceeds to transmit one or more
bytes of data. The MAX7356 acknowledges these subsequent bytes of data and updates the switch control register when the master issues a STOP condition (Figure 14).
Writing to the MAX7357/MAX7358 in
Enhanced Mode
The MAX7357 and MAX7358 registers can be written
by an I2C write command starting with the device
address for the MAX7357 or MAX7358 and followed by
data bytes. The first data byte is stored into the switch
control register and subsequent data bytes are stored
into the subsequent registers.
A write to the MAX7357 or MAX7358 starts with the
master transmitting the slave address with the R/W bit
set low. The MAX7357 or MAX7358 acknowledge the
slave address. The master can then issue a STOP condition after the acknowledge (Figure 15), but typically
the master proceeds to transmit one or more bytes of
data. The MAX7357 or MAX7358 acknowledge these
subsequent bytes of data and update corresponding
registers with each new byte until the master issues a
STOP condition (Figure 15).
Writing to the MAX7357/MAX7358
in Basic Mode
The MAX7357 and MAX7358 switch control register can
be written by an I2C write command starting with the
device address for the MAX7357 or MAX7358 and followed by data bytes. The last data byte is stored in the
switch control register.
A write to the MAX7357 or MAX7358 starts with the
master transmitting the slave address with the R/W bit
set low. The device acknowledges the slave address.
The master can then issue a STOP condition after the
acknowledge (Figure 16), but typically the master proceeds to transmit one or more bytes of data. The
MAX7357 or MAX7358 acknowledge these subsequent
bytes of data and update the switch control register
when the master issues a STOP condition (Figure 16).
Reading from the MAX7356
A read from the MAX7356 starts with the master transmitting the slave address with the R/W bit set high. The
MAX7356 acknowledges the slave address. The master
can read 1 byte from the switch control register and
then issue a STOP condition (Figure 17). If the master
reads more than one byte, the master upon reception
acknowledges each byte. All bytes return the contents
of the switch control register.
Reading from the MAX7357/MAX7358
in Enhanced Mode
A read from the MAX7357 or MAX7358 starts with the
master transmitting the slave address with the R/W bit
set high. The device acknowledges the slave address.
The master can read 1 byte from the device and then
issue a STOP condition (Figure 18). In this case, the
device transmits the data byte from the switch control
register. Typically, the master reads 1 or 2 bytes with
each byte being acknowledged by the master upon
reception. The first data byte comes from the switch
control register and subsequent data bytes come from
the subsequent registers in order.
Figure 14. Writing to the MAX7356
Figure 15. Writing to the MAX7357 or MAX7358 in Enhanced Mode
ADDRESS OF MUX/SWT PARTS
START
0A D7 D6 D5 D4 D3 D2 D1 D0 AP
R/W
ACKNOWLEDGE FROM THE
MAX7357 OR MAX7358
ACKNOWLEDGE FROM THE
MAX7357 OR MAX7358
STOP
DATA BYTE TO THE SWITCH
CONTROL REGISTER
D7 D6 D5 D4 D3 D2 D1 D0 A
ACKNOWLEDGE FROM THE
MAX7357 OR MAX7358
DATA BYTE TO THE SWITCH
CONTROL REGISTER
Figure 16. Writing to the MAX7357 or MAX7358 in Basic Mode
ACKNOWLEDGE FROM THE
ADDRESS OF MUX/SWT PARTS
MAX7356
0A D7 D6 D5 D4 D3 D2 D1 D0 AP
ACKNOWLEDGE FROM THE
MAX7356
D7 D6 D5 D4 D3 D2 D1 D0 A
ACKNOWLEDGE FROM THE
MAX7356
START
R/W
DATA BYTE TO THE SWITCH
CONTROL REGISTER
START
ACKNOWLEDGE FROM THE
ADDRESS OF MUX/SWT PARTS
MAX7357 OR MAX7358
0 A D7 D6 D5 D4 D3 D2 D1 D0 A
R/W
ACKNOWLEDGE FROM THE
MAX7357 OR MAX7358
DATA BYTE TO THE SWITCH
CONTROL REGISTER
DATA BYTE TO THE SWITCH
ACKNOWLEDGE FROM THE
D7 D6 D5 D4 D3 D2 D1 D0 A
DATA BYTE TO THE CONFIGURATION
REGISTERS
MAX7358
CONTROL REGISTER
ACKNOWLEDGE FROM THE
D7 D6 D5 D4 D3 D2 D1 D0 A
DATA BYTE TO THE FLUSH-OUT
SEQUENCE
STOP
MAX7358
P
STOP
MAX7356/MAX7357/MAX7358
1-to-8 I2C Bus Switches/Multiplexers with Bus
Lock-Up Detection, Isolation, and Notification
Figure 18. Reading the MAX7357 or MAX7358 in Enhanced Mode
ADDRESS OF MUX/SWT PARTS
START
1A D7 D6 D5 D4 D3 D2 D1 D0 AP
R/W
ACKNOWLEDGE FROM THE
MAX7357 OR MAX7358
ACKNOWLEDGE FROM A
HOST
STOP
DATA BYTE FROM THE SWITCH
CONTROL REGISTER
D7 D6 D5 D4 D3 D2 D1 D0 A
ACKNOWLEDGE FROM A
HOST
DATA BYTE FROM THE SWITCH
CONTROL REGISTER
Figure 19. Reading the MAX7357 or MAX7358 in Basic Mode
Reading from the MAX7357/MAX7358
in Basic Mode
A read from the MAX7357 or MAX7358 in basic mode
starts with the master transmitting the slave address
with the R/W bit set high. The device acknowledges the
slave address. The master can read 1 byte from the
switch control register and then issue a STOP condition
(Figure 19). If the master reads more than one byte, the
master upon reception acknowledges each byte. All
bytes return the contents of the switch control register.
Applications Information
Voltage Level Translation
The pass gates of the MAX7356/MAX7357/MAX7358
are designed so VDDcan be used to limit the voltage
levels transferred from one bus to another. The powersupply voltage of the part should be selected to be no
larger than one VGSON(0.7V, typ) above the lowest
bus voltage in the system. This ensures that the analog
switches do not allow current to flow from higher voltage buses to lower voltage buses.
*CONNECT EXPOSED PAD TO GND.
( ) ONLY FOR THE MAX7357 AND MAX7358
RST
(RST/INT)
A1
23242221
+
1
2
3
4
5
6
879
SC3
SD3
A0
MAX7356
MAX7357
MAX7358
10
GND
TQFN-EP
DD
V
SD4
SDA
SCL
19
20
18
A2
SC7
17
SD7
16
15
SC6
SD6
14
*EP
12
11
SC4
SD5
SC5
13
MAX7356/MAX7357/MAX7358
1-to-8 I2C Bus Switches/Multiplexers with Bus
Lock-Up Detection, Isolation, and Notification
Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are
implied. Maxim reserves the right to change the circuitry and specifications without notice at any time.
22
____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600