Electronic – Difference between i2c switch and i2c mux

i2cmultiplexerswitches

I am working on a project which involves reading from multiple IMU sensors on i2c protocol. They have a fixed i2c address and hence I feel the requirement of some sort of multiplexer.

On some research, I found two components which appear to be doing same job. Here are the brief descriptions that these devices carry on TI website:

1) TCA9544A Low Voltage 4-Channel I2C and SMBus Multiplexer With Interrupt Logic

The TCA9544A is a quad bidirectional translating switch controlled via
the I2C bus. The SCL/SDA upstream pair fans out to four downstream
pairs, or channels. Any individual SCn/SDn channel or combination of
channels can be selected, determined by the contents of the
programmable control register. Four interrupt inputs (INT3–INT0), one
for each of the downstream pairs, are provided. One interrupt output
(INT) acts as an AND of the four interrupt inputs.

2) TCA9546A Low Voltage 4-Channel I2C and SMBus Switch with Reset Function

The TCA9546A is a quad bidirectional translating switch controlled via
the I2C bus. The SCL/SDA upstream pair fans out to four downstream
pairs, or channels. Any individual SCn/SDn channel or combination of
channels can be selected, determined by the contents of the
programmable control register.

To me, both appear to be the same. If anyone can point out the key difference between these two things, it will be really helpful.

Also, I want to ask what will be more suited for my purpose – I want to read the sensor data from all sensors at the maximum possible rate and stream it to a host PC or mobile phone using UART/wifi/bluetooth.

Best Answer

They are the same, and section 3 in both descriptions designates both as "switch". The only difference is an ability of 9544A IC to log interrupts. I even think they are coming from the same wafer/die, just bonded out differently.

CORRECTION: David.A is right, 9544 can only multiplex 1<=>4, while 9546 can connect any combination of channels, although I am not sure what would be the purpose for this, since ACKs will collide then. Technically both ICs can be controlled as a MUX, just the control should be different.

Related Topic