From: "Abacus-Ri"
[email protected]
Date: 6/14/2004 8:48 PM Central Standard Time
Message-id: <
[email protected]>
Hi to all,
Just to be clear, I plan to build RS232 repeater with just one source. I
need it to connect navigation equipment to one gyro compass(3x radars, 2x
communication antennas, 2x Inmarsat B, 2x Inmarsat A, 2 reference receivers
and some spare)...
thanks,
Damir
Hi, Damir. As with most projects of this type, "the devil is in the details".
Obviously, if you have bidirectional comm, you can only talk with one
instrument at a time. And with different types of instruments, you almost
certainly are going to have different command sets to deal with. I've done
this before several times with PCs and RS-232 instruments. In one case, I had
three each of two different types of instruments (three load cell interfaces
and three conductivity meters). They all had RS-232 ports, and I had a
limitation of only being able to use one computer controller serial port for
bidirectional communication with all six.
I examined the interfaces, and found that one type of instrument had only
XON-XOFF software handshaking, and the other had RTS and CTS hardware
handshaking. That limited me to a maximum of four lines to switch (TxD, RxD,
CTS, RTS). Since this was an industrial application and I wanted to keep it as
simple as possible (the elegant technical solution and the people solution are
sometimes wildly divergent), I chose 6 ea. 5VDC coil 4PDT telecomm relays,
which are made for switching signal level voltages and currents. I also used
pulldown resistors on the instrument side of the controller's port outputs (TxD
and CTS), which made those signals inactive when another relay was active.
This permitted me to poll each of the six instruments for data every so often,
with minimal overhead for hardware, maximum simplicity, and total transparency
for the instruments not in on the conversation -- they just thought the lines
were inactive whenever their relay wasn't switched on. The only non-trivial
part was reprogramming the UART for switching between software handshaking and
hardware handshaking, and changing baud rates. The end product looked
something like this (view in fixed font or M$ Notepad):
TxDo---o------------o
| RY1 __--o--------oRxD
| -o-. ___
| '--|___|-12V
RxDo---|-o----------o 4.7K
| | RY1 __--o--------oTxD
| | -o
| |
CTSo---|-|-o--------o
| | | RY1 __--o--------oRTS
| | | -o
| | |
RTSo---|-|-|-o------o
| | | | RY1 __--o--------oCTS
| | | | -o-. ___
| | | | '---|___|-12V
| | | | 4.7K
o-|-|-|------o
| | | | RY2 __--o--------oRxD
| | | | -o-. ___
| | | | '---|___|-12V
| o-|-|------o 4.7K
| | | | RY2 __--o--------oTxD
| | | | -o
| | | |
| | o-|------o
| | | | RY2 __--o--------oRTS
| | | | -o
| | | |
| | | o------o
| | | | RY2 __--o--------oCTS
| | | | -o-. ___
| | | | '----|___|-12V
4.7K
created by Andy´s ASCII-Circuit v1.24.140803 Beta
www.tech-chat.de
Each case is different, and there aren't many rules for this type of thing
except get it to work reliably. Assuming you can tie the GNDs of the
instruments together, you could probably also do this with a level translator,
a data selector or decoder IC, NAND gates and a handful of transistors, too.
Just think about what you actually need, and describe the problem to yourself
well. The rest should be easy.
Oh, yes. If this is actually going out on the water, watch for salt spray --
it kills electronics without mercy, unless you've got full metal jacket
protection..
Good luck
Chris