Hi,
Excuse me if my terminology is a bit off; it's been a while since I've done any serious Electronics!
Anyway, I'm working on a project that requires a bidirectional flow of data; the problem is my connectors will need to be exactly the same, requiring exactly the same pinouts. The connectors will exist as surfaces with concentric-ring-shaped contacts.
So lets say I design my connectors to transmit 8 parallel bits of data between devices; this connector would therefore have a circle-shaped contact in the center (for ground), and 8 concentric ring-shaped contacts (for each bit of data). So in both devices, the innermost ring will be used to transmit the LSB, whereas the outermost ring will be used to transmit the MSB.
Here's the big problem; the 2 devices will be completely unaware of each other, and can't be set up in a master-slave configuration; in other words, the connector must allow bits to flow in both directions in an asynchronous manner, using only one contact for each bit.
An initial idea I had was to use a pull-up/pull-down resistor pair on the data pin, where each resistor has the same value. If we use a voltage of 5V on each device, this should mean that if device A is sending a '1' to device B, and device B is sending a '0' to device A at the same time, then the voltage at the pin will be 2.5V (as the pull-up resistor on device A and pull-down resistor on device B should act as a potential divider).
This, however, is not sufficient for my project, as a device should also be able to tell whether there actually is another device connected to them. In the circuitry designed above, this wouldn't be possible (we wouldn't be able to distinguish whether there's no device attached, or the other device is simply sending the same bit).
Please could somebody help with this? Ideally, I'm looking for a solution on a chip, but I'll make do if I need a complex circuit to achieve this.
Excuse me if my terminology is a bit off; it's been a while since I've done any serious Electronics!
Anyway, I'm working on a project that requires a bidirectional flow of data; the problem is my connectors will need to be exactly the same, requiring exactly the same pinouts. The connectors will exist as surfaces with concentric-ring-shaped contacts.
So lets say I design my connectors to transmit 8 parallel bits of data between devices; this connector would therefore have a circle-shaped contact in the center (for ground), and 8 concentric ring-shaped contacts (for each bit of data). So in both devices, the innermost ring will be used to transmit the LSB, whereas the outermost ring will be used to transmit the MSB.
Here's the big problem; the 2 devices will be completely unaware of each other, and can't be set up in a master-slave configuration; in other words, the connector must allow bits to flow in both directions in an asynchronous manner, using only one contact for each bit.
An initial idea I had was to use a pull-up/pull-down resistor pair on the data pin, where each resistor has the same value. If we use a voltage of 5V on each device, this should mean that if device A is sending a '1' to device B, and device B is sending a '0' to device A at the same time, then the voltage at the pin will be 2.5V (as the pull-up resistor on device A and pull-down resistor on device B should act as a potential divider).
This, however, is not sufficient for my project, as a device should also be able to tell whether there actually is another device connected to them. In the circuitry designed above, this wouldn't be possible (we wouldn't be able to distinguish whether there's no device attached, or the other device is simply sending the same bit).
Please could somebody help with this? Ideally, I'm looking for a solution on a chip, but I'll make do if I need a complex circuit to achieve this.