UART-Rechner für Baudraten und Frame-Timing
Berechnet das UART-Frame-Timing, den Durchsatz und den USART BRR-Registerdivisor anhand der Baudrate, des Datenformats und der MCU-Taktfrequenz. Identifizieren Sie den Baudratenfehler für eine zuverlässige serielle Kommunikation.
Formel
Referenz: STM32 Reference Manual RM0008 §27.3.4; ST AN2908
Wie es funktioniert
Dieser Rechner bestimmt die UART-Baudratenteilerwerte und Zeitfehler für eine zuverlässige serielle Kommunikation. Embedded-Ingenieure, IoT-Entwickler und Hardwaredesigner verwenden ihn, um Mikrocontroller-UARTs innerhalb der von den meisten Empfängern geforderten Takttoleranz von 2—3% zu konfigurieren. Gemäß dem UART-Standard (abgeleitet von RS-232/EIA-232) enthält jeder Frame ein Startbit, 5-9 Datenbits, optionale Parität und 1-2 Stoppbits. Eine 16-MHz-MCU, die auf 115200 Baud abzielt, erzielt einen Fehler von 0,16% bei BRR=8 (16-faches Oversampling), während 9600 Baud bei BRR=104 einen Fehler von 0,08% ergibt. Studien zeigen, dass Baudratenfehler über 3,5% bei einem von zehn Frames zu Byte-Framing-Fehlern führen. Standardraten (9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600 Baud) sind so definiert, dass Rundungsfehler der Divisoren bei den üblichen Quarzfrequenzen (8, 12, 16, 20 MHz) minimiert werden. Die Bitperiode bei 115200 Baud beträgt 8,68 Mikrosekunden. Für einen zuverlässigen 10-Bit-Frame-Empfang ist eine Zeitgenauigkeit von 300 Nanosekunden pro Bit erforderlich.
Bearbeitetes Beispiel
Ein Automobilsteuergerätedesign erfordert eine UART-Kommunikation mit 115200 Baud unter Verwendung eines 20-MHz-Systemtakts mit 16-fachem Oversampling. Es folgt der Divisorformel aus Standard-UART-Implementierungen: BRR = f_clk/(16 x Baud) = 20.000.000/(16 x 115200) = 10,85. Die Rundung auf BRR=11 ergibt die tatsächliche Baud = 20.000.000/(16 x 11) = 113636 Baud. Fehler = |115200 - 113636|/115200 x 100 = 1,36%, was dem in den meisten Datenblättern für UART-Empfänger angegebenen Höchstwert von 2% entspricht. Rahmenstruktur: 1 Start + 8 Daten + 1 Stopp = insgesamt 10 Bit, was einem Durchsatz von 11.364 Byte/Sekunde entspricht. Zum Vergleich: Bei Verwendung von 8-fachem Oversampling (BRR=22) werden 113636 Baud mit identischem Fehler von 1,36% erreicht, jedoch mit geringerer Störfestigkeit.
Praktische Tipps
- ✓Verwenden Sie gemäß Anwendungshinweis AN4908 von ST Microelectronics fraktionales BRR, sofern verfügbar, um bei jeder Standard-Baudrate einen Fehler von < 0,5% zu erzielen
- ✓Begrenzen Sie für 3,3-V-Logik über Kabel von mehr als 2 Metern die Baudrate auf 115200, um den Rauschabstand von 400 mV gemäß den RS-232-Spezifikationen aufrechtzuerhalten
- ✓Überprüfen Sie das Timing mit dem Oszilloskop: Messen Sie 10 aufeinanderfolgende Bits und bestätigen Sie, dass die Gesamtdauer innerhalb von 2% der erwarteten Werte liegt (86,8 µs bei 115200 Baud)
Häufige Fehler
- ✗Verwendung eines Kristalls mit einer Toleranz von >50 ppm, was bei 25 °C zu einem Fehler von 0,005% führt, bei extremen Temperaturen (-40 °C bis +85 °C) jedoch einen kombinierten Fehler von über 2% überschreiten kann
- ✗Auswahl nicht standardmäßiger Baudraten wie 100000 Baud, was bei 16-MHz-Systemen zu einem Fehler von 4,17% gegenüber 0,16% bei 115200 Baud führt
- ✗Ignoriert, dass Generatoren für fraktionierte Baudraten (verfügbar in STM32, LPC usw.) den Fehler von 1,36% auf unter 0,1% bei 115200 Baud reduzieren
Häufig gestellte Fragen
Shop Components
As an Amazon Associate we earn from qualifying purchases.
Verwandte Taschenrechner
Comms
I2C-Klimmzug
Berechnen Sie die I2C-Pullup-Widerstandswerte für die Modi Standard (100 kHz), Fast (400 kHz) und Fast-Plus (1 MHz). Leitet den minimalen, maximalen und empfohlenen Widerstand aus der Versorgungsspannung und der Buskapazität pro NXP UM10204 ab.
General
RC-Zeitkonstante
Berechnen Sie die RC-Schaltkreiszeitkonstante τ, die Ladezeit auf 63,2% und 99% und -3 dB Grenzfrequenz. Unverzichtbar für das Design von Filtern und Zeitschaltungen.
Comms
Taktjitter
Berechnen Sie das Timing-Budget des Taktbaums für FPGA- und SoC-Designs.
Comms
SPI-Timing
Berechnen Sie die SPI-Bus-Timing-Parameter, einschließlich Bitperiode, Frame-Zeit, maximale Taktfrequenz, begrenzt durch die Leiterbahnkapazität, und Signalanstiegsrate