0
\$\begingroup\$

I am trying to use the MAX13487E RS485 transreceiver with a Raspberry Pi 3 B+. I chose this chip specifically because it does not require a RTS signal, which is complicated to setup on the PI. My schematic is the following:

enter image description here

The MAX13487E is a 5V chip so I stepped down the RX signal to 3.3V, but I directly connected the TX line to DI, which I think should be fine because the datasheet states that the input high voltage of DI is 2V.

I am receiving data correctly on the PI, but I can't send anything without the other device rejecting frames because of a noisy signal. Here is a scope capture of the TX line in yellow and the RS485 B line in green. This capture was done without connecting the device to the bus.

enter image description here

And here is a capture of the differential signal (pink curve is A - B):

enter image description here

Should I be feeding a 5V signal to DI or is something else wrong with my circuit?

\$\endgroup\$
6
  • \$\begingroup\$ You need to tell us what lines you are probing. \$\endgroup\$
    – DKNguyen
    Commented Jan 24, 2020 at 20:15
  • \$\begingroup\$ As indicated in the post, I'm probing TX on channel 1 (pin 4 of U4) and the RS485 B line on channel 2 (pin 7 of U4). \$\endgroup\$
    – Toun
    Commented Jan 24, 2020 at 20:29
  • \$\begingroup\$ Can you probe both A and B (if you have a differential probe). If you don't have one then probe A and B on two separate channels and subtract them. \$\endgroup\$
    – DKNguyen
    Commented Jan 24, 2020 at 20:32
  • \$\begingroup\$ I've updated the post with a capture. \$\endgroup\$
    – Toun
    Commented Jan 24, 2020 at 20:44
  • \$\begingroup\$ check the voltage on the vcc pin. \$\endgroup\$ Commented Jan 25, 2020 at 6:20

1 Answer 1

1
\$\begingroup\$

The block diagram of the first page of the datasheet for the MAX13487E indicates that the driver can shut itself down based on the conditions on the line. It can do this even if you have manually disabled the receiver by forcing RE LO (i.e. turning off the receiver doesn't mean forcing on the transmitter) since you can see RE is unable to influence the driver enable. enter image description here

This probably exists so that you don't have two devices fighting each other trying to drive the line. That means that if your idle line conditions are wrong, the MAX13487E will think a device is transmitting and back off by shutting down its transmitter.

I think your 10K resistors are too large relative to your 120 Ohm and are causing your idle voltage to not be >200mV which is confusing your auto-detection circuitry and making it think another device on the line is transmitting so it reacts by shutting itself down spuriously during transmission.

I don't use auto-detection transceivers so I don't know for sure. Let me know how it works out.

\$\endgroup\$
9
  • \$\begingroup\$ A bit more on what DHNguyen said - With the resistor values you show on the RS485_A and RS485_B signals, the idle voltage on the line is going to be 29.8 mV, which is much less than the 200 mV diff for guaranteed operation of a receiver. Is this what you want? \$\endgroup\$
    – SteveSh
    Commented Jan 24, 2020 at 22:03
  • \$\begingroup\$ Thank you for the suggestion, that makes sense. I tried to replace the 10K bias resistors with 536R, then even tried to remove the 120R termination entirely, but the output signal is still noisy. Here's a new capture of A (yellow) and B (green) with A - B (pink) with 536R bias and 120R termination: imgur.com/a/hHG11qF \$\endgroup\$
    – Toun
    Commented Jan 25, 2020 at 13:42
  • \$\begingroup\$ If I probe RO, I can see that the receiver is indeed being activated. Here's a capture of RO (yellow) and B (green) : imgur.com/a/WaySACJ \$\endgroup\$
    – Toun
    Commented Jan 25, 2020 at 14:10
  • \$\begingroup\$ @Toun Can you try scoping A and B on an open bus (not connected to anything?) \$\endgroup\$
    – DKNguyen
    Commented Jan 25, 2020 at 18:10
  • \$\begingroup\$ Sorry I forgot to mention, all my measurements are done on open bus. \$\endgroup\$
    – Toun
    Commented Jan 25, 2020 at 20:03

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.