Sections de la documentation
Calculateur de débit en bauds et de chronométrage UART
Slug uart-baud-rate. Calculez la synchronisation des trames UART, le débit et le diviseur de registre USART BRR à partir du débit en bauds, du format des données et de la fréquence d'horloge du microcontrôleur. Identifiez les erreurs de débit pour une communication série fiable.
Entrées
Envoyez chacune de ces entrées dans inputs, dans les unités indiquées. La plupart sont obligatoires : un appel auquel il en manque une est refusé (400) et ne coûte rien ; une entrée dont le calculateur peut se passer prend la valeur par défaut indiquée. Une entrée hors de sa plage est tout de même calculée et signalée dans la provenance.
| Nom | Unité | Plage | Valeur par défaut | Description |
|---|---|---|---|---|
| baudRatenombre | bps | 300 … 4000000 | 115200 | Débit en bauds série en bits par seconde |
| dataBitsnombre | bits | 5 … 9 | 8 | Nombre de bits de données par trame (généralement 8) |
| stopBitsnombre | bits | 1 … 2 | 1 | 1 bit d'arrêt est standard ; 2 peuvent être utilisés pour les récepteurs lents |
| paritynombre | bits | 0 … 2 | 0 | Bits de parité |
| clockFreqnombre | MHz | 1 … 1000 | 16 | Fréquence d'horloge du périphérique MCU (APB) utilisée pour le calcul du diviseur BRR |
| oversamplingnombre | aucune | 8 … 16 | 16 | Échantillons par bit : 16× est le mode habituel ; 8× (STM32 OVER8, AVR U2X) double le débit maximal au détriment de l'immunité au bruit |
| divisorFractionnombre | aucune | 0 … 1 | 0 | Un diviseur entier (AVR UBRR, le 16550) ou un diviseur avec une partie fractionnaire de 1/OS (STM32 USARTDIV), qui approche de bien plus près la plupart des débits |
| errorBudgetnombre | % | 0.1 … 10 | 2 | L'erreur de débit que la liaison tolère, ± pour les deux extrémités ensemble ; environ ±2 % avec un suréchantillonnage 16× et des trames 8N1 |
Sorties
Renvoyées dans values, par nom. Une valeur non bornée ou non définie vaut null.
| Champ | Unité | Description |
|---|---|---|
| frameBits | bits | Bits par trame |
| bitPeriod_us | µs | Durée d'un bit |
| framePeriod_us | µs | Durée d'une trame |
| framesPerSecond | fps | Trames par seconde |
| throughputKbps | kbps | Débit utile |
| brrDivisor | aucune | Diviseur BRR |
| actualBaudRate | bps | Débit en bauds réel |
| baudRateError_pctprincipale | % | Erreur de débit en bauds |
| divisorSet | aucune | Diviseur réglé |
| baudError_pct | % | Erreur de débit signée |
| stopSampleOffset_bits | bits | Décalage d'échantillonnage du bit d'arrêt |
Comment l'appeler
- Calculer : un appel, la requête et la réponse complètes, et ses erreurs.
- Calcul par lots : ce calculateur avec d'autres, ou un balayage, en une seule requête.
- Résoudre pour une valeur cible : la valeur d'une entrée qui amène une sortie à une cible.