LC-Display ansteuern in VHDL

Gast #417977
Lesenswert?
• ▲
▼
Hallo,
ich habe hier das ALTERA CycloneII Development Board.
Mit dem Board wurde auch ein LCD geliefert: SC1602D

Ich versuche nun schon länger, dieses ordentlich anzusteuern. Bislag
ohne nennenswerten Erfolg.

Weiß jemand wie das funktioniert?

Altera bietet leider kaum Hilfestellung oder ich habe sie immer noch
nicht entdecken können... ??

Gruß
Gast #417979
Lesenswert?
• ▲
▼
Datenblatt vom Display lesen.. Da wird genau beschreiben, wie man es
ansteuert. Welche Befehle in welcher Reihenfolge kommen müssen und wie
man dann die Daten in das Display bekommt, wie es initialisiert wird
etc...

Dann musst halt das ganze mittels FSM nachbilden (Datenleitungen, R/W,
mit allen zeitlichen Zusammenhängen) und könntest so z.B. ASCII-Zeichen
aus einem RAM auf dem Display darstellen.
ist insgesamt sicher nicht schwer, aberr aufwändig. An deiner Stelle
würd ich echt in Erwägung ziehen, das über nen Mini-NIOS in Software zu
lösen.
Gast #417980
Lesenswert?
• ▲
▼
hi, danke für die Hinweise. Im Datenblatt konnte ich bislang nur die
Pinbelegung und die technischen Daten finden. Eine "Anleitung" konnte
ich noch nicht ganz finden.

Was ist denn ein Mini-NIOS?
Gast #417982
Lesenswert?
• ▲
▼
Hi,

also für das Xilinx Spartan3e Starterkit gibt es ein fertiges Modul für
das edk auf der Website. Natürlich nutzt dir das so als Modul wenig, da
du ja Altera benutzt. Alledings ist der eigentliche LCD Code in VHDL
geschrieben und liegt dem zip bei. Da könntst Du Dir sicherlich einiges
abschauen.

Man kann das Beispiel hier herunterladen (Connect LCD to MicroBlaze
Using an OPB Customer Peripheral):
http://www.xilinx.com/products/boards/s3estarter/reference_designs.htm

Wenn Du das Zip entpackst, dann findest Du dort ein Unterverzeichnigs
pcores/hdl/vhdl
Dort liegt der VHDL Code.

Das Display am Starterkit wird übrigens mit 4Bit Datenbreite
angesprochen.

Gruß,
Thomas
Gast #417983
Lesenswert?
• ▲
▼
Hallo Micha,
versuchs mal hiermit, ich hoffe das passt auf dein Display. Habe ich
gerade bei einem kurzen Ausflug in Google gefunden. Zumindest passt die
Bezeichnung:

http://rasteq.com/pdf/sc1602b.pdf#search=%22SC1602D%20timing%22

Dort ist eigentlich sehr genau beschrieben, wie das Display anzusteuern
ist. Scheinbar gitb es einen ganzen Befehlssatz. Zuerst muss das Display
 jedoch initialisiert werden, wie auf Seite 14 beschrieben. Ich denke
damit wärst du fürs erste beschäftigt :)

In diesem Sinne. Gutes gelingen.
Gruß, Jan
Gast #417985
Lesenswert?
• ▲
▼
Mit nem Mini-NIOS meinte ich einfach einen NIOS in
Minimalkonfiguration.
Der NIOS ist ein speziell für Altera-FPGAs entwickelter uC-Core.
Das Datenblatt für das Display hast ja jetzt von Jan bekommen und somit
kannste loslegen ;-)
Ich würd es aber nach wie vor so machen, dass ich das Ding über nen
Mikrocontroller ansteuern würde.
Gast #417987
Lesenswert?
• ▲
▼
@T.M.
Kommt drauf an, was du damit machen willst...
Wenn du natürlich nur das Timing machen willst, dann geb ich dir recht,
aber wenn du die komplette Initialisierung etc machen willst, dann
reicht dir eine einfache Statemachine nicht mehr aus. Du hast
unterschiedliche Zeiten, musst dir eine Component schreiben, die die
Daten aus dem Ram holt, die dargestellt werden sollen etc...
Also wenn du z.B. sich ändernde Messwerte auf dem Display darstellen
willst udn das rein in VHDL realisieren willst, dann hast schon ein
bisschen was zu tun...
Gast #417988
Lesenswert?
• ▲
▼
Ja das mit den Messwerten seh ich ein.

Es kommt halt drauf an, was man machen will. Ich hatte das mal für nen
kleines Projekt entwickelt, wo ich von einem im FPGA befindlichen
Miniprozessor die Daten auf dem Display darstellen wollte. Ich hab das
dann mit 3 FSM realisiert: Initialisierung, Zeichen schreiben & Zeile
wechseln. Ging eigentlich ganz gut.

Ich hab nur ein "Problem" damit, dass jedesmal nach einem uC-Core
gerufen wird. Da verliert man ja gerade die ganzen Vorteile eines FPGA
in Sachen Parallelität wieder.


T.M.
Gast #417989
Lesenswert?
• ▲
▼
"Ich hab nur ein "Problem" damit, dass jedesmal nach einem uC-Core
gerufen wird. Da verliert man ja gerade die ganzen Vorteile eines FPGA
in Sachen Parallelität wieder."

Einen uC braucht man dafür wirklich nicht. Ich würde das RAM im Altera
als dp-Ram abbilden (Register) und hinten ein fsm dranhängen, die das
lolevel-Timing bewerkstelligt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren