PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 12,1" DSTN LC-Display Sanyo LM-JK53-22NTR



franzl
03.09.2006, 22:28
hallo zusammen,
eine kleine frage ich habe bei pollin ein grafikdisplay entdeckt.
12,1" DSTN LC-Display Sanyo LM-JK53-22NTR
ich wollte nur fragen ob es theoretisch überhaupt möglich ist so ein display mit einem µC anzusteuern.
ich mache mir da keine größen hoffnungen aber trotzdem danke für die antworten.
mfg franzl

dennisstrehl
03.09.2006, 22:32
Wir hatten schon mehrere Threads zu dem Ding.
Das Ergebnis war afaik immer negativ. AVR oder PIC geht gar nicht, ARM wäre mindestens gut ausgelastet und FPGA würde wohl gehen.
Die bei den Dingern nötige hohe Ansteuerfrequenz ist das Problem.

MfG

Mehto
03.09.2006, 22:54
Naja, und selbst wenn der AVR schnell genug wäre ca. 40 Millionen Pixel in der Sekunde an das Display auszugeben und genügend Ram hätte (ca. 1,6MB) wäre es nicht ohne weiteres möglich das Display anzusteuern. Du müstest dir zuerst einen kompletten 2D Controller selber entwickeln bevor man das Display in irgendeiner vernünftigen Weise benutzten könnte.

Wenn man kein Ingenieur in einer Entwicklungsabteilung ist oder ähnliche Erfahrungen hat ziemlkich Aussichtslos das Teil anzusteuern. Es sei denn du findest irgendwo einen Controller der das schaft und für Hobbyelektroniker aufffindbar und bezahlbar ist.
Ansonsten bleib noch die Möglichkeit das Display mit dem VESA Anschluss alterer Grafikkarten zu betreiben, ist aber auch nicht ganz ohne.

Das Problem an dem Displays sind eigentlich nur die schnelle Ansteuerung von einem Pixelladesignal von ca. 40MHZ und der große Ram.
Das das ganze mit einem AVR und einem 640x400 Pixel monochromdisplay möglich ist versuche ich zur Zeit zu beweisen:
http://www.mehto.roboterbastler.de/?Projekte:Display_Controller

Allerdings arbeite ich da jetzt ca. ein Jahr dran und ist mehr zu einem Lustprojekt geworden, je nach zeit und Lust wurde ein wenig weiter dran gebastelt. Nachdem ich jetzt schon wieder über zwei Monate nichts dran gemacht habe wird es aber mal so langsam zeit das Projekt fertig zu machen, funktionieren tut er ja schon fast perfekt :-b

Gruß,
Mehto

franzl
03.09.2006, 23:30
hallo,
danke das ihr mir geantwortet habt ich habe mir schon gedacht das das mit einem avr nicht zu realisieren ist.
mfg franzl

PICture
04.09.2006, 02:45
Hallo!

Ich habe mich rein theoretisch mit dem Problem auch beschäftigt und festgestellt, dass es mit jedem uC machbar ist, wenn man zwei Bildspeicher verwendet.

In einen Speicher wird das Bild vom uC langsam eingeschrieben, während aus dem zweiten Speicher wird das Bild durch entsprechenden (hardware ?) Kontroller ans Display geschickt. Wenn das nächste Bild im Speicher fertig ist, wird es einfach umgeschaltet u.s.w.

Im Code habe ich meine Idee skizziert. Es ist aber kein vollständiges Schaltplan !

MfG

.------. CP,Vsync,Hsync, u.s.w,
| |-----------------------------------------------> CTRL D
| LCD | +------------------------\
| | | RD,WR,OE V I
|Kont- | | .-----------------.
| | | +-------------| |-+--------> DU0 S
|roler | | |+------------| |-|+-------> DU1
| | | ||+-----------| |-||+------> DU2 P
| | | |||+----------| Speicher 1 |-|||+-----> DU3
'------' | ||||+---------| |-||||+----> DD0 L
| | |||||+--------| |-|||||+---> DD1
| | ||||||+-------| |-||||||+--> DD2 A
| | |||||||+------| |-|||||||+-> DD3
V | |||||||| '-----------------' |||||||| Y
.------. | |||||||| Clr  ||||||||
| Um- |--+ |||||||| Adr+ .-----------------. ||||||||
|schal-|----------------->| Adresszähler 1 | ||||||||
+->| ter |--+ |||||||| '-----------------' ||||||||
| | |--|------------------------\ ||||||||
| '--A---' | |||||||| RD,WR,OE V ||||||||
| .--|---. | |||||||| .-----------------. ||||||||
| | |--|-|||||||+------| |-+|||||||
| | |--|-||||||+-------| |--+||||||
| | |--|-|||||+--------| |---+|||||
+-<| µC |--|-||||+---------| Speicher 2 |----+||||
| |--|-||+-----------| |-----+|||
| |--|-|+------------| |------+||
| |--|-|+------------| |-------+|
| |--|-+-------------| |--------+
'------' | '-----------------'
| Clr A
| Adr+ .-----------------.
+-------------->| Adresszähler 2 |
'-----------------'

Mehto
04.09.2006, 10:49
Stimt, wenn man die AUfgaben in verschiedene Bereiche unterteilt ist es mit einem AVR Möglich, aber denoch bleibt das Problem der schnellen Ausgabe an das Display, wie würdest du die realisieren? Mit einem FPGA?
Im Grunde muss der nichts anderes machen als zwei Byte aus dem Ram zu holen, an die Leitung anzulegen und schön CP aktivieren, nach 1024CP Signalen V-sync aktivieren und nach 768 V-sync Signalen H-sync zu aktivieren. Das ganze halt mit einer CP Frequenz von 40MHZ. Da bei einem 8Bit Ram schon mind. zwei Takte zum laden aus dem Ram draufgehen + eventuelle wartezeiten, diese Daten dann noch an den Ausgang/Latch angelegt werden müssen und dann noch die Taktsignale zum Pixelladen, Zeilenladen und neues Bild generiert werden müssen hat man locker 10 Takte pro Pixel. Sprich über 400Millionen Befehle in der Sekunde die der µC abarbeiten müsste. Mit nur 8bit Farben etwas schneller und nicht so ganz aufwendig, außerdem würde man die hälfte am Ram sparen, aber mit einem µC denoch schwer zu schaffen :-(

Wie würde das mit einem FPGA funktionieren?

Der µC, der Pixel in den Ram lädt und Daten von der Schnittstelle empfängt muss auch erstmal programmiert werden. Man will ja nicht einfach immer am Stück irgendwelche Pixel an das Display ausgeben. Curser positionieren sowie Textausgabe sollte mindestens vorhanden sein. Besser noch ein kompletter 2D COntroller um auch mit der Angabe von nur zwei X/Y Punkten Linien und kästen zeichnen zu können, eventuelle auch Kreise.
Von daher sollte der auch midnesten 16Millionen Befehle in der Sekunde abarbeiten können, gerade bei 16bit Farben. Aber das wäre mit einem AVR ja gerade noch zu machen. O:)

Jetzt hat man aber auch erst ein Pixellayer, schon wäre z.B. noch ein zweiter um zwischen zwei Bildschriminhalten umschalten oder logisch mit einander verknüpfen zu können :-) , aber dafür würde man dann nochmal einen dritten Ram mit doppelter Speicherkapazität benötigen, wo kommen wir da hin? Nett für so einen Controller sind natürlich auch Vrams, aber wo bekommt man die günstig?

Naja, auch wenn das ganze auf den ersten Blick einfach aussieht, irgendwie wäre das doch ein verdammt mächtiges Projekt. Was sich aber sicherlich lohnen würde, solche Displays bekommt man für ca. 10Euro bei Ebay, mann muss nur aufpassen das man die Anschlussbelegung dafür bekommt.
Und das beste: Hintergrundbeleuchtung ist über all schon eingebaut!

Viele Grüße,
Mehto

PICture
04.09.2006, 13:50
Hallo Mehto!

Ich würde den LCD Kontroller völlig hardwaremässig realisieren. Die Vsync, Hsync u.s.w. kann man mit Zähler und Dekoder aus den CP Impulsen erzeugen.

Für ein farbiges Display kann man die benötigten 18 bits aus drei 8 bit paralell an den Adresszähler angeschlossenen RAMs lesen. Wenn mehr bits pro Pixel benötigt werden, kann man einfach mehr RAMs paralell an den Adresszähler anschliessen. Das ganze kann dann mit 40 MHz clock (CP) laufen. Für DSTN Displays ist die clock Frequenz um die hälfte niedriger.

Der LCD Kontroller (reine Hardware) liest eigentlich nur ständig den Speicher für das Display und generiert die nötigen Steuersignale (Hsync, Vsync u.s.w). Er besitzt keine "Intelligenz" und braucht für ein pixel genau ein clock.

Der uC, der mit einem anderem clock (z.B. 4 MHz) arbeitet und selber den Adresszähler taktet, kann langsam das Bild in dem zweitem Speicher aufbauen, und wenn er damit fertig ist, die Speicher umschalten (bei der Adresse 0 vom aktuell an den LCD Kontroller angeschlossenen Speicher, während des Vsync Impulses). Je schneller er ist um so öfter kann man die Bilder aktualisieren.

Mich persönlich würde so ein Display für einen Oszilloskop interesieren (z.B. 240x320 pixel nur s/w) und dafür schreibe ich mir benötigtes Programm für PIC selber.

Im Moment habe ich keine Zeit um mich damit zu beschäftigen, bin aber zur Hilfe mit Hardware Problemen bereit.

MfG

Mehto
04.09.2006, 14:28
Vielelicht hat ja irgendjemadn aus dem Forum Lust da einzusteigen?

Ich bin Dispalymäßig leider selber noch mit meinem Controller für Monochromdisplays beschäftigt, habe nebenher auch noch andere Projekte laufen. Finde das Thema aber inetressant und werde darauf auf jeden Fall wieder zurückkommen wenn mein Displaycontroller fertig ist und ich Zeit finde.
Im Grunde wäre es "nur" ein "größerer Bruder" des Controllers an dem ich dran bin, aber denoch nicht zu unterschätzen :-(

Aber die frage ist auch wie Sinnvoll ist so ein Controller für so große Displays. Schön wäre so ein Display sicherlich, keine Frage, aber wofür und was soll man da alles anzeigen? Das 640x400 Pixeldisplay mit dem ich arbeite ist ja schon riesig, wo soll man dann noch größere verbauen :-)
Grundanwendungen gibt es natürlich
, z.b. Com-Terminal, Langzeit-Oszi, Robotercontroll, Allgemein zur Ausgabe von Diagrammen (Wetterstation usw.) Eeigntlich alles wofür man normalerweise ienen PC braucht.... Ok, gibt doch ne ganze Menge ](*,)


Gruß,
Mehto