Hallo,
bräuchte mal einen VHDL Text zur Ansteuerung eines LCD-Displays
auf den Spartan3E.Einfache Anwendung(z.b.Hello world)reicht völlig.
Hat vielleicht jemand Lust und Laune mir was zuzuposten?
Danke im voraus.
MFG
Christian
Eigentlich steht in der Anleitung (ug230.pdf) alles was man für die
Ansteuerung braucht.
Hier mal ein ziemlich minimales Beispiel das ich zum Herumprobieren mit
Statemachines verwendet habe. Auf dem Display sollte "Test" erscheinen.
Um den Reset musst du dich allerdings noch selber kümmern. Ich hoffe mal
das war jetzt nicht irgendeine Hausaufgabe.
Danke für die Hilfe.LCD-Display funktioniert.Das lcd.vhdl ist mir
auch soweit klar,weiss nur noch nicht warum nach dem reset
lcd_data mit 0x32,0x33 und 0x22 initialisiert worden ist.
0x06 für cmd entry mode,0x28 für cmd function set usw ist ja klar,aber
die ersten 3 commands sind in der ug230 und auch im datasheet für das
LCD nicht zu finden.
MFG
Christian
Die 0x33 solltest du als 2x 0x3F betrachten. Das Display wird so erstmal
aus einem beliebigen Zustand in den 8-Bit Modus umgeschaltet. Mittels
0x32 und 0x22 wird dann wieder der 4-Bit Modus aktiviert. Die 0x22
könnte man wohl weglassen.
Das ist im ug230 unter "Power-On Initialization" Seite 51 zu finden.
Hi Mike,
Ich habe dein Programm nachgeschaut, ich bien anfänger mit den Thema
LCD. kannst du mir bitte erklaren was in den Modul clock und reset
stehen? ein Beispiel wäre nett von dir, ich will nur probieren.
Mayer
Der Takt beträgt 50MHz. Laut ug230.pdf braucht einer der
Initalisierungsbefehle 4,1ms. Durch den Delay (0x3ffff) bekommt man eine
Verzögerung von ca. 5ms zwischen den Befehlen. Da alle Kommandos die
gleiche Verzögerung benutzen musste es halt dieser größte vorkommende
Wert sein. Du kannst den Code ja mal erweitern ;).
Nix xapp. Die Werte stehem im ug230.pdf (Seite 51). Das ist die
Anleitung für das Board ("Spartan-3E Starter Kit Board User Guide"). Es
gibt bei Xilinx auch einige Referenz Designs für das Board die das LCD
verwenden.
Hallo
Funktionier das Programm genau so wie es dort steht? weil bei meinem
Board funzt es nicht!! warum könnte es nicht gehen oder was fehlt da
noch?
lg
Die Referenzdesigns sind ein wenig langweilig, da die einfach eine MCU
auf dem FPGA implementieren (was wiederum cool ist), und damit das LCD
ansteuern. Lerneffekt in Sachen VHDL ca. 0, da der MCU-Code nur als
Netzliste beiliegt...
Meine Meinung :)
Torsten
@Bluehorn:
Du solltest dir nicht nur das eine Beispiel mit dem Microblaze
anschauen. Die anderen Referenzdesigns verwenden fast ausschliesslich
den Picoblaze und für den ist dann alles dabei.
Hallo,
ich versuche gerade mir das bsp. von Mike von
15.01.2008 in meine FPGA runter zu laden.
Jedoch tauchen da zwei Fehler auf die wie folgt aussehen:
ERROR:HDLParsers:709 - "D:/VHDLTutorial/LCD/test02.vhd" Line 64. clock
is not an entity name
ERROR:HDLParsers:709 - "D:/VHDLTutorial/LCD/test02.vhd" Line 71. reset
is not an entity name
Also es geht um die beiden schnittstellen: port map
inst_clock : entity clock
port map (
i_reset => i_reset,
i_clock => i_clock,
o_clock => clock
);
inst_reset : entity reset
port map (
i_reset => i_reset,
i_clock => clock,
o_reset => reset
Kann mir irgendjemand helfen?
Danke,
MfG,
Johannes
Hallo,
ich versuche gerade mir das bsp. von Mike von
15.01.2007 in meine FPGA runter zu laden.
Jedoch tauchen da zwei Fehler auf die wie folgt aussehen:
ERROR:HDLParsers:709 - "D:/VHDLTutorial/LCD/test02.vhd" Line 64. clock
is not an entity name
ERROR:HDLParsers:709 - "D:/VHDLTutorial/LCD/test02.vhd" Line 71. reset
is not an entity name
Also es geht um die beiden schnittstellen: port map
inst_clock : entity clock
port map (
i_reset => i_reset,
i_clock => i_clock,
o_clock => clock
);
inst_reset : entity reset
port map (
i_reset => i_reset,
i_clock => clock,
o_reset => reset
Kann mir irgendjemand helfen?
Danke,
MfG,
Johannes
@ Johannes (Gast)
>das lässt sich sythetisieren, aber auf dem Display erscheint nicht.
Willkommen in der realen Welt der Schaltungsentwicklung. ;-)
Statt Plug & Play gibts dort eher Plug & Curse . . .
MfG
Falk