Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/07253.jsonl.gz/315

SEm/laboratoires/06 uart

Périphérique UART
Introduction
Dans ce laboratoire, nous allons réaliser un périphérique très commun dans tous les systèmes à processeur: un port série (Universal Asynchronous Receiver/Transmitter, UART).
Ce laboratoire exerce la conception d'un circuit et demande une réflexion sur l'architecture du système.
Conception
Le périphérique met à disposition du processeur deux lignes série: une en émission et une en réception.
La lecture des bits du mot série entrant doit se faire au plus près du milieu de ceux-ci.
Le compteur qui détermine le moment de cette lecture doit donc être synchronisé au moins avec l'apparition du
start bit.
Par contre, le compteur qui pilote l'émission d'un mot série conserve une période fixe, indépendante du circuit de réception.
Registres
Les registres accédés en écriture par le microprocesseur sont:
- adresse 00: registre de donnée, contient dans les 8 bits de poids faible la valeur qui va être transmise sur la ligne RS 232
- adresse 01: registre de contrôle, pas utilisé pour le moment
- adresse 02: registre de période, donne la vitesse de transmission, tant en émission qu'en réception
Le registre de période donne le nombre de périodes d'horloge correspondant à la transmission d'un bit.
Les registres accédés en lecture sont:
- adresse 00: registre des donnée, contient dans les 8 bits de poids faible la valeur reçue de la ligne RS 232
- adresse 01: registre de statut:
- bit 0: indique qu'un nouveau mot a été reçu et peut être lu par le microprocesseur
- bit 1: indique qu'un mot est en cours de transmission et que le microprocesseur ne doit pas écrive de nouvelle valeur dans le registre de donnée
- bit 2: indique qu'un nouveau mot est en cours de réception
Code VHDL
Vérification