Datum: 02.03.2005 20:00
Ein einfacher LCD Controller für ein 640x480 Dual Scan LCD. Ideal für alle die noch so ein LCD rumliegen haben, aber nicht 30 für ein S1D13704/5 ausgeben wollen.
Datum: 02.03.2005 20:01
Und hier noch die Schaltung dazu
Datum: 02.03.2005 20:25
Hier noch eine einfache Testversion um eine Schwarzweis 640x480 BMP zu laden. Einfach die .BMP Datei über RS232 mit 115200Baud senden.
Datum: 02.03.2005 20:30
Hi, das interessiert mich. Versteh ich das richtig (aus dem Schaltplan), das man noch ein bischen schneller werden könnte wenn man die Datenleitung auch noch an einen extra Port hängt und das Addresslatch wegläst? Gruesse Peter
Datum: 02.03.2005 20:49
Nein, das bringt nichts, denn der LD temp, X+ Befehl benötigt nur 4 Takte. Wenn man das per Hand macht, muss man zwei Bytes an den Ausgang legen (2 Takte), RD\ auf Low und wieder auf High bringen (nochmal 2 Takte) und anschließend die Adresse erhöhen (2 Takte). Da ist der ld Befehl schneller, und der liest sogar noch den Wert aus dem RAM.
Datum: 02.03.2005 21:11
Hi Benedikt, ist es richtig, das es dieses Display mal bei pollin für 9 Euro gab ? mfg Kay
Datum: 03.03.2005 07:32
Es waren glaube ich 9,95 wenn ich mich noch recht erinnere... Die Schaltung läuft aber auch so ziemlich mit jedem anderen SW 640x480 LCD, dessen Ansteuerung nicht total anderst ist.
Datum: 03.03.2005 12:13
hi ich finde es prima, das man dazu jetzt keinen extra epson controller braucht. kann man das ding auch mit nem AT90S8515 laufen lassen ? wäre es vielleicht auch möglich die eagle datei von dir zu erhalten ? mfg Kay
Datum: 03.03.2005 13:16
Es sollte auch mit einem normalen 8515 laufen, ich habe es zwar noch nicht ausprobiert, aber an sich verwende ich keine Spezialfunktionen des mega8515. Für was brauchst du da eine Eagle Datei ? Die Schaltung ist doch in 30Minuten auf einer Lochrasterplatine aufgebaut, vor allem da uC, Latch und SRAM direkt nebeneinander kommen und A0-7 jeweils direkt mit dem nächsten IC verlötet werden können.
Datum: 03.03.2005 13:19
Hi, da haste eigentlich recht. das werde ich auch machen. nur noch ne frage, am Display sind noch 2 Anschlüsse vorhanden. einer für die CFL Röhre denke ich und der andere ? im datenblatt steht was von -23 Volt ?? da blick ich nicht ganz durch. mfg Kay
Datum: 03.03.2005 13:48
Hier mal ein Foto von meinem Testaufbau. Beide Anschlüsse sind für die CCFLs, denn das LCD hat zwei davon. Der Stecker mit der Buchse ist der heiße Pol, der mit den Stiften der kalte. Die -23V beziehen sich auf die Spannung zwischen +5V und VLCD. Macht also etwa -18V gegen Masse. Da das LCD beschädigt wird, wenn nur VLCD aber keine +5V anliegen, wird diese Spannung vom uC geschaltet. An V- muss also eine stabilisierte Spannung mit etwa -17 bis -18V angeschlossen werden YSCL wird mit LP verbunden. Der 573 kann ein AC, AHC, ALS, F oder sonst ein schneller sein. Ich verwende einen ALS573 aus einem alten Mainboard. Ich sehe gerade, da ist ein Fehler im Plan. Es muss kein 74x32, sondern ein 74x02 sein, da das LCD die Daten an der fallenden Flanke haben möchte. Für den 74x2 reicht eigentlich ein HC. Einen 64k SRAM bekommt man etwas schlecht, aber es sollte auch mit einem 128k SRAM funktionieren. Meiner hat 20ns. Ob der 55ns 128k SRAM von Reichelt auch schnell genug ist habe ich noch nicht getestet, es sollte aber funktioniern, auchn wenn das Timing ziemlich knapp ist.
Datum: 03.03.2005 15:12
Man koennte doch die negative spannung mit spule und fet+diode gleich mit genererieren? sollte mit dem pwm ausgang relativ einfach sein. neben bei, koennte man kontrast per software steuern. gruss roman
Datum: 03.03.2005 16:04
Allerdings ist die erzeugte Spannung nicht konstant, sondern ändert sich mit der Last (=Bildinhalt). Da nehm ich lieber einen MC34063 für 35Cent und habe dann eine konstante Spannung.
Datum: 03.03.2005 19:26
ich habe auch mal noch ne kurze frage. es geht momentan ja nur SW ! wäre es denn möglich und auch machbar, das ganze mit 16 Graustufen ? mfg Kay
Datum: 03.03.2005 21:01
Um Graustufen zu erzeugen, muss eine zeitliche Modulation erfolgen, für drei unterschiedliche Helligkeitsstufen müsste der Bildinhalt zweimal nacheinander ausgegeben werden. Die Helligkeitsstufen sind dann: 0 - Pixel bleibt bei beiden Durchläufen aus 1 - Pixel wird nur bei einem Durchlauf angesteuert 2 - Pixel wird bei beiden Durchläufen angesteuert Sowas reduziert die Bildqualität noch weiter (IMHO sind TN-SW-Displays eh' nicht das weiße vom Ei) und steigert den Speicherbedarf. Gut, so ein 32K-SRAM kost' nicht die Welt, und man müsste die alle nur parallelschalten und könnte derzeit unbenutzte Portleitungen mit den /CS-Eingängen der SRAMs verbinden. Die Software müsste nach jedem Frame auf ein anderes SRAM umschalten, was nicht schwer sein dürfte. Übrigens ein dickes Lob an Benedikt. Mit welcher Framerate arbeitet diese Schaltung eigentlich?
Datum: 03.03.2005 22:16
Die Framerate beträgt etwa 65Hz. Bis 80Hz sind möglich, aber dann geht ab und zu mal ein Datenbyte verloren. Daher habe ich es soweit reduziert, dass man ein Vollbild am Stück senden kann, ohne dass irgendwas verloren geht. 65Hz ist noch im erträglichen Bereich: Vor allem bei den alten LCDs sieht man dann noch kein Flimmern. Das mit der schlechteren Bildqualität stimmt nur bedingt: Um 16 Graustufen darzustellen, braucht man 15 Bilder und somit auch die 15 fache Geschwindigkeit (zumindest in der Theorie). LCD Controller wie der S1D13704 machen das aber irgendwie anderst, aber echt gut. Selbst wenn die (theoretische) Displayfrequenz nur 70Hz/15=4,67Hz beträgt, sieht man da kein Flackern. Graustufen wären bei dieser Schaltung zwar möglich, aber dadurch würde die Displayfrequenz auf etwa 30Hz sinken, was auf jedenfall gut sichbar flackert. Bei 640x480 kann man auch ganz gut mit SW leben. Auf alten PC System (Atari) konnte die Grafikkarte auch nur 640x400 und 2 Farben (also Schwarzweiß) mit dem Standardmonitor. Um trozdem Graustufen darstellen zu können, kann man ja immer noch Streuraster verwenden. Siehe Bild im Anhang.
Datum: 03.03.2005 22:34
hi, was meinsten mit Streuraster ? mfg Kay
Datum: 04.03.2005 07:49
Datum: 10.03.2005 19:11
Hallo, @Bendedikt: Für die negative Spannung ( - 17V ) benutzt du also einen MC34063 ? Für die CFL´s brauche ich doch noch einen Inverter oder ? würde mir die teile gerne bei reichelt bestellen, will aber erst warten, bis ich alles zusammen habe. deswegen frage ich mfg Kay
Datum: 10.03.2005 21:52
Der MC34063 schafft gerade so die -18V bei 5V Eingangsspannung. Der Wirkungsgrad ist miserabel (ca. 50%), aber es geht. Ich habe das ganze mal durchgerechnet, in der Theorie lassen sich maximal 55% Wirkungsgrad und max. -20V erreichen, was gerade so reicht. Die CCFLs brauchen auch noch 2 Inverter, da das Pollin LCD 2 Röhren hat !
Datum: 13.03.2005 12:53
Hi Benedikt! Wie überträgst du dann die Daten zum Display und von wo aus? Hast du das am PC angeschlossen oder wie darf ich mir das vorstellen? Ich habe auch ein 640x480-monochrom-LCD und würde das gerne an meinen PC an den LPT anschliessen und mit LCDInfo betreiben. Denkst du es wäre möglich deine Schaltung in diese Richtung zu modifizieren? Beim MC34063 kann man durch ändern der Spule und der Arbeitsfrequenz noch ein bisschen rausholen. Sowohl bei der Ausgangspannung als auch beim Wirkungsgrad. Ich weiß nicht wie du den betreibst, aber evtl. könntest du noch ein bisschen raushloen...
Datum: 13.03.2005 13:40
Ds LCD bekommt die Grafikdaten seriell. Ich sende einfach ein SW BMP mit 115,2kbaud an den AVR, der es dann auf dem LCD darstellt. Leider dauert der Aufbau eines Bildes 3s, es ist also nichts für schnelle Grafiken. Außerdem ist es zu keinem vorhandene LCD Controller Standart kompatibel. Gibt es irgendwelche seriellen Grafik LCDs ? Wenn ja, dann könnte ich dieses nachbilden, so dass man es mit irgendeiner Standartsoftware ansteuern kann. An sich wäre zwar auch eine Ansteuerung über den LPT möglich, aber dieser ist warscheinlich zu schnell für den AVR, der hauptsächlich mit der LCD Ansteuerung beschäftigt ist.
Datum: 13.03.2005 20:13
Von seriellen GLCDs weiß ich nichts, sorry! An das Handling hatte ich nicht gedacht, stimmt... Der AVR hätte vermutlich keine Chance mit der Geschwindigkeit des LPT mitzuhalten, selbst wenn sich am Bildinhalt kaum was ändert... In dem Fall hat sich das schon wieder ziemlich erledigt und werde mir doch einen S1D1.... holen und eine Platine und Treiber dazu machen müssen... Trotzdem recht vielen Dank!
Datum: 21.03.2005 17:06
benutz doch die software LCDHype (www.lcdhype.de.vu) dafür kann man sehr einfach treiber entwickeln (das meißte is open source) und nen treiber der nur n bmp sendet is ja nich wirklich schwer zu schreiben
Datum: 22.03.2005 12:55
@Hauke das mit lcdhype wäre schon toll. nur bringt es mir ja auch nix, wenn das aufbauen einens Bildes 3s dauert. mfg Kay
Datum: 24.03.2005 15:08
Den Bildaufbau könnte ich beschleunigen, wenn ich anstelle der seriellen Verbindung eine parallele verwendet. Allerdings muss diese von der Geschwindigkeiz her begrenzt werden, bzw. vor jedem Datentransfer bzw. Befehl das Busy Flag abgefragt werden. Die LCD Ausgabe benötigt rund 12MIPs (für 60fps) bzw. 14MIPs für 70fps. Der mega8515 verkraftet problemlos 20MHz, was also 6MIPs nur für den Datentransfer zur Verfügung stellen würde. Pro Byte werden rund 70 Takte benötigt. Somit würde eine Aktualisierung rund 0,5s dauern, wenn alles optimal läuft ! Falls also jemand ein Plugin schreiben kann (und möchte), ich erweitere meine Software gerne um einen schnelleren Datentransfer zu ermöglichen. Ein 640x480 LCD am LPT wäre schon super, vor allem da der mega8515 und die paar ICs kaum was kosten...
Datum: 04.04.2005 13:18
hi benedikt, wenn Du so ne parallele Ansteuerung machen könntest, könnte ich probieren, ne Software für die Parallele des PC´s zu schreiben !! mfg Kay
Datum: 04.04.2005 14:10
wenns weiter geht, ich hätte auch interesse! PS: der programmierer dieser Software ist sehr offen in sachen vorschlägen ... der hilft euch auch gerne weiter!
Datum: 05.04.2005 06:39
Ich werde dann in den nächsten Wochen mal meine Schaltung auf parallel umbauen und testen. Sobald die erste Version läuft, melde ich mich wieder.
Datum: 05.04.2005 09:39
Hallo Benedikt, Ich hab zuhause ein 640x480 von einem alten Olivetti Notebook - jedoch keine Steckerbelegung. Könntest du mir dabei vielleicht weiterhelfen wenn ich ein paar Fotos davon mache? Danke. lg leo
Datum: 05.04.2005 10:43
ein paar fotos reichen meißt nicht! man bräuchte schon ein Datenblat oder ähnliches!
Datum: 05.04.2005 10:48
wenn ichs hätte... die chip-bezeichnungen hab ich gegooglet, jedoch nichts gefunden. vielleicht hat jemand mit solchen dingern mehr erfahrung als ich und kann mir dabei helfen, die chips zu identifizieren. danke
Datum: 05.04.2005 16:24
Um ein Datenblatt oder sonstige Infos zu finden, gehe ich immer so vor: Nach der Bezeichnung googlen. Mit etwas Glück findet man ein paar Notebook Manuals, in denen die Anschlussbelegung steht. Der Rest ist dann eine Kleinigkeit.
Datum: 05.04.2005 18:27
Dieser Beitrag wurde auf Wunsch des Autors geloescht.
Datum: 05.04.2005 22:43
hi benedikt, was mich auch noch interessieren würde : Ich suche noch nach einer möglichkeit, das LCD als Kontrollmonitor zu benutzen. also ich will keine kompletten bilder anzeigen, nur Texte an einer bestimmten Stelle anzeigen. Könnte ich das auch über die serielle lösen ? wäre das möglich ? mfg Kay
Datum: 06.04.2005 03:03
ja texte sollten sich schnell aktualisieren lassen!
Datum: 06.04.2005 06:36
@Hauke Radtki Ob Text oder Bild ist egal, das ist ein Grafik LCD ! Ein weiterer AVR als Character Generator, mit schneller paralleler Anbindung oder mit SPI und dann sollte es eigentlich ganz gut funktionieren, Text anzuzeigen.
Datum: 06.04.2005 06:45
ne damit meinte ich nur, dass die übertragung über die serielle schnittstelle nicht lange braucht, wenn man nur zeichen schickt ;-P
Datum: 06.04.2005 06:58
hi, möchte das LCD also als Home Automation Kontroll LCD verwenden. Dazu möchte ich mit einem AVR Texte ( evtl. auch bilder ) über die serielle oder Parallele an das LCD senden. Nur fehlt mir halt das Wissen, den AVR für das LCD zu programmieren. Naja, vielleicht habe ich ja glück, und Benedikt hilft da ein wenig :-) mfg Kay
Datum: 06.04.2005 07:15
parallel wirkt sich auf jeden fall gut auf die geschwindigkeit aus!
Datum: 06.04.2005 08:36
malindenraumwerf Es gibt doch ein App-Note von Atmel das die Datenübertragung zwischen AVR und PC-Parallelport mit Datenraten von bis zu 400kBytes/s zeigt... könnte vielleicht interessant sein?
Datum: 06.04.2005 09:47
Die ganzen App Notes sind zwar an sich OK, aber bei der LCD Ansteuerung muss die Datenübertragung quasi im Hintergrund laufen. Da kann man dann mit 100kB/s schon sehr zufrieden sein...
Datum: 06.04.2005 12:26
wichtig ist mir halt nur, das ich auch mit nem anderen AVR auf den Controller für das LCD zugreifen kann. Mein Problem ist nur, das ich Basic'er bin und mit C oder ASM nicht viel weiter komm.
Datum: 19.04.2005 19:28
Hi Benedikt, ich hab hier gerade entdeckt, dass du die gleiche Idee hattest BMP Files seriell zum AVR zu übertragen. Ich hab da ein kleines Problem. Und zwar läuft das ganze bei mir mit einem 8515 an 8MHz, mehr als 34800 Baud funktioniert bei mir nicht, aber das genügt ja auch. Das Problem ist, dass im externen SRAM das 320x240 Pixel Bild auf etwa 320*40 Pixel zusammengestaucht ist, d.h. es wird von der seriellen Übertragung nur etwa jedes 6. Datenbyte in den Speicher geschrieben (mal mehr mal weniger, sehr variabel) im internen SRAM funktioniert dieses Verfahren einwandfrei, es scheint also gerade so, als ob der externe Speicher für die Übertragung zu langsam ist. Aber selbst wenn ich die Baudrate extrem reduziere so auf 1200 und das ist schon echt unangenehm langsam, hat er das selbe Problem. Ich glaube das ist ein Hardwareproblem, muss man da vielleicht Pulldowns oder Cs oder irgendwas an den Bus hängen ich weiss echt nicht, bei dir funktionierts ja offenbar mit 115kBaud. Also ich hab noch Zeit bis Fr, würde mich freuen, wenn mir jemand einen Tip geben könnte
Datum: 20.04.2005 21:14
Ohne Code und Schaltung kann ich dir leiter nicht weiterhelfen. Funktioniert denn die Ausgabe der Daten aus dem RAM auf dem LCD fehlerfrei ? Wenn ja, dann wird es eher nicht an einem Timingproblem beim SRAM liegen.
Datum: 21.04.2005 15:43
Ja die Ausgabe funktioniert einwandfrei. Was ich hier benutze ist ein Evaluation Board, hab also kein Schematic davon und das Speicherinterface sieht genauso aus, wie auf dem lcd.gif in einem der vorangehenden Beiträge. Ich hab den UART empfang schon mit und ohne Interruptsteuerung ausprobiert, ist immer das gleiche Problem. Ich glaube auch nicht, dass es ein Softwareproblem ist, beim UART Empfang kann man ja nicht viel falsch machen. Aber vielleicht eine Frage noch, mit welchem Programm sendest du denn die Bildschirmmaske an den AVR. Ich hab bisher immer eine Textdatei mit dem Hyperterminal geschickt, aber ich habe das Gefühl, der sendet das File viel schneller als die eingestellte Baudrate. Gibts da vielleicht was eleganteres?
Datum: 21.04.2005 18:59
Ich verwende das Bray Terminal oder HTerm http://www.mikrocontroller.net/forum/read-8-155472.html#new
Datum: 21.04.2005 19:33
Das ist genau das, was ich schon beim letzten Projekt gebraucht hätte Die Übertragung funktioniert jetzt auch, musste nur ne Zeichenverzögerung einstellen Thanx
Datum: 17.06.2005 09:16
Hi Benedikt, haste deine Schaltung schon auf Parallel umgebaut ? mfg Kay
Datum: 19.06.2005 14:04
Hi Benedikt, haste deine Schaltung schon auf Parallel umgebaut ? mfg Kay
Datum: 22.06.2005 19:05
Hab schon angefangen, bin aber noch nicht ganz fertig.
Datum: 23.06.2005 12:44
hab dazu noch ne kurze frage. wäre es denn auch möglich, die serielle zu verwenden und nur teile des Displays zu beschreiben, also z.B. Locate 10,10 "Hallo". Also das von oben der 10 Pixel und von links der 10 Pixel usw. Ich hoffe du verstehst mich ein wenig. wäre das möglich ?
Datum: 25.06.2005 12:17
Ja, das ist möglich. Dafür gibt des den SetCursor Befehl. Text lässt sich allerdings nicht direkt darstellen, da das Display nur einzelne Pixel anzeigen kann. Der Text muss also als Bild geliefert werden.
Datum: 26.06.2005 16:12
wie kann ich das aber mit einem Terminalprogramm machen ? unterstützt deine Schaltung das ganze ? mfg Kay
Datum: 27.06.2005 17:03
Leider nein, da 9bit an Daten übertragen werden müssen, um zwischen Daten/Befehl unterscheiden zu können. In etwa 1 Monat habe ich etwas Zeit, dann schreibe ich das ganze auf ein 8bit Parallelinterface um, ähnlich T6963 und Co. Dann kann man ein 640x480 LCD an den LPT anschließen...
Datum: 27.06.2005 18:53
das wäre ja prima. dann werde ich noch gerne warten. dankeschön
Datum: 02.07.2005 20:33
Hallo Benedikt, suche nach der Anschlussbelegung von LCD Display (640*480 BW) kannst Du, wenn möglich, Anschlussbelegungen zu Deinem Projekt veröffentlichen oder hast Du ne Webseite auf der Details zum Projekt sind?
Datum: 02.07.2005 21:02
Das Datenblatt zu dem LCD (EG9006) findet man irgendwo hier im Forum (es hieß glaue ich Pollin LCD blau)
Datum: 02.07.2005 23:39
Hallo , ich habe mehrere dieser Displays. Leider keine Unterlagen dazu. Haben Sie die Schaltpläne oder andere Unterlagen zu diesen Displays. Wie wäre es mit einem Tausch ? :-) Display gegen Unterlagen . Porto übernehme ich. uk
Datum: 03.07.2005 06:10
Sucht du Daten zum EG9006 oder zu einem anderen LCD ?
Datum: 03.07.2005 13:05
Die zum EG9006 sucht er bestimmt nicht, sonst hätte er sie ja hier im Forum schon längst gefunden...
Datum: 03.07.2005 13:46
Hmmmm ???? Das ist nicht so einfach. Es geht um 640 X 480 SW LCD von Pollin. Hab ich schon fast acht Jahre rumliegen. Leider habe ich nie die Unterlagen bekommen. Ich muss wohl mal die Kiste rauskramen und ein Bild einstellen. bis denn
Datum: 04.07.2005 22:17
Hallo ich habe noch ein 640 x 480 Display hier liegen. Folgendes steht drauf : H6480L-FT (oben) / H6485L-FF (hinten). Das Datenblatt ist auf : http://pingos.i7c.org/stuff/display/Datenblatt.pdf Funktioniert eure Schaltung/Software auch mit diesem Display ? danke Markus
Datum: 05.07.2005 05:49
Theoretisch kann man das Display auch damit betrieben, aber man müsste die Software etwas umschreiben, denn im Gegensatz zu den meisten LCDs ist deines kein Dual Scan Display (Bei einem Dualscan Display wird die obere und untere Displayhälfte gleichzeitig dargestellt, bei dire nacheinander).
Datum: 05.07.2005 09:46
Mir sind ein paar LCDs zugeflogen SP10Q003. Ich frage mich, ob ich mit dieser Loesung diese auch ansteuern kann? @Benedikt: Koenntest Du mal draufschauen? Danke! Alex
Datum: 05.07.2005 11:59
Ähnliche Antwort wie zuvor: Ist möglich, aber die Software muss angepasst werden.
Datum: 07.07.2005 13:48
Hallo zusammen, da bin ich wieder. Hab zwar noch keine Fotos aber die Bezeichnungen. Auf der Rückseite sind zwei Bezeichnungen angegeben. "LM641542" und "92C02935Y" Beim ersten gibt mir Google nur Bestellnummern für den Chip. Am Rand steht noch die Bezeichnung "Sharp", "X1075CP" und "MM V" Wie gesagt, ich habe zehn von den Dingern und geb auch gern das ein oder andere ab. Danke bis denn
Datum: 07.07.2005 16:16
Könntest du mal ein Foto davon machen, vor allem von dem Anschluss ? Wieviele Pins hat der Anschuss ?
Datum: 11.07.2005 15:28
Hallo , jetzt kommen die Bilder vom Display Nr 1
Datum: 11.07.2005 15:30
So das ist das Letzte ! Nr 5
Datum: 11.07.2005 18:00
Ist das Flachbandkabel der Anschluss, oder der 15 polige ? Dem 15 poligen nach könnte es dem LM64194 ähnlich sein, die Position der dicken Leitbahnen auf 6 und 7 passt zumindest schonmal (Vss










