Hallo Community, ich bin Anfänger bzw. Fachfremd auf dem Gebiet der seriellen Schnittstellen. Für ein Projekt soll ich eine UART-Kommunikation zwischen Microcontroller und PC initialisieren. Das Vorgehen hierbei ist mir relativ klar, jedoch bin ich nun über das UART-Protokoll gestolpert. Nach meinem Wissen ist das UART Protokoll standardmäßig folgendermaßen aufgebaut: 1 Startbit|8 Datenbits|Paritätsbit (optional)|1 Stopbit In meinem Projekt ist das Protokoll aber folgendermaßen definiert: 1 Tel. Length Byte | 1 Acknowledge Byte | 4 Datenbytes | 2 CRC Bytes Mir erschließt sich hier der logische Zusammenhang nicht. Wie ist dieses Protokoll zu verstehen? Ist dies überhaupt UART? Falls ja, gibt es verschiedene UART Protokolle? Warum werden hier Datenbytes und nicht Datenbits aufgeführt? Mir fehlen hier auch Start-/Stopbit. Mir fehlt hier das Verständnis und war bisher auch bei meiner Online-Recherche erfolglos, daher hoffe ich, dass mir hier jemand weiterhelfen kann.... Vielen Dank im Voraus. Grüße JayJay
JayJay1234 schrieb: > Mir erschließt sich hier der logische Zusammenhang nicht. Wie ist dieses > Protokoll zu verstehen? Ist dies überhaupt UART? Falls ja, gibt es > verschiedene UART Protokolle? Jedes der Bytes in dieser Protokolldefinition ist so aufgebaut, wie darüber beschrieben. Jedes Byte hat Startbit, 8 Datenbits, Stopbits. Wie viele Stop-Bits und ob und welches Paritäts-Bit vorhanden sind, muss auch definiert sein.
JayJay1234 schrieb: > Nach meinem Wissen ist das UART Protokoll standardmäßig folgendermaßen > aufgebaut: > > 1 Startbit|8 Datenbits|Paritätsbit (optional)|1 Stopbit Das ist die "Verpackung" (Kodierung) eines Bytes > In meinem Projekt ist das Protokoll aber folgendermaßen definiert: > > 1 Tel. Length Byte | 1 Acknowledge Byte | 4 Datenbytes | 2 CRC Bytes Das sind die Bytes, die alle wie oben "verpackt" werden.
Es handelt sich um eine hierarchische Darstellung. 1. Die Beschreibung mit Start-Bit, Datenbits, etc. bezieht sich auf die Übertragung eines einzelnen Datenwortes - was eben auch ein Byte lang sein kann. Da gibt es auch mehr Varianten mit weniger als 8 Datenbits, 1,5 Stopbits usw. 2. Das zweite "Protokoll" setzt das erste voraus. D.h. es wird davon ausgegangen, dass jedes Element dieses Protokolls, ein nach dem ersten Protokoll übertragenes Datenwort ist. Das ist so ähnlich wie beim Hausbau. Man beschreibt zunächst einen Ziegel mit Länge, Breite, Höhe und Material. Dann beschreibt man die Wände und setzt voraus, dass die Wände wiederum aus einzelnen Ziegeln zusammengesetzt ist - ohne das man bei der Beschreibung der Wand jeden einzelnen Ziegel beschreibt.
Im Prinzip solltest du dir mal das OSI-Modell ansehen. Ist zwar hier nicht ganz passend, aber im Grundsatz das gleiche. Das Usart Protokoll ist die Bit Übertragungsschicht die vorgibt, wie jedes einzelne Bit (bzw. eine 8ter Gruppe von Bits) übertragen wird. Dein Projekt Protokoll ist dann in den darüber liegenden Schichten angesiedelt. Da die Hardware wahrscheinlich schon die Übertragung übernimmt, wirst du die Start-, Stop- und Paritätsbit nie direkt zu Gesicht bekommen.
Vielen Dank für das schnelle Feedback und die einleuchtenden Antworten. Jetzt ist mir das Gantze klarer geworden. Danke für eure Hilfe!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.