Also, da es bei Ebay ja mitlerweile ziemlich günstige Grafikdisplays gibt, wollte ich einfach mal wissen, ob es möglich ist ein Grafikdisplay mit einem AVR anzusteuern. Gibt es beispielsweise eine Art Standart wie bei Zeilendisplays, die sich ja eigentlich sehr einfach immer ansteuern lassen.
Gibt es einen unterschied zwischen Farb und 2-Farbigen Displays?
Ich habe mir vor Ewigkeiten auch mal billig so ein Grafikdisplay bei Ebay ersteigert. Nachdem es mindestens ein Jahr in der Ecke gelegen hat, habe ich vor kurzem mal ein bischen gegoogelt.
Irgendwo im Forum auf http://www.mikrocontroller.net/forum/ gibt es dazu ein paar lange Threads.
Irgendjemand dort wollte so ein Display über einen AVR ansteuern, die meisten haben ihm allerdings davon abgeraten, weil das wesentlich aufwendiger und komplizierter wäre als wenn man einen speziell dafür vorgesehenen Controller verwendet.
In den Threads gabs auch eine ganze Menge Links zu weiteren Infos, notwendigen Bauteilen, Schaltplänen, Bezugsquellen usw.
Mir persönlich war das alles zu aufwendig, daher habe ich mit die URLs zu den Threads leider nicht abgespeichert.
Ich habe aber zwei Urls die innerhalb der Threads verlinkt waren wiedergefunden:
OK, dass vergesse ich dann besser direkt wieder!
Das ist mir auch ein wenig zu aufwendig, dafür fehlt mir dann doch die Erfahrung in Sachen Bascom und außerdem das Vertrauen, in von mir selber gabeute Schaltungen.
Ich habe mich gerade der Aufgabe gestellt. Gerne gebe ich dir alle Unterstützung. Ich habe mir bei ebay, die Preise sind wirklich sehr günstig, 3 Grafik Displays erworben. Vor vielen Jahren war ich mal Applikationsingenieur bei National Semiconductor für einen Grafik-Prozessor und kenne mich daher mit den Grundbegriffen von Grafikkontrollern sehr gut aus. Allerdings die Grafikprozessoren die heute in modernen Grafikkarten in PC´s eingesetzt werden sind etwas ganz anderes als die im Vergleich dazu einfachen LCD Kontroller.
Zu erst einmal ist es wichtig, so trivial es klingt, festzustellen ob in den bei Ebay angebotenen Grafik-LCD´s nicht bereits ein Graphikkontroller eingebaut ist. In diesem Fall reduziert sich der Aufwand darauf an den Ports des AVR die uController-Schnittstelle des Graphik-LCD´s abzubilden, und das ist nicht allzu schwer.
Wenn kein Grafik-Kontroller in dem LCD drinnen ist wird die Aufgabe von der Hardware auch nicht viel schlimmer, da man dann einen passenden LCD Kontroller über das Internet findet, welcher die Schnittstelle zum Grafik-LCD beinhaltet. Der Grafik-LCD Kontroller hat dann häufig und sinnvoller Weise den Bildspeicher im IC und wird wie oben beschrieben mit dem AVR Kontroller verbunden. Als Kontroller sollte man doch nur den mega128 vorsehen, da bei Graphik es auf den verfügbaren Speicher doch sehr ankommt.
Da die LCD Kontroller die ich gefunden habe leider keine Grafik Zeichenroutinen haben, muß man diese selber schreiben, ist aber ebenfalls nicht schwer. Was das Thema komplizierter machen kann ist es, wenn das Display nicht aus einem "Segment" besteht, sondern wie im Fall des von mir erworbenen Hitachi LCD mit 640x480 Bildpunkten in der Mitte waagerecht in 2 Segmente logisch, also nicht fürs Auge sichtbar, geteilt ist, also 2x 640x 240. Bei meinem LCD Display mit 8-Bit-Schnittstelle zum uController, die 4 oberen Bits für das eine Segment, die unteren 4 Bits für das andere Segment. Die Farb, bzw. mehr Bits pro Bildpunkt, Bildspeicherung ist einfach und kann durch passende Software-Routinen im Programm verborgen werden.
Schön aber wird so ein Display in Zusammenarbeit mit einer transparenten Folientastatur. Diese Folientastatur liegt über dem Plexiglas unter welchem das LCD Display montiert ist und erlaubt unter Software Kontrolle Bildschirm-Bereiche zu virtuellen Tasten zu machen. Um das Bild in meiner Anwendung abzurunden, der Kontroller von Epson hat mindestens 80kByte Bildspeicher, wovon weniger als 4kByte für einen einfarbigen Bildschirm-Inhalt benötigt werden. Und er hat die PIP-Funktion die man aus modernen Fernsehern kennt, die Bild-Im-Bild, englisch, Picture-In-Picture-Funktion. Damit kann ich beliebig große rechteckige Bilder an jeder beliebigen X/Y-Adresse im dargestellten Bild einblenden. Das PIP wird dann statt des normalen Bildinhalts an dieser Stelle eingeblendet. Das macht der LCD-Kontroller selber.
Ich werde eine schematische Darstellung meines Segelbootes mit den einzelnen elektronischen Funktionseinheiten am Bildschrim darstellen und über jede dieser Funktionseinheiten eine "Soft-Taste" auf der Folientastatur programmieren. Bei jeder Funktionseinheit werden die wesentlichen Parameter als Text stehen. Wenn ich jetzt mit dem Finger eine dieser "Soft-Tasten" antippe wird der mega128 den LCd Kontroller veranlassen die Detail-Darstellung der angetippten Funktionseinheit als PIP einzublenden. Dort kann ich dann mit entsprechend angepassten "Soft-Tasten" gezielt Informationen abfragen oder Parameter verändern. Genauso kann das System im Boot im Rahmen seiner Selbstdiagnose den Benutzer ein PIP einblenden um ihn auf wichtiges hinzuweisen.
Da die Steuereinheit wahlweise über I2C oder den Funkmodulen vom Frank mit der RN-Control im Boot verbunden ist, kann man sich sicher die Möglichkeiten ausmalen. Ich sehe in dieser Steuereinheit die Vorraussetzung um meine Ziele mit meinem Segelboot zu erreichen. Ich kann und will am Seeufer keinen PC dabei haben!
Wenn also auch andere Nutzer dieses Forums das Interesse haben an diesem Projekt mit zu arbeiten, so lade ich hiermit herzlich dazu ein. Ich denke auch für die "nicht schwimmenden" Roboter ist so eine Steuereinheit von Interesse.
Wahnsinn!
Gut, dass ich hier jemanden treffe, der richtig Ahnung hat!
Also meine Ziele, wollte ich zunächst mal etwas geringer stecken.
Wir würde es schon reichen, ein 2-farbiges Display vielleicht 192x128 o.ä. zu nehmen. Bild-Ausgabe ist was feines müsste für den Anfang aber auch nicht sein. Bild-in-Bild muss auch nicht sein. Versteh mich nicht falsch, ich bewundere dein Projekt, nur fürchte ich, dass es für den Anfang für mich, doch etwas zu hoch ist. Wäre auch sehr erfreut, wenn du später mal nen par Bilder postest. Ich habe eher an ein Projekt, digitales Haus gedacht, also in jedem, oder eineigen Zimmern ein schönes LCD, fielleicht später mit Touchscreen, wie du meintest, mit dessen Hilfe man verschiedene Dinge schalten kann. Oder ein anderes Projekt, wäre eine Art Mail-System im Haus, also ich schicke wem anderes schnell eine Nachricht, denn den Anschluß einer AT-Tastatur bekommen ich schonmal hin. Nun hab ich natürlich ein par grundsätzliche Fragen. Die Bilder unten, sehen ja sehr verschieden aus, kann man da schon generelle Feststellungen machen, also z.B. das das Grafikdisplay in Bild 1 schonmal auf jeden Fall einen Controller hat und das in Bild 2 nicht, oder, dass die Grafik-Displays eh ganz verschieden sind?
Wie sieht es dann mit der Ansteuerung aus, also bisher kenne ich das ja so:
Zeile x, schreibe Y
Läuft das bei Grafikdisplays ähnlich, oder muss man da völlig umddenken. Und hat Bascom da schon ein par fertige Befehle, wie LCD und Locate etc. auf lager, oder muss man da völlig anders rangehen?
Also immerhin hab ich bei Bascom schonmal einen Grafik-Converter gefunden, der, so schints mir Bilder ins richtige Format bringt, richtig?
In Bild 3 hat schon jemand einen Inverter? draufgesetzt, ist sowas bei allen Grafik-LCd notwendig?
In Bascom gibt es auch für Grafikdisplay Befehle. Zum Beispiel Befehle um Bild im Speicher abzulegen oder zu laden usw.
Viel mehr kann ich dir dazu allerdings nicht sagen weil ich damit noch garnix am Hut hatte. Da wohl von Bascom eine bestimmter Controllerart unterstützt wird, solltest du vieleicht vor dem Kauf etwas in der Help blättern, dann hast du es später etwas einfacher.
Bild 2 zeigt das gleiche Display das ich habe. 640x480 Schwarz/Weiss! Das dürfte auch das LMG7550XUFC sein. Habe mir aus dem Internet das Datenblatt gezogen das ich per google gefunden habe. Der einzige Support hierzu erfolgt aus England, sind aber nicht sehr Antwort-freudig. Bekomme ich aber schon hin da ich Engländer und die Branche recht gut kenne. Bei dem Display geht leider nicht eindeutig hervor wierum die Polung für den Inverter zu erfolgen hat. Den passenden Inverter gibt es bei einem ebay-Händler, der aber erst Geld und dann Datenblätter versenden will. Die passenden Stecker sind MOLEX /51021-1500, das ist der breite 15-polige ganz kleine Stecker, die Belegung lässt sich 1:1 mit dem Epson Controller S1D13706 verbinden. Besorge Dir auch dieses Datenblatt. Der kleine 2-polige Stecker am weissem Kabelpärchen ist ein MITSUMI M61M73-04, siehe Datenblatt. Das PIP bekommst du frei Haus praktisch ohne Programmieraufwand, das macht der Controller. Hier könnten wir voneinander profitieren und uns ergänzen.
Das unterste sieht einem meiner sehr ähnlich, damit habe ich mich jedoch noch nicht beschäftigt. An das oberste erinnere ich mich noch aus ebay. RCO, wenn du mein Problem mit den Einrichten des Epson-Controllers in die Eagle lib löst, wären wir beide einen großen Schritt weiter. Ich knobel beim großem Display noch an der "Speicher-Logik" der Schnittstelle vom Display. Das Display ist wie schon sagte in 2 Segmente geteilt und zwar waagerecht, das 8 Bit-I/F ist so geteilt, das das eine "nibble" an das obere Segment geht, das andere an das untere Segment. Im schlimmsten Fall müßte man 2 Controller S1D13706 parallel an den mega128 anschließen. Jedes würde dann von einem 640x240 Bildpunkt Display ausgehen und im mega128 würde man beide Segmente wie 2 LCD-Displays betrachten. Dadurch würde man defakto 4 Ports am mega128 einsparen, 4-Bit statt 8-Bit LCD-Daten-I/F, allerdings einen zusätzlichen Port als "CS" (Chip Select) für den 2. S1D13706. Man hätte dadurch statt 80kByte Bildspeicher, 160kByte, was nur von Nutzen ist, da man dann weniger Daten an den Controller übertragen müßte.
Bei einem Bit/Bildpunkt ist jedes Bit im Speicher einem Bildpunkt zugeordnet, ein Byte also 8 Bildpunkte, 80 Byte eine 640 Bildpunkt-Zeile. Bei 2-Bit/Bildpunkt, Bit 0 & 1, erster Bildpunkt, Bit 2 & 3, zweiter Bildpunkt, eine 640 Bildpunktzeile also 160 Byte, entsprechend für mehr Bit/Bildpunkt! Jedes Bit-Muster geht vor dem Übertragen an das Display als "Adresse" in eine Look-Up-Table, un der Inhalt des so addressierten Eintrages an das Display.
Sorry, wenn ich dich entäuschen muss, ich hab leider nicht viel verstnanden, von dem was du da erzählt hast. Leider habe ich auch überhaupt keine Ahnung von Eagle. Ich wäre aber bereit, mich so weit wie möglich einzulesen. Ich fürchte allerdings, dass es doch im Moment alles ein wenig meine Kenntnisse überschreitet. Vor allem, wenn ich sehe, dass ich noch einen Controller, und Inverter basteln muss!
Also bis jetzt hab ich ein Datenbaltt von dem hitachi-LCD.
Hier sind übrigens infos zu nem Inverter, der, wenn ich das richtig verstanden habe dafür geeignet ist: http://80.93.161.114/faqs/pinfo.asp?pno=LMG7550XUFC
ICh bin mir bei dem Projekt etwas unsicher, da ich auch garnicht weiß, wie das preislich sein wird. Worauf wird das ungefähr hinauslaufen?
Ich finde weder den Controller noch den Stecker! Allerdings habe ich ein anderes Forum gefunden, wo das Display diskutiert wird: http://www.buha.info/board/showthrea...oto=nextnewest
Da steht auch was zu Pinblegung, ich weiß aber nciht, ob dir das weiterhilft.
Lesezeichen