RS-485 Offset Voltage from Master


I’m trying to decode an RS-485 bus. I have a Logic Pro 16 connected to the D+ side of the bus with the Analyzer set to Async Serial (see image for settings).

However, the master on this bus has a 2V offset compared to the slave, so I can only capture the RX messages from the slave.

Has anyone encountered this issue and know of a workaround?


@ian.andal Our recommendations for recording and decoding differential signals are as follows:

Unfortunately, Logic Pro 16’s digital channels are not natively able to detect voltage transitions that you’ve shown with the +2V offset included. The highest voltage threshold option available is the +3.3V option below, which sets the voltage threshold to 1.65V.

+3.3V Voltage Option

  • Voltage threshold: 1.65V

Your signal will need to cross this voltage threshold (or any of the supported voltage threshold options listed in the link above) in order for Logic Pro 16 to effectively record the digital transitions.

How does the D- signal look with respect to GND? Could that side of the signal cross any of the supported voltage threshold options available for Logic Pro 16?

@timreyes Thanks for your response.

Unfortunately, the D- signal looks about the same. It is shown in Channel 1 of the captures.

There is some termination on this bus that might be causing this offset. I’ll try to remove that and see if that can help adjust the signal level within the Logic Pro 16’s threshold.

@ian.andal Ah… that’s unfortunate. Since our Logic Pro 16 has only 3 discrete voltage threshold settings (none of which seem to be compatible with either your D- or D+ with respect to GND), then your best bet may be to implement an external voltage translator to translate your signal into a voltage level with respect to GND that can successfully crosses any of Logic Pro 16’s voltage threshold settings.

However, there may be an option that might be more risky. How is your DUT powered exactly? If its voltages are completely floating (i.e. powered via a battery), then there may be an option to measure the entire D+ to D- swing on a single channel, rather than with respect to GND, assuming you stay within the absolute max voltage limit of +/- 25V of our Logic Pro 16’s input channels. Besides DUTs that are solely battery powered, I would not recommend this in any other situation.

@ian.andal I just noticed your comment about attempting to adjust the offset via termination! Glad to hear that is also another potential option.

Another option you may have is AC coupling. You can see on oscilloscopes - during AC coupling the DC component is nullified and all you see is the AC signal itself.

Here’s a quick link that talks about the two types of coupling: Noise Engineering

TL;DR - Try putting a small value capacitor in series with the D+ signal and then a medium value resistor in parallel to ground. This drops the DC offset to 0V.