3x UART - wie lösen?

Gast #360761
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ß
Gast #360763
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.
Gast #360764
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ß
Gast #360765
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.
Gast #360766
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.
Gast #360767
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.
Gast #360768
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
#360769
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
Gast #360770
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ß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren