Forum: Mikrocontroller und Digitale Elektronik UART zu RS232 über One-Wire (Atmega644P)


von Electric S. (electricsheep)


Lesenswert?

Hallo an alle,
diese Schaltung: 
http://www.mikrocontroller.net/attachment/preview/24979/page_snapshots/001.png 
nutze ich für den One-Wire-UART zwischen PC und einem Atmega644P.
Über Software-UART (z.B. PeDa's Bootloader) läuft die Schaltung auch 
ohne Probleme, aber ich möchte den Hardware-UART verwenden.
Ich habe schon versucht, RX und TX mit einer Diode vor TX (mit Kathode 
bei TX) zu verbinden, aber es kommen am PC nur Steuerzeichen heraus.
Wenn ich RX und TX direkt verbinde, funktioniert die Übertragung 
überhaupt nicht.

Müssen die Pegel invertiert werden? Oder wie funktioniert das One-Wire 
beim Software-UART des Bootloaders von PeDa?

Vielen Dank schonmal im Voraus!
LG
electricsheep

von Krapao (Gast)


Lesenswert?

Die Pegel müssen invertiert werden.

Mich erstaunt, dass keine Pegelwandlung TTL auf RS232 nötig ist. 
Scheinbar rettet der Serienwiderstand R2 in Verbindung mit den 
Schutzdioden den kleinen Attiny45.

Zur UART Funktion auf einer Leitung, kann ich nur raten. Ich erwarte, 
dass man bei der UART Initialisierung und beim Betrieb aufpassen muss. 
Fullduplex d.h. gleicheitig RX und TX wird IMHO nicht funktionieren. 
Halbduplex kann ich mir vorstellen. Also wechselweise entweder auf RX 
oder TX initialisieren und dann entweder Empfangen oder Senden.

von holger (Gast)


Lesenswert?

>Die Pegel müssen invertiert werden.

Jupp, und das geht mit dem Hardware UART nicht.

>aber ich möchte den Hardware-UART verwenden.

Dann mach es richtig, so mit MAX232 und allem drum und dran.
Null Probleme in Zukunft. Was soll diese Trickschaltung?
Kabel kosten fast nichts. Und so ein Mäxchen auch nicht.
Dann hast du wenigstens was vernünftiges was immer funktioniert.

von Electric S. (electricsheep)


Lesenswert?

Krapao schrieb:
> Zur UART Funktion auf einer Leitung, kann ich nur raten. Ich erwarte,
> dass man bei der UART Initialisierung und beim Betrieb aufpassen muss.
> Fullduplex d.h. gleicheitig RX und TX wird IMHO nicht funktionieren.
> Halbduplex kann ich mir vorstellen. Also wechselweise entweder auf RX
> oder TX initialisieren und dann entweder Empfangen oder Senden.

Da hast du wirklich recht, das ist sehr schwierig zu realisieren.

holger schrieb:
> Dann mach es richtig, so mit MAX232 und allem drum und dran.
> Null Probleme in Zukunft. Was soll diese Trickschaltung?
> Kabel kosten fast nichts. Und so ein Mäxchen auch nicht.
> Dann hast du wenigstens was vernünftiges was immer funktioniert.

Dir stimme ich ebenfalls zu. Inzwischen habe ich tatsächlich einen 
MAX232 und ein 4-poliges Kabel verwendet.
Damit hatte ich bis jetzt wirklich noch keine Probleme. ;-)

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.