1
\$\begingroup\$

There are 2 systems,A and B. Communication between them is via Uart.

As part of periodic health check for CAN Bus, its possible to do a loopback and check the status of the CAN transceiver and the bus(in addition to those taken care of the CAN spec itself like error counters).

Similarly, if my choice is UART for communication, is there any method i can ensure that the Tx and Rx lines are functioning properly without System A having to send a msg to System B and asking System B to retransmit back the same data received by it? I want to make the Health test by each system independent of the other.

\$\endgroup\$
  • \$\begingroup\$ I guess, no. It would be a nice feature in industrial PLCs. \$\endgroup\$ – Marko Buršič Mar 21 '16 at 10:22
1
\$\begingroup\$

If "functioning properly" means proving that Tx and Rx lines are not open circuit then "no". To check this requires "something" at the far end however, even with something at the far end you cannot simply know that a line open fault is due to Tx, Rx or both.

You could develop a form of TDR (time domain reflectometry) but this seems overkill.

If you are looking for shorts between wires or to ground then it can be done at one end of the link.

\$\endgroup\$
  • \$\begingroup\$ "If you are looking for shorts between wires or to ground then it can be done at one end of the link."- You mean i use the approach i have suggested in my question? i.e an echo request? \$\endgroup\$ – Akshay Immanuel D Mar 21 '16 at 11:13
  • \$\begingroup\$ No an echo request won't work because a short means corruption of data in one direction or the other. Not getting a reply doesn't guarantee a short or an open circuit. You would need to inject a signal on one wire and verify it has the correct amplitude/shape and determine if the cross-talk to the other lines are minimal. \$\endgroup\$ – Andy aka Mar 21 '16 at 11:21
  • \$\begingroup\$ Yes i agree. You can say that there is a prob but cant isolate the source of the prob \$\endgroup\$ – Akshay Immanuel D Mar 21 '16 at 11:26
0
\$\begingroup\$

Usually the transmit line is held high by the driver. You could add a weak pull-down on your receive line and measure the voltage there. If it's high, you know the transmitter on the other side is connected.

\$\endgroup\$
  • \$\begingroup\$ Can u please elaborate on this? it seems interesting \$\endgroup\$ – Akshay Immanuel D May 5 '16 at 5:09

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.