I need to send data from one PIC to another PIC by using RS485. As a protocol I use UART. However, I cannot be sure about RS485 transceiver and its circuit. I will be able to supply 5 V and according to this I have found one of the most used option is LT1785 chip. I have these following questions related to this chip:

  1. Can this chip (LT1785) also convert RS485 signal to UART or it can only convert UART to RS485?

  2. There is no hardware diagram in the datasheet so I have take a look at the internet and some people use 120 ohm resistor between rx and tx pins some people do not. Do I need to put that resistor?

  3. In some schematics some people shorted the RE (receiver output enable) and DE (driver output enable) pins. What is the purpose for it? Do I also need to short them?

  4. There is a circuit image for UART to RS485 convension. Do I need to change the circuit if I need to use LT1785 for RS485 to UART convension or can I use the circuit in image without changing it?

  5. Is there a need for a resistor or a capacitor between Vdd pin to Vdd and a Ground pin to Ground.

PS: I am new to these topics so please excuse if the questions are too simple.

Circuit for UART to RS485 convension


1) Those RS485 drivers are bidirectional. They have a transmit and a receive circuit inside. That is why you see the two pins DI (driver input) and RO (receive output).

enter image description here

2) It depends on the data rate and/or the distance between the nodes. That is, for long runs of cable, you may need it, same it's true for high data rates. So I would put those there just in case, anyways, you can always make it flexible and add those termination resistors via jumpers so you can enable or disable them as needed. This is intended to match the approximate impedance of the commonly used cable for RS485 (anywhere from 100 to 120 Ohms).

3) You don't have to short them. But the RE (receive enable) is active low and the DE (Transmit enable) active high. So by tying them up you can either transmit at one time (by driving them high) or receive (driving them low) half duplex. You can drive them independently (without shorting them out) if you have the need to receive and transmit at the same time (full duplex).

4) from my experience, those RS485 drivers are very generic since they have been around for a long time. In fact, you can find them with the same pinouts (and package) so that if you need to replace them, you just drop another one in. But double check it.

5) Just a bypass capacitor between VDD and gnd close to the RS485 driver is what you need.

Hope it helps.

  • \$\begingroup\$ Thank you. So one more question: Datasheet says that " The slew limiting limits data rate operation to 250kbaud". Does that mean do I also need to set the UART baudrate to 250k kbaud or is it something like a max limit? Can I set UART baud to 100 kHz for example? \$\endgroup\$ Mar 22 '19 at 13:58
  • 1
    \$\begingroup\$ @GünkutAğabeyoğlu That is the maximum data rate (200 kbaud) according to the datasheet. \$\endgroup\$
    – Big6
    Mar 22 '19 at 14:08
  1. Yes, the LT1785 is an RS485 transceiver. It convert the MCU's signal to RS485 signal and RS485 signal to a signal the MCU can receive.

  2. Yes, if you plan on using a long cable (>1m), you better have termination on both ends.

  3. That is up to you. These pins are mainly used in multi drop configurations.

  4. MAX485 and LT1785 are both RS485 transceivers. Use the relevant component in your schematic.

  5. Yes, you need decoupling capacitors for most ICs. If you are referring to C1 and R1, these control the reset time constant. they are required in this design.


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.