PCA9547 8 channel I2C bus multiplexer

The PCA9547 is an octal bidirectional translating multiplexer controlled by the I2C-bus. The SCL/SDA upstream pair fans out to eight downstream pairs, or channels.

Hello World

Import programpca9547_Hello

HelloWorld program for PCA9547: an I2C bus multiplexer control library. PCA9547 is an I2C multiplexer which enables to select 1:8 multiplexed I2C bus. The multiplexer is useful for deviding I2C bus to avoiding slave address conflict and separating capacitive loads. For more information about PCA9547: http://www.nxp.com/documents/data_sheet/PCA9547.pdf

Library

Import libraryPCA9547

PCA9547: an I2C bus multiplexer control library. PCA9547 is an I2C multiplexer which enables to select 1:8 multiplexed I2C bus. The multiplexer is useful for deviding I2C bus to avoiding slave address conflict and separating capacitive loads. For more information about PCA9547: http://www.nxp.com/documents/data_sheet/PCA9547.pdf

Pinout

Datasheet

http://www.nxp.com/documents/data_sheet/PCA9547.pdf

Notes

PCA9547

pca9547

The PCA9547 is an octal bidirectional translating multiplexer controlled by the I2C-bus. The SCL/SDA upstream pair fans out to eight downstream pairs, or channels. Only one SCx/SDx channel can be selected at a time, determined by the contents of the programmable control register. The device powers up with Channel 0 connected, allowing immediate communication between the master and downstream devices on that channel.

PCA9547
The PCA9547has 8 slave side ports and one of those can be selected by command via I2C bus.

PCA9547_address_setting
The PCA9547 can have 8 unique slave address. So 8 independent PCA9547 can be on the same I2C bus.

I2C multiplexer and switch family

typechannelsmux or swinterruptresetI2C frequencyremark
PCA9540B1:2multiplexernono400kHz
PCA9541A2:1multiplexeryesyes400kHz2 master side mux
PCA95412:1multiplexeryesyes400kHz2 master side mux
PCA9542A1:2multiplexeryesno400kHz
PCA9543A/B/C1:2switchyesyes400kHzA, B and C have different slave address setting ranges
PCA9544A1:4multiplexeryesno400kHz
PCA9545A/B/C1:4switchyesyes400kHzA, B and C have different slave address setting ranges
PCA95456A1:4switchnoyes400kHz
PCA96461:4switchnoyes1MHzBuffered I/O
PCA954571:8multiplexerno yes400kHzThis library was written for this chip
PCA95458A1:8switchnoyes400kHz