UART multiplexer 2:1

OP #4214365
Lesenswert?
• ▲
▼
Hey Leute,

hat jemand schon mal einen UART Mux gebaut?
Ich brauche einen der 2 Uart 8N1 19200Baut auf einen 19200Baut 8N1 
schaltet.
Die streams sind nicht kontinuierlich, sondern senden nur ab und zu 
Informationen.
Mit nem uC könnte man das eigendlich ganz gut machen, nur wenn die 
beiden uarts mal genau gleichzeitig senden geht halt was verloren. Im 
ungünstigstem Fall, also wenn beide immer im gleichen Zeitabschnitt 
senden kommt nur müll an oder nur einer kommt durch.....

Hat jemand damit Erfahrung oder hat nen Tipp für mich?

Grüße

Nicolai
Gast #4214382
Lesenswert?
• ▲
▼
Moin,
habe sowas schonmal als 3:1 gebaut. Habe dafür einen AVR mit 4 uarts 
genommen. Die empfangenen Daten von den drei Ports wurden gepuffert, bis 
das Ende Zeichen des Protokolls empfangen wurde und erst dann 
weitergeleitet. Wenn die drei nicht kontinuierlich senden sollten auch 
keine Daten verloren gehen. Die Daten von dem einzelnen Port habe ich 
direkt weitergeleitet.

Gruß
Michael
#4214607
Lesenswert?
• ▲
▼
Hallo,
> Nicolai N. schrieb:
> hat jemand schon mal einen UART Mux gebaut?
Was stellst du dir genau darunter vor?

> Ich brauche einen der 2 Uart 8N1 19200Baut auf einen 19200Baut 8N1
> schaltet.
Wenn die eine UART als Master arbeitet und die anderen als Slave, dann 
kann man diese mit einem BUS so verbinden, dass viele Slaves am Master 
funktionieren, ohne dass es Datenkonflikte gibt. Der Master muß dann 
aber die Kommunikation steuern.

> Die streams sind nicht kontinuierlich, sondern senden nur ab und zu
> Informationen.
Und tun die das selbststandig? Kannst du das beinflussen
Man kann Datenkonflikte unterbinden, wenn die Daten nicht autonom 
gesendet werden, sondern vom Master gezielt abgefragt werden.

> Mit nem uC könnte man das eigendlich ganz gut machen, nur wenn die
> beiden uarts mal genau gleichzeitig senden geht halt was verloren.
Gibt auch uC mit mehr als eine UART

> Im ungünstigstem Fall, also wenn beide immer im gleichen Zeitabschnitt
> senden kommt nur müll an oder nur einer kommt durch.....
Ja, das ist so.

Bessere Antworten kann man nicht geben, weil die Fragestellung 
weitgehend ungenau und nebulör ist.
Gruß Öletronika
Gast #4214665
Lesenswert?
• ▲
▼
Nicolai N. schrieb:
> Ich brauche einen der 2 Uart 8N1 19200Baut auf einen 19200Baut 8N1
> schaltet.

Und dann? Auf einen PC, auf einen µController? Da ist es einfacher, 2 
Uarts zu verwenden als sich einen Multiplexer zusammenzustoppeln - der 
muss zwischenspeichern, um Konflikte aufzulösen, geht also nicht mir ein 
paar Gattern, und fertig gibt es sowas auch nicht. PCs oder Controller 
mit 2 seriellen Schnittstellen aber sehr wohl.

Georg
Gast #4214703
Lesenswert?
• ▲
▼
Bei einer Einbahnstraße dürfte es keine Probleme geben.
Also Du redest mal mit dem einen Empfänger und mal mit dem Anderen.

Findet eine Art von Frage- und Antwortspiel statt, so könnte es sein 
dass das Ganze auch noch funktioniert.
Also:
[Umschalten]
(Empfänger_1 sach mal was)
{definierbare Antwort}

[Umschalten]
(Empfänger_2 sach mal was)
{definierbare Antwort}

[Umschalten]
Usw.

Werden die Empfänger aber von sich aus aktiv ist Feierabend.
#4214717
Lesenswert?
• ▲
▼
Nicolai N. schrieb:
> Mit nem uC könnte man das eigendlich ganz gut machen, nur wenn die
> beiden uarts mal genau gleichzeitig senden geht halt was verloren. Im
> ungünstigstem Fall, also wenn beide immer im gleichen Zeitabschnitt
> senden kommt nur müll an oder nur einer kommt durch.....
>
> Hat jemand damit Erfahrung oder hat nen Tipp für mich?

dann schalte doch nur Rx und Tx um mit analog Multiplexer und mit CTS 2* 
auf 2 Ports erlaubst du 1 oder 2 und den anderen nicht.

Wenn die Sender vernünftig arbeiten sollte das doch klappen.

es gibt ja auch noch

DCD
DSR
DTR
RTS
http://www.wut.de/kpics/e-8wwww-17-grus-000.gif

Xon
Xoff
Gast #4214750
Lesenswert?
• ▲
▼
Wie schlimm eine Kollision ist, kannst nur Du beantworten!

Auf jeden Fall wird das letzte Byte (CH1) gestört und das erste (CH2) 
ist Mist.

Besteht das Protokoll auch noch aus mehreren Bytes, so ist das letzte 
Protokoll (CH1) zerstört und das nächste (CH2) ebenfalls.

Was der Empfänger macht, wenn die letzte Antwort unvollständig ist und 
die Nächste zerstört...

Es ist also nicht nur ein Übertragungsproblem, sondern auch noch die 
Frage wie die Software mit fehlerhaftem und unvollständigem Input 
umgeht.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.