Forum: Mikrocontroller und Digitale Elektronik RS232 Multiplexen


von Everybody (Gast)


Lesenswert?

Hallo Zusammen

Ich suche eine Möglichkeit von 8 Sendern RS232 (Kabel MAX232) auf einen 
Empfänger zu senden. Also diese zu Multiplexen.

Hat da Jemand Erfahrung

von Purzel H. (hacky)


Lesenswert?

Ja, kann man machen. Vor oder nach dem Konverter ? DH mit TTL oder mit 
RS232 Pegeln ?

von Karl (Gast)


Lesenswert?

Schau mal nach 4052, das ist ein 4-Kanal Multiplexer. Ich weiß nicht ob 
es sowas auch 8-fach gibt.

von Everybody (Gast)


Lesenswert?

Danke
Hab gerade Überlegt dies evtl mit MAX485 zu machen, is evtl der bessere 
Ansatz.

von Peter II (Gast)


Lesenswert?

Die frage ist doch erst mal ob die Sender alle gleichzeitig senden? Und 
wenn ja mit welcher Datenrate?

von René B. (reneb)


Lesenswert?

Wenn alle das selbe Signal empfangen und erst dann senden, wenn du sie 
abfragst, kannst du auch nach den Pegelwandlern ganz einfach durch 
PullUp und Diode die Leitungen zusammenlegen.
Dann machst du den UART Lo-Pegel durch die Diode gegen Masse zum 
dominanten und den Hi-Pegel durch den PullUp zum rezessiven Pegel.
Allerdings geht das nicht mit hohen Baudraten, 19,2k sollten dir da 
schon genügen.
Aber dann kannst du auch gleich alles mit RS485 aufbauen, wenn das geht. 
Und hier kommst du auf höhere Leitungslängen und Geschwindigkeiten. Hast 
aber an jedem Transciever noch eine zusätzliche Active-Leitung zu 
bedienen.

von Everybody (Gast)


Lesenswert?

Ich will mit 19200 Baud fahren, plus einen Datensammler- Modul welches 
vom PC abgefragt wird .

                    |--------------|
                    |              |
Modul 1 ------------|              |
                    |              |
Modul 2 ------------|              |------------ PC RS232
                    |              |
Modul 3 ------------|              |
                    |              |
Modul 4 ------------|              |
                    |              |
                    |              |
.......             |              |
                    |              |
Modul 8 ------------|              |
                    |--------------|

von Peter II (Gast)


Lesenswert?

Everybody schrieb:
> Ich will mit 19200 Baud fahren, plus einen Datensammler- Modul welches
> vom PC abgefragt wird .

können die Sender gleichzeitig senden? Oder hast du das unter Kontrolle?

von Everybody (Gast)


Lesenswert?

RS485 Terminierung: Wie kann man das am besten realisieren wenn man die 
Module austauschbar machen will Terminierung im Datensammler.

Ich gehe davon aus das jede Leitung nicht mehr als 5 - 10 m lang ist.

Normalerweise terminiere ich ja am ende des Busses.

von Everybody (Gast)


Lesenswert?

Die sender will ich durch das Controller bord nacheinander Pollen.

von Peter II (Gast)


Lesenswert?

was soll denn hier RS485 für ein Vorteil bringen? Bei RS485 darf auch 
immer nur einer senden. Man muss also sich selber dafür sorgen das es 
keine Kollisionen gibt.

Aber dann kann man es auch mit RS232 und einen Analogschalter lösen.

von Peter II (Gast)


Lesenswert?

Everybody schrieb:
> Die sender will ich durch das Controller bord nacheinander Pollen.

naja dann sind es ja keine Sender

Dann kannst du doch einfach die RX und TX Leitung mit einen 
Analogschalter umschalten.

von hmm... (Gast)


Lesenswert?

RS232 ist nunmal als Punkt-zu-Punkt Verbindung gedacht. Sicher, man kann 
das vergewaltigen um mit einer einzigen RS232 mehrere Geräte zu Pollen. 
Dann hat man aber den Arbitrierungsaufwand eines "richtigen" Buses 
gepaart mit den Nachteilen einer RS232.

Wieso also nicht RS485? Entsprechende Bustreiber (z.B. MAX490 anstatt 
MAX232) gibt es sowohl für 3.3V als auch als alte 5V Varianten von den 
üblichen Verdächtigen (Maxim, TI, ...) und RS485/USB Wandler für die 
PC-Seite gibt es auch relativ günstig.

Nebenbei bekommt man dann auch eine deutlich höhere Störfestigkeit bei 
größeren Kabellängen in gestörter Umgebung und je nach Treiber und 
Kabellänge auch noch etwas mehr als deine 19k2 Baud.

von Peter II (Gast)


Lesenswert?

hmm... schrieb:
> Wieso also nicht RS485? Entsprechende Bustreiber (z.B. MAX490 anstatt
> MAX232) gibt es sowohl für 3.3V als auch als alte 5V Varianten von den
> üblichen Verdächtigen (Maxim, TI, ...) und RS485/USB Wandler für die
> PC-Seite gibt es auch relativ günstig.

dann muss man aber auch den "Sender" anpassen, bis jetzt brauchte er 
keine ID um angesprochen zu werden.
Keine Ahnung ob das hier so einfach möglich ist.

von hmm... (Gast)


Lesenswert?

Peter II schrieb:
> dann muss man aber auch den "Sender" anpassen, bis jetzt brauchte er
> keine ID um angesprochen zu werden.
> Keine Ahnung ob das hier so einfach möglich ist.

Welchen Sender den? Oder meinst du den Master der die angeschlossenen 
Slaves abfragt? Naja, eine Art der Adressierung benötigt man ja sowieso. 
Auf der einen Seite damit der angesprochene Slave weiß das er gemeint 
ist und alle anderen Still bleiben. Auf der anderen Seite muss beim 
RS232 Ansatz irgendwer den Slave der antworten will zum Master 
durchschalten. Sobald die Antwortzeiten nicht mehr deterministisch sind, 
steigt der Aufwand zur Arbitrierung stark an.

Dann doch lieber beim Masterprotokoll noch ein Byte für eine Adresse 
spendieren. Über das Protokoll sollte man sich auch noch kurz Gedanken 
machen, unabhängig ob Multiplex oder RS485. Wielange darf es dauern bis 
ein Slave antwortet? Was passiert wenn ein Slave nicht 
antwortet/abgetrennt wurde? Wie werden Übertragungsfehler gehandhabt 
(müssen Bitdreher erkannt werden? Im Fehlerfall noch mal oder mit dem 
nächsten Slave weiter?)?

von Peter II (Gast)


Lesenswert?

hmm... schrieb:
> Welchen Sender den?

> Ich suche eine Möglichkeit von 8 Sendern RS232 (Kabel MAX232) auf einen
> Empfänger zu senden. Also diese zu Multiplexen.
diese Sender aus der Aufgabenstellung

> Naja, eine Art der Adressierung benötigt man ja sowieso.
man muss bei einem einfach Umschalter( Relais, Analogschalter ..) die 
Sender nicht adressieren, man muss nur den Umschalter steuern.

von hmm... (Gast)


Lesenswert?

Peter II schrieb:
> hmm... schrieb:
>> Welchen Sender den?
>
>> Ich suche eine Möglichkeit von 8 Sendern RS232 (Kabel MAX232) auf einen
>> Empfänger zu senden. Also diese zu Multiplexen.
> diese Sender aus der Aufgabenstellung

Oh, stimmt.. War irgendwie auf 1 "Sender" und 8 "Empfänger ausgegangen, 
sorry. Macht es aber nicht unbedingt einfacher, wenn es 8 Einheiten gibt 
die aktiv eine Übertragung anstossen können. Oder fragt dann doch eher 
der "Empfänger" an und einer der "Sender" antwortet dann? ;)

Peter II schrieb:
>> Naja, eine Art der Adressierung benötigt man ja sowieso.
> man muss bei einem einfach Umschalter( Relais, Analogschalter ..) die
> Sender nicht adressieren, man muss nur den Umschalter steuern.

Und wie wird der Umschalter angesteuert? Am Ende ist es wieder eine Art 
"Adressierung", nur eben dann teilweise in Hardware. Und es bleibt die 
Frage, wer ("Sender" oder "Empfänger") das Umschalten erledigt.

Und deswegen werden in der Praxis häufig Master/Slave Ansätze verwendet, 
wo genau EIN Master (selten auch Multimaster, aber das bringt nur neue 
Probleme) die Kommunikation anstösst und nur der angesprochene Slave 
antwortet.

von DingsDa (Gast)


Lesenswert?


von hmm... (Gast)


Lesenswert?

DingsDa schrieb:
> 74HC4051!

Und das Teil verkraftet RS232 Pegel?

Zitat:
"VCC and GND are the supply voltage pins for the digital control inputs 
(S0 to S2, and E).The VCC to GND ranges are 2.0 V to 10.0 V for 74HC4051 
and 4.5 V to 5.5 V for 74HCT4051. The analog inputs/outputs (Y0 to Y7, 
and Z) can swing between VCC as a positive limit and VEE as a negative 
limit. VCC
VEE may not exceed 10.0 V.For operation as a digital 
multiplexer/demultiplexer, VEE is connected to GND (typically ground)."

(http://www.nxp.com/documents/data_sheet/74HC_HCT4051.pdf)

von Chris S. (schris)


Lesenswert?

Bei max 20v (+-10) ein 4017 sowie zwei and aus der 4000 Serie. Sind noch 
gut zu bekommen.
Ansonsten 4x max232 und dasselbe auf der 5v Seite machen, dann 
funktionieren auch die 74 Serien sowie noch ein max232 zum PC.
Reset und CLK einfach mit den Steuersignalen verbinden.

von hmm... (Gast)


Lesenswert?

Chris S. schrieb:
> Bei max 20v (+-10) ein 4017 sowie zwei and aus der 4000 Serie. Sind noch
> gut zu bekommen.
> Ansonsten 4x max232 und dasselbe auf der 5v Seite machen, dann
> funktionieren auch die 74 Serien sowie noch ein max232 zum PC.
> Reset und CLK einfach mit den Steuersignalen verbinden.

Und das alles um sich um einen Tausch MAX232 gegen MAX485/MAX490 und ein 
Adressierung direkt im Protokoll zu drücken ;)

Ich sage ja nicht, dass es technisch nicht möglich ist RS232 zu 
multiplexen. Aber es ist halt nicht unbedingt die eleganteste oder 
zweckmässigste Lösung.

Vielleicht sollte der TO mal klären, ob es gute Gründe für seinen 
Multiplexansatz gibt (z.B. keine Änderung an existierender Firmware oder 
Hardware möglich) oder ob hier eine vermeintlich optimale Lösung vorweg 
genommen wurde und man sich etwas vergallopiert hat.

von Peter II (Gast)


Lesenswert?

hmm... schrieb:
> Und das alles um sich um einen Tausch MAX232 gegen MAX485/MAX490 und ein
> Adressierung direkt im Protokoll zu drücken ;)

eventuell ist ja der Verkabelung auch sternförmig, was 485 nicht 
einfacher macht.

von hmm... (Gast)


Lesenswert?

Peter II schrieb:
> hmm... schrieb:
>> Und das alles um sich um einen Tausch MAX232 gegen MAX485/MAX490 und ein
>> Adressierung direkt im Protokoll zu drücken ;)
>
> eventuell ist ja der Verkabelung auch sternförmig, was 485 nicht
> einfacher macht.

Stimmt, das macht RS485 wirklich etwas schwieriger. Aber vielleicht 
liegt ja auch LAN-Kabel in den Wänden was verwendet werden soll ;) 
Müsste man mutmaßen.

So, aber jetzt erstmal genug von unserem Dialog. Warten wir mal ab was 
der TO zur Klärung beitragen kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.