SEm/labore/06 uart

(Difference between revisions)
Jump to: navigation, search
(Registres)
(Code VHDL)
Line 30: Line 30:
 
:: Bit 2: zeigt an, dass ein neues Wort empfangen wird
 
:: Bit 2: zeigt an, dass ein neues Wort empfangen wird
  
=== Code VHDL ===
+
=== VHDL-Code ===
  
 
{{TaskBox|content=
 
{{TaskBox|content=
Dessinez le diagramme-bloc du périphérique AHB-Lite <code>ahbUart</code>.
+
Zeichnen sie das Blockschema des AHB-Lite-Peripheriegeräts <code>ahbUart</code>.
 
}}
 
}}
  
 
{{TaskBox|content=
 
{{TaskBox|content=
En se basant sur ce diagramme-bloc, écrivez le code VHDL du périphérique <code>ahbUart</code>.
+
Basierend auf dem Blockschema, schreiben Sie den VHDL-Code für das Peripheriegerät <code>ahbUart</code>.
 
}}
 
}}
  

Revision as of 09:36, 7 April 2016

Contents

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, dieser Wert wird 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 folgenden Register werden vom Prozessor gelesen

Adresse 00: Datenregister, enthält 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

View-pim-tasks.png

Zeichnen sie das Blockschema des AHB-Lite-Peripheriegeräts ahbUart.


View-pim-tasks.png

Basierend auf dem Blockschema, schreiben Sie den VHDL-Code für das Peripheriegerät ahbUart.

Vérification

View-pim-tasks.png

A l'aide du banc de test à disposition, simulez le système et vérifiez le bon fonctionnement du périphérique ahbUart.


Navigation
Arrow left.gif 05 GPIO-Peripheriebaustein Arrow up.gif Anleitung auf Deutsch 07 Kurvenzeichnungsperipheriebaustein Arrow right.gif

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox