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
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
| Symbole | Signification | Unité |
|---|---|---|
ba | Débit en bauds souhaité | baud |
db | Bits de données | bit |
pa | Parité | — |
sb | Bits d'arrêt | — |
nby | Longueur du message | B |
fo | Horloge du microcontrôleur | MHz |
ER | Erreur de débit avec le meilleur diviseur | % |
UB | Diviseur à charger (UBRR sur AVR) | — |
AB | Débit réellement obtenu | baud |
E2 | Erreur en mode double vitesse (U2X) | % |
FR | Bits sur le fil par octet | bit |
EF | Part de la ligne qui transporte des données | % |
DR | Débit de données | B/s |
TM | Temps pour envoyer le message | ms |
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.