Commoning Of Open Collector Outputs On A Device? - Page 1
Forum section: electronics / beginners

author: ShaunLeeClarke
author_rank: Contributor
timestamp: May 30, 2019, 03:47:56 am
content: Quick question for those that know a bit more about this than I do.If I have a device which has several programmable open collector outputs, is there any issue with commoning these up to get the functional equivalent of an "OR" gate?The device in question is an alarm panel which supports activating open collector outputs on certain events, but only supports a single event per output. My plan is to simply tie two (or more) outputs together so that either event can trigger the connected device.I believe this would work - but would there be any consequences to having the collector of the non-activated open collectors tied to ground through the open collector that is active?If this isn't a good idea I can achieve the same functionality by wiring each open collector to its own relay, however it would be advantageous to avoid this if I can.Thanks in advance.UPDATE:It seems it's definitely possible, as per this quote fromhttps://en.wikipedia.org/wiki/Open_collector:QuoteThat being the case, are there any practical limitations to this? As in, do I need any extra components or anything I need to watch out for?The other potential issue is, I don't know much at all about how they've implemented the open collector outputs on the device, so that could complicate it as well.

author: bob91343
author_rank: Super Contributor
timestamp: May 30, 2019, 04:11:22 am
content: To be on the safe side, I'd add a diode in each output line to make sure the current won't flow backwards. Other than that, I think parallel operation is perfectly feasible. So if one collector is pulled down, the output is pulled down, no matter which collector or how many. Otherwise the output will be high.If the open collector is contained within an IC, check the data sheet for this capability. Generally it should work.

author: JackJones
author_rank: Regular Contributor
timestamp: May 30, 2019, 04:20:57 am
content: Quote from: ShaunLeeClarke on May 30, 2019, 03:47:56 amI'm not sure if you can implement open collector outputs other than with.. open collectors! At least I'm not aware of any weird implementation of them, they should look just like open collectors.It is definitely doable, for example I2C uses the same thing. Open collector on the master, open collector on the slave sharing the same line.

author: Brumby
author_rank: Unknown
timestamp: May 30, 2019, 04:33:05 am
content: Quote from: ShaunLeeClarke on May 30, 2019, 03:47:56 amNo. All of the non-active open collectors just won't have a voltage on the collector. The main purpose of the whole "open collector" concept is to do exactly what you want to do.QuoteThe limitations are first and foremost is choosing an appropriate resistor. It must be low enough to ensure the output line is held high against everything that is connected to it when no active outputs are present - and it must be high enough to limit the current to a value less than the current capacity of the lowest (current) rated output.When you have extremely high input impedance for the following stage, then you might be tempted to put in a really high value pull-up resistor - but this can make that next stage susceptible to random noise. Keep the value down to a sensible value.

author: Brumby
author_rank: Unknown
timestamp: May 30, 2019, 04:34:14 am
content: Quote from: JackJones on May 30, 2019, 04:20:57 amOh yes. Make sure that the only outputs you connect to an "open collector" line are open collector!

author: T3sl4co1l
author_rank: Super Contributor
timestamp: May 30, 2019, 06:02:12 am
content: Quote from: JackJones on May 30, 2019, 04:20:57 amWell, if you're working with a programmable device, the actual output structures will be CMOS, presumably with enables on both switches, and maybe with weak pull up/downs as well. You implement an open collector behavior by setting the output state to low, and toggling the enable or direction register with your data instead. Thus the high side switch never turns on, and only the low side turns on and off, implementing an open collector (actually open drain) driver.Tim