I have two microcontrollers on an I2C bus. They're powered by separate buck regulators.
This question recommends buck regulator outputs never be put in parallel. What about through I2C pullups? If not, how might I isolate my two systems?
I have two microcontrollers on an I2C bus. They're powered by separate buck regulators.
This question recommends buck regulator outputs never be put in parallel. What about through I2C pullups? If not, how might I isolate my two systems?
The situation is different depending on from which point of view it is looked from.
The regulators are not in parallel, the circuit can be reduced to each regulator having a load on their outputs and a series resistance between the both outputs. As long as each regulator has enough load, and the resistance connecting the outputs together is high enough, so each regulator can define the local supply voltage, which could be 3.2V and 3.4V due to tolerances.
The bus would then be held high at 3.3V due to one set pulling high to 3.4V, and one set pulling down to 3.2V equally. A small current would flow through bus resistors.
But that only applies in steady state after powering up.
When two parts of a circuit that are powered from separate supplies but have common data lines, it needs to be designed with great care.
It needs to be considered what happens if the supplies power up at different rate, or one powers up first and the other one later, or the other one is not turned on at all for some reason, like for saving power.
If only one supply is turned on, and the other isn't, the unpowered side gets current through pull-ups, and the unpowered I2C chip may have clamping current flowing into I2C bus pins, so there may be some indeterminate voltage powering the chip and the bus might have some indeterminate voltage too.
It basically means the chips may be subjected to invalid conditions during start-up, and they may degrade or damage under those conditions.
The pull-ups are generally added on the side of the master. You can remove the pull-up on the slave side but you will need to address the issue that "Justme" referred to when the master and slave are powered by different supplies with the master supply being ON and the slave supply being OFF.