Forum: Mikrocontroller und Digitale Elektronik Verschiedene UART Schnittstellen kombinieren ?


von Markus B. (Firma: Home) (sukramb)


Lesenswert?

Hallo

Ich habe da mal eine blöde Frage, ich habe zwar schon danach gesucht, 
aber konnte nichts informatives finden, vielleicht habe ich auch falsch 
gesucht.
Ich habe eine Elektronik mit einem AVR , diesen möchte ich mit mehreren 
UART Schnittstellen ausrüsten ( USB  LAN  BT ) wie bekomme ich alle 3 
Schnittstellen an den einen RX/TX des AVR . Es sollen nicht alle 
Schnittstellen parallel betrieben werden, sondern entweder/oder ...
Ich gehe mal davon aus, das ich sie nicht einfach parallel auflegen 
kann.

mfg

Markus

von STK500-Besitzer (Gast)


Lesenswert?

Wenn jede der Schnittstellen noch einen TTL-RS232-Wandler bekommt, muss 
man die Empfangsleitungen auf der TTL-Seite nur mit Dioden entkoppeln.

von Keks (Gast)


Lesenswert?


von Georg (Gast)


Lesenswert?

>>Wenn jede der Schnittstellen noch einen TTL-RS232-Wandler bekommt

>mit mehreren UART Schnittstellen ausrüsten ( USB  LAN  BT )

USB und LAN werden kaum mit RS232 Wandlern funktionieren.

von STK500-Besitzer (Gast)


Lesenswert?

Georg schrieb:
> USB und LAN werden kaum mit RS232 Wandlern funktionieren.

Das ist wahr, man kann sie aber trotzdem per Diode entkoppeln.

von Heinz V. (heinz_v)


Lesenswert?

Umschalten:

AVR(TX)----> Treiber---+--CD4066-->Bluetooth
                       |
                       +--CD4066-->USB
                       |
                       +--CD4066-->LAN

AVR(RX)<------+---CD4066---<Bluetooth
              |
              +---CD4066---<USB
              |
              +---CD4066---<LAN

von Stefan F. (Gast)


Lesenswert?

Ich mache das so, falls ein Umschalten nicht nötig ist:
1
                    1 bis 2kΩ
2
Tx o-----|<|------+---[===]----o VCC
3
                  |
4
Tx o-----|<|------+------------o AVR Rx
5
                  |
6
Tx o-----|<|------+
7
         1N4148
8
9
Rx o--------------+
10
                  |
11
Rx o--------------+------------o AVR Tx
12
                  |
13
Rx o--------------+

Alle drei seriellen Geräte können wechselweise mit dem AVR "reden", nur 
nicht gleichzeitig. Alles, was der AVR sendet, empfangen die drei 
seriellen Geräte gleichzeitig.

Bei 1 bis 2kΩ sind Baudraten bis 115200 problemlos machbar. Alle Rx und 
Tx Signale müssen im Bereich zwischen 3,3V und 5V liegen.

von Markus B. (Firma: Home) (sukramb)


Lesenswert?

Keks schrieb:
> Multiplexer/Demultiplexer
> https://www.mikrocontroller.net/articles/Multiplexen


Stimmt, so würde es gehen... ich vermute mal es gibt keinen RX/TX 
Multiplexer der automatisch erkennt wo ein Signal kommt und umschaltet 
?
;)
Kann mir jemand einen empfehlen ?

Ach ja, zur Vollständigkeit :

Um die einzelnen Schnittstellen zu realisieren ( USB/LAN/BT ) nehme ich 
für BT ein HM-10 , für USB einen FTDI RS232RL und für Lan ein Waveshare 
ETH TO 232 Modul , die mir direkt einen UART liefern...

Mit dem Multiplexer könnte ich dann doch eigentlich von jedem Modul ( 
wenn Kabel eingesteckt wird ) ein High Signal mit auf dem AVR geben der 
dann wiederum meinen Multiplexer auf das richtige Eingangsignal schaltet 
, richtig ?

Vielen Dank schon mal für die vielen guten Tips

mfg

Markus

von Markus B. (Firma: Home) (sukramb)


Lesenswert?

Ich lese gerade etwas rum und google auch zu dem Thema...
könnte ich nicht ebenso gut einen AtXMega16 verwenden ? Der hat ja 5 
Hardware UART

von Markus B. (Firma: Home) (sukramb)


Lesenswert?

Markus B. schrieb:
> Ich lese gerade etwas rum und google auch zu dem Thema...
> könnte ich nicht ebenso gut einen AtXMega16 verwenden ? Der hat ja 5
> Hardware UART

Ich korrigiere mich, der hat 5 USART, was meinen Anforderungen aber ja 
dennoch entspricht...
Der Vorteil liegt natürlich auf der Hand ... Ich könnte alle 3 Eingänge 
parallel verwenden.

Toll, endlich wieder was dazu gelernt :)

von Stefan F. (Gast)


Lesenswert?

> gibt keinen RX/TX Multiplexer der automatisch erkennt wo ein Signal
> kommt und umschaltet

Das ist nicht so einfach. Denn wenn mehrere Leitungen ein Signal führen, 
wohin soll er dann umschalten?

Wenn aber (wie du geschrieben hast) sicher ist, dass immer nur ein 
Signal gleichzeitig anliegt, dann sind die Dioden perfekt geeignet. Sie 
schalten automatisch um - nur halt mit dem Nachteil, dass sie bei zwei 
aktiven Sendern auch beide durchschalten und dann versteht der µC nicnts 
mehr.

von pcrom (Gast)


Lesenswert?

Ist es keine option um software-uart zu benutzen ?

von Markus B. (Firma: Home) (sukramb)


Lesenswert?

Ich möchte keine Verarschen, ich weis nicht wie du darauf kommst...

> Ich habe eine Elektronik mit einem AVR , diesen möchte ich mit mehreren
> UART Schnittstellen ausrüsten ( USB  LAN  BT )

Ist ein AtXMega kein AVR ?

Aber falls es hier um Erbsenzählen geht , OK... Ich korrigiere meine 
Aussage, ICh habe eine Elektronik in Eagle Layoutet und möchte dem AVR 
mehrere UART`s zuführen ...

Ich wollte keinem zu nahe treten, Sry @Beimwortnehmer  , aber du 
solltest erwachsen werden ;)

Software UART habe ich auch einiges drüber gelesen, ich tendiere aber , 
wenn es machbar ist gerne zu einer Hardware Lösung. Da das Layout 
momentan ja nur auf dem PC existiert, dürfte es auch kein Problem sein 
einen ATXMEGA zu verwenden.

Was mir am Anfang einfach nicht bewusst war , das es AVR gibt mit 
mehreren UART`s , ist halt nur nebenbei Basteln um mir Geräte für mein 
Hobby selber zu bauen ;)

Aber ich verspreche hoch und heilig meine nächsten Posts ausführlicher 
zu gestalten, damit keine Irrtümer mehr auftreten ;)

So wie dieses Geröt z.b.

http://www.themilkyway.de/index.php/projekte/fokussteuerung

Mfg

Markus

von Timm T. (Gast)


Lesenswert?

Stefan U. schrieb:
> Ich mache das so, falls ein Umschalten nicht nötig ist

Ja, das geht, bedingt aber, dass die Geräte den Ruhepegel auf high 
halten. Sollte da ein Gerät mal spinnen, und der Pegel dauerhaft auf low 
gehen, werden die anderen Geräte geblockt.

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.