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
Nicolai N. schrieb: > Hat jemand damit Erfahrung oder hat nen Tipp für mich? Nimm einen µC mit 2 UARTs. Mit nur einem UART bist du aufgeschmissen, wenn Beide gleichzeitig senden.
:
Bearbeitet durch User
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
Super, das klingt doch sehr vielversprechend! Ich danke sehr. Dann werd ich das mal implementieren. Grüße Nicolai
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
Schau Dir mal die XMegas an, die sind dafür gut geeignet. Viele UARTs mit Eventsystem und DMA, da braucht die CPU kaum noch was zu machen, da die Hardware die Daten quasi von alleine durchreicht, wenn sie einmal konfiguriert ist.
:
Bearbeitet durch User
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
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.
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
:
Bearbeitet durch User
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.
Amateur schrieb: > Wie schlimm eine Kollision ist, kannst nur Du beantworten! eine Kollision muss doch nicht sein, wenn der UART auf 1 steht sieht 2 nicht grün, wenn das ignoriert wird ist der Sender Schuld.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.