SEm/labore/07 beamer

From FSI
Revision as of 10:01, 7 April 2016 by Oliver.gubler (Talk | contribs)
Jump to: navigation, search

Contents

Kurvenzeichnungsperipheriebaustein für AMBA-Bus

Einleitung

In diesem Labor nehmen wir die Schaltung für die Interpolationsberechnung und schliessen sie an den AMBA-Bus an.

Die benutzte Schaltung zeigt eine generische Bus-Schnittstelle die sich leicht auf andere Bus-Systeme, wie z.B. hier der AMBA-Lite-Bus, anpassen lässt. Die Schaltung kann einfach an einen anderen parallelen oder sogar seriellen Bus angepasst werden.

Entwicklung

Das Peripheriegerät erzeugt zwei ∑∆-modulierte Ausgänge mit welchen eine Kurve auf einem Oszilloskop angezeigt werden kann.

Register

Auf folgende Register schreibt der Prozessor:

Adresse 00: Kontrollregister
Bit 0: run, bestimmt ob die Kurve gezeichnet wird oder ob das System angehalten ist
Bit 1: updatePattern, bestimmt ob neue Punkte in den Speicher geschrieben werden oder ob dir Kurve gezeichnet wird
Bit 2: interpolateLinear, bestimmt ob die Linie zwischen zwei aufeinanderfolgenden Punkten eine Gerade oder ein Spline ist
höchstwertigste Bits: patternLength, Anzahl an Punkten in der zu zeichnenden Kurve
Adresse 01: Geschwindigkeitsregister, Periode zwischen zwei Berechnungen der Punkte auf der Kurve
Adresse 02: Punkteregister der X-Achse
Adresse 03: Punkteregister der Y-Achse

Die folgenden Register werden vom Prozessor gelesen:

Adresse 00: Kontrollregister, lesen der zuvor geschriebenen Werte
Adresse 01: Geschwindigkeitsregister, lesen des zuvor geschriebenen Wertes

VHDL-Code

View-pim-tasks.png

Schreiben Sie den VHDL-Code des Kontroll- und des Geschwindigkeitsregisters des Peripheriebausteins ahbBeamer.

Steuerung der Speicher der zu zeichnenden Punkte

Les mémoires contenant la liste des points à dessiner font usage de blocs spécifiques de mémoire à l'intérieur du circuit programmable. Le contrôle des mémoires comporte 2 modes distincts:

  • en mode updatePattern, chaque nouvel accès en écriture au registre concerné déclenche une écriture dans la mémoire et une incrémentation du compteur d'adresse
  • en mode de dessin de courbes, chaque nouvelle demande d'un point par le signal newPolynom provoque l'incrémentation du compteur d'adresse

Au moment du passage à '1' du signal updatePattern, le compteur d'adresse est remis à zéro.

En mode de dessin de courbes, le compteur d'adresse est remis à zéro lorsque le compteur atteint la valeur patternLength-1. Ceci n'est pas le cas en mode updatePattern.

Code VHDL

View-pim-tasks.png

Ecrivez le code VHDL des des blocs de contrôle des mémoires des points des courbes en X et en Y du périphérique ahbBeamer.

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 ahbBeamer.


Navigation
Arrow left.gif 06 UART-Peripheriebaustein Arrow up.gif Anleitung auf Deutsch 08 Realisierung eines AMBA-SoCs Arrow right.gif

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox