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 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
Les registres accédés en lecture sont:
- adresse 00: registre des donnée, contient la valeur reçue sur 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