Forum: Mikrocontroller und Digitale Elektronik 3x UART - wie lösen?


von Julian (Gast)


Lesenswert?

Hallo

Ich möchte eine Schaltung realisieren bei der ich über 2 Uarts was
empfange und dann auch gleichzeitig was senden kann.

Hardware soll ein AVR sein!

Ich dachte also an einen µC mit 3 UARTS.
Allerdings finde ich, wenn ich mir die in Frage kommenden AVR's
anschaue, diese absolut oversized.

Eigentlich muss der AVR sonst nicht viel machen.
Die beiden Eingansinformationen verarbeiten und dann über einen UART
wieder wegsenden.

Später kommt vielleicht noch ein 3 Eingangskanal dazu.

Wie würdet Ihr das lösen?

Gruß

von crazy horse (Gast)


Lesenswert?

-Software-UART? Besonders beim Senden einfach zu handhaben.
-SPI-UART von Maxim

von inoffizieller WM-Rahul (Gast)


Lesenswert?

ATmega162 hat 2 Hardware-USART. Fürs reine Senden könnte man auch ein
Soft-UART dazubasteln.
Sonst gibt es noch nette externe Methoden, wie einen anderen AVR als
USART per SPI, TWI oder so an einen anderen zu hängen.

von Julian (Gast)


Lesenswert?

Also wenn ich das richtig verstehe, ist beim Empfang ein Hardware UART
immer zu bevorzugen.

Einen Software-UART habe ich bis jetzt noch nicht realisiert.
Kann der dann Ähnlich angesprochen werden wie ein Hardware UART?
Gibts da Tutorials zu?
Ich stelle mir halt die Frage ob ein Software-UART einem externen 3.
Uart zu bevorzugen ist.
programmtechnisch sollte das egal sein...

Wie sieht es mit der Baudrade beim Software UART aus?

Gruß

von Ronny (Gast)


Lesenswert?

Schau dir mal bei Maxim oder Philips die UARTs an.Das sind externe
Bauelemente mit 1,2,4 oder gar 8(!) UARTs.Die meisten werden über einen
externen Daten/Adressbus gesteuert,was für dich sicherlich etwas
Overkill ist.

Für dich sind eher die SPI-Typen eine sinnvolle Alternative.Und sooo
kompliziert sind die auch nicht zu programmieren.Nachteil ist eben nur
das ein weiteres externes Bauelement dazukommt und eventuell noch ein
weiterer Quarz an den UART muss.

von crazy horse (Gast)


Lesenswert?

je höher die Baudrate, desto kniffliger wirds mit Software-UART. 38k4
gehen aber noch problemlos, hängt natürlich auch von der Taktfrequenz
das MC ab.
Empfangen geht natürlich auch, ist aber etwas diffizieler. Vollduplex
wirds dann langsam chaotisch :-)
Wenn du auf einem Kanal wirklich nur senden willst, würde ich eine
Software-UART nehmen.
Bei Atmel findest du da ein paar app. notes.

von crazy horse (Gast)


Lesenswert?

@ronny:
und der Preis, die Dingerchen kosten meist mehr als der MC, an dem sie
werkeln :-(
Sicher kein Problem für Einzelstück-Spielereien, gerade noch mal bei
Maxim nachgeschaut, MAX3110 1000er Preis 4,73$! Für eine Serie habe ich
sowas noch nie eingesetzt. Dann lieber einen weiteren Tiny2313, über SPI
 gekoppelt.

von Roland (Gast)


Lesenswert?

Wenn du auf 2 Kanälen nur empfangen musst und dann die Daten über
einen Kanal nur senden musst, reichen dir evtl. auch 2 UARTS, da hast
2x RX und 2x TX. Vorausgesetzt, gleiche Baudrate.

Gruß
Roland

von Peter D. (peda)


Lesenswert?

"Ich möchte eine Schaltung realisieren bei der ich über 2 Uarts was
empfange und dann auch gleichzeitig was senden kann."


HW-UARTs können immer Vollduplex (gleichzeitg senden + empfangen), wenn
die Baudrate die gleiche ist. Es reichen als 2 UARTs aus (z.B.
ATMega162).

In der Codesammlung ist auch ne Vollduplex-UART in SW.


Peter

von Julian (Gast)


Lesenswert?

Hallo

Vielen Dank für die zahlreichen Antworten.
Wie ich Peters Antwort entnehme reichen mir somit 2 UARTS, da ich mit
der gleichen Baudrate empfange und sende.

Werde mir dann den ATmega162 mal etwas genauer anschauen.
Allerdings werde ich auch den Soft-UART nicht aus den Augen verlieren,
da bei einer Erweiterung auf 3x Empfangs-UART eine Softwarelösung her
muss.

Danke
Gruß

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.