Analog switch frees stuck I²C bus
The dual-channel PCA9540 I2C multiplexer often breaks up an I2C or SM bus or allows you to use devices with the same addresses on the same bus. When the PCA9540 initially powers up, it comes up in a state in which both channels are deselected. The I2C- or SM-bus master can then address the control register in the PCA9540 to select either Channel 0 or Channel 1, connecting the master to the appropriate channel. The I2C bus can then address downstream devices on the selected channel. If a failure occurs in one of the downstream channels, such that the I2C bus is stuck at high or low, the I2C-bus master could become disabled. Because the PCA9540 has a power-on-reset function that initializes the multiplexer with all channels disconnected, this feature can free the bus. In some applications, however, powering down the entire system may be impractical. One way to avoid powering down the entire system is to install a low-on-resistance analog switch in series with the power-supply line of the multiplexer (Figure 1).
When the enable pin of the 74LVC1G66 goes low, the supply voltage disconnects from the multiplexer, thereby freeing up the I2C bus. The I2C master or any other system controller can generate this hardware reset. The 74LVC1G66 is available in a 2-mm2 package, so the circuit takes up little additional board space. This example uses the PCA9540, but you can use the 74LVC1G66, with a typical on-resistance of approximately 6Ω, to selectively control the power for any device that has a power-on-reset function. Its size and wide operating-voltage range also make it practical to selectively power down sections of any circuit in power-sensitive applications.