# UART

Un UART, pour Universal Asynchronous Receiver Transmitter, est un émetteur-récepteur asynchrone universel. Il a aussi été parfois désigné sous le nom de ACIA, pour Asynchronous Communication Interface Adapter (ce nom étant à présent tombé en désuétude).
En langage courant, c'est le composant utilisé pour faire la liaison entre l'ordinateur et le port série. L'ordinateur envoie les données en parallèle (autant de fils que de bits de données). Il faut donc transformer ces données pour les faire passer à travers une liaison série qui utilise un seul fil pour faire passer tous les bits de données.
Un DUART (Dual Universal Asynchronous Receiver Transmitter) combine deux UART dans une seule puce. Un USART (Universal Synchronous/Asynchronous Receiver Transmitter) peut communiquer de façon synchrone.
Aujourd'hui, les UART sont généralement intégrés dans des composants comme des microcontrôleurs. Ils ne sont dans ce cas plus un composant à proprement parler, mais une fonction périphérique du composant.

## Constitution d'une trame UART

Une trame UART est constituée des bits suivants :
* un bit de start toujours à 0 : servant à la synchronisation du récepteur
* Données : la taille des données est comprise entre 5 et 9 bits. Bits envoyés du LSB (bit de poids faible) au MSB (bit de poids fort).
* Parité : Paire ou Impaire (optionnel)
* Fin : Un bit de stop, toujours à 1. La durée de celui-ci varie entre 1, 1.5 et 2 (A l'utilisateur de choisir).
Le niveau logique de repos est le 1.

## Niveaux de tension

Les niveaux de tension sont de type TTL soit 0 V pour le niveau logique bas et +5V pour le niveau logique haut.

## Vitesse de transmission

Afin de faciliter l'interopérabilité entre périphériques (PC, microcontrôleur, modem…) des vitesses de transmission sont normalisées par multiples et sous-multiples de 9600 baud, l'unité baud correspondant à un symbole par seconde :
* 110 baud
* 220 baud
* 300 baud
* 1 200 baud
* 2 400 baud
* 4 800 baud
* 9 600 baud
* 19 200 baud
* 28 800 baud
* 38 400 baud
* 57 600 baud
* 115 200 baud
* 230 400 baud (selon la fréquence d'oscillation employée)
* 460 800 baud
* 921 600 baud (« environ 1 mégabaud »)
* 1 843 200 baud
* 3 686 400 baud

## Configuration

Pour pouvoir communiquer, les deux entités connectées doivent partager les mêmes paramètres de transmission.
Les paramètres sont parfois décrits sous forme condensée :
* « 4800 4P1 » (en anglais « 4800 4E1 ») : 4800 bauds, 4 bits de données, parité Paire (Even en anglais), 1 bit de stop.
* « 9600 7I2 » (en anglais « 9600 7O2 ») : 9600 bauds, 7 bits de données, parité Impaire (Odd en anglais), 2 bits de stop.
* « 115200 8N1 » : 115200 bauds, 8 bits de données, pas de parité (N), 1 bit de stop.

## USART

USART est une abréviation signifiant Universal Synchronous & Asynchronous Receiver Transmitter. C'est un composant électronique qui permet de mettre en série (sérialiser) les octets à transmettre par un modem. Cela signifie que les bits constituant l'octet sont transmis les uns après les autres grâce à deux fils (les bits résultent de la différence de potentiel entre le fil de données et le fil de la masse) et non simultanément sur 9 fils (8 fils de données et le fil de la masse). Beaucoup de circuits intégrés disposent désormais d'UART qui peuvent communiquer de manière synchrone ; de tels périphériques portent le nom d'USART.