Embedded Systems und Firmware
Weichen die Baudraten von Sender und Empfänger bei UART geringfügig ab, kann es zu verstümmelten Zeichen kommen. Warum ist die zulässige Abweichung auf etwa einige Prozent begrenzt?
- ADer Empfänger synchronisiert sich am Startbit und liest dann mit seinem eigenen Takt jedes Bit in der Mitte; die Abweichung summiert sich über ein Zeichen und führt zu einem Fehler, wenn sie beim letzten Bit ein halbes Bit überschreitet
- BWeil die Spannung des Senders sinkt, wenn die Baudrate abweicht
- CWeil UART die Abweichung automatisch korrigiert, gibt es in Wirklichkeit keinen Toleranzbereich
Antwort und Erläuterung anzeigen
Antwort: A. Der Empfänger synchronisiert sich am Startbit und liest dann mit seinem eigenen Takt jedes Bit in der Mitte; die Abweichung summiert sich über ein Zeichen und führt zu einem Fehler, wenn sie beim letzten Bit ein halbes Bit überschreitet
Der Empfänger synchronisiert sich auf den Beginn des Startbits, zählt danach mit seiner eigenen Baudrate und liest jedes Bit in der Mitte. Bei Geschwindigkeitsabweichung summiert sich die Abweichung des Lesezeitpunkts von Bit zu Bit; weicht sie beim Stoppbit nach etwa 10 Bit um mehr als ein halbes Bit ab, wird das Nachbarbit gelesen. Der Gesamtfehler beider Seiten muss daher innerhalb weniger Prozent bleiben, und bei internen Oszillatoren mit geringer Taktgenauigkeit ist Vorsicht geboten.