This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Automatic disconnection of the fault RS485 segments

Hello!

It is necessary to disconnect RS485 segment, if fault condition (for example, short) is detected. Operation of the full system should not be stopped in this case. What are common approaches for solving this problem? I plan to use a closed loop with two RS485 ports on Master device. You will find illustration in the attached document. Or do all Slave modules need to integrate this protection mechanism?

1715.ClosedRS485Loop.docx

 

Best regards,

Dmitrij

  • Hi Dmitrij,

    Typically when some kind of short occurs on the bus, data fidelity is compromised for the whole bus.  While I don't completely understand your diagram, both of your "master drivers" see the same short, and both would be unable to transmit data.

    The best way to guard against such a fault would be to implement redundant buses, so if one fails, the other may continue operating normally.

    Another, less robust possibility would be to isolate every RS-485 node.  In this case one isolated bus line may be shorted to some potential relative to the non-isolated ground and data should continue to transmit successfully.  However a short between the bus lines, or between a bus line and an isolated ground would result in the same failure as your original problem.

  • Hi Bart,

    More detailed diagram is attached. When short circuit is detected, this fault segment should be disconnected. In my opinion, each Slave module should include protection mechanism, which is realised in hardware and firmware. When fault segment is disconnected from RS485 bus, both of "master drivers" do not see short condition. As figure shows, Port 1will communicate with Slave modules 1 and 2. Port 2 will communicate with Slave modules 3 and 4. Therefore, connection with all Slave modules does not disappear in this way.

    Ports 1 and 2 never drive simultaneously in mormal operation mode.

    This is also some kind of the redundancy. It is undesirable to implement the second independent bus for current applications.

    5852.RS485protection.docx

    Best regards,

    Dmitrij

  • Dmitrij,

    I see.  That is a more difficult problem, and one to which I've not personally seen a solution.  If the goal is that every node should maintain operation in the event of a fault, I agree that every node would have to have its own switching mechanisms.

    First you must ensure that every node can survive the fault itself.  A short between the bus lines should not be a problem in this regard, but a short to ground or some high voltage could damage some transceivers.  There are a number of TI transceivers with up to 70V fault protection.

    It seems the most difficult problem would be locating the fault, as a short anywhere on the bus looks like a short everywhere on the bus.  It may just be trial and error between your firmware and switches to locate the bus segment with the fault, as you mention.

    The last item I notice is bus termination once the bus has been separated.  Under normal operation, I imagine your termination would be at the two "master" ends of the bus.  Once the bus is broken, you would lose proper termination.  Depending on your data rate and distance, this may be a secondary concern.

    Based on cost and complexity, a redundant bus seems preferable, but I would be interested in the result if you attempt to implement such a solution.

  • Current version of the hardware ensures that every node can survive the fault itself. We do use TI transceivers with up to 70V fault protection. In addition, TBU based protection circuit is used to survive 230VAC and even higher voltage.

    Yes, you are right. All modules see short condition. In this case, the entire bus is broken into segments for a short time interval. Then each module tests its adjacent segment. If fault condition is still present for these segments (no data exchange occurs) , they remain disconnected. If fault condition disappears for separate segments (data packets are transferred successfully), they are connected to the bus again. 

    Distance may reach 1km. Data rate is typically 9600bps. Yes, under normal operation termination will be at the two "master" ends of the bus. Each Slave module may include a termination resistor, which will be activated after fault segment is disconnected.

    This approach was advised by someone, who made similar system based on CAN bus. Perhaps, CAN bus simplifies the complexity because of multi-master approach.

    I will keep idea of the redundant bus in my mind too. Thank you for assistance.

    Dmitrij