I'm Using a THVD1451 for full-duplex RS-485 communication. In Datasheet, for transient protection against surge transients, it's recommended to use the circuit below:

enter image description here

In this circuit, there is a pull-up resistor for 'receiver output' (R) pin, and also a pull-down resistor for 'driver enable' (DE) pin. I have two issues here.

First, why there is no push-up/down resistor for 'driver input' (D) pin?

And the second one is that how to choose between pull-down and pull-up resistors for such pins?


1 Answer 1


D input has no resistor, because data input will be irrelevant if driver is disabled.

You will select pull-up or pull-down based on what is the preferred default action, for example when MCU is booting up and has not initialized yet. So one option is to have the default state to disable transmitter, but the other option is to enable the transmitter, and the bus will be jammed, and since the D input has no resistor, the bus will be jammed with random garbage.

The 1451 is full duplex and has no enable pins, so you don't need to worry about it.

The other devices that do have the enable pins do have internal 2 Mohm resistors to keep driver and receiver disabled, but that is still extremely high value and thus external resistors are recommended.

The resistance value is selected so that it is low enough to keep the pin at a defined voltage with all the leakage, and high enough not to consume too much current so that the output can still drive voltages high/low enough even with the resistor. Also sometimes it might be important how fast the resistor pulls to default state if some event happens that the output gets to high impedance state.

  • \$\begingroup\$ I wanted to put a comment to tell you that 1451 has no Disable/Enable pins, You, yourself edited your answer and explained about it. Sorry but there is something I couldn't understand. You said that there is nothing to worry about. So you mean that I should use pull-up/down resistor for both D and R pins? as you said, in a situation like booting up the MCU, the pins are both active and they will jammed with random values. \$\endgroup\$
    – Nima
    Sep 19, 2020 at 18:05
  • \$\begingroup\$ You might need a resistor on R pin, if the UART input needs it for some reason, like if you ever intend to disable receiver, as floating inputs are bad. But you don't have RE pin, so R pin will always be output, and no resistor is needed on R pin. D should have a resistor because you don't have DE pin, so the D pin can float during MCU boot. \$\endgroup\$
    – Justme
    Sep 19, 2020 at 18:11
  • \$\begingroup\$ Actually, the datasheet says that the 1451 D input also has an internal pull-up resistor, so floating/unconnected D input will idle at logic 1 level. It is still of course better to have an external pull-up resistor there \$\endgroup\$
    – Justme
    Sep 19, 2020 at 20:06
  • \$\begingroup\$ Thanks for your complete answer @justme \$\endgroup\$
    – Nima
    Sep 20, 2020 at 5:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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