Forum: Mikrocontroller und Digitale Elektronik UART - Protokoll?


von Christian W. (christianw)


Lesenswert?

Hallo miteinander,

bitte nicht lachen, aber ich frage mich schon so lange, was für ein 
Protokoll die UARTs der seriellen Schnittstelle der Mikrocontroller 
verwenden. Kann man sagen, dass sie das RS-232 (bzw. EIA-232) Protokoll 
verwenden? Oder gibts für die TTL-Pegel eine spezielle Bezeichnung?

Schöne Grüße
Christian

von Christian R. (supachris)


Lesenswert?

RS232 ist kein Protokoll sondern ein Schnittstellen-Standard. Den 
erreicht man, wenn man einen passenden RS232 Konverter benutzt (z.B. 
Max232). Als Protokoll kannst du machen, was du willst, es geht sogar 
TCP/IP über Serialport.

von Karl H. (kbuchegg)


Lesenswert?

Christian Wachter schrieb:
> Hallo miteinander,
>
> bitte nicht lachen, aber ich frage mich schon so lange, was für ein
> Protokoll die UARTs der seriellen Schnittstelle der Mikrocontroller
> verwenden. Kann man sagen, dass sie das RS-232 (bzw. EIA-232) Protokoll
> verwenden? Oder gibts für die TTL-Pegel eine spezielle Bezeichnung?

Protokoll ist der falsche Begriff.
Unter einem Protokoll versteht man normalerweise eine Vereinbarung die 
den logischen Ablauf einer Kommunikation regelt. Da ist man also schon 
auf einer höheren Abstraktionsebene als der der physikalischen 
Verbindung.

Die UART implementieren den RS232 Standard zur Kommunikation.
Der Unterschied zwischen 'richtigem' RS232 und der TTL-Pegel Sache ist 
lediglich, dass man sich die Invertierung und die Umsetzung auf +/- 
12Volt Pegel erspart. Bei den kurzen Verbindungslängen, bei denen TTL 
eingesetzt wird, spielt das auch keine grosse Rolle. Da ist die 
Pegelumsetzung auf 12V einfach nur Aufwand für nichts.

von Christian W. (christianw)


Lesenswert?

Vielen Dank für die Aufklärung.

Dann gibt es also gar kein "RS-232-Protokoll"?

Nach welchem Protokoll werden die Daten zwischen zwei UARTs 
standardmäßig verschickt?

von Magnus Müller (Gast)


Lesenswert?

Ähm.... Nach gar keinem?!?

;o)

von Karl H. (kbuchegg)


Lesenswert?

Christian Wachter schrieb:
> Vielen Dank für die Aufklärung.
>
> Dann gibt es also gar kein "RS-232-Protokoll"?
>
> Nach welchem Protokoll werden die Daten zwischen zwei UARTs
> standardmäßig verschickt?

Denk dir was aus und implementiere es.
Du hast 2 grundsätzliche Möglichkeiten
* entweder alles in Form von Texten hin und her schicken
* oder numerische Werte binär auf die Reise schicken mit ein paar
  Steuerbytes dazwischen.

von Gast (Gast)


Lesenswert?

Mit der Frage ist wohl eher gemeint, wo geregelt ist, wann welche 
Datenleitung wie zu schalten ist, damit am anderen Ende auch Daten 
ankommen.
Das muss ja schon irgendwo festgelegt sein, schließlich können sich alle 
RS232-Geräte mehr oder weniger miteinander verständigen.

Wie man dann seine Nutzdaten verpackt, um sie durch die Leitung zu 
bekommen ist ja wieder was ganz anderes. Wobei es ja auch dafür einige 
fertige Standards gibt.

von Florian K. (Gast)


Lesenswert?

Hallo!

Die Sache mit den Leitungen ist wiederum im RS-232-Standart festgelegt! 
Da steht halt drin, welche Leitungen es gibt und inn welche Richtung die 
Informationen in ihnen fließen. WAS über die Leitung geschickt wird, ist 
wie schon geschrieben nicht festgelegt.

von /purzel (Gast)


Lesenswert?

Text und binaer ist fuer das UART eh dasselbe.
Am besten Schaut sich der Poster mal die Funktionsweise eines UART 
anhand des Datenblattes des von ihm verwendeten controllers an. Was da 
geschieht ist Startbit-LSB.....MSB-[Parity]-Stopbit in der 
programmierten Baudrate. Das hat mit RS232 erst mal gar nichts zu tun.
Wenn man nun einen Max232(oder aehnlich) nachschnallt, hat man RS232, 
wenn man einen DS75176(oder aehnlich) nachschnallt, hat man RS485, und 
wenn man zB einen AD3491(oder aehnlich) nachschnallt, so hat man RS422.
Das UART versendet also Byteweise. Die Bedeutung dieser Byte ist im 
Protokoll definiert. Und dieses Protokol ist der Einfachheit halber 
nicht vorgegeben.

von Thomas (kosmos)


Lesenswert?

Suche mal in Wikipedia nach serieller Datenübertragung.

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.