Essayer CircuitLens

Fiches de référence

Débit et trame UART

Aide-mémoire débit et trame UART

L'UART (récepteur-émetteur asynchrone universel) n'a pas de fil d'horloge partagé, les deux extrémités doivent donc convenir à l'avance de la vitesse d'arrivée des bits et de la façon dont chaque octet est empaqueté. Le débit en bauds n'est qu'un des réglages que les deux côtés doivent faire correspondre, pas tout. Avec le bon débit mais la mauvaise trame, le résultat n'est généralement pas un échec franc — c'est un flot de caractères illisibles, car le récepteur finit par échantillonner la ligne aux mauvais moments.

Une trame UART part d'une ligne au repos maintenue à l'état haut, puis un bit de start la tire à l'état bas pendant une durée de bit pour marquer le début d'un octet et permettre au récepteur de s'y synchroniser. Viennent ensuite les bits de données — généralement 8, bien que certains appareils en utilisent de 5 à 9 — envoyés bit de poids faible en premier. Un bit de parité facultatif (aucune, paire ou impaire) peut suivre pour une détection d'erreur basique, puis un ou parfois deux bits de stop (1,5 bit de stop existe sur certains anciens matériels) ramènent la ligne au repos à l'état haut pour marquer la fin de la trame.

Les deux extrémités doivent s'accorder sur les quatre réglages à la fois — débit en bauds, nombre de bits de données, parité et nombre de bits de stop — c'est pourquoi on les écrit généralement en abrégé comme '8N1' (8 bits de données, sans parité, 1 bit de stop), de loin la configuration la plus courante aujourd'hui. Si un seul de ces réglages est faux, même avec le bon débit, vous verrez des octets illisibles ou des erreurs de trame au lieu d'une liaison fonctionnelle.

Pour sonder une carte inconnue, 8N1 est presque toujours une hypothèse de trame sûre — la vraie inconnue est généralement le débit. Essayez d'abord 115200 et 9600, qui couvrent la plupart des appareils, et si un journal de démarrage d'ESP8266 paraît illisible à 115200, essayez 74880 avant de conclure que le port est mort. La détection automatique du débit ou le décodeur de protocole d'un analyseur logique (ou la mesure de l'impulsion la plus courte du flux à l'oscilloscope) identifie vite un débit inconnu. La règle souvent citée « doit correspondre à ~2-3 % près » pour les écarts de débit est une indication approximative, pas une spécification stricte — l'erreur réellement tolérable dépend du suréchantillonnage de l'UART concerné et du nombre de bits de chaque trame ; prenez-la comme un ordre de grandeur plutôt qu'un seuil de conception.

Autres fiches