Paritian

Électricité

Calculatrice de Débit en Bauds d'un UART (Erreur, Diviseur et Temps de Transfert)

Le diviseur à charger pour un débit en bauds, l'erreur qu'il laisse avec votre horloge (en mode normal et double vitesse), les bits d'une trame, le débit réel de données et le temps d'envoi d'un message.

Résultats

Erreur de débit avec le meilleur diviseur 0,16 %
Diviseur à charger (UBRR sur AVR) 103
Débit réellement obtenu 9615,4 baud
Erreur en mode double vitesse (U2X) 0,16 %
Bits sur le fil par octet 10 bit
Part de la ligne qui transporte des données 80,0 %
Débit de données 960,0 B/s
Temps pour envoyer le message 104,17 ms
Comment cela varie
Erreur de débit avec le meilleur diviseurDébit en bauds souhaité 1200 – 115 200. Erreur de débit avec le meilleur diviseur: 0,040016 → -3,54938Erreur de débit avec le meilleur diviseur-6-4-2024620 00040 00060 00080 000100 000Débit en bauds souhaité (baud)

La ligne en pointillé marque la valeur que vous avez saisie.

Ce que fait cet outil

Un UART obtient son débit en divisant l'horloge du microcontrôleur, ce qui explique que toutes les vitesses ne soient pas exactes : sur un AVR, UBRR = f_osc ÷ (16 × bauds) − 1 doit être entier, si bien que 9600 bauds avec une horloge de 16 MHz font en réalité 9615 bauds, soit 0,16 % de trop. Deux extrémités dialoguent si l'erreur cumulée reste de quelques pour cent, et une règle pratique est de garder chacune sous 2 % environ. Chaque octet coûte aussi plus que 8 temps de bit : les bits de départ et d'arrêt et le bit de parité optionnel font 10 bits au format 8N1 courant, et 9600 bauds transportent 960 octets par seconde, pas 1200.

Formule

UBRR = f_osc ÷ (16 × bauds) − 1 (le meilleur des deux entiers les plus proches) · erreur = réel ÷ souhaité − 1 · trame = 1 + données + parité + arrêt · temps = octets × trame ÷ bauds

Variables

SymboleSignificationUnité
baDébit en bauds souhaitébaud
dbBits de donnéesbit
paParité—
sbBits d'arrêt—
nbyLongueur du messageB
foHorloge du microcontrôleurMHz
ERErreur de débit avec le meilleur diviseur%
UBDiviseur à charger (UBRR sur AVR)—
ABDébit réellement obtenubaud
E2Erreur en mode double vitesse (U2X)%
FRBits sur le fil par octetbit
EFPart de la ligne qui transporte des données%
DRDébit de donnéesB/s
TMTemps pour envoyer le messagems

Exemple résolu

  • Débit en bauds souhaité9600 baud
  • Bits de données8 bit
  • Parité0
  • Bits d'arrêt1
  • Longueur du message100 B
  • Horloge du microcontrôleur16 MHz
  • Erreur de débit avec le meilleur diviseur0,16 %
  • Diviseur à charger (UBRR sur AVR)103
  • Débit réellement obtenu9615,4 baud
  • Erreur en mode double vitesse (U2X)0,16 %
  • Bits sur le fil par octet10 bit
  • Part de la ligne qui transporte des données80,0 %
  • Débit de données960,0 B/s
  • Temps pour envoyer le message104,17 ms

Limites

  • Les rendements et consommations varient d'un produit à l'autre. Prenez les valeurs sur la fiche technique du produit réellement utilisé.
  • Le résultat est une estimation fondée uniquement sur les valeurs saisies. Les situations réelles comportent souvent des facteurs que cette calculatrice ignore.