I am still a student. When I am designing communication system I am facing this problem: As shown in the figure I need to communicate with Master and Slave. But Master and Slave have single I/O port for receive and transmit signals. As shown in the figure, I am using a transceiver for this system to communicate with each other. But the problem is when the master transmits the signal, it loops and comes back to the master. How do I overcome this problem? I think problem is clear.

(In this figure I have shown I/O connection only.)

enter image description here

enter image description here

  • 2
    \$\begingroup\$ Your transceiver should have some control signal to enable/disable the RX/TX lines. If it doesn't have these, you will need to add some MUX/3-state buffers. \$\endgroup\$ – Eugene Sh. Feb 26 at 18:40
  • \$\begingroup\$ It's no big deal on here, but when handing in your report and presentations, make sure that you write "receiver", "transceiver" correctly. you didn't do that in your picture once, though you had 4 chances ;) \$\endgroup\$ – Marcus Müller Feb 26 at 19:51
  • \$\begingroup\$ The problem is not really clear; have you already deceided on the type of bus and a protocol for the different links in your system? \$\endgroup\$ – Marcus Müller Feb 26 at 19:52
  • \$\begingroup\$ I use M-LVDS transceivers here ( voltage level translator and etc. ). And master and slave communicate with each other using the ISO 7816-3 asynchronous protocol ( Master send information to the slave using data stream ) . Here my problem is when the master send the message to the slave through the transmission line it arrives to the slave's I/O pin, slave's side driver read that information too, So how do i prevent this case. \$\endgroup\$ – life style Feb 27 at 4:01
  • \$\begingroup\$ Put simply, your software needs to be written to ignore its own transmissions - though even that may not be correct; it may actually need to follow its own transmissions to see the end of the packet, but discard the contents. Systems which work this way generally embed addressing information, and general the subservient devices speak only in direct reply to the supervising one, so it is not particularly hard to figure out who is speaking, and whom they are addressing. \$\endgroup\$ – Chris Stratton Feb 27 at 6:49

This is a good instructional example for a student :)

This is a fundamental problem when designing a bidirectional bus. And actually the problem stays the same even if you delete the two transceivers in the middle of the circuit (just connect master directly to slave). Both your master and your slave have a port labeled "I/O" so you need to determine when to enable the output driver on the I/O pin for each of those ports. If you enable both output drivers, it won't work.

With the transceivers in the circuit, you still have the same problem -- as you've pointed out, if you enable all the drivers the circuit simply doesn't work. You either need to enable the drivers for the data to flow "to the right" or for the data to flow "to the left".

You will need to add some logic to the circuit (some extra control lines and/or some software protocol) to set up the bus to drive data in the correct direction at the correct time.

By the way, if you actually build this circuit be sure to put some pull-up or pull-down resistors on that bus too, because it's a bad idea to leave a bus floating. Ask your professor for details.

  • \$\begingroup\$ No. This is not an issue of electronic logic, as it remains even when the drivers are correctly activated. Rather, it is an issue of software. \$\endgroup\$ – Chris Stratton Feb 27 at 6:48
  • \$\begingroup\$ I think it would be fair to say that this is not only an issue of electronic logic, but the schematic as drawn will not work unless there are some control lines added. Yes once those are added they won't be much good until they're being governed by some sensible software. \$\endgroup\$ – Mr. Snrub Feb 27 at 7:08
  • \$\begingroup\$ @Mr. Snrub thank you. I also think its needed FSM ( Finite State Machine ) to Control the one side of Transceiver's receiver enable/disable pin. \$\endgroup\$ – life style Feb 27 at 7:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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