Vous êtes sur la page 1sur 3

UART :

UART est un circuit physique qui convertit les données parallèles en données série. Dans la
communication UART, deux UARTS communiquent directement entre eux. L’émetteur UART
convertit les données d’un dispositif de contrôle comme un CPU en forme série, le transite en série
vers l’UART récepteur, qui convertit ensuite les données série en données parallèles pour le dispositif
récepteur.

Fonctionnement :
La communication UART de base ne nécessite que deux lignes de signaux (RXD, TXD) pour
compléter la communication de données en full duplex. TXD est le côté émetteur et RXD est le côté
récepteur. Dans l'UART, la vitesse de transmission des données (débit en bauds) et la phase de
l'horloge de l'émetteur et du récepteur doivent être synchronisées. Afin d’avoir une synchronisation
entre l'émetteur et le récepteur. Lorsque l'émetteur est au repos, la ligne de données est dans la
logique haute "1". Lorsque l'émetteur veut transmettre des données, l'UART sera d'abord réglé sur la
logique "0" pour un bit. Ce signal au niveau du récepteur sera reconnu comme un signal "Start" qui
est utilisé pour synchroniser la phase de l'horloge avec celle de l'émetteur, puis les données seront
envoyées en série du bit le plus bas "0" au bit le plus haut. Après la réception de tous les bits de
données, il peut vérifier les bits de parité (l'émetteur et le récepteur doivent s'entendre sur
l'utilisation d'un bit de parité), puis le récepteur recherche un bit d'arrêt. Si le bit d'arrêt n'apparaît
pas, l'UART signalera une erreur de cadrage au processeur hôte lors de la lecture des données.

Indépendamment du fait que les données aient été reçues correctement ou non, l'UART rejette
automatiquement les bits de départ, de parité et d'arrêt. Si l'émetteur et le récepteur sont configurés
de manière identique, ces bits ne sont pas transmis à l'hôte. Si une autre donnée est prête à être
transmis, le bit de départ pour le nouveau mot peut être envoyé dès que le bit d'arrêt pour la donnée
précédente a été envoyé. Et s'il n'y a pas de données à transmettre, la ligne de transmission est
inactivée.

Schéma
bloc simplifié de
l’UART :
IMPLEMENTATION DE L’UART
Le module de communication série UART est divisé en trois sous-modules :
Le générateur de débit en bauds, le module récepteur et le module émetteur, comme le
montre la figure. Par conséquent, la mise en œuvre du module de communication UART est
en fait la réalisation des trois sous-modules :
Le générateur de débit : en bauds est utilisé pour produire un signal d'horloge local qui est
beaucoup plus élevé que le débit en bauds pour contrôler la réception et la transmission de
l'UART.
Le module récepteur de l'UART  : est utilisé pour recevoir les signaux série à RXD, et les
convertir en données parallèles.
Le module émett eur de l'UART : convertit les octets en bits série selon le format de trame
de base et transmet ces bits par TXD.

A. Le générateur
de débit en
bauds  :
C’est un diviseur de fréquence. Le facteur de fréquence du débit en bauds peut être
calculé en fonction d'une fréquence d'horloge de l'oscillateur et du débit en bauds demandé.
Le facteur de fréquence de débit en bauds calculer est utilisé comme facteur diviseur. Dans
cette conception, l'horloge de fréquence produite par le générateur de débit en bauds n'est
pas l'horloge de débit en bauds, mais 16 fois l'horloge de débit en bauds. L’objectif de cette
opération est la précision de l’échantillonnage des données série asynchrones au niveau du
récepteur. Supposons que l'horloge du système soit de 32MHz, que la vitesse de
transmission soit de 9600bps, et que la fréquence de l'horloge de sortie du générateur de
vitesse de transmission soit de 16*9600Hz.
Par conséquent, le coefficient de fréquence (M) du générateur de débit en bauds est :
M =32MHz/16*9600Hz=208

Lorsque l'UART reçoit des données en série, il est très important de déterminer où
échantillonner les informations. Le moment idéal pour l'échantillonnage se situe au point
central de chaque bit de données en série. Dans cette conception, la fréquence de l'horloge
de réception est conçue pour être 16 fois le débit en bauds, donc, chaque largeur de
données reçue par l'UART est 16 fois le cycle de l'horloge de réception.

B. Module de réception  : fonctionnement + UART Receiver State Machine

Le récepteur teste l'état du signal entrant à chaque impulsion d'horloge, en recherchant le


début du bit de départ. Si le bit de départ apparent dure au moins la moitié du temps
binaire, il est valide et signale le début d'un nouveau caractère. Sinon, il est considéré
comme une impulsion parasite et est l’ignoré. Après avoir attendu un autre temps de bit,
l'état de la ligne est à nouveau échantillonné et le niveau résultant est cadencé dans un
registre à décalage. Une fois que le nombre de périodes de bits requis pour la longueur du
caractère ( 8 bits, en général) est écoulé, le contenu du registre à décalage est mis à la
disposition (en parallèle) du système récepteur. L'UART active un drapeau indiquant que de
nouvelles données sont disponibles, et peut également générer une interruption du
processeur pour demander au processeur hôte de transférer les données reçues.
C. Module d’émission  : fonctionnement + UART Transmitter State Machine

L'opération de transmission est plus simple car le moment de la transmission ne doit pas être
déterminé à partir de l'état de la ligne, et n'est pas non plus lié à des intervalles de temps fixes. Dès
que le système émetteur dépose un caractère dans le registre de décalage (après l'achèvement du
caractère précédent), l'UART génère un bit de départ, décale le nombre requis de bits de données
vers la ligne, génère et envoie le bit de parité (si utilisé), et envoie les bits d'arrêt.

Vous aimerez peut-être aussi