|
|||||||||||||||||||||||||
alphacool LCDFür mein neues Mediabox Gehäuse musste auch ein neues, externes Display her. Nach langem suchen hatte ich mich für das alphacool LCD 240x128 im externen Gehäuse entschieden. Das Display in meinem bisherigen Gehäuse ist leider zu klein um es richtig ablesen zu können und zudem zu dunkel (noritake VFD). Auch war es nicht möglich den VDR damit zu steuern ohne den Fernseher einschalten zu müssen . All das soll nun mit dem großen alphacool Display besser werden. Das AllgemeineDas Display in der externen Variante kommt in einem kleinen Edelstahl Gehäuse welches alphacool vermutlich in Kleinserie selbst produzieren lässt. Die Passgenauigkeit der einzelnen Gehäuseteile ist gut, wenngleich alles doch einen nicht ganz so professionellen Eindruck hinterlässt, wie man ihn sich wünschen würde. Die Verarbeitung könnte auf jeden Fall besser sein. Die Kanten des Gehäuses und des Standfußes wurden nicht entgratet. Dies ist einerseits eine Verletzungsgefahr und andererseits verkratzen so sehr schnell empfindliche Oberflächen im Wohnzimmer. Das Display ist auch in weiteren Varianten lieferbar:
Eigentlich wollte ich gerne den doppelt hohen 5 1/4" Einschub bestellen, aber das neue Mediabox Gehäuse hat leider eine Frontklappe vor allen 5 1/4" Schächten, was deren Verwendung zum Displayeinbau eigentlich ausschließt - schließlich wäre das Display bei geschlossener Klappe nicht ablesbar. Die HardwareAuseinandergebaut besteht das Display aus folgenden Komponenten, welche rechts zu sehen sind (von links oben nach rechts unten):
Alles lässt sich leicht demontieren und wieder zusammenbauen. Lediglich das Platzieren der Distanzhülsen erfordert etwas Geschick. Die Elektronik offenbart keine großen Geheimnisse. Das LCD Modul macht einen sehr professionellen Eindruck, so, dass der Gedanke nahe liegt, dass es zugekauft wurde. Auch die USB Device ID deutet auf einen anderen Hersteller hin. Das LCD Modul besteht im Großen und Ganzen aus einem Mikrocontroller von Atmel, einem Displaycontroller von Toshiba und den Displaytreibern. Drumherum drängen sich die üblichen Kleinteile wie Ozillatoren, Kondensatoren, Widerstände und Co sowie ein paar Anschlüsse, deren Bedeutung ich allerdings nicht weiter hinterfragt habe. Ein genauerer Blick auf den Displaycontroller enthüllt den weit verbreiteten Display Controller T6963. Der Wald und Wiesen LCD Controller von Toshiba erfreut sich einer breiten Unterstützung im Opensource Umfeld und ist unter Anderem auch in der serdisplib von Wolfgang Astleitner integriert. Das Datenblatt des Controllers ist leicht ausfindig zu machen und beschreibt dessen Fähigkeiten umfangreich. Für das Interfacing zum USB Bus und die Steuerung des Display Controllers kommt ein kleiner Mikrocontroller von Atmel mit einer Firmware eines Drittherstellers zum Einsatz. Anhand der USB Device ID könnte man auf den Gedanken kommen, dass die Firmware von der Firma EEH Datalink GmbH stammt. Aber das ist nur eine Vermutung. Bei dem Mikrocontroller handelt es sich um einen Atmel 89C5130. Auch dieses Datenblatt lässt sich leicht ausfindig machen. Der Controller ist üppig ausgestattet. Er verfügt unter anderem über 1KByte RAM, 16KByte Flash Speicher, der In-System über die USB Schnittstelle programmiert werden kann, ein 4KByte EEPROM für den Bootloader und einen 256 Byte großen RAM Bereich im CPU Core für Zwischenergebnisse. Die integrierte USB Schnittstelle ist USB 1.1 und USB 2.0 fähig. Hinzu gesellen sich die üblichen Features wie Unmengen von I/O Pins, Counter, etc. Im Prinzip sollte es also sogar möglich sein das Display mit einer eigenen Firmware zu befüllen. Allerdings muss man sich da die Sinnfrage stellen. Die SoftwareDem Display liegt eine CD bei auf der wohl die Windows Software verewigt ist. Da ich kein Windows an der Mediabox verwende habe ich die CD noch nicht angesehen. Aus dem Internet ist ersichtlich, dass es keine offizielle Treiberunterstützung für Linux gibt. Allerdings ließ ein Bevor ich jetzt das Display abgeschrieben habe, habe ich mir den Treiber vorgenommen und ihn aufgebohrt und hoffentlich fit für beide Modulvarianten gemacht (die kleine kann ich leider nicht testen). Vielen Dank an Nessie für das aufdecken der Steuercodes des Mikrocontrollers und vielen Dank auch an Wolfgang Astleitner für die Unterstützung in Sachen Displaybuffer. Speziell möchte ich mich bei Faisal Kalapatt bedanken für die tatkräftige Unterstützung beim ersinnen der optimierten Übertragung. Features:
Installation: Der Treiber liegt in Form eines Patches gegen die Version 1.97.6 der serdisplib vor. Damit die Bibliothek auch mit USB Support kompiliert werden kann muss libusb auf dem System vorhanden sein. Hierbei muss CONFIG_USB_SUSPEND in der aktuellen Version 0.1.12 der libusb im Kernel deaktiviert sein. Ist dies nicht der Fall kann es sein, dass das Display nicht korrekt erkannt wird (siehe auch Zunächst sind also folgende Dinge zu erledigen:
Ist libusb nicht vorhanden muss diese zuerst kompiliert und installiert werden. Wie das geht möchte ich hier nicht erklären - aber es ist straight forward und sollte keine Probleme bereiten. Danach wird die serdisplib entpackt und gepatcht: # tar xvzf serdisplib-1.97.6.tar.gz Es folgt configure und make: # ./configure --enable-libusb Danach kann getestet werden: # src/testserdisp -n ALPHACOOL -p usb:060c/04eb [-o "OPTALGO=0"] Auf dem Display sollte nun das Testbild der serdisplib erscheinen. Das Anhängen von OPTALGO=0 deaktiviert die optimierte Übertragung zum Display. Dies kann bei Problemen mit der Darstellung eventuell von Vorteil sein. Das Testprogramm bietet eine kleine Shell in der unter Anderem auch mit der Rotation herumgespielt werden kann. Hier ist zu beachten, dass wenn das Bild gekippt (90 Grad Schritte) wird, das Display anschließend leer ist. In diesem Fall muss mittels 'test' ein neues Testbild erzeugt werden. Spiegelungen (180 Grad Schritte) funktionieren sofort, da sich die Displayauflösung nicht ändert. 90 Grad Schritte tauschen immer Höhe und Breite des Displays, womit das aktuelle Bild dann nicht mehr korrekt angezeigt werden kann. Für alle VDR User, die das Ganze gerne mit GraphLCD einsetzen möchte ist hier noch die entsprechende /etc/graphlcd.conf: [serdisp]
History
Downloads
|
|||||||||||||||||||||||||