Baudrate in der seriellen Arduino-Kommunikation

Yousef Zahid 28 Juni 2021
Baudrate in der seriellen Arduino-Kommunikation

Arduino-Codierung ist recht einfach, wenn man das Grundkonzept versteht und das Händchen für die logische Umsetzung hat. Dieses in diesem Artikel besprochene Konzept bezieht sich auf die Baudrate. Die meisten Anfänger-Arduino-Codierer verwenden einen bestimmten Baudratenwert für alle ihre Programme und Funktionen, wissen aber nicht, warum ein Wert von 9600 anstelle einer anderen Zahl verwendet wird. Was macht diesen Wert besonders und wozu dient die Baudrate tatsächlich?

Die Baudrate ist einfach die Rate der Signal- oder Symboländerung pro Sekunde. Es ist ziemlich schwer, nur von der Definition zu verstehen. Eine visuellere Interpretation wäre besser.

Baudraten-Analogie

Betrachten wir das Balkendiagramm in Abbildung 1. Nehmen wir an, jeder Block hat eine Periode von 1 Sekunde. Gegen Ende des Zeitraums ändert sich der Wert des Balkendiagramms abrupt. Beim ersten Balken steigt der Wert plötzlich an. Diese Änderung pro Sekunde wird als Baudrate bezeichnet, und die Baudrate ist in diesem speziellen Fall 1. Das Signal ändert sich einmal pro Sekunde.

Baudraten-Analogie

Betrachten Sie für dieses neue Diagramm den Monat Januar, in dem sich das Signal bis Februar zweimal ändert: Dies entspricht einer Baudrate von zwei. Es bedeutet auch, dass ein Port maximal etwa 2 Bit pro Sekunde übertragen kann. Wenn die Baudrate über 76800 Einheiten ansteigt, muss die Kabellänge für eine optimale Leistung reduziert werden.

Es gibt einen feinen Unterschied zwischen Baudrate und Bitrate. Die Bitrate ist die Übertragungsrate von Bit pro Sekunde, während die Baudrate die Signal- oder Symboländerungen pro Sekunde ist. Die Bitrate kann größer als die Baudrate sein, aber nicht umgekehrt. Baudraten werden mit Elektronik in Verbindung gebracht, insbesondere mit DIY-Projekten mit Arduino-Entwicklungsplatinen.

Um es als globale Funktion in der Programmierung über C++ zu verwenden, müssen wir mit #define BAUDRATE einen gewünschten Wert für die spätere Verwendung zuweisen. Wenn Sie Daten schneller senden und empfangen möchten, müssen Sie den Wert entsprechend erhöhen; für einen Mikrocontroller ist der typische Wert jedoch 9600.

Nun hängen die Auswahlkriterien von vielen Faktoren ab. Wenn Sie die Bitrate erhöhen möchten, müssen Sie zunächst die Baudrate erhöhen.

Die Oversampling-Kriterien müssen den Baudraten entsprechen; obwohl man die Oversampling-Rate von 16X auf 8X oder umgekehrt ändern kann, wofür Takte mit engen Toleranzen erforderlich sind, kann ein Fehler vorliegen. Eine Verringerung der Rate erhöht den Fehler und die Startbitflanke stimmt möglicherweise nicht mit der empfangenen Bitflanke überein.

Verwandter Artikel - Arduino Serial