Forum: Mikrocontroller und Digitale Elektronik Standard UART Protokoll?


von Bernd (Gast)


Lesenswert?

Hallo zusammen,

ich habe hier ein paar dürftige Daten zu einem Bus und muss verstehen, 
worum es sich genau handelt. Was ich weiß: "standard UART-Protocol, 
single wire"
Meine Frage: Kann RS232 als Protokoll gemeint sein oder wäre bei einem 
1-Draht-Bus über UART ein anderes Protokoll der Standard?

Grüße
Bernd

von Michael (Gast)


Lesenswert?

Bernd schrieb:
> "standard UART-Protocol, single wire"
Die Angabe ist ein Witz

von Bernd (Gast)


Lesenswert?

Das dachte ich mir auch...

von g457 (Gast)


Lesenswert?

> Was ich weiß: "standard UART-Protocol, single wire"

..könnte eine unidirektionale UART gemeint sein damit. Einfach mal das 
Ossi dranhängen und beobachten was so drüber geht. Bei der Gelegenheit 
kannst Du dann auch gleich - sofern es eine UART ist - Symbolrate, 
Polarität und die Anzahl der Daten- und Stoppbits ablesen.

Wenns keine UART ist dann kannst das Ossi gleich dran hängen lassen und 
mit reverse-engineeren loslegen.

von hilmar (Gast)


Lesenswert?

> ...das Ossi dranhängen...

Sofern ich noch des deutschen mächtig bin, heißt es doch "der 
Oszillograph", oder? Wie kommt man dann auf "das Ossi"? Hab ich noch nie 
gehört. Wenn schon, dann "der Oszi", stimmt's?

Im übrigen gebe ich der restlichen Aussage recht. Nur mit einem Oszi 
kann man sehen, was auf der Leitung passiert, und das auch entsprechend 
interpretieren. In vielen Oszi's sind auch Protokoll-Analyzer drin (oder 
direkt mit einem Logik-Analyzer). Damit kann man der Sache auch auf die 
Schliche kommen...

von g457 (Gast)


Lesenswert?

> heißt es doch "der Oszillograph"

Und "das Oszilloskop" [0].

HTH

[0] http://www.duden.de/suchen/dudenonline/Oszilloskop

von Lothar S. (loeti)


Lesenswert?

Mal den Duden außer Acht gelassen.

Es gibt "halfdupplex" UART-Verbindungen die über 1-Wire (+GND) laufen.

Dazu benötigst Du eine spezielle Beschaltung (ob's die als Chip gibt?) 
und ein Software Collisions-Handling.

Eventuell meinen Die sowas?

Grüße Löti

von Bernd (Gast)


Lesenswert?

Die nötige Beschaltung für UART über einen Draht habe ich hier gefunden. 
http://www.maximintegrated.com/app-notes/index.mvp/id/214

Außerdem habe ich inzwischen weitere Infos:
Bidirectional, Master-Slave, half-duplex, 2400N2, LSB first.

Das Signal habe ich mir auch angesehen: Standardmäßig 5V, immer 2 Bytes 
in Folge. Eines davon hat einen minimal anderen Low-Pegel als das 
andere. Es ziehen also scheinbar beide Teilnehmer etwas unterschiedlich 
das Signal auf Masse.

von (prx) A. K. (prx)


Lesenswert?

Bernd schrieb:
> Die nötige Beschaltung für UART über einen Draht habe ich hier gefunden.
> http://www.maximintegrated.com/app-notes/index.mvp/id/214

Das beschreibt ist eine Implementierung von Dallas' proprietärem 1-Wire 
Protokoll per UART. Nicht aber normale asynchrone RS232 Kommunikation 
über eine Leitung.

von g457 (Gast)


Lesenswert?

Ha, die AVR274 [0] beschreibt eine Softwareimplementierung von dem was 
dem TO begegnet sein könnte.

HTH

[0] http://www.atmel.com/Images/AVR274.pdf

von Jens M. (Gast)


Lesenswert?

Bernd schrieb:
> Was ich weiß: "standard UART-Protocol, single wire"

RS232 halt.

Es gibt noch RS422 bzw RS485 mit 2 wire differential (verdrilltes 
Leitungspaar)

von Lothar S. (loeti)


Lesenswert?

UART hat TTL Level... .

von hilmar (Gast)


Lesenswert?

Jens Martin schrieb:
> Es gibt noch RS422 bzw RS485 mit 2 wire differential (verdrilltes
> Leitungspaar)

Beides sind 2 Signaladern + GND, aber kein single wire, wie der TO 
zitiert hat.

von HildeK (Gast)


Lesenswert?

hilmar schrieb:
> Beides sind 2 Signaladern + GND,

Nein, RS485 sind 4 Adern + GND. Zwei differentielle Paare.

von (prx) A. K. (prx)


Lesenswert?

Man kann nun natürlich endlos spekulieren, an was für einem realen 
Problem Bernd eigentlich sitzt. Einfacher wärs, er würde es uns 
verraten.

von Lothar S. (loeti)


Lesenswert?

Das is' dann aber RSXXX nix UART!

von hilmar (Gast)


Lesenswert?

@hildeK:

Zitat Wikipedia:
1
"EIA-485 benutzt ein Leitungspaar, um den invertierten und einen nichtinvertierten Pegel eines 1-Bit-Datensignals zu übertragen. Am Empfänger wird aus der Differenz der beiden Spannungspegel das ursprüngliche Datensignal rekonstruiert."
Zitat Ende

Man kann, wenn man möchte, das ganze natürlich auch zweimal aufbauen, 
dann hat man nicht mehr halbduplex, sondern fullduplex. Der eigentliche 
485-Standard ist aber halbduplex.

Ist aber auch egal, ich hatte das nur geschrieben, weil der TO nach 
"single wire" gefragt hatte, und da ist es nicht angebracht, einen 
Hinweis mit 2 (oder mehr) Drähten zu geben.

von Jens M. (Gast)


Lesenswert?

Lothar S. schrieb:
> UART hat TTL Level... .

UART ist eine Funktion und hat gar keinen Level, geschweige denn einen 
Standard.


hilmar schrieb:
> Ist aber auch egal, ich hatte das nur geschrieben, weil der TO nach
> "single wire" gefragt hatte, und da ist es nicht angebracht, einen
> Hinweis mit 2 (oder mehr) Drähten zu geben.

Bernd schrieb:
> Meine Frage: Kann RS232 als Protokoll gemeint sein oder wäre bei einem
> 1-Draht-Bus über UART ein anderes Protokoll der Standard?

Die Frage ist ja längst beantwortet, die Antwort lautet:

Ja, beides ist möglich ;-).

von Bernd (Gast)


Lesenswert?

Danke für eure Antworten!
Mein reales Problem ist, dass ich bisher eine I²C Schnittstelle habe, an 
die nun dieser 1-Draht Bus angeschlossen werden soll (I²C entfällt). 
Leider habe ich über diesen Bus bisher nur die bereits genannten Infos. 
Die erste Frage, die ich nun beantworten muss ist, ob und welche 
Hardwareänderungen nötig sind. Da ich ja nun weiß, dass das Signal 
genauso wie bei I²C standardmäßig auf 5V liegt, müsste ich doch ohne 
Änderung der Hardware auskommen. Der Pull-Up des I²C kann ja auch gleich 
hierfür genutzt werden. Somit müsste ich doch unabhängig vom Protokoll 
mit einer reinen Softwareänderung auskommen, oder?

von Falk B. (falk)


Lesenswert?

>mit einer reinen Softwareänderung auskommen, oder?

Ja.

von spontan (Gast)


Lesenswert?

Nette Frage.

Wer aber kennt Deine Hardware um sie beantworten?
Du kennst (hoffentlich) die Hardware, kannst die Frage selbst 
beantworten, oder gibst uns Informationen, dann klappts auch mit ner 
Antwort.

von Bernd (Gast)


Lesenswert?

Falk Brunner schrieb:
> Ja.
Klingt gut, danke! :)


Genau genommen geht es um verschiedene Platinen. Gemeinsam haben sie 
aber eben den I²C Bus. Der kommt direkt vom Controller und SCL und SCK 
werden mit 4k7 auf 5V gezogen. Welche Infos fehlen denn noch?

von spontan (Gast)


Lesenswert?

>Welche Infos fehlen denn noch?

Naja, wenn alle I2C-Devices ersetzt werden sollen und alles an einem 
einzigen Bus hängt, dann wär doch mal zu prüfen, ob alle Bauteine 
einzeln ansprechbar sind.

I2C kann Bausteine adressieren. Das geht meines Wissens zumindest nicht 
bei allen Single-Wire-Bausteinen.

Oder ist das gar nicht die Aufgabenstellung?

Da fehlts noch gewaltig an den Specs. Zumindest sind keine auf den Tisch 
gelegt.

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.