Hallo Ich habe ein LCD Display mit aktiver Matrix. Dieses möchte ich nun ansteuern. Hierzu habe ich von Epson folgenden LCD-Controller gefunden. Epson S1D13513 Ich habe mal die Beispielprogramme heruntergeladen und festgestellt das dort Quellcodedatein (c und h Files) vorhanden sind. In der Beschreibung steht das die Quellcodedatein in ANSI C geschrieben sind und mit jedem Compiler übersetzt werden kann. Als ich die Doku durchgelsen hatte habe ich noch mal nachgedacht und bin zu folgenden Fragen gekommen: 1. Muss ich denn so einen LCD-Controller von Epson nehmen oder kann ich jeden beliebigen 32Bit µC z.B. einen von Atmel, Freescale oder NXP kaufen? 2. Hat der LCD-Controller besondere Hardwarevorteile gegenüber den anderen µC. 3. Welchen C-Compiler muss ich nehmen? 4. Gehen die Vorteile des LCD-Controllers nicht verloren wenn ich einen Standard C-Compiler benutze? (da dieser ja nicht auf die Hardware zugeschnitten ist) 5. Kann ich die Quellcodefunktionen auch auf einen Atmel 32 Bit µC benutzen? Schon vielen Dank für Eure Antworten Grüße Johannes
Hi, ich glaube dein problem ist, dass du nicht genau weisst was ein LCD-Controller macht.. Der LCD-Controller ist in der Regel dazu da die Pixel des Displays anzusteuern und diese regelmäßig zu refreschen, damit das Bild sichtbar bleibt. Viele Displays haben so einen Controller schon drauf, auch der von dir genannte Controller macht das. Der Controller kann nicht programmiert werden, sondern lediglich gesteuert über seine Port Pins. Du möchstest also ein LCD ansteuern, da frag ich mich womit und zu welchem Zweck? Willst du den Epson S1D13513 verwenden bruachst du im normalfall noch einen Microcontroller der dann die darzustellenden Inhalte generiert. Für einen solchen IC sind wahrscheinlich auch die Quelltexte die du hast. Und mit der Wahl des microcontrollers steht dann auch fest welchen compiler du nehmen musst.
Deiner Meinung ist da schon eine Firmware installisert. Kann man das auch mit einem 32Bit µC von Atmel schaffen oder sind die zu langsam um das Bild regelmäßig zu refreshen? Grüsse Johannes
AVR32 hat einen LCD-Controller on chip: http://img508.imageshack.us/img508/2488/lpic0040ty5.jpg (Hier bei mir in Aktion) Geht allerdings nur mit TFT o. STN mit paralleler Ansteuerung, LVDS kann er nicht. Ich weiss nun nicht wie es bei den AVR32 Controllern ist, also den AT32UC3 oder wie die heissen, der AVR32AP7000 (eine CPU) kann es aber. Gruß, Christian
Christian Erker wrote: > AVR32 hat einen LCD-Controller on chip: > > http://img508.imageshack.us/img508/2488/lpic0040ty5.jpg (Hier bei mir in > Aktion) > > Geht allerdings nur mit TFT o. STN mit paralleler Ansteuerung, LVDS kann > er nicht. Ich weiss nun nicht wie es bei den AVR32 Controllern ist, also > den AT32UC3 oder wie die heissen, der AVR32AP7000 (eine CPU) kann es > aber. > > Gruß, > Christian AT32UC3 kann's nicht :D Nett mal jemanden zu lesen, der auch mit sowas rumfingert.
Der Epson LCD Controller hat ein parrallels Interface an dem ein µC angeschlossen werden kann. Sehe ich das richtig das mit Hilfes des µC der LCD Controller gesteuert wird? Reicht für die Steuerung eines LCD ein 8Bit AVR von Atmel oder ist der durch die 8 Bit zulangsam? Woran erkennt denn der LCD Controller das ich jetzt Daten übermittel oder Steuersignale? Der LCD-Controller hat ein SRAM, in dem die Daten für das Display gespeichert sind. Wenn ich also das 1. Bild übertrage und anschließend das 2. wie gehe ich dann vor? Schreibe ich den 1. Datensatz zuerst ind ein großes Array und anschließend den 2. Datensatz in ein 2. Array und teile den LCD-Controller per Steuerbefehl mit das er jetzt die Daten aus dem 2. Array anzeigen soll? Gibt es einige Tutorials wie man LCD-Controller benutzt?
Ich sags mal so wie es ist: Du scheint wenig bis absolut garkeine Ahnung von dem Thema zu haben. Der S1D13513 ist ein ziemlich großer LCD Controller der mit SDRAM arbeitet. Ich glaube es wäre sinnvoller, wenn du erstmal klein anfangen würdest. Einem Fahranfänger kauft man normalerweise auch nicht direkt einen Ferrari... Die Ansteuerung mit einem AVR ist möglich, wenn auch nicht unbedingt sinnvoll, da der Controller nur 16bit Transefers unterstützt. Solch ein LCD Controller wird üblicherweise eher in Embedded PCs oder ähnlichem verwendet.
Ich habe schon mit dem AVR gearbeitet. Es mag sein das dieser LCD-Controller recht mächtig ist, aber ich habe keine Wahl mit etwas kleinerem anzufangen. Wenn mein Chef sagt steuer dieses Display an dann gebe ich alles um dies möglichst schnell zu schaffen. Hierzu habe ich Internet gegoogelt und nach LCD-Controllern gesucht. Da ich eine das Kamerabild auf diesem Display ausgeben soll, habe ich mich für diesen entschieden. Zuvor wollte ich einen LCD-Controller nehmen der in Handys eingesetzt wird. Davon hat mir aber der Händler abgeraten, da ich da mehrere 1000 Stück auf einmal kaufen muss. Daher dieser LCD-Controller von Epson. Es mag sein das ich noch nicht so viel Ahnung von diesem IC besitze aber das hattest Du am Anfang sicherlich auch nicht. Jedoch hast Du es mit viel Fleiß und Schweiß geschaft. (meinen Glückwunsch) Dies will ich auch schaffen. Ein Evolution Board habe ich bereits auch gefunden (ca 300 Euro) Jetzt benötige ich nur noch einen 32Bit µC der die Ansteuerung des LCD Controllers übernimmt. Ich denke mal das ich da einen Atmel, Freescale oder NXP verwenden werde. Vielleicht hast Du ja noch ein paar Links wo ich mich ein wenig über LCD-Controller belesen kann Grüsse Johannes
Ich habe schon viele der Epson Controller angesteuert (sowohl kleinere S1D17xx als auch größere aus der S1D137xx und S1D1350x Reihe). Einige Controller haben, ich nenn sie mal "Features" über die man erstmal stolpern muss, damit man die Controller zum laufen bekommt: Wenn sich die Register garnicht ansprechen lassen, meist gibt es einen Powersave Mode, der standardmäßig an ist und daher den Zugriff auf die Register sperrt. Irgendwo im Datenblatt gibt es dazu meist eine Fußnote. Ob das beim 13513 auch so ist weiß ich nicht, ich denke aber schon. Die Software schreiben ist eine Seite von der Ansteuerung, aber dieses ist ja vermutlich eher kein allzugroßes Problem für dich. Du brauchst also nur einen entsprechenden µC an dessen Datenbus der LCD Controller kommt. Da es auch hier wieder verschiedene Standards gibt, hat der LCD Controller verschiedenste Config Bits, über die die Schnittstellenparameter eingestellt werden. Das Layout wird auch nicht einfach, immerhin hat das Ding viele Pins. Und es werden meherere Betriebsspannungen benötigt. Insgesamt also ein ziemlicher Aufwend, den dir ein fertiges Evaluation Board erstmal abnimmt. Damit sind schonmal viele Fehlerqueller weg. (dafür kostet es halt etwas mehr.) Wenn das geschafft ist, und der µC mit dem externen Bus entsprechend konfiguriert ist, kannst du den LCD Controller ganz einfach ansprechen. Als nächstes kommt jetzt der LCD/TFT spezifische Teil: Ein wenig Grundwissen zum Thema LCD/TFT (was es so an Typen (aktiv/passiv) gibt und wie diese angesteuert werden (welche Takt und Datenleitungen es gibt, und wie das Timing aussieht) ist vorteilhaft bzw. zumindest von dem Display das du ansteuern willst, notwendig. Es wird vermutlich so sein, dass du das Display ansteuerst, aber dieses nur Streifen, oder garnichts anzeigt. Dann ist es nämlich gut zu wissen, wie das Timing aussehen sollte, wenn man sich die vom LCD Controller erzeugten Signale auf dem Oszilloskop ansieht. Es gibt Tools von Epson, um die ganzen Einstellungen zu erzeugen. Meistens funktionieren die, manchmal erzeugen sie aber auch etwas falsche Einstellungen, also notfalls per Hand nachprüfen. Und dieses Beispielprogramm mit der HAL von Epson, naja ich habe dieses zumindest noch nie verwendet, da es meiner Meinung nach schneller geht eine eigene Software zu schreiben als dies von Epson anzupassen. Außerdem versteht man dann wenigstens auch, was man gemacht hat. Wo man generelle Infos zum Thema LCD Controller und LCDs herbekommt weiß ich auch nicht. Das Problem ist, dass viele Hersteller nur das nötigste rausgeben. Bei Epson gibt es etliche Datenblätter, die nur nach Registrierung oder nur nach Anfrage rausgegeben werden. Und selbst dann beinhalten diese nur das nötigste. Um etwas über die inneren Abläufe zu erfahren, muss man schon gute connections zu Epson haben, aber selbst dann kann es Monate dauern... Ich kann dir nur eines eEmpfehlen: Les dir das Datenblatt vom Controller komplett durch, auch wenn dies sehr lange dauert. Vor allem achte auf die Fußnoten, und merke dir diejenigen, die für deine Anwendung benötigt werden. Ich habe auch schon Tage damit zugebracht, nichts anderes zu machen als nur die Datenblätter zu studieren...
Ich denke mal das ist bei 99% alle µC, das man das Datenblatt mehr als nur einmal durchlesen muss. Ich habe schon mal in den Funktionen gstöbert, die vorhanden sind. Von Epson gibt es ein Testinit.c File. Dies greift auf den vorhandenen Quellcode zu. Wenn ich dann mein Evaluation Board hier habe werde ich das Display anschließend. So wie ich es verstanden habe, schließe ich das Evaluation Board an den PC an. Compiliere die Datei Testinit.c und führe die Testinit.exe aus. Dann sollte auf dem initialisiertem Display "Hallo Welt" stehen. Epson stellt folgeden Datein zur Verfügung: #include "hcl.h" #include "i2c.h" #include "camera.h" #include "display.h" #include "pip.h" #include "resizer.h" #include "yrc.h" #include "ydo.h" #include "yuv.h" #include "interrupts.h" #include "clock.h" #include "pwm.h" #include "blt.h" #include "sprite.h" #include "dmac.h" Hierzu gibt es noch die passenden C-Files. Jetzt zu der alles entscheidenen Frage. Kann ich die Funktionen einfach so in den µC implementieren oder sind diese nur für den PC gedacht? Außerdem liefert Epson dieses von Dir angesprochene Programm "cdg.exe" mit. Damit soll man den LCD-Controller konfigurieren können. Muss ich dies bei dem Neustart machen oder werden diese Einstellungen in einem EEPROM gespeichert? Vielleicht könnte man sich ja mal für 15 Minuten über Skype oder per Telefon unterhalten. Dies würde mir sicherlich sehr viel weiterhelfen Grüsse Johannes
Johannes wrote: > Von Epson gibt es ein Testinit.c File. Dies greift auf den vorhandenen > Quellcode zu. Wenn ich dann mein Evaluation Board hier habe werde ich > das Display anschließend. So wie ich es verstanden habe, schließe ich > das Evaluation Board an den PC an. Compiliere die Datei Testinit.c und > führe die Testinit.exe aus. Dann sollte auf dem initialisiertem Display > "Hallo Welt" stehen. So einfach ist es leider nicht. Ich kenne dein Evaluation Board nicht, aber bei den anderen Controllern ist es so, dass diese sich auf einer ISA Grafikkarte befinden, die in den PC gesteckt wird. Das Programm funktioniert also nur, wenn du genau diese Karte im PC hast.
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.