mikrocontroller.net

Forum: Projekte & Code LCD Controller für 640x480 LCD mit mega8515


Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und hier noch die Schaltung dazu

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch eine einfache Testversion um eine Schwarzweis 640x480 BMP zu
laden. Einfach die .BMP Datei über RS232 mit 115200Baud senden.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Benedikt,

ist es richtig, das es dieses Display mal bei pollin für 9 Euro gab ?

mfg Kay

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
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.

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Roman Pollak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

was meinsten mit Streuraster ?

mfg Kay

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dankeschön

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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
!

Autor: Myscha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Myscha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hauke

das mit lcdhype wäre schon toll. nur bringt es mir ja auch nix, wenn
das
aufbauen einens Bildes 3s dauert.

mfg Kay

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Leopold Stockinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein paar fotos reichen meißt nicht! man bräuchte schon ein Datenblat
oder ähnliches!

Autor: Leopold Stockinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: geloescht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieser Beitrag wurde auf Wunsch des Autors geloescht.

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja texte sollten sich schnell aktualisieren lassen!

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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.

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne damit meinte ich nur, dass die übertragung über die serielle
schnittstelle nicht lange braucht, wenn man nur zeichen schickt ;-P

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
parallel wirkt sich auf jeden fall gut auf die geschwindigkeit aus!

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: timpe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: timpe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende das Bray Terminal oder HTerm
http://www.mikrocontroller.net/forum/read-8-155472.html#new

Autor: timpe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Benedikt,

haste deine Schaltung schon auf Parallel umgebaut ?

mfg Kay

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Benedikt,

haste deine Schaltung schon auf Parallel umgebaut ?

mfg Kay

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab schon angefangen, bin aber noch nicht ganz fertig.

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie kann ich das aber mit einem Terminalprogramm machen ?
unterstützt deine Schaltung das ganze ?

mfg Kay

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das wäre ja prima. dann werde ich noch gerne warten. dankeschön

Autor: Karl-Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Datenblatt zu dem LCD (EG9006) findet man irgendwo hier im Forum (es
hieß glaue ich Pollin LCD blau)

Autor: Udo Kühnemund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sucht du Daten zum EG9006 oder zu einem anderen LCD ?

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die zum EG9006 sucht er bestimmt nicht, sonst hätte er sie ja hier im
Forum schon längst gefunden...

Autor: Udo Kühnemund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Markus Maussner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Alex1 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähnliche Antwort wie zuvor: Ist möglich, aber die Software muss
angepasst werden.

Autor: Udo Kühnemund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könntest du mal ein Foto davon machen, vor allem von dem Anschluss ?

Wieviele Pins hat der Anschuss ?

Autor: Udo Kühnemund (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ,

jetzt kommen die Bilder vom Display

Nr 1

Autor: Udo Kühnemund (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und nr 2

Autor: Udo Kühnemund (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Nr 3

Autor: Udo Kühnemund (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Nr 4

Autor: Udo Kühnemund (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So das ist das Letzte !
Nr 5

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 und
Vee).
Wenn jetzt auch noch die Pins 11-15 am Flachbandkabel zum unteren
Displayrand und Pins 7-10 am Kabel zum oberen Rand zu finden sind,
könnte das durchaus sein.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das 14 polige Kabel 1:1 mit dem 15 poligen verbunden ist (außer Pin
4 beim 15 poligen, der bei 14 poligen fehlt), dann passt die Belegung
sehr warscheinlich.

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Benedikt,

du hast ja vor, das Display mit einem pseudo "T6963C" ansteuerbar zu
machen. Wie siehts da eigentlich mit der Auflösung aus ? unterstützt
der T6963C eigentlich ne Auflösung von 640*480 ??? Die Software die ich
kenne unterstützen normalerweise nur 320*240 !!

mfg Kay

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der 6963 kann an sich keine so hohen Auflösungen, aber das ist auch kein
Problem, denn eine Initialisierung benötgt der 640x480 Controller nicht.
Das Adressregister ist 16bit breit, reicht also für 512k Pixel. 640x480
sind nur 300k Pixel.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Display kenne ich. Ich meine auch, ein Datenblatt davon zu haben;
das werde ich, wenn ich mich denn nicht total irre, hier heute abend
posten.

Nur soviel:
Das Flachbandkabel ist der Anschluss, und das Display ist, wie üblich,
in eine obere und untere Hälfte geteilt, die mit je 4 Bit angesteuert
werden.
Es müsste daher hervorragend zu Benedikts Ansteuerng passen.

Mehr heute abend.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Vermutung zur Anschlussbelegung (von 1-14):
FLM, LP, XSCL, 5V, GND, -15-18V, UD0-UD3, LD0-LD3

Mal schauen ob ich richtig geraten haben...

Autor: Rufus T. Firefly (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Anbei Scans meiner leider recht schlechten Kopie des Datenblatts des
LM641541, das wohl dem x42 entspricht.
Die Teile gabs vor ziemlich langer Zeit (15 Jahre her?) mal bei einem
Elektronikrestpostenhändler namens Bühler zum Spottpreis.

Habe damals davon eines an einer ISA-Graphikkarte von Dr.Berghaus (ein
anderer Name für eine Apotheke) in Betrieb genommen - funktioniert.

Heutzutage sind solche Displays zwar verhältnismäßig uninteressant,
aber man könnte, Benedikts Projektvorlage aufgreifend, daraus ja
beispielsweise eine schicke Funkuhr bauen. Oder ähnlich nützliches ...

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:
  • lcd.zip (42,9 KB, 1667 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
Hier die erste Testversion für den LCD Controller mit parallelem
Anschluss (z.B. an einen anderen uC oder an einen PC über den LPT.)

Für den Anschluss an den LPT, kommt Busy an Pin 11 (Busy), WR\ an Pin
1 (Strobe\) und C/D\ an Pin 14 (Autofeed). GND kommt an Pin 18-25

Das Kabel sollte sehr kurz sein (max. 1m), ansonsten muss man 74LS245
o.ä. dazwischen schalten, die Kabelreflektionen dämpfen usw.

Im Paket ist auch ein einfaches QBasic Programm zur Ansteuerung
enthalten. Damit lässt sich ein BMP mit 640x480 und 2 Farben laden.
Die Ladezeit beträgt < 1s, bei meinem 900MHz PC unter Win98SE waren im
Durchschnitt etwa 45kByte/s Datenrate möglich. Unter DOS über
50kByte/s.
Immerhin das 5 fache gegenüber der RS232 Variante.

Falls es jemand getestet hat, dann bitte ich um eine kleinen Kommantar,
ob die Software funktioniert oder nicht.
In den nächsten Tagen/Wochen werde ich hoffentlich eine fehlerfreie
Version mit allen Features fertig bekommen.

Autor: schwerminator (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
könntet ihr euch mal diesen thread angucken und mir sagen, ob man die
hier genannte schaltung für mein problem benutzen kann?
http://www.mikrocontroller.net/forum/read-1-206511.html

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Antwort lautet (wie fast immer):
Theoretisch ja, aber die Software muss entsprechend an das LCD
angepasst werden.
Wenn man die Ausgabe etwas optimieren möchte, dann ist in diesem Fall
noch ein Schieberegister notwendig, da dein LCD zwei Bit benötigt,
meine Software aber 8bit ausgibt.

Mit einem HD61830 oder einem T6963 wäre das ganze warscheinlich
einfacher.

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Baust du dann auch nen charter generator wie beim t6963c ein? das wäre
dann nämlcih extrem praktisch!

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kanns mal versuchen, allerdings wird dieser ziemlich langsam, denn
immerhin muss ich für ein 8x8 Zeichen 16Bytes schreiben und 16Bytes
lesen (da die Daten  als 4bit Werte gespeichert werden).

Außerdem hat man keine getrennten Bereiche für Text und Grafik, sondern
der Text überschreibt stur die Grafik (eventuell könnte man auch OR,
AND, XOR einbauen).

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier die neue Version mit Character Generator (der erstaunlich schnell
ist). Insgesamt gibt es ein paar Änderungen/Verbesserungen:

- 8x8 Character Generator, damit ist eine schnelle Textdarstellung
möglich
- leicht überarbeitete Ansteuerung (mit hoffentlich weniger Störungen,
ich hasse den LPT !!!)
- verbessertes Display Timing. Das leichte Flimmern während einer
Datenübertragung ist jetzt weg. Außerdem nimmt sich der Controller
etwas mehr Zeit indem er Busy setzt, während er mit dem LCD beschäftigt
ist.
- PWM Ausgang (OC1B auf PortE2) z.B. für Kontrastreglung per Software
einstellbar.
Damit hat der mega8515 jetzt keine freien Pins mehr.

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Respekt! Du warst ja sehr schnell!
Ich glaube ich werde mir die schaltung jetzt auch einmal aufbauen!

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt muss sich nur noch jemand finden, der eine geeignete Windows
Software (z.B. als Plugin für eines von den vielen LCD Progs) dafür
schreibt. Meine Fähigkeiten hören beim normalen C auf...
Unter Win98/DOS habe ich mir auf dem LCD schon einen (etwas ruckelnden)
Film in 320x180 angeschaut. Das lief ganz gut.

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich find die Software LCDHype sehr passend dafür, das einzige
problem ist, dass die software intern auf 320x240 beschränkt ist aber
vielleicht lässt sich das irgendwie aufbohren ... mal fragen

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe gerade mal einen kompletten Film über den LPT auf dem LCD
angeschaut, und hatte keinen einzigen Übertragungsfehler, kein
Flimmern, nichts.
Es waren durchschnittlich rund 50kByte/s, was bei 320x180 rund 6fps
macht. Das sollte eigentlich reichen. Viel schneller sind auch die
meisten normalen LCDs mit Controller am LPT nicht.

Schreibt jetzt irgendjemand dafür eine Windowssoftware, um das LCD
sinnvoll nutzen zu können ?

Und noch ein Tip:
Vergesst nie bei >8MHz CKOPT zu setzen !
Anfangs hatte ich gewaltige Probleme, immer wenn ich das Windows Logo
aufs LCD übertragen habe, kam nur Mist raus. Nach weiteren Tests
(insgesamt rund 10 Stunden !) habe ich gemerkt, dass der Fehler immer
auftrat, wenn ich helle Bildinhalte übertragen habe.
Jetzt habe ich ein StartLogo eingebaut. War diese an Zeile 10
positioniert lief alles. Bei Zeile 50 dauerte das Laden des Logos
5-30s. Bei Zeile 100 unendlich lange.
Und die ganzen, äußerst merkwürdigen Fehler, lagen alle nur an der
nicht gesetzen CKOPT Fuse !

Autor: Hannibal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Morgen,
erstmal Respekt. Son geiles Projekt. Und nun ne Frage hat mal einer von
euch son display über ???

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier fliegen 8 rum, was bietest Du denn so?

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Soeben habe ich die 100kB/s Marke geknackt !

Die Begrenzung liegt nicht am AVR, sondern am PC. Dieser muss 5 IO
Zugriffe für jeden Schreibvrogang ausführen, was sehr viel Zeit kostet.
Eventuell könnte man den ECP Modus verwenden, da der Write Impuls bei
diesem automatisch erzeugt wird. Ebenso wird selbständig Busy
abgefragt.

Hier mal ein paar aktuelle Daten:
Dauer eines Schreibvorgangs: ca 2,3us
Maximale (von mir) erreichte Datenrate: konstant 100kByte/s
100kByte/s entsprechen 2,6fps mit vollen 640x480 Pixeln Auflösung oder
0,8 MegaPixel pro Sekunde !
Das übertrifft so ziemlich die meisten LCDs die ich bisher je am LPT
gesehen habe...
Der LCD Controller benötigt ca. 50% der CPU Leistung (bei 60Hz LCD
Frequenz und 18,432MHz CPU Takt.) Es sind also noch rund 50% frei.
50%*1s/2,3us= ca. ~200kB/s (zumindest theoretisch) Bei 100kB/s ist also
noch eine ausreichende Reserve frei.

Im Anhang eine leicht überarbeitete Version des LCD Controllers
(besseres Busy Timing, dadurch schneller) und ein C Programm (Programm
+ Source) zur Ansteuerung. Damit lässt sich eine beliebige SW BMP Datei
laden. Leider läuft dieses Programm nur unter Win95/98. WinXP und
ähnlicher auf NT basierender Schrott verweigern leider den direkten
Hardware Zugriff.

Autor: Hannibal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieviel willst du? Hätte gern 2 Stück!

Autor: Hannibal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sry will E-Mail-benachrichtigung. Is kein Doppelpost.

Autor: Udo Kühnemund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,


vielen Dank für die Hilfe.

das Datenblatt von Rufus scheint zu passen. Gratuliere ein Display wäre
damit für Rufus reserviert.

Benedikt bekommt sowieso eins. (Wenn er will)

@Rufus & Bennedikt: Wenn ihr eins möchtet. Kurze email reicht.

Drei hätte ich dann noch über. Wer zuerst kommt mal zuerst.


bis denn

Autor: Hannibal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn Dieter sich nich meldet dann möcht ich zwei aber ABWARTEN.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Udo
So ein Display suche ich schon seit längerem. Die
Hintergrundbeleuchtung bei meinem stört nämlich (sowohl vom Aufwand
her, als auch elektrisch gesehen).
Die HF der CCFL Röhren stört manchmal dermaßen, dass der AVR instabil
läuft wenn der Metallrahmen nicht gut geerdet ist.

PS: Falls du irgendwelche Wünsche/Ideen für die Controllersoftware
hast, nur raus damit...

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht es eigentlich mit 320x240 LCDs aus ?
Besteht Bedarf an einem Low Cost Controller für LCDs mit 4bit Anschluss
?
Dann würde ich den 640x480 Controller ein wenig anpassen, so dass er
4bit LCDs ansteuern kann.

Autor: Ralf Kirmis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedict,

würde mich brennend interessieren.

Gruss,
Ralf

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Udo K.:
Das freut mich, daß mit meinem Datenblatt was anzufangen war. Hoffe,
daß es wenigstens halbwegs lesbar ist.
Danke für das angebotene Display ... ich verzichte dankend. Komme
derzeit zu keinen Bastelorgien und habe außerdem bereits ein zum
Datenblatt passendes Display 'rumliegen.

Von mir aus sei es Benedikt gespendet, denn der hat es mit seinem
Projekt hier wirklich verdient.

Autor: Udo Kühnemund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

@Benedikt  Dann bekommst du zwei :-)

Dann sind álle fünf weg.

Nochmals Danke

bis denn
uk

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Für alle diejenigen, die WinXP oder ähnliches haben, und nicht zu
einfach auf den LPT zugreifen können, hier die Lösung:
http://darkface.pp.se/~spleen/lsd/awkiawki/index.c...

Damit läuft auch mein kleines Beispielprogramm, das ich vor kurzem
gepostet habe.

Auf meinem 2,2GHz Rechner sind es jetzt 140kByte/s...

Ich habe auch noch ein kleines Video (in leider miserabler Qualität)
angehängt, das ein 640x400 Video auf dem LCD zeigt.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier gibt es schon wieder eine neue Version.
Diesmal habe ich horizontales Scrolling eingebaut:
Bisher wurden von den 256 Bytes die für eine Zeile reserviert waren nur
160Bytes verwendet. Die restlichen wurden nie geschrieben oder gelesen.
Jetzt kann man 250Bytes (=1000Pixel) davon beschreiben, und die
Ausgabeposition in 4 Pixel Schritten um 0-89 Werte
(=0-356Pixel)verschieben.
Das 640x480 LCD lässt sich jetzt frei in einem virtuellen 1000x480 Raum
positionieren.

Vorsicht beim Austausch durch die neue Software: Eine Zeile im Speicher
ist jetzt nicht mehr 160Bytes, sondern 250Bytes groß, daher
funktionieren einige der alten Ansteuerprogramme nicht mehr richtig.

Schön wäre auch ein vertikales Scrolling gewesen, aber dazu reicht der
Speicher nicht:
Von den 256 Zeilen werden 4 durch das interne RAM des AVRs
ausgeblendet. 2 weitere gehen duch den Overscan verloren, so dass noch
250 bleiben. Wegen 10 Zeilen ein Scrolling einbauen bringt nichts.
Außerdem ist alles aufgrund der DualScan Ausgabe nicht so einfach.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal ein uraltes Winamp Plugin ausgegraben und auf das 640x480
LCD angepasst. Was herauskam sind einige nette Visualisations, die
teilweise ziemlich ruckeln, aber trotzdem ganz nett sind. Auch ein paar
(eigentlich total nutzlose), aber trotzdem gut aussehende (z.B. in 3D)
kamen dabei heraus.
Immerhin hat man ein VGA Display nur als Winamp Plugin laufen...
Die Datei einfach ins Winamp/Plugins Verzeichnis kopieren. Es ist zwar
noch eine absolute Alpha Version, weshalb Winamp mit Sicherheit ab und
zu mal abstürzen wird, aber für den Anfang ist es ganz OK.

Hat eigentlich überhaupt schonmal jemand den Controller nachgebaut ?

Autor: Hannibal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt, ich will. Muss aber erst meine ersten AVRs bestellen.
Übernächste Woche gehts los. Und eine kloine Frage. Kann man das ganze
USB fähig machen. Linuxtreiber könnt ich dann versuchen zu progen. Als
Monitorersatz an servern wäre es schon Klasse. Oder meine Idee. Das
ganze in einen (Plexiglas-)Bilderrahmen auf dem Mann auf Lans die
Gamestates anzeigen kann.

mfg Lukes Vader

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab jetzt Ferien, und will den auch nachbauen!
USB fähig könnte man das ganze machen, indem man einen USB -> Seriell
wandler nutzt (also rs232) und dann mit nem controller (ein weiterer)
das ganze auf parallel wandelt (also nich nur parallel, sondern
parallel + steuerleitungen) der FTDI chip schafft glaub 3 mega Baud,
also sollte das reichen
Sowas hab ich schon mal für nen 240x128 t6963c LCD überdacht, und ich
bin bei einer framerate von ca 20 fps gelandet.

Autor: Hannibal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder das teil von igor wenn mans überarbeitet?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wiso so kompliziert ?
Am Anfang hatte ich anstelle des Parallelports den UART verwendet.
Wenn man den auf das maximale einstellt was der AVR schafft, dann
sollte das eigentlich reichen. Allerdings müsste man dann einen 16MHz
Quarz nehmen wegen den FT232 Baudraten, aber 100kBytes/s sind immer
noch ganz OK.
Unterstützt der FT232 hardwaremäßig CTS ?
Dann wäre das Busy Problem schonmal gelöst...
Allerdings bleibt ein Problem, weswegen ich überhaupt auf Parallel
umgestiegen bin: Wie unterscheidet man Befehle/Daten ?

Autor: Hannibal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mit FT232 wirds ja noch teuerer.

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Befehl/Daten könnte man entweder mit einer der weiteren leitungen
bewältigen, die man bei rs232 hat. oder man müsste 9 bits senden, wobei
z.b. das erste bit angibt, obs befehl oder daten ist (9 bits in einem
frame senden geht ja mit rs232)

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit RS232 ja, mit FT232 nein.
Ich hatte es anfangs mit UART und 9bits gemacht, nur ein PC kann
einfach keine 9bits, so wie der uC.
Ich habs dann auf Low Level ebene gemacht:
UART Register eingelesen, geschaut ob der Puffer leer ist, dann das
Parity Bit auf Mark/Space eingestellt (je nachdem ob Befehl oder Daten)
und dann das Byte ins UART Register geschrieben.
Vor/nach jedem Befehl war dann eine mehrere ms lange Pause angesagt.

Wenn man das mit einer zusätzlichen Leitung macht, hat man genau
dasselbe Problem, da man nie weiß wann noch Daten im UART FIFO sind.

Der FT232 unterstützt schonmal den 9bit Modus garnicht. Zumindest
dekodiert er das Parity Bit, und überträgt es garnicht erst vom/zum
PC.
Man müsste hier auch vor/nach jedem Befehl Mark/Space umschalten, aber
das ist vermutlich extrem langsam.

UART wäre mir auch viel lieber als LPT, aber es einfach sehr viel
komplizierter. Ich bin für alle Vorschläge offen, wie man das LCD sonst
noch möglichst einfach an den PC hängen kann.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich werde den Controller demhaechst nachbauen. Die Sachen sind schon
bestellt. Allerdings moechte ich das SP10Q003 von Hitachi ansteuern.
Habe auch noch ein paar davon.

Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich fürchte das mit dem SP10Q003 wird nicht so einfach gehen.
Ein 320x240 LCD könnte man noch so ohne weiteres am Controller
betreiben (auch wenn die Software nicht optimal dafür ist), aber
SP10Q003 ist ein 240x320 LCD (also 240 Pixel breit, 320 Pixel hoch). Es
wird zwar was auf dem LCD erkennbar sein, aber wirklich zu gebrauchen
ist das warscheinlich nicht.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, das ist mir klar. Ich werde natuerlich auch die Software
dementsprechend anpassen muessen.
Eine Sache ist mir noch nicht ganz klar: Wie erzeuge ich die CL1 und
CL2 Signale, aber das wird auch schon.

Alex

Autor: Björn Cremer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

endlich hab ich mal eine Seite gefunden, die auch meine, bei eBay
ersteigerten, Displays nennt. Ich bestitze die SHARP LM641541 Dinger.

Jetzt überleg ich mir, die Displays als Anzeige für Uhrzeit, Anrufe,
Netzwerkverbindungen etc. unter Linux oder Windows einzusetzen. Meine
Überlegung war, das man die Displays in jedem Raum der Wohnung hat.
Dazu wollte ich den, von C'Ts entwickelten ETHERNET 2 SERIELL Adapter
verwenden, weil ich einfach net so viele serielle Ports zur Verfügung
hab, auch denke ich, das die Letungslänge mit teilweise über 10 Metern
nicht unbedingtperfekt ist.

Jetzt wollte ich fragen, ob jemand schon für das SHarp Display ne
Ansteuerung gemacht hat, bzw. Ansteuerung seriell, mit Texteingaben und
Grafik. Meine Rechner haben leider keine Parallelen Port mehr und die
Serielle ist wegen eines Bastelfehlers meinerseits defekt.

Ich habe 7 Displays, wovon ich für meine Zwecke 4-5 bräuchte. Wer eines
zu Testzwecken haben möchte, der kann sich bei mir via eMail melden.

Dummerweise bin ich nict unbedingt der Basteltyp, habs mehr mit Basic,
würde aber versuchen, irgedetwas an Programm zu schreiben, mit dem ich
was auf dem Display ausgeben kann.


Danke für Eure Anteilnahme...


Gruß Björn

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
CL1 = LP
CL2 = XSCL

Das Datenblatt vom SP10Q003 ist schon lustig: Bei der Anschlussbelegung
heißen die Dinger CL1 und CL2, im Timing Diagramm CP und Load

Ich habe mal eine kleine Schaltung angehängt, wie man die 8bit Daten
des SRAMs bei 4bit LCDs effektiver nutzen kann.
Die Software muss allerdings ziemlich stark geändert werden.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Moment bin ich gerade dabei die Software wieder auf serielle
Schnittstelle über den UART umzuschreiben.
Die Datenrate lege ich erstmal auf 1MBit fest, was best case 100kB/s
liefern sollte.
Das ganz wird dann über einen FT232 laufen, was die Ansteuerung per PC
warscheinlich ziemlich vereinfachen wird.
Der Busy Ausgang wird Hardwaremäßig vom FT232 über CTS ausgewertet, was
für eine effektivere Datenübertragung sorgen sollte, da die Response
Zeit gegen Null geht.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier nun die erste Testversion des LCD Controllers mit USB Anschluss
über einen FT232.
Der mega8515 läuft nun mit 16MHz, um eine Baudrate von 1MBaud = 100kB/s
zu erreichen.
Das ist zwar nicht ganz so schnell wie die parallele Version, aber der
Anschluss und die Ansteuerung sind einfacher, die CPU Auslastung viel
geringer und die Übertragung sicherer.

Im Anhang die Software, Schaltbild und ein kleines Windows Programm +
Source um ein BMP zu laden.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Was bring ein LCD ohne passende Sofware, die was sinnvolles darauf
anzeigt? Nichts !

Aus diesem Grund habe ich mit Hilfe der Programmiers von LCDHype
(ViRuSTriNiTy) einen Treiber geschrieben, der das 640x480 LCD ansteuern
kann, obwohl LCDHype (http://www.lcdhype.de.vu/) eigentlich nur 320x240
unterstützt. Mit einigen Tricks geht das auch ganz gut.

Leider läuft das ganze noch recht langsam und instabil, aber das werde
ich hoffentlich bald behoben haben.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal die aktuellste USB Version mit Treiber und Beispiel für
LCDHype.

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke benedikt für diese Infos. Sehr geil. werde jetzt die restlichen
teile bestellen und dann gehts los.

danke
Kay

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo....

@Benedikt: Ich habe jetzt meine Hardware soweit zusammengeloetet. Mein
Problem ist jetzt die lcdconpar.asm zu uebersetzen.
Ich habe auch schon mal versucht die .hex datei in meinen 8515
herunterzuladen, aber ich bekommen den Fehler:
"Address: 0x0000, Expected: 0xc020, Received: 0xffff"

Jetzt meine Fragen:
1. Gibt es einen besonderen Trick um die .asm zu uebersetzen?
2. Was bedeuted diese Fehlermeldung?

Alex

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

es hat sich erledigt ->  habe den Fehler gefunden. ;-))

Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Kay, Alex1 und die anderen die den Controller nachbauen:

Gebt mal bitte einen Kommentar dazu ob, ob die Schaltung bei euch
problemlos läuft.

Ich habe jetzt 2x die USB Version und eine parallele bei mir am Laufen
und hatte eigentlich keine größeren Probleme. Zumindest hängte sich der
Controller nie auf (wenn doch wäre es auch nicht schlimm, da der
Watchdog eine Beschädigung des LCDs verhindert).
Bei der parallelen Version muss man nur etwas mit dem Ansteuertiming
aufpassen.

Autor: Kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

wenn ich den controller nachgebaut habe, werde ich auf jedenfall meine
Erfahrungen dazu schreiben.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo...

@Benedikt: Ich habe immer noch den Fehler beim Programmieren. Das
"ding" (AVRProg) meldet immer den selben Fehler!? Hmmm.....
"Address: 0x0000, Expected: 0xc020, Received: 0xffff"

Koennt ihr mir auf die spruenge helfen?

Danke
Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würd mal sagen dein Programmer programmiert nicht...

Es sollte der Wert 0xx020 drin stehen, es steht aber 0xffff = gelöscht
drin.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, klar. So weit ich weiss werden die neuen Sachen mit FF geliefert.
Wie bekommen ich das Ding zum Programmieren? Ich habe grad mal meinen
JTAG noch mal neu Programmiert. Der Progger geht.

Alex

Autor: Florian Bratschi (florian)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

wollte fragen ob noch jemand ein lcd zu verkaufen hat ...


gruss flo

Autor: Granate2000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe 2 LCD, eins kann ich abgeben. Brauche aber jemanden, der mir
die Schaltung aufbaut und den Controller proggt.

Autor: Florian Bratschi (florian)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

würde als gegenleistung die schaltung für dich aufbauen und den
Controller proggen

Autor: Björn Cremer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, wie ich schon oben geschrieben habe, hab ich auch noch mehrere von
den Displays... wenn mir jemand die schaltung aufbaut (aber bitte
seriell) dann kann er eins von diesen Displays haben...

Natürlich nur mit einer Kostenverrechnung... Ich sag nur, die Displays
waren sehr billig... und somit bekommt der Löter von mir das Geld
zurück...

bis denne Björn

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Björn

Was sind das für Displays ?
Die von Pollin ?
Hintergrundbeleuchtung ?

Autor: Björn Cremer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bestitze die SHARP LM641541 Dinger.

leider sind es nur die displays, ohne hintergrundbeleuchtung, etc. also
die reinen displays wie auch noch weiter oben abgebildet sind (einfahc
mal nach LM641514 suchen) da sind sie abgebildet...

bis denne Björn

Autor: Granate2000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Florian Bratschi
Ich habe die Sharp LM641542, also auch ohne Beleuchtung. Wäre damit
einverstanden. Kannst du USB-Bauen ?

Autor: Björn Cremer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, ich bräuchte eine funktionierende serielle ansteuerung für die
641541er...

wer mir so ein ding bauen kann, der kann von mir auch ein display
haben...

bzw. ich kann auch welche verkaufen, wenn jemand interesse daran hat.

ich selber bin, obwohl prozeßleitelektroniker gelernt, nicht in der
lage, das bauen zu übernehmen, programmieren leider auch net, hab halt
net das zeug dazu.

interesse??? info@r-byte.de

bis denne Björn

Autor: Hauke Radtki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist denn das LM641541 kompatibel zu der Schaltung? Wenn ja wäre ich
bereit die Schaltung aufzubauen.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das LM641541 funktioniert mit der Schaltung, (hier auf dem Bild sieht
man es http://www.mikrocontroller.net/attachment.php/2161...
)

Demnächst werde ich mal den FT232 durch den FT245 ersetzen.
Damit sollte eine höhere Datenrate mglich sein (theoretisch bis zu
200kByte/s.)

Autor: Ralf Kirmis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sobald hier jemand eine fertige Platine oder
ein fertiges Modul verkauft, möchte ich
schon mal bedarf anmelden für mich.
Gruss, Ralf

Autor: Tobias Schneider (tobias)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Benedikt:
Sehe ich das richtig, dass man das LCD Zeilenweise direkt und
Spaltenweise alle 8 Pixel mit dem Cursor ansprechen kann?

Gruss Tobias

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, theoretisch wäre es sogar möglich Spaltenweise alle 4 Pixel zu
adressieren, aber dazu sehe ich keinen Bedarf.

Autor: Tobias Schneider (tobias)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
jo das waere wohl auch bissel unoetig :)

Nochwas:
Write:
  in regsave, sreg
  sbrc NextOp, CD      ;Befehl oder Daten ?  (Bit gesetzt für Com, d.h.
vorhergehendes Byte war Escape)
  rjmp Comm

  cpi temp, Escape    ;Akteller Wert = Escape ?
  brne Daten        ;Wenn nein, dann Bilddaten
  sbr NextOp, 1<<CD    ;Wenn ja, dann ist nächster Wert ein Befehl ->
NextOp.Escape setzen.
  out sreg, regsave
reti

Daten:
  cpi NextOp, 0      ;Paramter oder Daten ?
  brne Next

Wenn man den Check auf Parameter vor die Erkennung eines Escapes
setzten wuerde, dann muesste man doch auch bei den Paramtetern nicht
staendig ein doppletes Escape schicken, wenn der Paramter eins ist.

Waere zwar nur ne kleine Verbesserung, aber das ist mir gerade
aufgefallen.

Gruss Tobias

Autor: Tobias Schneider (tobias)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bins nochmal :)

Wei sjemdn was das LM641541 fuer einen Stecker benoetigt, und wo man
den organisieren kann? Ich eis, dass es ein 15 poliger Folienstecker
ist, mehr aber auch nicht.

Gruss Tobias

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Kabel bei den LCDs löse ich ganz einfach:
Meist ist es ein Folienkabel mit 1,27mm Raster.
Das einfach auslöten und stattdesse ein normales Flachbandkabel dran,
das auf der anderen Seite einen 14 oder 16 poligen Stecker
aufgequetscht bekommt.

Das mit dem Escape bei den Parametern verstehe ich nicht so ganz...
Escape -> nächstes Byte ein Befehl
Escape, Escape -> Datenwert/Parameter mit dem Wert Escape
Doppeltes Escape wird nur gesendet, wenn der Datenwert den Wert Escape
hat.

Autor: Tobias Schneider (tobias)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
jo das mit dem Flachband ist ne gute Idee.

Zu dem Escape:
Wenn der Paramter den Wert Escape hat wird ja zuerst in die Comm
Routine und dann in die Datenroutine gesprungen. Danach wird dann
nochmal ueberprueft, ob es sich um einen Paramter handelt. Wenn man
einfach gleich, noch vor der Escape abfrage, ueebrpruft, ob es sich um
einen Paramter handelt kann mal ja gleich in die next Routine springen
und erspaart sich die zwei anderen Spruenge und Vergliche. Praktisch
also das:

Write:
  in regsave, sreg
  sbrc NextOp, CD      ;Befehl oder Daten ?  (Bit gesetzt für Com, d.h.
vorhergehendes Byte war Escape)
  rjmp Comm

  cpi NextOp, 0      ;Paramter oder Daten ?
  brne Next

  cpi temp, Escape    ;Akteller Wert = Escape ?
  brne Daten        ;Wenn nein, dann Bilddaten
  sbr NextOp, 1<<CD    ;Wenn ja, dann ist nächster Wert ein Befehl ->
NextOp.Escape setzen.
  out sreg, regsave
reti

;*** Bearbeitung der Daten  ***

Daten:
  sbi portd, XSCL      ;Datenverbindung zum LCD unterbrechen

Jezt kann man einen Paramter, der den Wert Escape hat auch direkt als
Escape senden.

Bitte sag mir, wenn ich einen Denkfehler hab :)


Gruss Tobias

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
OK, jetzt habe ich das verstanden.

Wäre machbar, würde vermutlich so ca. 1us sparen, aber das würde
insgesamt nicht viel beschleunigen, denn es bringt nur was wenn der
Wert Escape als Parameter gesendet wird, und das passiert im Vergleich
zu den Daten relativ selten.
Ich könnte es ändern, aber es würde eben nicht viel bringen.

So gilt für alles (ohne Ausnahme): Escape=Beginn eines Befehls, 2x
Escape=Wert Escape.

Viel mehr Geschwindigkeit könnte man über eine ordentliche Windows USB
Programmierung rausholen.
Da im parallelen Modus über 150kByte/s möglich sind, über USB aber nur
etwa 60-70kByte, liegt es nicht am AVR, dass die Daten so langsam
übertragen werden.

Ich habe das ganze mal von seriell mittels FT232 auf FT245
umgeschrieben.
Dies hat den Vorteil, dass der uC selbst bestimmen kann wann er Daten
bekommen möchte. Deshalb ist das ganze etwas schneller, verursacht
weniger Fehler und liefert absolut kein Flimmern mehr auf dem LCD, da
nun keine Interrupts mehr verwendet werden.
Von der Windows Softwar her ist das ganze kompatibel zur seriellen
FT232 Version.

Autor: Tobias Schneider (tobias)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Benedikt: Interpretiere ich deine Schaltung so korrekt:

D7 = LD0
...
D4 = LD3
D3 = UD0
...
D0 = UD3

Wie werden denn S,CP1 und CP2 des LM641541 auf XSCL,FLM und LP deiner
Schaltung abgebildet?

Kann man als Diode D1 am MC34063 eine Standarddiode einsetzen?

Schonmal vielen Dank :)

Gruss Tobias

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PA0=LD0
PA1=LD1
PA2=LD2
PA3=LD3
PA4=UD0
PA5=UD1
PA6=UD2
PA7=UD3
Wenn eine dieser Leitungen verdreht ist, sieht das Bild etwas
zerstückelt aus...

XSCL=CP2
LP=CP1
FLM=S

Die Diode D1 sollte schnell sein, also keine 1N400x usw. sondern eine
Fast/Ultra Fast Switching Diode oder nahezu jede beliebige (kleine)
Schottky Diode wie BATxx

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
@Benedikt: Ich habe jetzt alles so weit laufen (ich meine meine
Hardware). Ein Problem habe ich trotzdem noch: Das Display SP10Q003 hat
ein Signal M (Switch signal to convert liquid). Ist das das invertierte
FLM?

Ich habe die Hardware erstmal ohne die Optimierung von 8 Bits auf 4
Bits, d.h. ich habe den 7474 und 74157 nicht in die Schaltung genommen,
sondern nur die oberen 4 Datenbits angeschlossen.

Momentan versuche ich durch Deinen Code zu steigen (ueber die parallele
Schnittstelle). Ganz so ist mit das nicht klar ;-((

Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
M oder auch AC Drive genannt ist einfach eine Rechteckspannung im
Bereich von 50-500Hz (hier am besten so um die 100Hz nehmen) mit exakt
(und ich meine wirklich exakt) 50% Tastverhältnis. Entweder schreibst
du den PWM Ausgang für die Kontrastregelung auf den CTC Modus mit
Toogle Pin at TC um, damit an dem Pin eine entsprechende Frequenz
ausgegeben wird, oder du nimmt einem 4060 und benutzt einen der
Teilerausgänge, denn hier hat man immer genau 50% Tastverhältnis.

Die Software ist ziemlich stark kaputt optimiert, vor allem da von UART
mit 9bit auf parallel mit 9bit (LPT), von parallel auf UART mit 8bit
(FT232) und von UART mit 8bit auf parallel mit 8bit (FT245) umgestellt
wurde...

Wenn du den Code nicht verstehst, beschreib mal genau die Stelle an der
es hängt.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt: Danke fuer die Infos.

Es ist lange her, dass ich Assembler gemacht habe, d.h. ich brauche
auch etwas laenger um wieder reinzukommen.
Ich werde mich dann melden. Danke.

Alex

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt: Zuerst Gratualtion zu diesem Projekt und der Umsetzung!!!

Und hier schon meine Fragen:

ist es möglich den Source von lcdcon_ft245.asm so zu ändern um damit
ein 640*400 Pixel Display ansteuern zu können?

Und kann man lcdhype auch an 640*400 anpassen?

mfg
Michi

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu beiden Fragen:
Ja.
Beim uC Code braucht man ganz am Anfang bei den Definitionen nur die
Zeilenanzahl von 240 auf 200 zu reduzieren.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Endlich kam ich mal dazu, das zu machen, was ich schon von Anfang an vor
hatte: Ein 640x480 Farb LCD anzusteuern.
Die Schaltung ist etwas aufwendiger (insgesamt 2x 64kB SRAM notwendig),
und die Ladezeiten für die Bilder sind etwas höher, aber es
funktioniert...

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hehe cool
Aber ich werd jetzt erst mal die OLEDs testen, mal schaun, was die so
draufhaben :)

Autor: Björn Cremer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

kennt jemand eine website, wo mal displays güstigst erstehen kann???

mich persönlich interessieren die farbdisplays extrem, sieht halt
besser aus, wenn man die lastanzeige des servers farbig gestallten
kann...

und welche displays funzen allgemein an der ansteuerung???


gruß Björn

Autor: Joachim Reiter (fossie_baer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich wollte mal fragen wo man schnelle RAM-Bausteine für die Schaltung
herbekommt. Reichelt hat nur 70ns Bausteine im Programm und Benedikt
schrieb am 3.3. dass es mit 55ns schon eng würde. Hat jemand eine
Bezugsquelle oder klappt es auch mit den 70ns-Bausteinen. Und wenn
möglich sollte es nur ein Baustein sein, also >=64kB.

Für eine Info wäre ich dankbar.

mfg.
    Joachim

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hauke Radtki
Falls wir die OLEDs jemals bekommen...
Verdammt billig sind die auf jedenfall. Ich kenne Preise von anderen
OLEDs, und die liegen deutlich über den normalen Ladenpreisen von LCDs
(und ich meine nicht jetzt die von Ebay und Co).
Ich bin gerade mal am Anfragen, ob LCDHype auch Farbdisplays
unterstützt.

@Björn Cremer
Alte (486er, P1) Notebooks oder Ebay. Aber erst Datenblatt suchen, dann
kaufen...

@Joachim Reiter
Getestet habe ich den Controller mit 25ns RAMs und HCMOS ICs. Verwendet
man ACMOS fürs Latch und den HC02, dann kann das RAM etwas langsamer
sein.
Wenn man Waitstates einfügt, dann sollte auch ein 70ns RAM
funktionieren. Ich werde das alles nochmal genau durchrechnen, aber
sollte gehen.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, hab das SRAM Timing mal durchgerechnet:
Bei 18,432MHz ohne Waitstate muss das SRAM eine Zugriffszeit von
maximal 35ns haben.
Die Zeit zwischen OE\ auf Low bis zu den gültigen Daten muss bei 0ns
liegen (aber auch wenn das SRAM 10ns hat, funktioniert es normalerweise
noch, die Angaben sind eben alle Worst Case und theoretisch). Wenn die
Leitungskapazitäten der RD\ und WR\ Leitungen klein sein, dann sollte
es keine Probleme geben.
Mit einem Waitstate muss das SRAM schneller als 90ns sein, die OE\ Low
bis gültige Daten Zeit muss bei <55ns liegen. Das sollte eigentlich
jedes normale 70ns SRAM schaffen.

Autor: Joachim Reiter (fossie_baer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm,
das heisst, wenn ich ohne Waitstates arbeiten will, muss ich sehen dass
ich alte PC-Boards mit Cache-RAM finde und ausschlachte. Oder gibts die
irgendwo noch zu humanen Preisen zu kaufen?
Ansonsten werde ich mir wohl bei Segor ein 128k 55ns-RAM besorgen. Dann
bin ich auch für die Farbversion gerüstet. Bei meinen guten Verbindungen
zu Murphy wird das bei 70ns bei mir eh nix :-).

Danke schonmal für die Info, wenns dann nicht klappt hab ich wenigstens
jemandem über den ich fluchen kann bis ich meinen Fehler gefunden habe
;-).

mfg.
      Joachim

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ansonsten werde ich mir wohl bei Segor ein 128k 55ns-RAM besorgen.
>Dann bin ich auch für die Farbversion gerüstet.

Leider nein.
Die Schaltung der Farbversion ist leicht anderst aufgebaut, da ein Farb
LCD mit 640x480 nicht 2x 4bit sondern 2x8bit braucht.
Das müsste dann schon ein 64kx16bit SRAM sein.

Falls nur 32kB SRAMs vorhanden sind, kann man zwei Stück aufeinander
löten, nur der CE\ Pin wird bei beiden getrennt angeschlossen. Das
erspart viele Lötarbeiten.

Bis die Farb Version fertig ist, wird es noch eine Weile dauern.
Auch die Ladezeiten sind etwas höher als bei der SW Version, da
immerhin die 3 fache Datenmenge benötigt wird. Außerdem ist der
Controller stärker ausgelastet, da mehr Daten zum LCD übertragen werden
müssen (rund 7MByte/s)

In meinem Testaufbau befinden sich im Moment 512kByte RAM, damit sind
theoretisch 4096 Farben möglich, aber das schafft ein AVR nicht, daher
lasse ich das Display im nur mit 64 Farben laufen. Ist aber nur eine
Spielerei und nicht praxistauglich. Die fertige Version wird nur 8
Farben haben.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt:

Was für ein Farbdisplay ist das genau, das Du angesteuert hast und wo
hast Du das gekauft?

Gruß
Michael

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das LCD ist ein LM-CA22-NSK
"Gekauft" habe ich es aus einem 486er Notebook...
Theoretisch sind aber alle passiven (kein TFT) Farb LCDs mit 640x480
kompatibel.
Ein Datenblatt zu dem Ding habe ich nicht, nur die Anschlussbelegung
und die Spannunsgwandlerplatine, aber das reicht auch aus.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrektur: LM-CA53-22NSK

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Gestern Abend habe ich mir Zeit genommen und meinen ersten Entwurf des
Farb LCD Controllers (mit 4x32kB SRAM) aufgebaut. So kurz nach
Mitternach war ich dann endlich fertig. Ein 16bit SRAM würde eine Menge
Adressleitungen sparen.

Bisher erste Messergebnisse:
Bei 60Hz Displayfrequenz benötigt die Ausgabe etwa 75% Rechenleistung
(im Vergleich dazu waren es etwa 55% bei dem SW LCD).

Die Schaltung ist noch nicht entgültig, und soll nur zeigen, dass die
Ansteuerung um einiges aufwendiger ist als bei einem SW LCD.

Autor: Hannibal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also nur mal als tip. Bei Conrad haben die 15ms SRAMs.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Der Farb LCD Controller funktioniert besser als ich gedacht hätte (ich
hatte nur einen kleinen Fehler im Schaltplan).
In den nächsten Tagen werde ich dann die erste Testversion des
Schaltplans und der Software fertig haben.

PS: Hat jemand ein komplettes Datenblatt eines 640x480 passiven Farb
LCDs (kein TFT) ? Vor allem das Ansteuertiming ist wichtig.
Mein LCD scheint ein ziemlich langsames Timing zu benötigen, damit es
läuft. Leider habe ich kein einziges wirklich brauchbares Datenblatt zu
einem 640x480 Farb LCD.

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab auch noch nen Display aus nem alten laptop ... nur leider find
ich wirklich nichts mehr als irgendwelche Firmen, die die dinger
verscheuern (second hand) und ich hab auch keine belegung dazu :( aber
ich bin mir nich ma sihcer obs passiv ist.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> PS: Hat jemand ein komplettes Datenblatt eines 640x480 passiven Farb
> LCDs (kein TFT) ? Vor allem das Ansteuertiming ist wichtig.


Hier gibt's ein Datenblatt des LM64C12 von Sharp, 640x480 passiv RGB:
http://www.woe.onlinehome.de/lcddata.htm

Gruß
Michael

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Michael
Danke. Da finden sich ja einige Daten.

Mein LCD scheint also wirklich ein Exot zu sein:
Das LP (=CP1) Signal muss bei diesem mindestens 1000ns breit sein damit
überhaupt ein Bild kommt, bei allen anderen die ich kenne reichen
100-300ns.

Autor: Hannibal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat einer von euch mal einen Tipp welches Ebay Schläpptop sich eignet.

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt,

danke für deine Info bezüglich 640x400!!
Ich habe mir mal ein Print gefräst und bestückt(passend zu
lcdcon_ft245.asm) und dein Assemblerfile kompiliert und hinein
gespielt. Dabei ist mir aufgefallen dass
.equ YScan= YMin+YSize+YOScan
zu einem Zeitpunkt definiert wird an dem Ymin noch nicht bekannt ist.
Meine Tool Chain hat das gar nicht gerne!! Nun gut das habe ich
umgestellt damit es passt. Danach stimmt aber die Framerate nicht mehr.
Zumindestens flackert das Display und das sollte bei 60HZ nicht mehr
sein.

- Als SRAM verwende ich ein W24512AK-15 leider habe ich aber kein
74AC02 sondern nur ein 74LS02 bekommen, kann es sein das es zu langasm
ist denn am Display tauchen hin und wieder einzelen Punkte auf?

- Hättest du die Möglichkeit den LCD Hype Treiber auch auf 640x400
anzupassen oder ist der Aufwand zu hoch?

- kannst du bitte ein Bild von dem Startup Logo posten (beim mir sieht
das (c) by Benedikt verstümmelt aus als ob Teile davon um 1 Pixel nach
oben verschoben sind)

lg Michi

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem YScan ist mir auch aufgefallen, als ich die Software aufs
Farb LCD umgeschrieben habe. Komisch, dass der Assembler da nicht
gemeckert hat.
Hier die Werte für 640x400:
.equ XSize  =160        ;Bildgröße in X Richtung in Nibbles
.equ YSize  =200        ;Bildgröße in Y Richtung pro Halbbild

.equ XOScan  =0          ;Anzahl der zusätzlich auszugebenden Nibbles in 
X
Richtung
.equ YOScan  =2          ;Anzahl der zusätzlich auszugebenden Zielen in 
Y
Richtung (muss >=2 sein, sonst geht z.B. das Pollin LCD kaputt !)

.equ XMax  =250        ;Maximale Speicheradresse in XRichtung

.equ YMin  =4          ;Minimale Speicheradresse in Y Richtung
.equ YMax  =YMin+YSize      ;Maximale Speicheradresse in Y Richtung

.equ YScan  =YMin+YSize+YOScan  ;Endadresse bei der Bildausgabe in Y
Richtung

Den W24512 benutze ich auch, zusammen mit 74HC02 und 74HC573. Läuft
problemlos.

Wenn das Logo zerstückelt ist, Teile doppelt sind oder fehlen, dann
sind Daten/Adressleitungen vertauscht oder kurzgeschlossen.

Den LCDHype Treiber werde ich umschreiben.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michi
Was brauchst du für eine Version des LCDHype Treibers ?
FT232 oder FT245 ?

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt
danke für deine rasche Antwort ich habs mit dem FT245 aufgebaut.
Mir ist soeben aufgefallen dass das Startuplogo in der zweite Hälfte
also 201-400 nichts abbildet (wenn YPos=190 sehe ich nur den obersten
Tei der Grafik bei YPos=90 sehe ich alles). 1-200 geht Problemlos (Pins
LD0-LD3 auf +5V gehängt untere Displayhälfte wird angesteuert also am
Display liegt es mal nicht) Beim SRAm habe ich CS1/ auf Masse und CS2
auf +5V gehängt das sollte doch laut Datenblatt ok sein.

mfg
Michi

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier der LCDHype Treiber für 640x480.

Es ist merkwürdig, wenn die obere Displayhälfte funktioniert, nicht
aber die untere, da ja beide Daten aus demselben Speicher kommen.
Ich habe das Programm nochmal durchgeschaut, aber eigentlich nichts
gefunden das für ein 640x400 LCD außer dem YSize geändert werden
müsste.

Autor: Michi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Danke für den LCDHype Treiber!!!!!!!!

Ich habe mir mal den code von lcdcon_ft245.asm durchgesehen und wenn
ich alles richtig verstanden habe ist es gar nicht möglich das
Startuplogo in der unteren Bildschirmhälfte anzuzeigen oder habe ich
etwas nicht korrekt verstanden!!!

Den Fehler warum das Logo bei mir verstümmelt war habe ich gefunden!
Da ich den Print Doppelseitig gefräst habe mußte ich
Durchkontaktierungen machen dummer weise habe ich eine bei A8 vom SRAM
übersehen (na ja kann mal passieren, sollte aber nicht). Nun sieht
alles perfekt aus. Leider habe ich das mit LCDHype noch nicht
hinbekommen. welche Windowsporteinstellungen benötigt die Serielle (bei
mir COM5).
Das Skript habe ich auf 640x200 angepasst.

mfg
Michi

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>wenn ich alles richtig verstanden habe ist es gar nicht möglich das
Startuplogo in der unteren Bildschirmhälfte anzuzeigen

Wiso sollte das nicht möglich sein ?
(Es kann auch gut sein, dass ich meine eigene Software nicht mehr
verstehe, daher beschreib das bitte mal.)

Eigentlich braucht man in Windows nichts zu verstellen.
Passiert den irgendwas auf dem LCD, wenn LCDHype läuft ?

Erscheint das Bild korrekt in der Vorschau von LCD Hype (in der
Titelleiste das Symbol rechts neben dem Fragezeichen) ?

Öffne mal den COM Port mit irgendeinem anderen Programm. Das sollte
gehen. Schließe ihn dann, starte LCDHype und öffne den COM Port erneut.
Jetzt sollte ein Fehler kommen.

Autor: mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Tolle Beiträge!!

Ev. kann mir jemand helfen??

Habe ein Sharp lm64p701 finde aber keine Pinbelegung im WEB und dabei
war eine Beschreibung vom lm64p70( hier ist nur von 14 Pin's die Rede
ich habe am LCD aber 20 Pin's)

Danke Mario

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Einige werden beim nachbauen der Schaltung warscheinlich auf das Problem
stoßen, dass der Spannungswandler nicht die gewünschten -20V liefert,
bzw. das nur mit einem sehr schlechten Wirkungsgrad macht.
Der Fehler liegt fast immer in der Wahl der Spule.
Leider gibt es bei Reichelt, Conrad usw. keine passenden Spulen.

Wenn man die Werte für den MC34063 nachrechnet (und auch die ganzen
Verluste am Schalttransistor, Spule, Diode usw. berücksichtigt), dann
kommt man schnell auf ein ton/(ton + toff) Verhältnis von >0,8. Laut
Datenblatt darf der Wert bei max. 0,857 liegen. Um -20V aus 5V zu
erzeugen, muss das IC daher ziemlich an der Grenze des möglichen
arbeiten, weshalb die Bauteile nicht unkritisch sind.

Der Wert der Spule sollte zwischen 330uH und 1mH liegen, der Widerstand
sollte nicht größer als 1 Ohm sein. Damit fallen schonmal die meisten
Spulen weg, und es bleiben nur wenige übrig.
Der Aufdruck für 330uH lautet 331, der für 1mH 102.

Hier mal ein paar Spulen:
1 und 4: Meist als LC Tiefpass Filter einem Schaltnetzteil
nachgeschaltet. Wenn entsprechende Induktivitätswerte verfügbar sind,
können diese geeignet sein.
2: Meist in Schwingkreisen oder auch als Filter für Schaltnetzteile
verwendet. Wenn die Induktivität und der Widerstand passen, ist das
eine gute Wahl.
3 "Stehende Festinduktivität" von Reichelt. Getestet habe ich 330uH,
470uH und 1mH. Der Wirkungsgrad ist schlechter als bei Spule 4 mit
330uH. Die 1mH Version hat einen viel zu hohen Widerstand, weshalb nur
die 330uH Spule übrig bleibt. Diese Spule nur zur Not verwenden, wenn
sonst wirklich nichts da ist.
5: Miniatur Festinduktivitäten: Vergesst die Idee sofort wieder. Die
Spulen sind zwar klein und billig, aber das waren auch schon die
Vorteile. Für Spannungswandler höchsten bis -5V (z.B. 128x64 LCDs)
einsetzbar.

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

sorry!!!!! ich wollte dir nicht zu nahe treten. Leider habe ich nicht
viel Erfahrung mit dem ATMega Befehlssatz:
Ich schreibe mal wie ich das verstehe:

;**************Hier wird das Logo geladen
ldi ZL, low(2*BMP)
ldi ZH, high(2*BMP)

clr Flags

ldi r22, 48        ;Logo laden (Größe 240*48 = 30*48Bytes)
ldi XH, ZStart+YPos-1
;**************und ab hier in einer Schleife ins SRAM geschrieben
YLoop:
  ldi r23, 30
  ldi XL, XPos/4
  inc XH
XLoop:
    lpm temp, Z+
;**************Writebyte übernimmt das schreiben ins SRAM und ob die
Pixel oben oder unten stehen entscheidet doch das Flag ZeileH das
bleibt hier aber immer gelöscht
                rcall Writebyte
    dec r23
    brne XLoop
  dec r22
  brne YLoop

Füge ich vor rcall Writebyte, sbr Flags, (1<<ZeileH) ein wird das Bild
wie erwartet in der unteren Bildschirmhälfte angezeigt.

LCDHype bringt leider nur wirre Muster auf das Display die sich ca.
alle Sekunden von oben nach unten etwas anders aufbauen. Dürfte ich dir
mein Projekt zusenden eventuell habe ich einen Fehler im Schaltplan

mfG
Michi

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>sorry!!!!! ich wollte dir nicht zu nahe treten.
Bist du auch nicht, daher schrieb ich ja, du sollst das etwas genauer
erklären, denn mein Code ist mittlerweile so unübersichtlich geworden,
dass ich selbst auf meine Kommentare angewiesen bin.

Und natürlich hast du auch gleich noch einen Fehler in meinem Programm
gefunden. Mist.
Die Routine zum Logo laden ist leicht vereinfacht, und berücksichtigt
nicht den Übergang von oberer auf untere Bildhälfte.
Daher sollte man das Logo so platzieren, dass es nicht genau in der
Mitte ist.

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Daher sollte man das Logo so platzieren, dass es nicht genau in der
Mitte ist.

besser nur in der oberen Hälfte (YPos<=Ysize-LYSize) ;-)

So da die Displayansteuerung jetzt zu funktionieren scheint muß ich nur
noch den Fehler beim FT245 finden. Wenn ich das richtig verstehe muß ich
über die serielle nur dezimal 14 und dezimal 11 senden dann sollte dein
Program das Display löschen. Oder habe ich das Protokoll falsch
verstanden?

mfG
Michi

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit 14, 11 sollte das LCD gelöscht werden: 14 ist der Escape Code der
den Beginn eines Befehls einleitet, und 11 löscht das LCD dann.

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So nun geht bei mir auch alles.
War ein timing Problem mit dem FT245BM
nach dem ich noch ein NOP in die Write Funktion eingefügt habe
funktionierte alles auf anhieb  :-)

Write:
  cbi portd, RD     ;Byte lesen
  nop
  nop                ;zusätliches warten

danke für deine Unterstützung und Geduld!!!!!!!

mfG Michi

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es freud mich, dass es geht.
Das ist die erste Rückmeldung, von jemandem der die Schaltung
nachgebaut hat.

Das zusätzliche nop werde ich gleich mal einfügen.
Ich habe leider noch keinen FT245, sondern habe es nur mit einem FT232
+ AVR der einen FT245 emuliert ausprobiert.

Laut Datenblatt hätte vom Timing her ein nop ausreichen müssen, aber
ein zusätzliches nop beeinflusst die Geschwindigkeit kaum, daher stört
ein weiterer Takt auch nicht, solange es hilft die Stabilität derr
Software zu verbessern.

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich werde mein eagle file noch etwas nachfeilen und dann morgen posten

mfg
michi

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal die bereinigte Version für FT245:
- Ein weiteres nop wurde eingefügt, damit es keine Timingprobleme mit
dem FT245 mehr gibt.
- Beim Laden des Logos wurde ein Überlauf über die Bildhälfte
berücksichtigt. Das Logo kann jetzt überall positioniert werden und
wird korrekt dargestellt.
Demnächst stelle ich hier noch ein Programm rein, das aus einer BMP
Datei die Hex Daten für das Logo erzeugt, damit jeder sein eigenes
Startlogo einbauen kann.

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie versprochen hier die Eaglefiles und Datenblätter.
Nochmals Danke an Benedikt!!!!

mfG
Michi

Autor: Michi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hoppala.. Dateianhang war größer als 1MB
aber jetzt sollte es funktionieren

Autor: Michi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
mir ist ein kleines hoppala passiert.
Die Spule L1 muß 470µH haben sonst wird der TL497 ausserhalb seiner
Spec betrieben 100µH hatte ich da und deshalb habe ich den Wert dummer
weise in die Eaglefiles eingetragen und dann auch noch falsch im
Textfile erklärt. panik :-(
Also bitte berücksichtigen 470µH für L1 oder hier AVR_LCDv2.zip
runterladen.

mfg
michi

Autor: Joachim Reiter (fossie_baer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine kleine Frage hätte ich mal wegen der Erzeugung der negativen
Hilfsspannung. Ich habe hier noch DC/DC-Wandler von Reichelt mit 5V
bzw. 12V auf 24V liegen. Da die Ausgänge imho galvanisch getrennt sind,
müssten sich die doch einsetzen lassen und würden das Layout erheblich
vereinfachen mit Ihren 4 Pins. Und mit 5,10Euronen sind die ja nicht
allzu teuer.

mfg.
    Joachim

Autor: Granate2000 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sollte funktionieren. Ich habe ein LCD-Display mit T6963C
Controller, welches ca. -15V Kontrastspannung braucht. Dafür hab ich 2
DC-Wandler 5V -> 9V, welche auf alten BNC-Netzwerkkarten zu finden sind
in reihe geschaltet. So hab ich 18V, + an Masse geklemmt und fertig
waren -18V

Gruß David

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn man nur 100µH für L1 hat, kann man den C13 820pF groß machen dann
passt wieder alles.

Natürlich kann man alle benötigten Spannungen mit galvanisch getrennten
Reglern realisieren. (hatte ich nur leider nicht! wodurch das Layout
wirklich nicht vereinfacht wurde).

mfG
Gerald

Autor: Alex1 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo...

@Benedikt: Jetzt bin ich so weit, und brauche Hilfe. Ich habe jetzt ein
bischen rumgebastelt und komme nicht zum Ziehl.
Angehaengt habe ich meine Datei. Geaendert habe ich nur im Prinzip die
DataOut-"Routine". Koenntest Du Dir das mal anschauen?

Alle anderen natuerlich auch.
Mein Display ist das SP10Q003. Das Datenblatt ist weiter oben
angehaengt. Ich habe die oberen 4 Datenbits des RAMs an die
DatenLeitung des Displays angeschlossen, deswegen wird "nur" 60*
gelesen.

Danke
Alex

Autor: Udo Kühnemund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe ein echtes Problem die richtigen Spulen zu bekommen.

Wer liefert den sowas ?  Reichelt hat nur die Spulen mit 1,2 Ohm
Widerstand.

Danke
uk


PS. Ist der Tl947 die bessere Wahl ?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ist der Tl947 die bessere Wahl ?

Vermutlich ja, der soll nicht so kritisch bei der Wahl der Spule sein
(kleiner Spulen möglich -> niedrigerer Widerstand)

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ist der Tl947 die bessere Wahl ?

ich schließe mich Benedikts Meinung absolut an
der TL497 ist wirklich nur eine Notlösung da ich nichts anderes hatte.
Das Ding hat auch, in dieser Konfiguration, einen sehr bescheidenen
Wirkungsgrad und dient hier schon fast als Heizung. Die Idee von
Granate2000 (etwas weiter oben) ist wohl die beste wenn man zwei alte
Netzwerkkarten hat. Mein Display benötigt zwar laut Datenblatt -22.5V
aber es geht auch mit -18V wenn man die Kontrastspannung anpasst.

mfg
Michi

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Alex1

Ich habe mal versucht deine Änderungen nachzuvollziehen, bin aber nicht
besonders weit gekommen.
So wie du die Datenausgabe umgeschrieben hast, sieht es aber nicht so
aus, als wenn die funktionieren würde.
Wie hast du den Speicher angeordnet ? Packst du 2 LCD Zeilen in ein
256Byte RAM Zeile ?

Welche Bedeutung haben folgende Variablen ?
.def L_COL      = r21
.def H_COL      = r22
.def COL        = r23
.def TmpCount   = r24

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt:
Der Speicher kann ruhig linear hintereinander lieden, d.h. ich dachte
mir das so, dass die ersten 60 Bytes eine Spalte sind (immer die oberen
4 Bits), direkt danach liegen dann die naechsten 60 Bytes (Spalte 2),
usw..
- L_COL soll das lower byte der Spaltenanzahl sein.
- H_COL das higher.
- COL ist eine temp variable, die dazu benutzt wird, eine "1" auf
L_COL zu addieren. Nach dieser Addition wird COL= 0 und danach ein adc
H_COL, COL gemacht. Das haette die auswirkung, dass wenn nach einer
Addition von L_COL mit "1" ein Carry gesetzt wird, dieser Uebertrag
nach H_COL geht. Somit ensteht ein "16 bit register". Wenn das ganze
jetzt den Wert 320 erreicht hat, wird alles wieder zurueckgesetzt (inc.
Addressen) und es kann ein neuer Bildschirmaufbau beginnen.
- TmpCount dient nur dazu, bis 60 zu zaehlen um dann das Load Signal zu
generieren.

Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Alex1
Möchtest du die LPT Version, oder die FT245 Version ?

Dann schreibe ich eine von den beiden neueren Versionen um, denn die
besitzen Scrolling was sich bei diesem Display auch lohnt (4 Bilder
nbeneinander darstellbar).

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo...

@Benedikt: ich brauche eigentlich die LPT Version. Die Andere wuerde
ich versuchen selbst zu durchschauen.
Ich weiss auch nicht wie aktuell die oben angehaengten Versionen sind.
Ich habe noch ein anderes Display. Ich wollte auch noch die aktuellen
Versionen der 8 Bit Loesungen (lpt und ft).
Koenntest Du mir diese auch zusenden?
alexander(dot)hordt(at)arcor(dot)de

Danke.
PS: Ich habe gestern auch noch ein bischen herumgebastelt. habe die
routine wieder komplett umgeschrieben, da ich gemerkt hatte, dass
einiges nicht stimmte. Irgendwie werde ich das Gefuehl nicht los, dass
das alles viel schneller gehen muss. Korrigiere mich wenn ich falsch
liege: wenn mann 26 µs als Zeile annimmt-> 26µs/60 ein Takt (4 Bit).
Das waeren dann etwa 2,3 MHz. Hat man jetzt fuer die ganze Ausgabe nur
etwa 8 Zyklen? Oder wie rechnet man?

Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich schreibe gerade die FT245 Version (da dies die aktuellste ist, bei
der ich alles allgemein gehalten habe mit Angabe der ganzen Parameter
wie Auflösung am Anfang des Programms mit .equ) auf 4bit um, um ein
singlescan LCD mit bis zu 1000x250 Pixeln ansteuern zu können.
Dazu passe ich gerade meine Hardware an. Irgendwann heute Nachmittag
wird diese Version dann fertig sein.
Dann werde ich diese noch auf dein eigenartiges LCD anpassen, indem ich
jede Spalte in der Mitte teile um LCDs mit bis zu 500x500 Pixeln
ansteuern zu können.
Wenn die bei dir läuft, kann ich auch noch die LPT Version schreiben.

Zum Timing:
Sagen wir mal du möchtest das LCD mit 75Hz ansteuern (so wie es auch im
Datenblatt empfohlen wird), dann müssen 75*322=24150 Zeilen/s übertragen
werden. Das macht 41,4us pro Zeile.
Pro Zeile müssen 60-64Nibbles übertragen werden. Das macht insgesamt
etwa 1,5MHz. Möglich sind rund 4MHz bei >16Mhz Taktfrequenz.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist die erste Version für Singlescan LCDs. Mit meinem 320x240 LCD
lief die wunderbar.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier die Schaltung dafür.
Es wird immer abwechselnd das High/Low Nibble ausgegeben, was die ganze
Datenübertragung vereinfacht, da man die 8bit Werte nun einfach so ins
SRAM schreiben kann.
In der Schaltung ist der Anschluss eines 32kB SRAMs gezeigt. Bei einem
64kB SRAM wird A7 (Q8 des 74x573) zusätzlich noch angeschlossen.
Theoretisch lassen sich problemlos 25fps erreichen, wenn der FT245 das
mitmacht.
Außerdem könnte man auch Graustufen einbauen, da nun genügend Speicher
zur Verfügung steht.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Der Graustufenmodus war einfacher als ich dachte.
Per Befehl kann man zwischen SW mit einer virtuellen Bildgröße von
1000*250 Pixeln auf 4 Graustufen mit einer virtuellen Bildgröße von
500*250 Pixeln umschalten.
Die beiden Helligkeitsstufen müssen wie beim SED1330 in zwei getrennte
Adressbereiche geladen werden. Es ist eben nur ein nettes
Zusatzfeature...

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Alex1

Hier gibt es mal die 240x320 Version (allerdings mit FT245 Interface)
für dich.
Das ganze ist im Prinzip die Graustufenversion (bei der zwei Bilder
abwechselnd dargestellt werden) so umgebaut, dass die beiden Bilder
aneinander hängen, so dass sich 500x500 Pixel darstellen lassen.
Leider konnte ich das nicht wirklich testen, bei meinem 320x240 LCD
kommt ein Bild mit schlechtem Kontrast, und die Frequenz passen auch,
so dass es eigentlich funktionieren müsste.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

Danke.
Wird den beim Start ohne etwas am ft245 dran etwas angezeigt? das
Logo?

Wenn nicht, dann muss ich mir erstmal einen ft245 besorgen.
Bis heute abend
Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das Logo sollte erscheinen.

Ich werde zukünftig nur noch die FT245 Versionen aktualisieren, da
alles andere zu viel Arbeit macht. Mit einem 74HC574 und einem 74HC74
kann man diese Version aber auch für den LPT auslegen. Der HC574 dient
dann zusammen mit dem HC74 als 1 Byte FIFO Puffer.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo...

@Benedikt:
Nein, bei mit macht es nichts ;-((

Ich habe in Prinzip diese Schaltung aufgebaut:
http://www.mikrocontroller.net/attachment.php/160855/LCD.gif
ausser, dass bei mir an PORTB der Parallele Port dran ist und anstatt
dem 7432 ein 7402 drin ist. Die Daten sind bei mir nur LD0-3.

Ich habe die anpassungen mit den signalen in der Software vorgenommen
und M definiert. aber ich sehe nur die erste oder zweite (bin mir nicht
ganz sicher) Spalte.

Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Macht es nichts, oder siehst du nur die erste Spalte ?

Wenn du nur die erste Spalte siehst ist alles OK, denn die 4bit Version
benötigt noch den Nibble Multiplexer wie hier:
http://www.mikrocontroller.net/attachment.php/2277...

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Versuchs mal damit. Getestet habe ich es nicht, es müsste aber
funktionieren.
Das müsste jetzt auch mit deiner Schaltung funktionieren, denn es
werden nur D0-D3 des SRAMs verwendet.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

es funktioniert noch nicht :-((.

Jetzt wird scheinbar alles geschrieben, ausser 2 Spalten.Koennten die
um die 60 herum liegen. Dabei  "knattert" das Display und wenn dieses
"knattern" weg ist, ist das "M" signal weg.
Diese Zwei Spalten werden nicht komplett "nicht beschrieben" sondern
ueber eine Zeile.

Alex

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach so! Bei mir sind es "natuerlich"(hatte mich vertan) die oberen 4
Bits. Sorry.

Alex

Autor: schwerminator (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hi benedikt,
in diesem thread hab ich gemerkt, dass du ziemlich viel ahnung in der
ansteurung von lcds hast. ich habe hier ein solches liegen, das keinen
controller on board hat und 240x64 pixel besitzt. es handelt sich um
das DMF-633 von Optrex. Ich würde gerne testen, ob es noch funktioniert
und es deshalb an meinen atmega8 anschließen möchte. jetzt meine bitte:
es wäre total nett, wenn du ein kurzes prog schreiben könntest in dem
beispielsweise ein pixel oder eine linie gesetzt wird. datenblatt des
displays befindet sich im anhang.
achja: es wurde früher von einem hd61830 getrieben. falls dieser
beitrag zu OT is, bitte per mail antworten.
VIELEN DANK, schwerminator

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, kann ich machen.
Ich habe deinen anderen Thread auch schon gesehen, und auch deine
Probleme mit LCDHype...

Die einfachste Lösung um das LCD anzusteuern, wäre vermutlich ein
T6963. Das LCD ist ein etwas merkwürdiges Dualscan Display, was bei
einer so kleine Auflösung eigentlich eher unüblich ist

Autor: schwerminator (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist ja wohl extrem nett, danke!!! kannst du was mit dem datenblatt
anfangen?

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@schwerminator
Probier das Programm mal aus, es sollte eigentlich funktionieren (auch
wenn ich es nicht getestete habe).
Starte das Programm, leg dann erst die negative LCD Spannung an.
Abschalten umgekehrt: Erst negative Spannung abschalten, dann 5V.

Normalerweise sollte dann ein feines Schachbrettmuster erscheinen.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Udo Kühnemund
Läuft der Spannunsgwandler jetzt schon ?

Ich habe hier nochmal eine von mir mehrfach verwendete Schaltung
angehängt, die mit Bauteilen von Reichelt auskommt.
Die Schaltung ist nicht die beste (der Wirkungsgrad liegt bei etwa
40-60%)), aber es geht.

Wenn die Schaltung genauso nachgebaut wird, dann muss sie
funktionieren.

PS: Die Schaltung niemals ohne uC oder zumindest an Masse gelegten PWM
Eingang verwenden, sonst raucht es !

Autor: Udo Kühnemund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,


danke!!!

Das schau ich mir mal an.

Autor: schwerminator (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@benedikt:
danke!
aber ich hab meine testplatine mit 4MHz laufen, was muss ich dann
ändern?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@schwerminator
Ändern kann man da nicht viel.
OK, das Timing ist etwas übertrieben langsam, aber viel schneller kann
man da nichts hinbekommen (außer man macht alles in Assembler.)

Es sollte aber auch mit 4MHz laufen, dann flimmert es eben etwas.

Autor: schwerminator (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo funktioniert, DANKE!!!

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehst du oben und unten jeweils abwechseln ein Pixel an/aus ?

Autor: schwerminator (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo es ist nach folgendem schema:

101010101010
010101010101
101010101010

usw.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut so, da habe ich ja richtig programmiert.

Wie willst du das LCD eigentlich ansteuern ?
Was war doch irgendein HDxxxx Controller, oder ?

Wiso nimmst du nicht einen T6963 ?

Autor: schwerminator (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es war der hd61830.
ich habe keinen T6963 habe und weiß auch nicht, wo man sie bekommen
kann.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist denn dein momentanes Problem mit dem 61830 ?
Gibt es dafür keine Ansteuersoftware, oder geht es einfach nicht ?

Wenn du doch einen T6963 brauchst: www.lc-design.de, da solltest du
welche bekommen.

Autor: schwerminator (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe keinen passenden quarzoscillator. der hd61830B hab eine
tolleranz von 100kHz-2,4MHz. naja bei der nächsten reichelt bestellung
werde ich einen mitbestellen. naja und im internet gibts keine
codebeispiele vom hd61830!

Autor: Sven Lissel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ihr!

Ich hab den Thread jetzt erst richtig wahrgenommen, ich kannte das
Projekt von Benedikt bisher nur von seiner Website, dachte aber das sei
schon eine weile her und wusste gar nicht das der Controller laufend
optimiert wird ;-)

Ich bin auch gerade dabei einen LCD Controller zu programmieren, bin
aber noch längst nicht so weit wie Benedikt.
Ich plane einen Controller zu schreiben der mit möglichst vielen
verschiedenen LCD's funktioniert und möglist einfach umzuschreiben
ist. Hauptsächlich mach ich das aber aus Spaß an der Technik und um mal
zu wissen wie denn so ein Display richtig funktioniert.

Außerdem kahm ich sehr günstig an 640x400dot Grafik Displays (4,50 Euro
das Stück, neu). Schade das ich den Thread nich schon voher gesehen hab
sonst hätte ich euch informiert. :-(

Da scheinen wohl die zwei Display-Projekte parallel zu laufen ;-)
http://svenlissel.sv.funpic.de/phpkit/include.php?...

http://www.roboternetz.de/phpBB2/viewtopic.php?t=11047

http://www.roboternetz.de/phpBB2/viewtopic.php?t=11564

Gruß,
Sven Lissel

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sven Lissel

Erzeugst du die Pixeldaten in Echtzeit während der Ausgabe aus den
Textdaten ?
Wie sieht dazu dein Timing aus, schafft das der uC überhaupt ? Du musst
ja zwei Zeichen gleichzeitig erzeugen, wegen dem Dualscan...

Autor: Sven Lissel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Controller ist bis jetzt noch nicht besonderst weit, die
Pixel-Ausgabe und der Character Generator funktionieren aber.
Allerdings werden bis jetzt nur beim Programmstart die Zeichen
generiert und in den Ram geladen und gut ist es. ;-)

Bis jetzt läuft auch noch alles über den internen Ram von 2KB.
Ein Portlatch für den Externen Ram (32KB, 20ns aus 486er Board :-)) ist
schon längst bestellt (vor über einer Woche), aber Reichelt scheint sich
da wohl zeit zu lassen ...

Sobald dann die Ausgabe über den gesammten Bildschirm funktioniert
gehts mit der Datenübertragung weiter.

Gruß,
Sven

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast Glück, dass dein LCD nur 640x480 =32000*8 Pixel hat, so dass du
mit einem 32kB SRAM auskommst. Bei 640x480 reicht es leider nicht
mehr.

Wenn du den Grafikmodus am Laufen hast, kannst du dann deinen Code mal
irgendwo posten ? Es würde mich mal interessieren wie andere das
Displaytiming, Speicherorganisation, Datenübertragung zum uC usw.
lösen...

Autor: Sven Lissel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hä? Du meinst wohl 640x400.
Gelle, da hab ich Glück gehabt ;-)

Wo ist das Problem bei 64KB Ram? Der Preis?
Bei der Ansteuerung ändert sich doch nicht mehr, oder?

Sobald der Grafikmodus funktioniert werd ich meinen Code
veröffentlichen.

Gruß,
Sven

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich meine 640x400 (ich hätte eben fast schon wieder 480
geschrieben...)

Bei 64kB SRAMs ist das Problem, dass es eben fast kein 64kB SRAMs gibt,
sondern immer nur 8, 32, 128, 512 usw.
Die einzigen SRAMs mit 64kB die ich kenne sind welche aus Pentium
Mainboards und die sind nicht allzu häufig.
32kB SRAMs sind viel leichter zu bekommen. Aber man kann zur Not ja 2
32kB SRAMs stapeln um 64KB zu bekommen.

Davon abgesehen: Wo bekommt man eigentlich so schnelle SRAM zu guten
Preisen ?

Autor: Sven Lissel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Ebay auf alten Mainboards ;-) (teilwiese bis 486er Board in
Sockeln)

Bei mir waren ganze neun Stück drauf, wie oben geschrieben 32KB, 20ns.
:-)

Ist mir irgendwie noch gar nicht aufgefallen das es 64KB Sram's kaum
gibt.
Reichelt hat ja kaum etwas gescheites, entweder zu klein, zu groß oder
zu langsam... :-(

80ns sind ja ein Witz, das sind ja schon Simm-Module schneller, das die
noch hergestellt werden...

Gruß,
Sven

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

ich wollte mich mal wieder kurz melden (status):

Das display funktioniert immer noch nicht. ;-((

Trotzdem Danke. Irgendwie werde ich es doch schaffen ;-().

Alex

Autor: Hannibal.exe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal ne doofe Frage. Geht das ganze auch mit dem ATMEGA8538-16PU vom
pollin.de?

Autor: Siggi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Hannibal.exe

Hallo, du meinst doch sicher ATMEGA 8535 ? oder gibt es nen 8538
wirklich ?
Der ATMEGA 8535 hat leider soweit ich weiss keinen externen Adressbuss
.

Bei Reichelt giebt es den 8515 für 3,45 € .

grüsse

Autor: Udo Kühnemund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

ich verzweifle noch mit der Spannungsversorgung.

Ich habe deine Schaltung aufgebaut. (Mehrfach kontrolliert)

Allerdings erst einmal auf einer eigenen Platine.

Ich glaub fast ich mach einen Fehler bei meinen Messungen.

Gib mir mal nen Tip wie ich die Funktionsgähigkeit testen kann
ohne die Schaltung an den Controler anzuschließen.

bis denn
uk

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Udo Kühnemund

Die einzelne Spannungswandlerschaltung die ich zulest gepostete hatte,
hat einen PWM Eingang. Diese aus Masse oder 5V legen.
Dann sollten am Ausgang -22V bzw. -17V anliegen.

Mess mal die Stromaufnahme des Wandlers ohne Last am Ausgang und die
anliegende Ausgangsspannung.

Autor: Hannibal.exe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meinte den 8535. Bei pollin wollt ich sowieso bestellen und da hab
ich gedacht, ich könnte mir ja das Porto sparen. Aber naja. Reichelt
ich komme :-(

Autor: Udo Kühnemund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt,

jetzt funzt es.

Die Spannung liegt zwischen 18,1 und 23,2 Volt.

Jetzt muss ich es nur noch vom Steckboard auf die Platine krigen :-)

Danke
uk

Autor: Läubi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab ein S/W Display aus nem alten Laptop, mit folgender
Anschlußbelegung, liesse sich das auch mit der Schaltung verwenden oder
funktioniert das nur mit den Teilen von Polin?

Und wenn ja welche Siganlleitungen am Display ensprechen welchen im
Schaltplan??

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Display sollte der Anschlussbelegung nach funktionieren. Da es aus
einem Laptop ist, hat höchst warscheinlich auch 640x480 Pixel.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo..

@Benedikt: DANKE!

Jetzt funktioniert auch mein Display.

Nachdem ich einen Kurzschluss gefunden habe und auch deswegen meinen
Atmega austauschen musste funktioniert mein Display auch.
Ich vermute aber, dass ich nicht alles auf dem Display sehe, da da
wahrscheinlich "LCD Controller steht..." (dlaube ich), bei mir aber
"nur" "LCD Co" steht (im Vergleich zu vorher ist es trotzdem
super).

Danke.
Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Überprüf nochmal die Verdrahtung. Auf meinem 320x240 LCD erschien das
Logo komplett.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo..
@Benedikt: ich habe mal jetzt den ganzen Thread noch mal durchforstet:
Kann das sein, dass von einem 64k SRAM ausgegangen wird? Ich habe
naehmlich nur ein 32k drin.

Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am besten geht es mit einem 64kB SRAM, ein 32KB SRAM funktioniert aber
auch, dazu muss aber die 7. Adressleitung (A6) am uC frei gelassen
werden und stattdessen mit A15 verbunden werden.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

ich habe jetzt A6 vom Prozessor frei gelassen (die Datenleitung ist
aber noch angeschlossen D6). Ich habe eine Aenderung: Das Logo wird
immer noch unvollstaendig, jetzt aber in der Mitte des Displays
ausgegeben. Weiter unten (etwa zeile 300) wird eine unterbrochene Linie
(pixel an pixel aus) angezeigt, aber auch nur so weit, wie das Display.
Hast du noch einen Rat? Ich habe schon alle leitungen durchgemessen
aber ohne erfolg ;-((.

Was habe ich noch falsch gemacht?!
Alex

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

ich habe mal jetzt ein bischen mit dem Programm herumgespielt. Jetzt
wird das Logo komplett angezeigt, aber unten geht eine Linie (ich
schaetze mal Zeile 300, ein Pixel an, ein aus) und unten rechts in der
Ecke sind linien nach unten (ich schaetze mal ab Spalte 130).
Ich verstehe hier diesen Code nicht richtig:

SkipFLM:
  sbrs Flags, AdresseX
  cpi AdresseHigh, YMax  ;Adresszähler Reset (Sprung in 2. Bildhälfte ?)
  sbrc Flags, AdresseX
  cpi AdresseHigh, YScan-(YMax-YMin+1);Adresszähler Reset (Sprung in 1.
Bildhälfte ?)
  brne Mainloop

  ldi AdresseHigh, YMin-1  ;Adresszähler Reset
  sbrc Flags, AdresseX
  rjmp untereha
  sbr Flags, 1<<AdresseX
  sbr XStart, 128
  sbr XScan, 128
  rjmp Mainloop

untereha:
  wdr            ;Watchdog Reset
  cbr Flags, 1<<AdresseX
  cbr XStart, 128
  cbr XScan, 128
  sbr Flags, 1<<doFLM    ;Markierung für FLM setzen
  rjmp Mainloop

Was sind das fuer feste Werte?
Kann das sein, das irgendwie ein display-auschnitt nur angezeigt wird?
Danke!
Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Orginalcode verwende ich das Highbyte der 16bit Adresse als
Zeilenzähler, und das Lowbyte als Spaltenzähler. Das geht sowohl beim
640x480 als auch beim 320x240 LCD, da diese weniger als 256 Zeilen
haben.
Bei deinem LCD benötigt man für den Bereich >255 einen zusätzlichen
Speicherbereich. Das sind nicht benötigte Spalten, die nach unten
"gezogen" werden.
Im Bereich Zeile 1-255 wird ab Spaltenadresse 0 wiedergegeben. Im
Bereich 256-320 die Zeilenadresse ab 128.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

ich schon wieder:

ich habe den Code jetzt wie unten geaendert und es tut's: ;-)))

SkipFLM:
  sbrs Flags, AdresseX
  cpi AdresseHigh, YMax  ;Adresszähler Reset (Sprung in 2. Bildhälfte ?)
  sbrc Flags, AdresseX
  cpi AdresseHigh, YScan - (YMax - YMin + 1);Adresszähler Reset (Sprung
in 1. Bildhälfte ?)
  brne Mainloop

  ldi AdresseHigh, YMin-1  ;Adresszähler Reset
  sbrc Flags, AdresseX
  rjmp untereha
  sbr Flags, 1<<AdresseX
  sbr XStart, 128
  sbr XScan, YScan - 128 - YMin - YOScan
  rjmp Mainloop

untereha:
  wdr            ;Watchdog Reset
  cbr Flags, 1<<AdresseX
  cbr XStart, 128
  cbr XScan, YMin + YOScan ;128
  sbr Flags, 1<<doFLM    ;Markierung für FLM setzen
  rjmp Mainloop

Allerdings habe ich noch eine Frage: Der obere Bereich des Bildes ist
dunkler als der untere. Ich sage mal "als waeren die pixel zu 1/5 an"
oder so. Das ist ab Zeile ~255. Was koennte das denn noch sein?

Alex

Autor: Jens D. (jens) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
ich habe hier ein LC Display von FINLUX EL Typ: MD640,400-52 5/12V
Hat jemand eine idee, wie man dieses ansteuern kann oder hat
Datenblätter dazu??

Gruss Jens

Autor: Jens D. (jens) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sry..
MD640.400-52

Gruss

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.quantum.com.pl/pliki/el8358hr.pdf

Das sollte zumindest vom Anschluss her kompatibel sein. Aber schlag
mich nicht, wenn es nicht stimmt...

Ansteuerung per SPI, oder aber an einem normalen VGA (bzw. VESA)
Anschluss mit 640x480.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Alex1
Mich wundert es, dass die alte Version bei dir nicht läuft. Bei mir
kommt auf einem 320x240 LCD das komplette Logo.
Was mich noch mehr wundert: Dass die geänderte Version überhaupt
funktioniert...
Denn eigentlich ist die total falsch: Du veränderst (bitweise !!!) die
X Grenzen mit Y Werten.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Da die neusten Versionen des LCD Controllers nur für den FT245 ausgelegt
sind, kann man den Controller nicht so einfach an einen Datenbus hängen,
denn er liest selber Daten.
Mit dieser Schaltung kann man den Controller an einem Datenbus, oder
auch am LPT betreiben.
Das ganze ist im Prinzip ein FIFO mit einer Speicherkapazität von 1
Byte. Alternativ kann man auch jedes andere FIFO verwenden.

Autor: NickJag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das display von Sharp
http://sharp-world.com/products/device/lin...19T_LC96Y14.pdf

Ist es möglich dieses S/W display auch mit deiner Farb-LCD steuerung
anzusteuern, damit ich es später gegen ein rgb-lcd austauschen
könnte??
MFG NickJag

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit der 320x240 Version kann man es problemlos ansteuern.
Die Farbversion ist noch nicht fertig, und funktioniert etwas anderst
als die SW Version, beide sind also nicht kompatibel.

Autor: NickJag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche schaltung meinst du denn jetzt genau? es sind mitlerweile sofiele
in diesem tread das man schon nicht mehr nach kommt was noch paralel ist
und was an ust geschweige für S/W und RGB
Ist die S/W version für 320X240 auch mit usb?

Gruß NickJag

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Software für das 320x240 SW LCD benötigt diese Schaltung:
http://www.mikrocontroller.net/attachment.php/2277...
Um diese per USB betreiben zu können, benötigt man noch einen FT245.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

Ich habe es so verstanden (ich meine das Programm), dass die fuer 240
Zeilen und 320 spalten sind. Bei mir ist es ja anders herum (320 Zeilen
und 240 spalten). Deswegen setze ich auch die X-Werte mit den Y-Werten
(Du weisst was ich meine?).
Jedenfalls habe ich immer noch das Problem mit dem Kontrast (es scheint
so zu sein, dass 240 Spalten mehr Konstast haben, als die restlichen
80). Momentan habe ich noch keine Idee. Du vielleicht????

Ich habe ja noch den gesammten PortB frei (da noch kein FTDI245) und
noch 5 Pins. Drei davon sollen noch Kontrollbitts fuer den LPT sein,
einer schalten die 26V fuer das Display und der 5te Pin ist die PWM.
Was ich brauche ist aber noch folgendes:
1. AC-Drive -> werde ich wohl mit einem NE555 machen
2. PWM fuer Konstast -> passt
3. Display ON/Off  -> noch nichts
4. 3 Pins fuer Kontrollbits fuer LPT.

Eine Address - Leitung ist noch frei

Ich brauche noch einen demuxer (oder so etwas), vielleicht auch ein
adressierbares Latch, damit ich noch das Display ON/OFF schalten
koennte. Ich habe dafuer noch keine Loesung. Hmmm...???
Ich wollte noch schauen, ob man die Adressleitung noch missbrauchen
kann.....???????

Alex

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achso: hab noch etwas vergessen:

dieses Latch, dass ich noch brauche, muss so klein wie moeglich sein
(am liebsten ein 8-Beiner.
Ich werde wahrscheinlich meinen 7402 wegoptimieren. Da wird ja bei mir
ein XSCL Enable Pin benutzt. Da faellt mir gerade ein, dass das nicht
geht, da der Empfang sollte in den Interrupt verlegt werden (oder
vielleicht in der Art), dann muss ich das XSCL Enable drin lassen.;-((

Was machen? Hmmm...!?

Alex

Autor: NickJag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also bräuchte ich hinter den datenbus nur den ft245 hängen und eeprom,
elko's usw???
Und wie sieht das denn mit dem treiber und die software aus, kann ich
da was dan ändern???

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@NickJag:
am 25.08.2005 13:56 hat Michi ein zip-File reingehaengt. Da ist alles
drin (so weit ich weiss). Oder??

Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Alex1

Auch wenn dein veränderter Code läuft, dann ist das reiner Zufall,
versuch nochmal den orginalen Code. Spätestens wenn du damit versuchst
was sinnvolles anzuzeigen wird nur Müll rauskommen.

Hast du die Schaltung mit dem HC74 und HC157 aufgebaut ?

Mit der erscheint auf meinem 320x240 LCD das Logo komplett etwas nach
links gerückt (da ja nur 240 Spalten übertragen werden) und der
Kontrast ist niedriger (da mehr Zeilen übertragen werden, jede also
kürzer an ist).

Daher sollte bei deinem 240x320 LCD das Logo zumindest mal komplett und
oberhalb der Mitte erscheinen.

Zu den Pins:
AC-Drive -> Nimm den PWM Ausgang und stell ihn in der Software auf M
um. Ein 555 hat kein ausreichent genaues Tastverhältnis -> LCD geht
kaputt.
PWM -> Nimm ein Poti zur Kontrasteinstellung
Display ON/Off  -> PE0
3 Pins fuer Kontrollbits fuer LPT -> Für was ? Versuch mal die
Schaltung die ich gestern gepostet habe, mit dem 1 Byte FIFO bzw. nimm
ein größeres für schnellere Datenübertragung.
Die Verlagerung der Empfangsroutine in den Interrupt bringt bei hohen
Datenraten eine Verschlechterung der Bildqualität.

Autor: NickJag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leute kann nicht mal jemand nen howTo für doofe schreiben (wie mich)
=))
Ich habe zwaar schon nen 8085 proggrammiert, aber das ist ewigkeiten
her, ich interessiere mich für sehr für diese schaltung und habe auch
schon mal rumgeschaut, ich weiß aber noch net wirklich mit welcher
software und welchen isp oder ob ich ein STK500 brauche..
und der tread wird langsam auch total unübersichtlich, weswegen ich
meine das es an der zeit wäre ihn langsam aufzusplitten oder???

MFG NickJag

P.S
Bin zwaar nen Elektrotechniker und Student, aber leider noch net schlau
genug, deswegen währen so nen paar hilfestellungen gut, damit ich mich
einlesen und einarbeiten kann, aber dafür brächte ich erstmal son
überblick um bei reichelt zu bestellen und mit dem basteln zu beginnen,
denn dann könnte ich mich auch erst richtig zu dem tread eusern, denn
außer dem lcd hab ich ja noch nix =))

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,
Du hattest recht, das war nur eine Scheinfunktionalitaet. :-((

Nachdem ich etwas herunterladen wollte (bzw. etwas auf das Display
schreiben), kam nur Schrott dabei rum.
Mit Deiner "originalsoftware" wird aber nur die HAelfte des Displays
beschrieben. Kann das sein, dass fuer die X-Richtung, der wert XSize
nur durch vier geteilt werden muss? Ich habe ja eine 4-Bit
Ansteuerung?
Wenn ich den Wert durch 4 Teile, wird zumindest die X-Richtung korrekt
beschrieben. Die Y-Richtung funktioniert immer noch nicht. :-((

Alex

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei dem mit dem durch 4 teilen ist ein kleiner Fehler drin:
Es muss so heißen:

Xshift:
  ld temp, Y
  ld temp, Y+
  ld temp, Y
  ld temp, Y+
  cp AdresseLow, XScan
  brlo XShift

Das mit dem Teilen muss auf /4 bleiben. Ansonsten sollte es aber
funktionieren, mit den 320 Zeilen.

Autor: Christopher (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
heute habe ich ein LCD gefunden, Es ist von Sharp und hört auf den
Namen LQ080Y5DR01.
Nach dem auseinander-nehmen kam eine Platine mit der Aufschrift
CPWBX0016TPZZ zum Vorschein, auf welcher sich ein Chip von Sharp, ein
Flachbadkabel-Anschluss und ein dreipoliger Stecker zu Stromversorgung
befindet.
Nun würde ich dieses gerne ansteuern habe aber das Problem dass ich
kein Datenblatt zur Belegeung habe...
Kann mit jemand helfen?
Danke
Christopher

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genaue Daten habe ich zwar auch nicht, aber vermutlich ist das ein TFT.
Mit viel Glück hat es einen parallelen Anschluss (mehr als etwa 20-30
Anschlusspins), ansonsten hat es LVDS wie fast alle heutigen TFTs.

Autor: Christopher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,
Danke für Deine schnelle Antwort. Mittlerweile weiß ich noch mehr. Es
ist ein 640x480 Pixel LCD (Graustufen)
Die Anschlussleiste hat so an die 30 Pins...
Falls es sich um LVD handelt habe ich Pech gehabt, oder?
Christopher

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es Graustufen hat, ist es kein LCD:
LCDs können nur Schwarz oder weiß, bzw. rot/grün/blau + Kombinationen
davon bei einem Farbdisplay, macht 8 Fargen.
Die Garustufen davon muss die Ansteuerung machen.

Wenn es ein SW Display ist, dann ist es kein TFT und du kannst es mit
großer Warscheinlichkeit mit der Schaltung betreiben.
30Pins kommen mir für ein SW Display eigentlich etwas viel vor,
eigentlich reichen 14 aus.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gab tatsächlich auch schwarz-weiß-TFT-Displays, die wurden in einigen
Apple-Notebooks wie dem Mac Portable verbaut.
Sind allerdings wohl sehr selten; ich hab' schon sehr lange keines
mehr gesehen.

Autor: Christopher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe mittlerweile auch ein Sharp LM641542 und möchte dieses natürlich
jetzt betreiben. Allerdings nicht am PC, sondern als autarkes Stück
dass  nur vom uC gesteuert wird.
In wieweit kann man da die Schaltung vereinfachen?
Was ich wissen will: Wieviele Pins brauche ich minimal um das LCD
ausschließlich SW zu betreiben?
Ich benötige nämlich noch einige Pins für Benutzereingaben...
BTW: Wie stark ist der uC (8515) eigentlich ausgelastet von der
Rechenkapazität?
Grüße
Christopher

Autor: Udo Kühnemujnd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heureka,

nach einer Zwangspause bin ich heute dazu gekommen mein LM...
in Betrieb zu nehmen. Es lebt!!

@Benedikt, Danke...

Natürlich habe ich trotzdem noch ein paar Probleme.

1. Das Logo wird bei mir am unteren Rand angezeigt. Einen Teil kann man
aber am unteren Rand der oberen Displayhälfte erkennen. Ich vermute
einen Fehler in den Adressleitungen. Allerdings hab ich laut Plan
verkabelt und kontroliert
Hat jemand einen Tip ?

2. Der Kontrast ist unter aller Sau.
wie kann ich das verbessern ?

Danke
uk

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frei sind noch PortB und ein paar PortD Pins.
Ausgelastet wird der uC bei 16Mhz und 60Hz Displayfrequenz zu etwa 65%,
hat also noch viel Rechenleistung übrig.
Allerdings sollte man berücksichtigen, dass mindestens 15000x pro
Sekunde Daten ans LCD ausgegeben werden.
Man könnte das in den Interrupt packen, hätte dann aber nette Interrupt
Response Zeiten bei einem anderen Interrupt...

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Udo Kühnemujnd

zu 1:
UD und LD vertauschen.
Da hatte ich ein paar Probleme mit dem Schaltplan, da Eagle sich nicht
überreden lässt den Text um 180° zu drehen.

zu 2:
Wenn du die Spannung höher drehst, wird es dann besser ?
Das LCD ist schon verdammt alt, und hat daher nicht unbedingt den
besten Kontrast. Vor allem ohne Hinterleuchtung ist es etwas schwer
abzulesen, oder es spiegelt ziemlich, wenn direkt Licht drauffällt.

Autor: Udo Kühnemujnd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Der UD LD Tausch erklärt aber noch nicht warum ich zwei Teile sehe.
Oder verstehe ich was falsch ?

Danke
uk

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du obere und untere Bildhälfte vertauschst (über die Leitungen),
dann erscheint der Teil der unten erscheint in der Mitte, und der Teil
der oben erscheint in der Mitte darunter -> Das Bild ist vollständig in
der Mitte.

Autor: Christopher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
an alle die langsam auch den Überblick verlieren hier die Webseite.
Sehr übersichtlich und auch mit den Sourcen und Schaltplänen zu den
einzelnen Versionen.
http://mitglied.lycos.de/bk4/vram.htm
Schönen abend
Christopher

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube der Link ist besser:
http://mitglied.lycos.de/bk4/lcdcon.htm

Hier noch ein paar Grundlagen:
http://mitglied.lycos.de/bk4/lcds.htm

Allerdings werde ich da keinen Source Code veröffentlichen, sondern nur
die fertige Software. Die Source gibt es hier im Forum.

Autor: Udo Kühnemujnd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

LCD Läuft.  Da ich kein USB Interface gebaut habe, sende ich die Daten
seriell mit 57600 Bits. Ist ein wenig lahm aber funktioniert.

Allerdings scheint das Display  während der Übertragung eine Reset zu
erzeugen.

Hast du einen Tip ?

Danke
uk

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was meinst du genau mit Reset ?

Welche Software hast du verwendet, wie hast du die Serielle
Schnittstelle eingebunden ?

Autor: Udo Kühnemujnd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Benedikt,

ich nehme die lcdcon_USB.asm

Diese Version arbeitet mit RX Interrupt und benutzt das Busy Bit als
CTS Signal. Die Übertragenen Daten werden auch sauber dargestellt.
In unregelmäßigen Abstände schein aber ein Reset ausgelöst zu werden.
Das LCD wird gelöscht und es erscheint wieder das Logo. Dann geht der
Transfer einfach weiter. Ich
Geschwindigkeit jetzt bis auf 9600 runter um den Effekt genauer zu
beobachten.  Keine Änderung.

Hier die von mir geänderte Stellen.


Write:
  in regsave, sreg
  wdr       ; hab ich eingefügt um eine WD Reset zu verhindern


  sbrc NextOp, CD      ;B bin mit der


Und hier noch der Teil der die Baudrate festlegt.


; uk


.equ     clock =  16000000
.equ     baudrate = 9600; 57600         ;baudrate

.equ     baudconstant = (clock/(16*baudrate))-1

  ldi     temp,baudconstant
  out     ubrrl,temp       ;load baudrate

ldi temp, (1<<RXEN)|(1<<RXCIE)  ;RX aktivieren
out UCSRB, temp

Autor: Udo Kühnemujnd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Benedikt,

jetzt wird es mystisch.

Wenn ich ein komplett weißes Bild übertrage dann tritt der Effekt nicht
auf.

Hab ich jetzt mehrfach getestet.

Hmmmm?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kommt mir irgenendwie bekannt vor...
Ich hatte genau dasselbe Problem, hat mich auch Tage gekostet bis es
lief.

Ist das CKOPT Fuse Bit gesetzt ? Bei mir lag es daran.

Dann hatte ich noch einen neuen, aber anscheined leicht defekten AVR,
der ab und zu Müll anzeigte. Ein anderer lief dagegen.

Autor: Udo Kühnemujnd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

es wahl wirklich CKOPT. Ich hab das  jetzt gesetzt und die Resets sind
weg. Es flackert zwar manchmal etwas ....

Ich komme allerdings nicht über 57kbs.  Das wird aber wohl an meinem
Versuchsaufbau liegen. Möglicheweise ist aber auch meine Uart init
falsch. Wie setzt du das Ding auf 115200 ?


PS:

Ich hab mir bei dem Versuch mit dem Fuses wohl zwei 8515 zerrödelt.
Jetzt sagt Poniyprog dass er das Device nicht kennt.
Komm ich da irgendwie wieder raus ?

Danke
uk

Autor: Gerry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle,

ist es eigentlich möglich mit der Schaltung gLCD's mit eigenem
Controller zu betreiben?

Ich benötige eine möglichkeit ein gLCD per USB zu steuern.
Leider bin ich mit AVR's nicht vertraut und habe keine wirklich mir
hilfreichen Seiten im Netz gefunden.

Ich weiß das es per FT245 und AVR möglich sein sollte aber wie gesagt
AVR war bisher für mich kein Thema.

Vielen Dank

Gerry

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
115200Baud bekommt man nur mit 18,432MHz Quarzfrequenz.

@Gerry
GLCDs mit Controller kann man nicht anschließen, der AVR selbst schon
der Controller ist.
Theoretisch ist es aber kein Problem, es muss nur die entsprechende
Software geschrieben werden.

Autor: Gerry (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Info,

Ich versteh leider nicht wie man denn per PC -> AVR -> gLCD die Daten
durchschleift. Wie gesagt AVR ist absolut neu für mich.
Die befehle PC -> gLCD sind für mich nicht das Problem nur leider halt
der AVR.
Gibst es denn irgendwo ein paar vernünftige Einstiegsseiten dazu.

Gerry

Autor: Udo Kühnemujnd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

ich spiele gerade mit LCDHype.

Dein Treiber wird wahrscheinlich eine Baudrate über 115200 einstellen.

Kann ich das irgendwie ändern ?

Nett wäre es auch wenn du den Treibercode posten könntest. Ich hab mir
zwar das SDK gelande bin aber wie üblich zu faul. :-)

Danke
uk

Autor: Udo Kühnemujnd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt, Hallo Gerry,

"115200Baud bekommt man nur mit 18,432MHz Quarzfrequenz."

Nööö. Ich habs anders gemacht.

Baudrate auf 57600 und den Uart verdoppeln lassen. Dann geht es.

@Benedikt: Du hattest diese Verdopplung doch bereits vorgesehen.

Der geänderte Code sieht so aus.


.equ     clock =  16000000          ;clock frequency
.equ     baudrate =   57600         ;choose a baudrate

.equ     baudconstant = (clock/(16*baudrate))-1

  ldi     temp,baudconstant
  out     ubrrl,temp       ;load baudrate

;uk  ldi temp, (1<<RXEN)| (1<<TXEN)   ;RX aktivieren
;uk  out UCSRB, temp


ldi temp, (1<<RXEN)|(1<<RXCIE)  ;RX aktivieren
out UCSRB, temp

ldi temp, (1<<U2X)
out UCSRA, temp        ;verdoppeln

bis denn
uk

Autor: Hannibal.exe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab die Teile bestellt. Warte nur noch auf die Streifenraster. Dann
gehts los.

Autor: Hannibal.exe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab die Teile. Nur eins hab ich vergessen. Das 18Mhz Quarz. Geht das
auch mit 20?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, nimm irgendwas im Bereich 14-20MHz.
Bei 20MHz kann es eventuell Timingprobleme geben.

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Es ist etwas dumm, dass das LCD kein wirkliches Interface für einen uC
bietet, um es PC unabhängig als Anzeige einsetzen zu können.

Das habe ich jetzt geändert:
Ich habe ein SPI Interface eingebaut, und eine kleine Lib in C
geschrieben, damit man das LCD einfach mit einem AVR ansteuern kann.
Um Kurvenverläufe darstellen zu können, habe ich eine "Pixel setzen"
Funktion eingebaut.
Mit den Low Level Funktionen in C kann man somit leicht weitere
Funktionen wie große Schriftarten oder ähnliches bauen.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
mir ist grad aufgefallen das du in deinem main.c Pi mit 3.1415916
definierst. Muss aber 3.1415927 sein. Ist also nur die vorletzte und
letzte Stelle. Nicht das dadurch irgendwann mal ein fehler auftritt und
man sich tot sucht.

mfg
Stefan

Autor: udo.kuehnemund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Hallo,

hattest du meine Frage nach dem LCD Hype Treiber weiter oben gelesen ?


Ich versuche mich gerade an einem Smooth Scrolling.  Dazi habe ich die
Bildschirmspeicherorganistaion etwas abgeändert.  Ich setll das
Ergebnis rein wenn es Vorführbereit ist.

bis denn
uk

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Smooth Scrolling klingt interessant. Ich bin schon gespannt...

Die Frage habe ich wirklich überlesen. Hier der aktuelle Source Code
(hat auch schon eine Multithread Routine drin, die aber zu unsicher
ware, daher habe ich sie wieder rausgenommen)

Autor: Benedikt (Gast)
Datum:
Angehängte Dateien: