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ß
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.
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?
Ist das ein Grafik-Display oder ein Text-Display? Reicht das interne RAM des FPGA aus, oder muß noch extern angebaut werden - falls es ein Grafikdisplay ist. NIOS ist soweit ich weiß ein Mikroprozessor der in FPGAs untergebracht wird.
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
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
Ach ja, ich sollte vielleicht noch erwähnen, dass Dein Display (genau wie das auf dem Starterkit) beide HD44780 kompatibel sind. Daher sollte der VHDL Code von Xilinx bei Dir auch funktionieren. Gruß, Thomas
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.
Ne einfache Statemachine reicht da völlig zu. Ich weiss nicht, ob da ein uC-Core lohnt. Ausser man braucht ihn eh noch für was anderes. T.M.
@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...
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.
"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.
HI, danke für die vielen Beiträge, Vor allem der Link von Jan hat mich weitergebracht! Gruß Micha
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.