SEm/labore/10 fsm

From FSI
Jump to: navigation, search

Contents

Zustandsmaschinen

Dieses Labor soll die Kodierung von Zustandsautomaten in VHDL zeigen. Es basiert auf dem Beispiel eines Morse-codiers.

System

Das zur Verfügung gestellte System empfängt serielle Wörter und codiert sie im Morsecode. Es umfasst

  • einen seriellen Empfänger, der einen parallelen ASCII-Code und einen Aktivierungsbefehl liefert
  • einen Register zum Speichern des Zeichens
  • eine Zustandsmaschine zur Erstellung von Morsezeichen
  • einen Zähler zur Angabe der Dauer eines Morsepunktes

Die Dauer des Strichs ist 3 mal so lang wie die des Punkts. Der Abstand zwischen Punkten und Strichen desselben Morsecodesymbols ist gleich der Dauer des Punktes. Der Abstand zwischen zwei Zeichen desselben Wortes beträgt das 3-fache der Dauer des Punktes. Der Abstand zwischen 2 Wörtern beträgt das 7-fache der Dauer des Punktes.

Zustandsmaschine

Eine grafische Architektur ist bereitgestellt. Sie kodiert nur die kürzesten 6 Buchstaben im Morsecode.

View-pim-tasks.png

Untersuchen Sie die zur Verfügung gestellte Zustandsmaschine sowie den entsprechenden, vom EDA-Tool generierten VHDL-Code.

Die Zeichnung der Zustandsmaschine, die alle Buchstaben codiert, wird unlesbar sein. Es ist daher vorteilhafter, die Zustandsmaschine direkt in VHDL zu schreiben.

View-pim-tasks.png

Schreiben Sie die Architektur der Zustandsmaschine so, dass sie alle Zeichen des grundlegenden Morsecodes kodiert.

Tests auf Platte

Die Morse-Karte enthält einen Piezo, der Morsecode in Audioform übertragen kann.

View-pim-tasks.png

Simulieren Sie den Morsecode-Sender.

Laden Sie die entsprechende Schaltung auf die Testplatte.

Der Sender kann von einem PC aus gesteuert werden, indem ein Terminal mit einer seriellen Schnittstelle verwendet wird. Die Baudrate beträgt 9600 Baud und die Zeichen werden auf 7 Bits kodiert.


Navigation
Arrow left.gif 04 Automatische Synthese Arrow up.gif Anleitung auf Deutsch 07 GPIO-Peripheriebaustein Arrow right.gif

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox