Cascading/Daisy chain PCA9548A

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Cascading/Daisy chain PCA9548A

Jump to solution
2,012 Views
rkanaman
Contributor I

Hi Team,

Is it legal to daisy chain/cascade multiple PCA9548A such that output from one channel of PCA9548A to I2C input of PCA9548A? If yes, is there any design guidelines that needs to be followed or limitations that we should be aware of?

0 Kudos
Reply
1 Solution
1,978 Views
reyes
NXP TechSupport
NXP TechSupport

Hi,

 

Correct, the first example is not allowed and all the rest examples are allowed. You can't have more than one I2C switch with the same slave address in your system. An I2C switch behaves like any other I2C slave device: if several devices have the same address and are present in the same bus then they will all respond to the master sending this slave address and will perform the exact same operation (assuming a write operation).

 

Using devices like PCA9548A below the master limits the system to 64 nodes (8x8: the PCA9548A is an 8-channel device and up to 8 of them can be used thanks to the 3 programmable address pins).

Note that once the master controller has configured the PCA954X, the device behaves like a wire (transparent switch behavior) and will keep the programmed configuration until the master controller addresses it again to change the configuration. Each I2C message addressed to another device connected to a downstream channel will pass through the PCA954X device and there is no need to access and configure the PCA954X device again.

 

When a channel is selected, the channel will become active after a STOP condition has been placed on the I2C-bus.

I recommend you to check the Application Note AN262 for more details: https://www.nxp.com/docs/en/application-note/AN262.pdf

 

Regards,

Jose

View solution in original post

0 Kudos
Reply
4 Replies
1,972 Views
rkanaman
Contributor I

Thanks for sharing details and clarification. It's really helpful

0 Kudos
Reply
2,005 Views
reyes
NXP TechSupport
NXP TechSupport

Hi,

The PCA954X devices can be used in series or parallel. Just take in mind that the only requirements for series configuration is to be sure that:

- the total capacitance is less than 400 pF on the active buses

- there is no address conflicts between the devices (maybe a different device would be required, for exmaple a PCA9548A connected to a PCA9546A).

- the cumulative device resistance should also be considered.

 

The PCA954X uses pass transistors that have a specified Ron value. If PCA954Xs are used in series, all the series resistance of each device will add to each other. The resistance per device can be as high as 55 ohms over temperature. This shouldn't be an issue in most applications but the customer should be aware of this potential problem if they put a large number of PCA954Xs in series. This parameter can be critical in low voltage I2C systems.

 

Said, that, several configurations are then possible. Here are some examples:

- One 4-channel device, like the PCA9546A (4 segments) with three PCA9548A on each downstream channel (24 channels per segment) thus allowing up to 8x3x4 = 96 nodes.

- One 4-channel device with two PCA9548A and one PCA9546A thus allowing up to (8+8+4)x4 = 80 nodes.

 

Regards,

Jose

0 Kudos
Reply
1,994 Views
rkanaman
Contributor I

Thanks for the response. So the Downstream mux should have different address than the upstream Mux?

As example: Could you please confirm of below configurations what are not allowed?

1. Master -> PCA9548 (0x77) -> PCA9548 (0x77) -> load is not allowed or

2. Master->PCA9548 (0x75) -> PCA9548 (0x77) -> load (is it legal)?

      2.a. If above is legal how about

           Master->

                      1. PCA9548 (0x75) -> PCA9548 (0x77) -> load

                       2. PCA9548 (0x77) -> PCA9548 (0x75) -> load

 

 

0 Kudos
Reply
1,979 Views
reyes
NXP TechSupport
NXP TechSupport

Hi,

 

Correct, the first example is not allowed and all the rest examples are allowed. You can't have more than one I2C switch with the same slave address in your system. An I2C switch behaves like any other I2C slave device: if several devices have the same address and are present in the same bus then they will all respond to the master sending this slave address and will perform the exact same operation (assuming a write operation).

 

Using devices like PCA9548A below the master limits the system to 64 nodes (8x8: the PCA9548A is an 8-channel device and up to 8 of them can be used thanks to the 3 programmable address pins).

Note that once the master controller has configured the PCA954X, the device behaves like a wire (transparent switch behavior) and will keep the programmed configuration until the master controller addresses it again to change the configuration. Each I2C message addressed to another device connected to a downstream channel will pass through the PCA954X device and there is no need to access and configure the PCA954X device again.

 

When a channel is selected, the channel will become active after a STOP condition has been placed on the I2C-bus.

I recommend you to check the Application Note AN262 for more details: https://www.nxp.com/docs/en/application-note/AN262.pdf

 

Regards,

Jose

0 Kudos
Reply