www.mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL entity LCD


Autor: Student (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

bin blutiger Anfänger auf dem Gebiet VHDL.
Nun bin ich seit ein paar Tagen im Besitz eines Spartan 3AN Eval Boards.

Zunächst habe ich damit angefangen Taster einzulesen und LEDs mit 
verschiedenen Frequenzen toggeln zu lassen.
Nun würde ich als nächten Schritt gerne das LC Display in Betrieb 
nehmen.
Dafür würde ich mir gerne ein VHDL Modul schreiben welches ich immer 
wieder benutzen kann.

Aber wie sollte ich in diesem Falle meine entity beschreiben?
Ich könnte diese ja im Prinzip genau so aufbauen wie das LCD.
Also 8 oder 4 Datenbits und 3 Steuerleitungen. Aber diese Schnittstelle 
wäre ja nicht wirklich komfortabel, da ich jedes mal die ganze 
Initialisierung und Timings neu machen müsste wenn ich das VHDL Modul 
einsetze.

Mein Gedanke wäre:
- 8 Bits Daten
- 4 Bits Spalte
- 1 Bits Zeile
- 1 Bit Enable

Man legt nun das entsprechende Character an den 8 Datenbits an, stellt 
die Zeile und Spalte ein, toggelt einmal enable und das Zeichen 
erscheint an der entsprechenden Stelle am LCD.
Vielleicht noch ein paar Bits für verschiedene Modi spendieren.

Ist mein Gedanke praktikabel ... wie macht man sowas in der Regel?

Gruß

Autor: mac4ever (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Gedanke ist prinzipiell nicht verkehrt. Nach dem Einschalten müsste 
das Modul die Initialisierung übernehmen. Am besten in einer 
Statemachine. Nachdem das erledigt ist, könntest du den von dir 
vorgeschlagenen Weg gehen.

Ein anderer Weg wäre die Nutzung eines Softcores für die Initialisierung 
und Steuerung. Der PicoBlaze eignet sich hierfür sehr gut.

Schau dir mal das Referenzdesign an ... gibt sicher auch eins für den 
3AN
http://www.xilinx.com/products/boards/s3estarter/r...

Hier dann ein Beitrag mit dem ASM-Code für den PicoBlaze
Beitrag "LCD PicoBlaze Spartan3"

Autor: Anguel S. (anguel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Student schrieb:
> Mein Gedanke wäre:
> - 8 Bits Daten
> - 4 Bits Spalte
> - 1 Bits Zeile
> - 1 Bit Enable
Eine sehr ähnliche Lösung habe ich dort mal gepostet:
Beitrag "Re: EA DOG-M initialisieren"

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.