The PCA9548A device has eight bidirectional
translating switches that can be controlled through the I2C bus. The
SCL/SDA upstream pair fans out to eight downstream pairs, or channels. Any individual SCx/SDx
channel or combination of channels can be selected, determined by the contents of the programmable
control register. These downstream channels can be used to resolve I2C
slave address conflicts. For example, if eight identical digital temperature sensors are needed in
the application, one sensor can be connected at each channel: 0-7.
The system master can reset the PCA9548A in the event of a time-out or other improper
operation by asserting a low in the RESET input. Similarly, the power-on
reset deselects all channels and initializes the I2C/SMBus state
machine. Asserting RESET causes the same reset and initialization to occur
without powering down the part. This allows recovery should once of the downstream
I2C buses get stuck in a low state.
The pass gates of the switches are constructed so that the VCC pin
can be used to limit the maximum high voltage, which is passed by the PCA9548A. This allows the use
of different bus voltages on each pair, so that 1.8-V, 2.5-V or 3.3-V parts can communicate with
5-V parts, without any additional protection. External pull-up resistors pull the bus up to the
desired voltage level for each channel. All I/O pins are 5-V tolerant.