UART/RS323

De knowledge
Aller à la navigation Aller à la recherche

Présentation

Le protocole RS232 et le protocole UART souvent utilisés comme synonymes ne le sont pas.

  • RS232 corresponds au protocole physique
  • UART est la partie logique de RS232

UART

Uart est un protocole gérant la communication "série" sur un seul fil (une seule voie) sans horloge physique en synchronisant sur des bits supplémentaires indiquant le début et la fin (asynchrone).

  • On envoie les données caractère par caractère
  • Un caractère peut contenir de 5 à 8 bits
  • Un dernier bit de "parité" peut être utilisé. Pour une parité "paire" par exemple le nombre de bits transmis + bit de parité doit être pair. (inverse pour la parité "impaire"
    Trame UART
    On définie une vitesse en nombre de changement de bits par secondes Un bit de start toujours à Zéro (Low)
  • Un bit de stop toujours à Un (High). Sur des transmissions classiques le bit de stop à la même longueur que les autres (dans certains cas exotiques le bit de stop peut avoir le durée de 2 bits voire de 1,5 bits)
  • Sur le chronogramme de droite D0..Dn corresponds aux 5 à 8 bits de caractère transmis.

RS323

UART-RS232.png

C'est une implémentation physique du protocole UART.

  • le Zéro est codé par une tension... positive (entre +3 et +15)
  • Le Un est codé par une tension négative (entre -3 et -15

Le norme définit aussi une connectique spécifique basée historiquement sur un connecteur DB25 (norme V24). Cependant, depuis bien des années l'usage veut que l'on utilise plus volontiers des connecteurs DB9.

DB9-RS232.png

Attention ce schéma montre le connecteur DTE.

Attention on peut connecrer entre eux:

  1. Un équipement DTE "Data terminal equipment" (un ordinateur par exemple) et un équipement DCE "Data Circuit Terminating" (un modem).
  2. Deux DTE entre eux.

Dans le premier cas un "câble droit" suffira car le DCE recoit le signal RX sur RX et ainsi de suite pour les autres canaux d'échanges.

Dans le second cas il nous faudra un câble croisée:

NULL Modem.png


Dans la plupart des cas on utilisera seulement 3 fils. RX/TX et GND.

Adaptateurs RS232/UART vers TTL

La majorité des microcontrôleurs (Arduino, ESP32.... ) le protocole est implémenté en logique 0-5V ou 0-3.3V.

Le 0 corresponds à 3.3 ou 5V

Le 1 à 0V