SEm/labore/06 uart
|
UART-Peripheriebaustein für AMBA-Bus
Einleitung
In diesem Labor werden wir einen Peripheriebaustein entwickeln, der in den Prozessorsystemen weit verbreitet ist: eine serielle Schnittstelle (Universal Asynchronous Receiver/Transmitter, UART).
In dieses Labor wird die Entwicklung einer digitalen Schaltung geübt und verlangt dadurch auch eine Reflexion über die Architektur des Systems.
Entwicklung
Der Peripheriebaustein stellt dem Prozessor zwei serielle Leitung zur Verfügung: eine für den Empfang und eine für die Übertragung.
Die empfangenen Datenbits sollten möglichst in deren Mitte gelesen werden. Der Zähler, welcher diesen Moment des Lesens bestimmt, sollte also wenigstens mit dem Auftreten des start bit
synchronisiert werden.
Unabhängig dazu behält der Zähler, welcher die Übertragung steuert, immer die gleiche Periode.
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
Vérification
Navigation
05 GPIO-Peripheriebaustein
Anleitung auf Deutsch
07 Kurvenzeichnungsperipheriebaustein