SEm/labore/06 uart
(→Register) |
(→Register) |
||
Line 22: | Line 22: | ||
: Adresse 01: Kontrollregister, im Moment noch unbenuzt | : Adresse 01: Kontrollregister, im Moment noch unbenuzt | ||
: Adresse 02: Bitperiode, gibt die Übertragungsgeschwindigkeit für das Senden sowie das Empfangen | : Adresse 02: Bitperiode, gibt die Übertragungsgeschwindigkeit für das Senden sowie das Empfangen | ||
+ | Die Bitperiode gibt die Anzahl Clock-Perioden an, welche der Übertragung eines Bits entsprechen. | ||
Die folgenden Register werden vom Prozessor gelesen: | Die folgenden Register werden vom Prozessor gelesen: |
Latest revision as of 10:51, 27 March 2017
|
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.
Register
Auf folgende Register schreibt der Prozessor:
- Adresse 00: Datenregister, die 8 LSBs dieses Registers werden auf der RS232-Linie übertragen
- Adresse 01: Kontrollregister, im Moment noch unbenuzt
- Adresse 02: Bitperiode, gibt die Übertragungsgeschwindigkeit für das Senden sowie das Empfangen
Die Bitperiode gibt die Anzahl Clock-Perioden an, welche der Übertragung eines Bits entsprechen.
Die folgenden Register werden vom Prozessor gelesen:
- Adresse 00: Datenregister, enthält in den 8 LSBs den zuletzt auf der RS232-Linie empfangenen Wert
- Adresse 01: Statusregister
- Bit 0: zeigt an, dass ein neues Wort empfangen wurde und vom Prozessor gelesen werden kann
- Bit 1: zeigt an, dass ein Wort gesendet wird und dass der Prozessor keinen neuen Wert ins Datenregister schreiben soll
- Bit 2: zeigt an, dass ein neues Wort empfangen wird
VHDL-Code
Verifikation
Navigation
05 GPIO-Peripheriebaustein
Anleitung auf Deutsch
07 Kurvenzeichnungsperipheriebaustein