SEm/labore/06 apb

From FSI
Revision as of 15:15, 11 June 2013 by Guo (Talk | contribs)
Jump to: navigation, search

Contents

APB Komponent

Einleitung

Dieses Dabor zeigt die Erstellung eines APB Komponentes, basierend auf die GRLib.

Das Komponent wird gebraucht, um Taster zu lesen und LEDs zu steuern.

Analyse des APB Busses

Schaltung

Die Analyse des APB-Busses basiert auf folgender Schaltung.

Figure 1. Schaltung zur Analyse des APB Busses

File:AmbaDesign.png
Das System wird durch die serielle Schnittstelle ahbuart gesteuert, welches ein Master des AMBA Busses ist. Damit kann die andere serielle Schnittstelle, apbuart, zugegriffen werden.

Initializierung des Masters AHBUART

Initializeren Sie die Schaltung, indem Sie das Character 55 h aud der RS232 Linie senden. Der ahbuart nützt es, um das Baudrate der seriellen Schnittstelle herauszufinden.

Initializierung des Komponenten APBUART

Initializieren Sie den Steuer- und den Baudrate-Register bei Adressen 8000.0208 h und 8000.020C h. Dies wird mit Hilfe von der Sequenz C1 80000208 80001003 00000008 dirchgeführt.

In der Simulation, folgen Sie die Änderungen der Register r.rxen und r.brate des Komponenten apbuart.

Übertragung mit Hilfe des Komponenten APBUART

Starten Sie das Senden eines Charakters auf der seriellen Schnittstelle, indem Sie dessen ASCII-Code zu Adresse 8000.0200 h Schreiben.

In der Simulation, stellen Sie die Ermittlung des Charakters auf der seriellen Linie fest und folgen Sie die Änderungen der Register r.tcnt und r.thold des Komponenten apbuart.

Lesen des Status auf dem Komponenten APBUART

Lesen Sie das Statusregister des Komponenten, indem sie ein Wort bei Adresse 8000.0204 h lesen. Dies wird mit Hilfe von der Sequenz 80 80000204 durchgeführt.

In der Simulation, analysieren Sie den zurückgelesenen Wert.

Senden Sie einige Charakter auf der Linie rxd1, d.h. auf dem seriellen Eingang des Komponenten apbuart.

In der Simulation, folgen Sie die Änderungen der Register r.rcnt und r.rhold des Komponenten apbuart.

Lesen Sie erneut das Statusregister des Komponenten und erklären Sie den Unterschied mit dem erten Leseergebnis

Signale des APB Busses

In der Simulation, folgen Sie das Datentransfer auf dem APB Bus.

Machen Sie die Liste der Signale in den Typen apbi und apbo.

Zeichen Sie ein Lese- und ein Schreibe-Zyklus eines APB Komponentes.

Index und Adressen

Untersuchen Sie das VHDL-Code des Komponenten apbuart und finden Sie die Übereinstimmungen von pconfig. Bestimmen Sie, wozu dieses dient.

Untersuchen Sie das VHDL-Code des Komponenten apbuart und finden Sie die Übereinstimmungen von pindex. Erklären Sie, wie das Komponent der AHB/APB Brücke sein Index übermittelt.

Das Komponent report_version erlaubt es, ein Message am Anfang der Simulation anzuzeigen. Die Pragmas translate_off und translate_on ziehen diesen Teil des Codes dem Synthese-Tool ab.

Erstellung des APB Komponenten

Das zu erstellende Komponent wird dazu dienen, auf der Testplatte Schalter zu lesen und LEDs zu steuern..

Registerplan

Das Komponent hat 2 Register:

  • Das Register mit dem Zustand der Schalter bei Adresse 0x0
  • Das Register mit dem Steuerwert der LEDs bei Adresse 0x4

Die LSBs von jedem Register geben den Zustand oder den Steuerwert der jeweiligen Ein- und Ausgängen (Schalter oder LEDs).

Schaltung

Erstellen Sie im Block gr_beamer ein neues Komponent, welches am APB Bus angeschlossen ist. Dieses Komponent hat folgende generische parameter:

  • pindex: sein Index auf dem APB Bus,
  • paddr und pmask: die Parameter, welche bestimmen, bei welchen Adressen auf dem Bus das Komponent gelegt ist,
  • buttonnb: die Anzahl Schalter, welche dem Komponenten angeschlossen sind,
  • lednb: die Anzahl LEDs, welche dem Komponenten angeschlossen sind.

Bringen Sie die Schalter-Eingänge und die LED-Ausgänge an die Ports des gr_beamer Blocks.

Schreiben Sie das VHDL-Code des neuen APB Komponenten.

Im Block beamer, ziehen Sie die neuen Ein- und Ausgängen des Komponenten gr_beamer auf den Ports dieses Blocks.

Simulation

Führen Sie eine Simulation des Systems durch, um die Funktionalität des neuen APB Komponenten sicherzustellen.


Navigation
Arrow left.gif 05 AMBA-Bus basiertes System Arrow up.gif Anleitung auf Deutsch 07 Oszillo Peripheriebaustein Arrow right.gif

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox