PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Baudratenkonverter



anabolik
09.02.2006, 11:38
hallo,

ich brauche ienen baudratenkonverter (41600 zu 54000 und umgekehrt).
wie könnte man so was realisieren?

anabolik
09.02.2006, 13:21
wäre dies mit ATmega8 realisierbar? also mit 2 UARTs(hardware-UART + software-UART).

Vogon
09.02.2006, 13:39
... mit Radio Eriwan - Im Prinzip ja, aber ... :-k
Wenn die mit voller Geschwindikeit senden, wirst du ohne Protokoll Zeichen verlieren, denn die Daten kommen mit 54000 Baud, kannst aber nur mit 41600 senden. =;

vish
09.02.2006, 13:41
Du müsstest das ganze so einrichten, das der ATmega8 die Datenübertragung unterbrechen kann, sodass er seinen Puffer, der unweigerlich irgendwann einmal überlaufen wird, leeren kann.

Grüße,
Jonas

Vogon
09.02.2006, 13:49
@vish: Ja, das meinte ich mit Protokoll:

http://de.wikipedia.org/wiki/RS232


* Zur Vermeidung von Datenverlusten muss der Empfänger die Datenübertragung anhalten können, wenn keine weiteren Daten mehr verarbeitet werden können. Dieses sogenannte Handshake kann auf zwei Arten realisiert werden, entweder softwareseitig über bestimmte Steuercodes oder über spezielle Leitungen.

* Beim Software-Handshake sendet der Empfänger zur Steuerung des Datenflusses spezielle Zeichen an den Sender (Xon = dez. 17 und Xoff = dez. 19). Entsprechend werden für die Datenübertragung lediglich 3 Leitungen (RxD, TxD und Gnd) benötigt. Im jeweiligen Stecker müssen dann RTS mit CTS gebrückt werden und DTR mit DSR und DCD. Andernfalls wartet die Hardware, weil die Handshakeleitungen nicht richtig bedient werden.

* Beim Hardware-Handshake steuert der RxD-Empfänger über Steuerleitungen die Handshake-Eingänge CTS, DSR und DCD des TxD-Senders mit seinem Handshake-Ausgängen RTS -> CTS und DTR -> DSR & DCD. Ein Minimal-Interface mit Hardware-Handshake besteht demzufolge aus 5 Leitungen (TxD, RxD, Gnd, RTS und CTS).

anabolik
09.02.2006, 13:55
wie wäre es mit einem fifo-speicher zwischen 2 ATmegas. eigentlich die andere richtung (41,6k zu 56k) doch problematischer oder? hier müßte man leeer-bits einfügen oder?

Vogon
09.02.2006, 14:03
Nein, so ist das ist nur bei der Synchronen übertragung.
Die stinknormale RS232 Datenübertragung ist Asynchron und benötigt das nicht.

anabolik
09.02.2006, 14:16
OK danke!
wie sieht es mit der variante: fifo auf der 56k-RxD-seite?

Vogon
09.02.2006, 14:27
Ja, das ist schon richtig, aber wenn der Sender nicht aufhört, wird dir der Speicher doch überlaufen. :oops:
Schau dir das mal an.
Hier hat @Sternthaler für den ASURO soetwas schon mal gemacht. :idea:
https://www.roboternetz.de/phpBB2/viewtopic.php?p=148965#148965

anabolik
09.02.2006, 15:06
OK danke!
Xoff ist die richtige antwort. ja?
was läuft auf radio erewan :)?