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.

THVD1406: Recommended/possible baud rates at which the auto direction control works and behaviour in situation of bus contention

Other Parts Discussed in Thread: THVD1400, THVD1406, THVD1426

Dear support team,
I need a RS485 transceiver IC with auto-direction control. I have two principle questions in this context:

Question 1) About low 9600 baud rate, auto-direction control and fail-save
Question 2) About what happens if bus contention occurs

to Q 1)
In the forum thread "THVD1400: RS485 AUTO TXRX distortion at 115200 baud rate" the THVD1406 comes up.

Here Bobby says at the end that "with the auto-direction, the device will keep the THVD1406 as an active driver and will only switch back to be a receiver when the TX line goes from low to high for at least 4us. If you send too many '1's in a row before the next high to low transition on TX, the device would switch back to receive mode".

So, does this mean that the THVD1406 with its auto-direction control can only be reliably used for baud rates where time of 1 bit is significantly shorter than the tdevice_autodir of 4us?
However, in the Application Note "RS-485: What is Auto-Direction and Why it is Useful in Systems?" (https://www.ti.com/lit/an/slla574/slla574.pdf?ts=1706361970792&ref_url=https%253A%252F%252Fwww.google.com%252F) in section 2.2 the THVD1426 for 12Mbps is tested at a low baud rate of 115200 and it works.

More specifically asked:
(a) If the above is true, does this mean that use of the THVD1406 and its auto-direction control with tdevice_autodir of 4us is not possible/recommended for an application with 9600 baud where time of 1 bit is 104us? With this long 1-bit-time, the THVD1406 would already switch back to receive mode at the very beginning of each high bit on TX, i.e. not actively driving the RS485 bus to a stable high high state for the remainder of the high bit?
(b) Or, following the above mentioned app note, is it still possible to use the THVD14x6 also at much lower baud rates, e.g. the THVD1406 at 9600? Only that I would need to use biasing resistors to pull-up on the A side and pull-down on the B side?

If (b) is the case, as the THVD14x6 already has a fail-save functionality integrated, would I really need to do some more complicated calculations, i.a. assuming also the possible maximum number of nodes in the network as done in this related app note (https://www.ti.com/lit/an/slyt324/slyt324.pdf?ts=1706386714866)?

Or would it be enough to simply add just "some" higher value external fail-save bias resistors? Let's say e.g. 5k, which are just enough to ensure that after the tdevice_autodir of 4us has passed, the bus state still exceeds at least the THVD14x6's receiver threshold Vth+ of -20-mV to securely generate a high at receiver output and still produce the correct bits.

to Q 2)
As for the THVD14x6 no protective current limitation is specified in the data sheet, I am wondering what happens or what protects the THVD14x6 in case that two or more nodes write to the bus at the same time, i.e. bus contention occurs. If such a situation persists long enough, would involved transceivers run into thermal shutdown or could such a situation even destroy the competing THVD14x6s?

Thank you for your reply and assistance!
Michael

  • 1. A 'real' RS-485 driver would have three states, high/low/inactive. The THVD14x6 has no information what the correct point of time to switch from high to inactive would be, so it used a fixed time (4 µs or 0.4 µs min.). Driving the bus high for tdevice_autodir cannot cover the entire byte in all circumstances; it is just intended to (dis)charge the bus capacitance quickly. The remaining time must be handled by the fail-safe resistors or fail-safe receivers. It does not matter whether the THVD14x65 is in transmit or receive mode; the resulting bus state is high in both cases.

    While the THVD14x6 is not actively driving high, the noise margin is lower. If you want to increase it, you have to use stronger fail-safe resistors.

    2. RS-485 drivers are able to handle shorts. This is why the datasheet specifies the maximum driver short-circuit output current.

  • Dear Clemes,

    thank you for your quick and very clear answer!

    Some follow-up question regarding the strength of the fail-safe resistors: You said that "remaining time must be handled by the fail-safe resistors or fail-safe receivers" and suggest to "use stronger fail-safe resistor".

    In principle this is clear but just to be sure that I am on the same page, please confirm if I am correct saying that this means that if

    • 1a) there would be only nodes with fail-save receivers (e.g. THVD14x6), even without fail-save resistors at all, a non-actively driven bus should be handled without issue. Is this understanding correct?
    • 1b) there would be legacy receivers without internaly fail-save feature implemented there could be a problem and I would need fail-save biasing resistors somewhere on the bus to keep it in a stable high state when idle.

    Also please confirm if my subsequent understanding is correct:

    • 2a) So if I understand this correctly, in case of connecting only my own nodes where I ensure to only use transceivers featuring an internal fail-save circuit (THVD14x6), there would be no problem in using only weak pull-up/pull-down resistors e.g. 4.7k in order to minimize power consumption of my own nodes.
    • 2b) An issue could only appear in case of connecting other nodes to the network, of which I don't know the design and parts used and hence can't be sure that fail-save receivers are used. In most cases, however, I would expect that even if a designer uses a legacy transceiver without internal fail-save circuit, he/she would at least add some strong enough external fail-save resistors in such a device, right?
    • 2c) Also in case that there are multiple of my own nodes connected to the bus, each with weak external pull-up/pull-down fail-save resistors, they would alltogether help to bring the bus into a stable high state when idle. E.g. if there would be eight nodes connected to the bus, each with 4.7k pull-up/pull-down resistors, their total pull-up/pull-down resistance would be (4.7k+4.7k)/8 = 1.175k. With two 120 Ohm termination resistors this would form a 60Ohm/1175Ohm divider and with a pull-up to VCC of 5 V, result in differential voltage of 243 mV in idle state of the bus. This should be fine, right?
    • 2d) Assuming the practical case that with fewer nodes (i.e. < 8 of my own nodes), also total bus length would likely be rather short and together with the fact that as said I work with only 9600 baud, I think in such cases I could work without termination only dampening reflections by adding some weaker load of let's say 500 Ohm or a RC termination network as described here https://www.ti.com/document-viewer/lit/html/SSZTB23. I.e. also in such a case with fewer than 8 of my nodes with 4.7 pull-up/pull-down resistors, it should still work if a lighter load is used as compared to a network with long cables and two 120 Ohm termination resistors. Is this understanding correct?

    Thank you very much for your feedback and advise!

    Best, Michael

  • 1a) Correct. (Fail-safe receivers treat a differential input voltage of 0 V as high.)

    1b) Correct; a standard receiver would require 200 mV.

    2a) Yes.

    2b,c) If fail-safe resistors are needed, you'd typically have only one pair on the entire bus. (Having more would increase the DC load.) So it is unlikely that a transceiver module would unconditionally have them. The fail-safe design (i.e., the desired differential voltage when idle) must be a property of the bus, not of individual nodes.

    2d) The only reason to change the termination would be to save power; is this your goal? AC termination slows down the edges, while no termination resistor would have reflections. The former reduces EMI, so I'd prefer it.

  • Thank you for clarification!

    2d) Yes, the goal is definitively to reduce power requirement to a minimum. Therefore I thought that high value resistors for fail-save biasing at each of my nodes would be a good idea. But now with your statement to my questions 2b and 2c, I understand that the most low power solution would be to only use transceivers with fail-safe design and not having any additional external fail-save pull-up/pull-down resistances, or if at all only once a very weak one (e.g. 2x 4.7k) to improve noise resistance. Furthermore a AC terminated bus could work and help to reduce power consumption. 

    Implemented this way, it would only be necessary to add a stronger external fail-save pull-up/pull-down resistance in case that another node without internal fail-safe circuit would be connected to the bus.

    Please let me know if this is finally all correct. If so, I would see all my questions cleared and doubts settled and thank you for your great help!

    Best, Michael

  • Correct.

  • Hi Michael,

    I am glad that it seems your question has been answered by Clemens, everything he has said about the THVD14x6 parts is correct. 

    Please let me know if you have any additional questions that I can help you out with!

    Best,

    Parker Dodson