Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

rs485

0 views
Skip to first unread message

Neal J. Gieselman

unread,
Sep 30, 1997, 3:00:00 AM9/30/97
to

Hello,
Does anyone have any information on what a rs485 network is
and is there Linux support as far as boards/drivers?

Thanks
Neal

Brian Todoroff

unread,
Sep 30, 1997, 3:00:00 AM9/30/97
to

RS-485 is a specification for a type of physical connection between serial
devices. The actual data transmitted and the voltage transitions used to
transmit the individual bytes follow the same pattern as the RS-232 type
port that is the standard for PC's. The major differences are:
1) RS-485 is designed to connect multiple devices together with a single
twisted pair where RS-232 uses 3 wires (ground, transmit, and receive)
2) RS-485 only allows half duplex (i.e. device A can only send to B or
receive from B not both at the same time) There is a full duplex cousin of
485 called 422 that allows for full duplex.
3) RS-485 uses differential voltages on the two wires to indicate a one or a
zero (i.e. +- is 1 and -+ is 0) where RS-232 uses one ground and a + or - on
the other for 0 and 1.

There are several converters to allow a 232 port to talk on a 485 bus. Most
use one of the control lines to decide if the 232 is sending to or receiving
from the 485 bus. A company called B&B Electronics makes some of the best
adapters around. These will be easy to use with Linux.

Brian

=======================
Brian Todoroff
brian_t...@sdd.sri.com

Bob Hauck

unread,
Oct 1, 1997, 3:00:00 AM10/1/97
to

In article <34317d28....@news.wavetech.net>,

ngies...@hi-key.com (Neal J. Gieselman) writes:

> Does anyone have any information on what a rs485 network is
> and is there Linux support as far as boards/drivers?

It is a multidrop serial network often used in industrial control
applications. If I remember correctly, it uses rs422 electrical specs.
I don't know if there are Linux drivers for it. You might try the
Linux-Lab project at:

http://obelix.chemie.fu-berlin.de/

--
Bob Hauck bo...@wasatch.com
Wasatch Communications Group http://www.wasatch.com

Weber Claude

unread,
Oct 1, 1997, 3:00:00 AM10/1/97
to

RS485 is the electrical specification of the bus system. A wide range of
protocols can be implemented.
When you have a adaptor card for RS485, you may use it in a similar way as
COM1/2 of a PC witch are RS232.
Basically RS232 have +-12V and RS485 is 2 wire 5V .
RS485 is for mutipoint connection, RS232 point to point.
More infos see: www.rs485.com

--
Claude H. Weber
Haguenau (France)
Email: Cl...@compserve.com
AX25: F5...@HB9EAS.CHE.EU

Neal J. Gieselman a écrit dans l'article <34317d28....@news.wavetech.
net>...
>Hello,


>Does anyone have any information on what a rs485 network is
>and is there Linux support as far as boards/drivers?
>

>Thanks
>Neal
>

Stephen Tell

unread,
Oct 6, 1997, 3:00:00 AM10/6/97
to

In article <34317d28....@news.wavetech.net>,

Neal J. Gieselman <ngies...@hi-key.com> wrote:
>Hello,
>Does anyone have any information on what a rs485 network is
>and is there Linux support as far as boards/drivers?

In general, saying RS485 network is about as useful as saying RS232 network -
RS485 is just a physical layer consisting of differential signaling using
approx. 3-5v logic levels. Differential SCSI uses the RS485 physical specs.

What most people mean when they inaccurately say "rs485 network" is a
multi-drop half-duplex party line, usually in a master-slave configuration.
9600bps Async is common, faster is possible. Used a lot in embedded and
inustrial control applications. See comp.arch.embedded for lots of
discussion.

For linux, you can use any RS232 serial port and a level translator.
Usually the RTS signal is used to control the transmitter, occaisionaly DTR
is. This can be done in user-level software, and it sort of works, but the
performance I'm seeing is poor - it takes forever to get the transmitter
turned off, so the slave nodes have to wait a long time before responding to
the poll, otherwise the response gets lost because the master isn't
listening yet.

What's worse is that you can take a context switch in between the
transmission and turning off the transmitter. I suppose locking down the
pages and going to a real-time scheduler might help a little, but this
belongs in the tty driver.

For use under Linux I'd get a 232-485 level translator or a '485 serial card
that does transmitter enable automaticly. B&B Electronics has some of
each. The RS485 adaptor for the GETEK serial port cards does _not_ do
automatic transmitter control.

>Thanks
>Neal


--
--
Steve Tell te...@cs.unc.edu http://www.cs.unc.edu/~tell W:919-962-1845
Research Associate, Microelectronic Systems Laboratory
Computer Science Department, UNC@Chapel Hill.

Grant Edwards

unread,
Oct 7, 1997, 3:00:00 AM10/7/97
to

Stephen Tell (te...@cs.unc.edu) wrote:

: >Does anyone have any information on what a rs485 network is


: >and is there Linux support as far as boards/drivers?

[...]

: For linux, you can use any RS232 serial port and a level translator.


: Usually the RTS signal is used to control the transmitter, occaisionaly DTR
: is. This can be done in user-level software, and it sort of works, but the
: performance I'm seeing is poor - it takes forever to get the transmitter
: turned off, so the slave nodes have to wait a long time before responding to
: the poll, otherwise the response gets lost because the master isn't
: listening yet.

: What's worse is that you can take a context switch in between the
: transmission and turning off the transmitter. I suppose locking down the
: pages and going to a real-time scheduler might help a little, but this
: belongs in the tty driver.

I put it into the tty driver and it still doesn't work reliably. With most
PC UARTs it's not possible to decide for sure when the last byte has
actually been sent. We fight with this problem regularly (we use a couple
different half-duplex protocols). Sometimes you can guess when the last
byte is sent by shoving an extra byte or two into the UART and shutting off
the transmitter when the extra byte drops from the holding register into the
shift register -- but even that doesn't work all of the time. With some
UARTs that chops of the stop bit of the last data byte.

: For use under Linux I'd get a 232-485 level translator or a '485 serial card
: that does transmitter enable automatically.

Unless you use a proper UART that tells you when it's done sending data,
that's your only hope for reliable operation.

: B&B Electronics has some of each. The RS485 adaptor for the GETEK serial


: port cards does _not_ do automatic transmitter control.

--
Grant Edwards grante@ Yow! I own seven-eighths of all
Rosemount, Inc. rosemount.com the artists in downtown Burbank!

0 new messages