Sign in

username:

password:



Not a member?

Search Comp.Arch.Embedded



Search tips

embedded by Keywords

68HC11 | 68HC12 | 8051 | 8052 | ARM | ARM7 | Asic | AT91 | AT91RM9200 | Atmel | AVR | AVRStudio | Bootloader | CFP | CompactFlash | Cygnal | Cypress | Dataflash | DSP | eCos | EEPROM | Embedded Linux | Emulator | Endian | Ethernet | Firewire | FPGA | Freescale | GCC | GNUARM | GSM | H8 | HDLC | I2C | Infineon | Interrupts | Java | JTAG | LCD | LED | LPC2000 | MCU | Microchip | MMC | MPLAB | MSP430 | PC104 | PCB | PCI | PCMCIA | PowerPC | Rabbit | RS232 | RS485 | RTOS | SBC | SDRAM | Sensor | SPI | STK500 | UART | UML | USART | USB | Verilog | VHDL | VxWorks | Xilinx

Ads

Discussion Groups

Discussion Groups | Comp.Arch.Embedded | RS232 or USB to RS485

There are 35 messages in this thread.

You are currently looking at messages 0 to 10.

RS232 or USB to RS485 - QBA - 23:14 10-02-04

I need RS232 to RS485 converter or USB to RS485 converter, are there vendors
out there you recommend for these converters? More specifically, RS485 I am
using is 2-wire (ground, don't need 4-wire version) at 19200 baudrate.






Re: RS232 or USB to RS485 - Tauno Voipio - 02:13 11-02-04

QBA wrote:
> I need RS232 to RS485 converter or USB to RS485 converter, are there vendors
> out there you recommend for these converters? More specifically, RS485 I am
> using is 2-wire (ground, don't need 4-wire version) at 19200 baudrate.

RS-232 to RS-485 needs two simple chips back-to-back:
RS-232 to logic (e.g. MAX232) and logic to RS-485
(e.g. MAX485). The real problem comes from the control
of the RS-485 transmitter enable, if your interpretation
of two-wire RS-485 involves traffic in both directions
(which is 4-wire with transmit and receive bus lines
connected in parallel).

There are simple boxes which contain the chips and
usually a simple power supply (e.g. a plug transformer,
'wall wart'). Usually, they are four-wire, but the
common bus two-wire is achieved by connecting the
RS-485 bus sides in parallel. The boxes often control
the transmit enable with the RS-232 RTS (request to
send) signal.

HTH

Tauno Voipio
tauno voipio @ iki fi



Re: RS232 or USB to RS485 - Meindert Sprang - 02:20 11-02-04

"Tauno Voipio" <t...@iki.fi.NOSPAM.invalid> wrote in message
news:TCkWb.588$C...@read3.inet.fi...
> RS-232 to RS-485 needs two simple chips back-to-back:
> RS-232 to logic (e.g. MAX232) and logic to RS-485
> (e.g. MAX485). The real problem comes from the control
> of the RS-485 transmitter enable, if your interpretation
> of two-wire RS-485 involves traffic in both directions
> (which is 4-wire with transmit and receive bus lines
> connected in parallel).

Lately I see people here talking about 2-wire and 4-wire RS485. Isn't RS-485
*always* 2 wire?
If 4-wire, it's RS422, right?

Meindert



Re: RS232 or USB to RS485 - Tauno Voipio - 02:46 11-02-04

Meindert Sprang wrote:
> "Tauno Voipio" <t...@iki.fi.NOSPAM.invalid> wrote in message
> news:TCkWb.588$C...@read3.inet.fi...
> 
>>RS-232 to RS-485 needs two simple chips back-to-back:
>>RS-232 to logic (e.g. MAX232) and logic to RS-485
>>(e.g. MAX485). The real problem comes from the control
>>of the RS-485 transmitter enable, if your interpretation
>>of two-wire RS-485 involves traffic in both directions
>>(which is 4-wire with transmit and receive bus lines
>>connected in parallel).
> 
> 
> Lately I see people here talking about 2-wire and 4-wire RS485. Isn't RS-485
> *always* 2 wire?
> If 4-wire, it's RS422, right?
> 
> Meindert
> 

Right.

Sorry for giving up to the common misuse. I felt that
the OP was using the common incorrect terminology.

Tauno Voipio
tauno voipio @ iki fi



Re: RS232 or USB to RS485 - Johnny - 02:56 11-02-04

On Wed, 11 Feb 2004 07:13:55 GMT, Tauno Voipio
<t...@iki.fi.NOSPAM.invalid> wrote:

>RS-232 to RS-485 needs two simple chips back-to-back:
>RS-232 to logic (e.g. MAX232) and logic to RS-485
>(e.g. MAX485). The real problem comes from the control
>of the RS-485 transmitter enable, if your interpretation
>of two-wire RS-485 involves traffic in both directions
>(which is 4-wire with transmit and receive bus lines
>connected in parallel).
>
>There are simple boxes which contain the chips and
>usually a simple power supply (e.g. a plug transformer,
>'wall wart'). Usually, they are four-wire, but the
>common bus two-wire is achieved by connecting the
>RS-485 bus sides in parallel. The boxes often control
>the transmit enable with the RS-232 RTS (request to
>send) signal.


I have found that the converters using RTS to enable are not very
useful to me.  It is not possible to use them with Hyperterminal in
windows because when hardware handshaking is turned on, RTS is
permenantly asserted, so bi-directional transfer is impossible.

It is also not possible to use them with windows application, because
it is impossible to know when to reset the RTS line, because the
application has no way to know exacltly when all data has been
transmitted out the serial port.

I think the only way to make a useful RS-232 to RS-485 adapter for
windows is to use a hardware one-shot triggered by the start bit to
control Transmit enable on RS-485 driver.  Please let me know if I am
wrong.

regards,
Johnny.

Re: RS232 or USB to RS485 - Apollo - 03:06 11-02-04

> "Tauno Voipio" <t...@iki.fi.NOSPAM.invalid> wrote
> > RS-232 to RS-485 needs two simple chips back-to-back:
> > RS-232 to logic (e.g. MAX232) and logic to RS-485
> > (e.g. MAX485). The real problem comes from the control
> > of the RS-485 transmitter enable, if your interpretation
> > of two-wire RS-485 involves traffic in both directions
> > (which is 4-wire with transmit and receive bus lines
> > connected in parallel).

I show an example circuit, using those chips, at:
http://airborn.com.au/layout/232to485.html


"Meindert Sprang" <m...@NOcustomSPAMware.nl> wrote
> Lately I see people here talking about 2-wire and 4-wire RS485.
> Isn't RS-485 *always* 2 wire?
> If 4-wire, it's RS422, right?

Yes, thats the way I see it also.  However, the basic
difference between RS485 and RS422 is that RS485 was
designed to have more than one transmitter - although
with only one transmitter active at a time.
RS485 allowed higher common mode voltages to achieve that,
together with parallel termination at each end.

It is possible to have 4 wire RS422, 2 wire RS485, or
4 wire RS485.  The 4 wire RS485 would typically have a
master (such as a PC) transmitting on one pair all the
time, and receiving on the other pair all the time,
with a number of connected slaves (such as field devices)
each receiving on one pair all the time, and transmitting
on the other pair only when they were supposed to.

One disadvantage of the 4 wire RS485 (besides the extra
two wires) is that no slave can see the other slaves
transmssions.  So by definition it is only good for
Master-Slave type protocols, not peer to peer protocols.
One advantage is that the Master or "PC" does not need
to control its transmit line - it can transmit all the time.

Regards
Steve

http://www.airborn.com.au



Re: RS232 or USB to RS485 - Apollo - 03:14 11-02-04

t...@iki.fi.NOSPAM.invalid> wrote:
>
> >RS-232 to RS-485 needs two simple chips back-to-back:
> >RS-232 to logic (e.g. MAX232) and logic to RS-485
> >(e.g. MAX485). The real problem comes from the control
> >of the RS-485 transmitter enable, if your interpretation
> >of two-wire RS-485 involves traffic in both directions
> >(which is 4-wire with transmit and receive bus lines
> >connected in parallel).
> >
> >There are simple boxes which contain the chips and
> >usually a simple power supply (e.g. a plug transformer,
> >'wall wart'). Usually, they are four-wire, but the
> >common bus two-wire is achieved by connecting the
> >RS-485 bus sides in parallel. The boxes often control
> >the transmit enable with the RS-232 RTS (request to
> >send) signal.

"Johnny" <j...@NOSPAM.hotmail.com.> wrote
> I have found that the converters using RTS to enable are not very
> useful to me.  It is not possible to use them with Hyperterminal in
> windows because when hardware handshaking is turned on, RTS is
> permenantly asserted, so bi-directional transfer is impossible.
>
> It is also not possible to use them with windows application, because
> it is impossible to know when to reset the RTS line, because the
> application has no way to know exacltly when all data has been
> transmitted out the serial port.

Also, windows handling of timing for RTS is abysmal
So even when RTS is not permanently enabled, and when
the app DOES know when the packet has finished, the
COMMs don't work very well.

> I think the only way to make a useful RS-232 to RS-485 adapter for
> windows is to use a hardware one-shot triggered by the start bit to
> control Transmit enable on RS-485 driver.  Please let me know if I am
> wrong.

But the one shot mustn't be retriggerable - and given
possible variation in baud rate, the most reliable
way to do it is using a microprocessor.  Not very easy.

Regards
Steve

www.airborn.com.au



Re: RS232 or USB to RS485 - David Brown - 03:25 11-02-04

"Johnny" <j...@NOSPAM.hotmail.com.> wrote in message
news:2...@4ax.com...
> On Wed, 11 Feb 2004 07:13:55 GMT, Tauno Voipio
> <t...@iki.fi.NOSPAM.invalid> wrote:
>
> >RS-232 to RS-485 needs two simple chips back-to-back:
> >RS-232 to logic (e.g. MAX232) and logic to RS-485
> >(e.g. MAX485). The real problem comes from the control
> >of the RS-485 transmitter enable, if your interpretation
> >of two-wire RS-485 involves traffic in both directions
> >(which is 4-wire with transmit and receive bus lines
> >connected in parallel).
> >
> >There are simple boxes which contain the chips and
> >usually a simple power supply (e.g. a plug transformer,
> >'wall wart'). Usually, they are four-wire, but the
> >common bus two-wire is achieved by connecting the
> >RS-485 bus sides in parallel. The boxes often control
> >the transmit enable with the RS-232 RTS (request to
> >send) signal.
>
>
> I have found that the converters using RTS to enable are not very
> useful to me.  It is not possible to use them with Hyperterminal in
> windows because when hardware handshaking is turned on, RTS is
> permenantly asserted, so bi-directional transfer is impossible.
>

Personally, I have found Hyperterminal a real PITA, and highly inconsistent.
There are a hundred and one free terminal programs for windows that are far
better (and as many again commercial ones).  At the risk of starting yet
another "my terminal program is better than your terminal program" thread,
I'd recommend "Tera Term Pro" for most serial work (because it is small,
fast, neat, and does what enough for most jobs without doing too much) and
"RealTerm" for more complex work (because it is big, powerful, with more
options than I could imagine needing).  In particular, "RealTerm" supports
RTS control of RS-485 lines as you want here.

> It is also not possible to use them with windows application, because
> it is impossible to know when to reset the RTS line, because the
> application has no way to know exacltly when all data has been
> transmitted out the serial port.
>

It is perfectly possible to do exactly that - when setting the DCB flags in
a SetCommState api call, you can choose to have the RTS line permanently
high, or low, or hardware handshaking, or to have it active whenever there
is something being sent out and deactivated when there is nothing being
transmitted.  It is simply a matter of choosing that flag, and your RS-485
communication should work perfectly.  I haven't done any measurements as to
the exact timings on the line, but I have found it far more reliable than
using so-called "intelligent" RS-485 adaptors.

Now, if anyone can tell me how to get the same effect in linux, I'd be most
interested!

David


> I think the only way to make a useful RS-232 to RS-485 adapter for
> windows is to use a hardware one-shot triggered by the start bit to
> control Transmit enable on RS-485 driver.  Please let me know if I am
> wrong.
>
> regards,
> Johnny.



Re: RS232 or USB to RS485 - Paul Keinanen - 04:04 11-02-04

On Wed, 11 Feb 2004 08:20:53 +0100, "Meindert Sprang"
<m...@NOcustomSPAMware.nl> wrote:

>
>Lately I see people here talking about 2-wire and 4-wire RS485. Isn't RS-485
>*always* 2 wire?
>If 4-wire, it's RS422, right?

No.

RS-422 is point to point with the transmitters always on.

"4 wire RS-485" usually refers to a single RS-422 master (with Tx
always on) and multiple slaves with one pair constantly listening to
the master transmission on the master Tx pair, but the slave
transmitters can be tri-stated and all slave Tx chips are connected in
parallel to the master Rx pair.

The master can communicate with a single selected slave at the time in
full duplex. Alternatively, the master can send broadcasts to all
slaves and simultaneously receiving data from a single slave.

I have not read the actual standard to check if 4 wire RS-485 actually
is standardised, but this name is often used in practice for 4 wire
multidrop systems.

Paul
 

Re: RS232 or USB to RS485 - Paul Keinanen - 04:04 11-02-04

On Wed, 11 Feb 2004 07:13:55 GMT, Tauno Voipio
<t...@iki.fi.NOSPAM.invalid> wrote:

>
>There are simple boxes which contain the chips and
>usually a simple power supply (e.g. a plug transformer,
>'wall wart'). Usually, they are four-wire, but the
>common bus two-wire is achieved by connecting the
>RS-485 bus sides in parallel. The boxes often control
>the transmit enable with the RS-232 RTS (request to
>send) signal.

Unfortunately the 16550 family UARTs (as usually used in PC:s) are
more or less useless for controlling the RTS/DTR etc. pin for data
direction control, since these chips _do_not_ generate an interrupt,
when the transmitter shift register is actually _empty_ (it only
generates an interrupt when the last character is loaded from the FIFO
to the Tx shift register).

If a UART with hardware direction control is not available, one way is
to connect the Tx data pin also to the Tx enable pin on the RS-485
chip and actively drive the line only when the "0" serial bits are to
be transmitted (and use passive pull-ups for the "1" bits an idle) or
use some micro controller to detect the stop bit and turn of the
transmitter immediately after that (usually requires selecting the
baud rate with DIP switches) and turning on the transmitter again,
when the next start bit is detected.

Paul
  

| 1 | 2 | 3 | 4 | next