1
\$\begingroup\$

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

\$\endgroup\$
8
  • 1
    \$\begingroup\$ What's an open drain input? \$\endgroup\$
    – Majenko
    Feb 5, 2015 at 21:59
  • 2
    \$\begingroup\$ And the answer to your question is: yes - that's exactly why they ARE open drain outputs. \$\endgroup\$
    – Majenko
    Feb 5, 2015 at 21:59
  • 2
    \$\begingroup\$ This approach has worked for 50 years, at least. Not clear why it would suddenly stop working. Ohm's law hasn't been repealed yet. \$\endgroup\$
    – Hot Licks
    Feb 5, 2015 at 22:05
  • 1
    \$\begingroup\$ i2c is a very different beast. Too high a resistance and the waveform is distorted by the input voltage rising too slowly. Too low and you waste current or overload your open drain outputs. It's a fine balancing act. For interrupts you don't really have that kind of problem. \$\endgroup\$
    – Majenko
    Feb 5, 2015 at 22:15
  • 3
    \$\begingroup\$ This technique of connecting several open-connector or open-drain outputs is sometimes called "wired OR". \$\endgroup\$ Feb 5, 2015 at 22:18

1 Answer 1

2
\$\begingroup\$

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

\$\endgroup\$
3
  • \$\begingroup\$ I think the right most label in the figure should be "output" instead of "input". \$\endgroup\$
    – nidhin
    Feb 12, 2015 at 18:04
  • \$\begingroup\$ Depends on your point of view. It's the output of the circuit, but it connects to the input of the MCU. \$\endgroup\$
    – Majenko
    Feb 12, 2015 at 18:08
  • \$\begingroup\$ Yes it depends. The word "open-drain input" in OP made me think that way. :) \$\endgroup\$
    – nidhin
    Feb 12, 2015 at 18:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.