LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Question about voltage levels on RS-485 data lines- sbRIO-9638

Hi Reader,

 

Hope you are doing well,

 

I am trying to establish RS-485 communication with a feedback device using sbRIO-9638, set up for 2-wire  communication. I managed to send out serial data using VISA communication module and the Serial data frame looks right except the initial voltage level on the data lines.

 

Below is what the signal is expected to look like: (at 5V initially, low at 0, waiting on response at around 2.5 V)

DS1Z_QuickPrint6.png

 

How signal look like when sent out from sbRIO-9638 RS-485 port:

Image 2Image 2

 

Is this normal? If yes, is there any way I can hold the line high before starting to write?

 

I would really appreciate if someone can suggest anything or direct me towards the right direction.

 

Thank you for your time.

0 Kudos
Message 1 of 11
(399 Views)

Hi,

 

The levels you are normal. The levels that you expect are forced to the the 5V and 0V levels,

 

What is regular see with RS-485 connections is that two wires are connected and that is it. Depending on speed and distance this will work. Wil it always work for now and in the future, will i work under all environmental circumstances, etc.

Wit multiple devices connected the connection must be a dasy-chain with small stubs.

 

For me (and RS-485 IC manufactures) a good RS-485 interface is connected with a twisted pair RS-485 cable, has a 0V connection and has two terminators. An active (fail-safe) terminator at one side and a passive terminator at the other side (see PDF).

The active terminator will hold the lines at the levels you expect if the interface is idle.

 

Kees

 

Message 2 of 11
(330 Views)

@K C wrote:

Hi,

 

The levels you are normal. The levels that you expect are forced to the the 5V and 0V levels,

 

What is regular see with RS-485 connections is that two wires are connected and that is it. Depending on speed and distance this will work. Wil it always work for now and in the future, will i work under all environmental circumstances, etc.

Wit multiple devices connected the connection must be a dasy-chain with small stubs.

 

For me (and RS-485 IC manufactures) a good RS-485 interface is connected with a twisted pair RS-485 cable, has a 0V connection and has two terminators. An active (fail-safe) terminator at one side and a passive terminator at the other side (see PDF).

The active terminator will hold the lines at the levels you expect if the interface is idle.

 

Kees

 


Hi Kees,

Thank you so much for the response this helps A LOT! I had no clue and I could not find this information anywhere else.

I am new to this field but it appears that I can achieve any desired active voltage value using the same RS-485 port on sbRIO-9638 if I play around with those resistance values. I would just have to add some resistors as shown right after the port.

Or am I wrong?

0 Kudos
Message 3 of 11
(320 Views)

I believe RS-485 is a "current loop" so the actual voltage level is irrelevant to some extent. 

 

The direction the current is flowing determines High or Low logic state.

 

It's not like TTL where you have a definite "High" and "Low" logic level and a "Gray area" were it's unknown how it will be read. 

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 4 of 11
(315 Views)

@RTSLVU wrote:

I believe RS-485 is a "current loop" so the actual voltage level is irrelevant to some extent. 

 

The direction the current is flowing determines High or Low logic state.

 

It's not like TTL where you have a definite "High" and "Low" logic level and a "Gray area" were it's unknown how it will be read. 


Hi RTSLVU,

 

Interesting! So are you indicating that the voltage levels would not really matter as long as my serial data frame, Baud Rate and other credentials are set up correctly?

0 Kudos
Message 5 of 11
(311 Views)

Well the standard says: All drivers are required to be able to generate a minimum 1.5-volt differential output voltage across a 54-ohm resistor.

 

Here's some good information on RS-485

 

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 6 of 11
(307 Views)

RS-485 is not a current loop. It is a differential line.

If the A line goed positive the B line will go negative. This to avoid influence of disturbance. As long as the level stays within the common mode range.

 

Kees

0 Kudos
Message 7 of 11
(287 Views)

@K C wrote:

RS-485 is not a current loop. It is a differential line.

If the A line goed positive the B line will go negative. This to avoid influence of disturbance. As long as the level stays within the common mode range.

 

Kees


Hi Kees,

I implemented your suggestion and It helped me move the overall voltage values as expected (Overall voltage moved but the shape remains the same as of Image 2). But I still am not able to get that initial "constant high" 5V voltage level as can be seen in Image 1.

Should I send out some value that may help the line stay high initially?

0 Kudos
Message 8 of 11
(281 Views)

The levels will not exactly be 5V and 0V but there is a defined difference between the two lines.

At DC level (and that is what you looking at) the voltage levels over the 39 Ohm resistors will be 2.3V leaving 400 mV for the line.

The defined difference is the important part. This way there will be no data on the output of a receiver. This and a protocol like ModBus (or other) is a guarantee for a good interface.  

 

When you send data over the line the AC behavior becomes important. Especially if you use high speeds. 

0 Kudos
Message 9 of 11
(273 Views)

@K C wrote:

The levels will not exactly be 5V and 0V but there is a defined difference between the two lines.

At DC level (and that is what you looking at) the voltage levels over the 39 Ohm resistors will be 2.3V leaving 400 mV for the line.

The defined difference is the important part. This way there will be no data on the output of a receiver. This and a protocol like ModBus (or other) is a guarantee for a good interface.  

 

When you send data over the line the AC behavior becomes important. Especially if you use high speeds. 


Hi Kees,

 

Agreed! What you mentioned was a part of my problem and I could correct it based on your suggestion, it helped.

 

But I think I now can better support the other half of my problem statement if I put it like:


I aim to control the TRI-state of RS-485 transceiver IC on sbRIO-9638 Board. If we refer to pin out below:

Xonmyth743_0-1611762325235.png

When I start communication, I want Pin DE to be either OPEN or powered by 5V. When the writing is over, I want pin DE to be connected to ground which gives 2.5V or Z state.

 

Currently Pin DE appears to be grounded at all times except Reading or writing

 

It seems it can be done by implementing Controlled or Echo DTR Mode but when I attempt it, I get error -1073807330. State not supported. 😕 Does it mean it cannot be controlled or am I doing something wrong?

image.png

0 Kudos
Message 10 of 11
(246 Views)