Please see this :
The Task
I'm trying to create a single module which can safely share a single digital signal. The idea is that each (identical) module can monitor the status of the signal, and can raise it independently.
For example:
Module one notes that the signal is low (at RX1) and based on some logic decides to indicate to all the other modules that the signal should be high.
So module one raises the signal by applying a 9v pulse to TX1. Module 2 notices the rising edge of the signal (at RX2) and carries out some operation.
At some point in the future, module N may decide to pulse TXRX etc.
The shared digital signal must not share a ground with any of the modules (modules are audio, wish to avoid ground loops), hence the optoisolators.
QUESTIONS
Is there an accepted pattern for this type of operation? Perhaps some jellybean IC that I'm unaware of? Possibly some sort of optical system?
What would happen here if several modules tried to raise TXRX at the same time, and how can I safeguard against that (resistors or diodes in some way?)
CONSIDERATION
This design suffers from a few problems in that the LED in a PC817 ideal requires 20ma but may operate at 10ma. The BJT in the 817 can only supply ~50ma. This would limit the number of modules I can have in the chain.
I could use an external high power transistor after the 817 transmit but PCB space is limited.
Ideally my solution would require the TXRX bus line to carry minimal current. I know the old RS485 can handle 32 devices, but that is not isolated.
What sort of connector should I use for these three wires? I thought about some sort of standard barrel jack, but I don't want any accidents to happen with people just pushing a 9v DC jack into it.