Electronic – Connecting Open-Drain inputs or outputs together with one resistor

interruptsopen-drainpullupreset

I had a couple of quick questions. I am designing a board using 10 IO expanders which I'll use as inputs. Each has an !INT pin which is open drain and pulled high to 5v through a resistor. Can I attach all of these pins together to effectively create a 10 input 'AND' of all the interrupt pins to be read by a uC? Additionally, each of these chips has a !RESET pin that also operate open drain and are pulled high to 5V through a resistor. Could I effectively reset all of my chips at the same time by connecting them together and pulling the line low? Finally, I know that I2C operates using open-drain inputs/outputs and you need the pull-up resistors decently close to the actual chips but since my !INT and !RESET lines aren't going to switch at nearly the same frequency, could I get away with a single pull-up resistor for each of the two lines?

The IO Expander I'm using:
http://www.nxp.com/documents/data_sheet/PCA6416A.pdf

I2C Bus Switcher:
http://www.ti.com/lit/ds/symlink/tca9548a.pdf

Best Answer

Yes. Open drain outputs act like a switch to ground. The resistor acts as a pullup for when none of the outputs are active.

If you replace the open drain outputs in your circuit with buttons its easier to visualise:

schematic

simulate this circuit – Schematic created using CircuitLab