luxnote lapstore servion thinkspot
Ergebnis 1 bis 5 von 5

Thema: T6x LTN154CT04 WUXGA-Display mit RGB-LED-Backlight aus DELL Precision M4400 einbauen

  1. #1
    Avatar von el-sahef
    Registriert seit
    04.08.2008
    Beiträge
    1.578
    Danke
    15
    Thanked 156 Times in 81 Posts

    T6x LTN154CT04 WUXGA-Display mit RGB-LED-Backlight aus DELL Precision M4400 einbauen

    Im DELL Precision M4400 gab es seinerzeit ein WUXGA-Display LTN154CT04 von Samsung mit RGB-LED-Backlight (soweit ich weiß das einzige in 15,4" 16:10), wodurch es laut Kalibriergerät 96 % sRGB und 92% Adobe RGB abdecken kann. Dieses Display im T60/T61/T500 zum Laufen zu bekommen hat mich schon länger gereizt. Seit Anfang diesen Jahres habe ich das Display nun drin. Da ich noch wem einen Post zu diesem Thema schulde hier nun der entsprechende Thread.

    Das Hautpproblem bei dem Umbau ist die Tatsache, dass das RGB-Backlight des Displays im M4400 über einen I²C-Bus geregelt wird. In den Thinkpads wird das Backlight jedoch ausschließlich via Backlight_on-Signal und PWM-Signal kontrolliert. Daher war die erste Aufgabe, die I²C-Kommandos, die das M4400 zur Kontrolle des Displays sendet, möglichst vollständig auszulesen. Danach musste eine Firmware geschrieben werden, die die beiden Kontrollsignale vom Thinkpad ausliest und dazu entsprechende I²C-Kommandos an das Display (bzw. dessen RGB-Backlight-Controller) schickt.

    Ich habe dafür einen Atmel ATtiny 13 genommen. Im Nachhinein betrachtet hätte ich einen etwas mächtigeren µC mit mehr Flash und I²C in Hardware nehmen sollen. So habe ich dann nämlich ziemlich lange rumprobieren müssen, um die Firmware klein genug zu bekommen, so dass sie noch in den Flash vom ATtiny 13 passte. Die Firmware benutzt die I²C-Library von hier. Die Fuses müssen auf 4,8 MHz eingestellt und die Delay-Funktion in i2cmaster.S entsprechend angepasst werden:
    Code:
        .func i2c_delay_T2    ; delay 10.0 us with 2.4 MHz clock  (50 kHz target I2C frequency)
    i2c_delay_T2:        ; 3 cycles
          rjmp 1f      ; 2   "
    1:    rjmp 2f      ; 2   "
    2:    rjmp 3f      ; 2   "
    3:    rjmp 4f      ; 2   "
    4:    rjmp 5f      ; 2   "  
    5:    rjmp 6f      ; 2   "
    6:    rjmp 7f      ; 2   "
    7:    rjmp 8f      ; 2   "
    8:    nop          ; 1   "
          ret          ; 4   "  total 24 cyles = 10.0 us with 2.4 MHz clock
    Der I²C-Bus wird im DELL M4400 mit 50 kHz betrieben. Die Delay-Funktion muss eine halbe Periode Delay (in dem Fall also 10 µs) erzeugen. In der main.c wird der Teiler für den Takt auf 1:2 gesetzt, so dass der Takt am Ende 2,4 MHz beträgt. Bei diesem µC-Takt muss die Funktion also 24 Taktzyklen dauern. Mit anderen µCs kann/muss man das natürlich alles entsprechend anpassen.

    Das zweite Problem war, dass das Display einen speziellen Stecker mit spezieller Belegung hat. Eigentlich wäre es daher nötig gewesen, die Signale vom Displaystecker am Mainboard des DELL M4400, für den ich den Schaltplan und daher auch die Pinbelegung des Steckers für das Displaykabel habe bis zu ebendiesem Stecker zu verfolgen und so die Pinbelegung des Steckers am Display rauszufinden. Glücklicherweise fand sich aber das Datenblatt eines anderen Displays LP154WP2-TLC2 mit dem gleichen Stecker, welches ebenfalls von DELL in der Precision-M4400-Reihe verbaut war. Mit den Infos daraus konnte dann direkt ein Adapterkabel gelötet werden.

    Für die LVDS-Signale und die Stromversorgung gibt es beim Displaystecker Testpunkte auf der Platine, an die sich die Kabel bequem anlöten lassen. Für die Stromversorgung der Hintergrundbeleuchtung und die beiden I²C-Signale findet man dagegen bessere Punkte zum Anlöten in der Gegend des RGB-Backlight-Controllers (Platinenaufdruck beachten). Dies ist ein Mikrocontroller STM32F101T6, der über I²C den angeschlossenen Farbsensor ausliest (auf dem ersten Bild links unten) und je nach Messwert die LED-Treiber für Rot, Grün und Blau entsprechend ansteuert, ebenfalls über I²C.

    Interessanterweise ist auf dem Displaystecker auch ein Pin für PWM, allerdings habe ich nicht rausgefunden, wie sich das Backlight über diesen steuern ließe.

    Hier die entsprechenden Bilder dazu (zeigen die gesamte Display-Platine):



    Die umgebaute Inverterplatine mit dem Mikrocontroller:



    Pinbelegung des Inverter-Steckers. Für den µC braucht man GND, VCC3M, BL_ON und BL_PWM. Die USB-Leitungen gibt es nicht bei allen Geräten. Wenn man dem Schaltplan vom T61 15,4" Wide Glauben schenke darf dann sollen die USB-Signale bei diesen Geräten am Inverter anliegen. Ich habe aber nicht ausprobiert, ob die wirklich gehen.



    Das Display mit Displaykabel. Der Bereich für das Thinklight muss verlängert werden. Außerdem wurde der Webcam-Stecker entfernt und das Kabel wie benötigt geknickt.



    So kann man das nun einbauen. Beim Einbau in ein T61 müsste rechts noch was vom Structure-Frame und dem Scharnier im Displaydeckel weggesägt werden, damit es reinpasst. Im T500 reicht der Platz auch so gerade noch.

    Hier kann man erahnen, wie überzogen die Farben (besonders Rot) bei nicht farbkorrigierter Darstellung sind, besonders bei dem Hintergrundbild im sRGB-Farbraum. Im Gimp-Fenster wird das gleiche Bild mit aktivem Farbmanagement dargestellt (leider ist auch die Spiegelung einer Leuchtstoffröhre mit drauf).



    Hier das Bild mit aktivem Farbmanagement in Gimp auf einem T61 mit LG WUXGA-Display und nachgerüstetem Dual-LED-Backlight (Post dazu) links sowie rechts daneben auf dem T500 mit dem Samsung WUXGA mit RGB-LED-Backlight. Die Unterschiede in der Darstellung kommen auch durch die unterschiedliche Farbtemperatur des Backlight und die unterschiedliche Helligkeit zustande.



    Das gleiche Bild ohne Farbmanagement:



    Gemessene Farbraumabdeckung (ICC-Profil):



    Das, was bei Rot zu viel ist, fehlt bei Blau und Grün, um 100% AdobeRGB abzudecken. Trotzdem dürfte das neben dem Sharp WUXGA eines der besten verfügbaren Displays für diesen Formfaktor sein. Die beiden Hauptnachteile im Vergleich zum LG im T61, was ich vorher im T500 drin hatte, sind die deutlich höhere Minimalhelligkeit und die Glossy-Oberfläche.
    Geändert von el-sahef (04.03.2017 um 23:31 Uhr)
    T70 15" 4:3 QXGA daylight LED, Core i7 7820HQ, 32 GB DDR4, SSD & X62t SXGA+ daylight LED & T70 i5 WUXGA RGB-LED

  2. Die folgenden 4 Mitglieder haben sich bei el-sahef bedankt:
    + Ozoign oder Verstecka der Dankenden
    Akira,  
    felix1,  
  3. #2

    Registriert seit
    07.09.2010
    Ort
    Berlin
    Beiträge
    3.589
    Danke
    5
    Thanked 155 Times in 149 Posts
    Tolle Arbeit und vielen Dank fuer die ausfuehrliche Beschreibung!

    Wie setzt der ATtiny PWM (vom T500) auf i2c um? Linear? Kannst Du da nicht noch dran drehen, um die Minimal-Helligkeit des Panels abzusenken?
    Was steuert man mit i2c bei diesem Panel noch, ausser der Helligkeit? Die Farbtemperatur?

  4. #3
    Avatar von el-sahef
    Registriert seit
    04.08.2008
    Beiträge
    1.578
    Danke
    15
    Thanked 156 Times in 81 Posts
    Themenstarter
    Beim W701 konnte man den Farbraum verändern, dazu gab es in Windows einem Treiber-Tab für das Display. Ob das dann über I²C oder die Grafikkarte lief weiß ich aber nicht. Ich habe auch für das M4400 nach sowas gesucht, aber speziell dafür scheint es das nicht gegeben zu haben. Bei den 17"-Geräten und späteren Precisions dann aber schon. Vielleicht liegt es auch daran, dass die 17"-RGB-LED-Displays (wie eben das im W701) 8 Bit für die Farben am LVDS haben und dieses 15,4"-Display wie üblich nur 6 Bit (darum geht das ja überhaupt im T500 usw.).

    Ich habe nur Kommandos für Einschalten, Ausschalten und Helligkeit verändern ausgelesen, mehr scheinen im DELL M4400 nicht benutzt zu werden. Vielleicht gibt es noch mehr Einstellmöglichkeiten, aber ich habe ja keine Dokumentation dazu finden können und wie soll ich da drankommen, wenn sie im DELL nicht benutzt werden... Das einzige was ich gefunden habe war das Datenblatt von einem anderen LED-Treiber für normale weiße LEDs, den man via I²C steuern konnte. Der hat teilweise anscheinend die gleichen Register für die selben Optionen (z. B. das Register, in dem die Helligkeit steht, ist bei dem an der gleichen Stelle). Da könnte man jetzt auf gut Glück probieren, aber da war auch nichts interessantes dabei was ich hätte gebrauchen können.

    Die PWM lese ich normal mit einem Timer aus. Niedriger als 0x00 kann ich als Helligkeit nicht einstellen. Momentan geht das aber nur beim T61, weil da bei der niedrigsten Stufe die PWM-Periode verdoppelt wird und ich das dadurch erkenne, dass der Timer überläuft, wenn er die Low-Dauer von der PWM misst. Leider ist auch die Timer-Auflösung beim ATtiny13 nicht besonders hoch und man kann die Timer-Periode nur in groben Schritten im Verhältnis zum µC-Takt verändern, weshalb ich auch mit dem µC-Takt selbst rumgemacht habe, um beides so einzustellen, dass das Timerfenster so gut wie möglich die PWM-Periode in den Thinkpads abdeckt.

    Beim T500 haben die das aber nicht gemacht mit der doppelten Periodendauer bei niedrigster Stufe, dadurch ist der niedrigste Wert der gesetzt wird glaube ich irgendwas mit 0x2? Der Unterschied ist aber nicht besonders groß, das würde den Bock auch nicht fett machen. An Spezialfällen erkenne ich nur beim T61 die niedrigste Stufe und bei T61 und T500 die höchste (beides durch Timerüberlauf). Ansonsten rechne ich linear um was ich einlese, weil die PWM-Kennlinie von Gerät zu Gerät anders und nicht linear ist, so dass es mit dem sehr begrenzten Flash nicht möglich ist, da zig gerätespezifische Spezialfälle abzufangen.

    Vielleicht könnte man noch etwas Platz schinden, wenn ich das alles in Assembler statt C schreiben würde (die I²C-Library von dem Schweizer ist es ja schon), aber das mache ich nicht. Da lohnt es sich eher, wenn ich nochmal einen ATtiny45 oder so kaufen und den tauschen würde. Wie schon geschrieben, es war ein Fehler, keinen größeren ATtiny mit Hardware-I²C und größerem Flash zu nehmen. Dann könnte man auch den Timer mehrfach überlaufen lassen, in Software addieren und so die Auflösung erhöhen.
    Geändert von el-sahef (05.03.2017 um 19:37 Uhr)
    T70 15" 4:3 QXGA daylight LED, Core i7 7820HQ, 32 GB DDR4, SSD & X62t SXGA+ daylight LED & T70 i5 WUXGA RGB-LED

  5. #4
    Avatar von Akira
    Registriert seit
    11.04.2011
    Ort
    North Carolina
    Beiträge
    8.930
    Danke
    59
    Thanked 139 Times in 91 Posts
    Blog-Einträge
    3
    Wahnsinn! Glückwunsch dass du es doch noch hinbekommen hast!

    Damit sind 16:10 und AdobeRGB endlich zur Realität geworden. Weißt du zufällig ob die ganze Konstruktion auch in einen T60 Deckel passt? Damit würde man die problematischen Scharniere des T61/T500 umgehen und zentriert wäre das Display dann auch noch.

  6. #5
    Avatar von el-sahef
    Registriert seit
    04.08.2008
    Beiträge
    1.578
    Danke
    15
    Thanked 156 Times in 81 Posts
    Themenstarter
    Habe gerade mal nachgeschaut. Glücklicherweise habe ich gerade tatsächlich einen (etwas gammeligen) 15,4"-T60-Deckel da. Ja, sollte gehen. An den Scharnieren muss man eventuell die Nasen unten im Bild abfeilen, weil das Display nach unten hin etwas mehr Platz im Displaydeckel braucht. Aber das dürfte ein Kinderspiel sein.

    Bei den chinesischen Nachbauscharnieren fürs T61 und T500 soll es aber auch welche geben die so gebaut sind wie die T60-Scharniere, die man ja mit etwas Loctite reparieren kann falls sie ausleiern. Das wäre eventuell auch noch eine Option. Habe mich bisher aber nicht durchringen können, dafür Geld auszugeben. An meinen 15"-4:3-Geräten funktioniert das aber bisher mit den Lenovo-T60-Scharnieren einwandfrei, das Wackeln ist nicht wiedergekommen, seit ich den Stift von betroffenen Scharnieren mit Loctite eingeklebt habe (weiß die Nummer leider nicht auswendig, hieß glaube ich Metallkonstruktionskleber und ist so grünes dünnflüssiges Zeug). EDIT: Loctite 648

    Geändert von el-sahef (07.03.2017 um 06:10 Uhr)
    T70 15" 4:3 QXGA daylight LED, Core i7 7820HQ, 32 GB DDR4, SSD & X62t SXGA+ daylight LED & T70 i5 WUXGA RGB-LED

Ähnliche Themen

  1. Erledigt Dell Precision M4400 - eine gute Thinkpad W500/T500 Alternative
    Von oliveron im Forum Biete Sonstiges
    Antworten: 5
    Letzter Beitrag: 21.07.2017, 00:54
  2. Verschenke Flachleiterkabel+Inverter aus Dell WUXGA-Display
    Von joshua666 im Forum Biete Sonstiges
    Antworten: 0
    Letzter Beitrag: 23.03.2016, 23:53
  3. Verkauft Dell Latitude e4310, 4GB, Backlight Tastatur, Webcam, 13,3"Display
    Von elektrokid im Forum Biete Sonstiges
    Antworten: 8
    Letzter Beitrag: 23.09.2015, 12:35
  4. Suche Festplattenabdeckung für Dell Precision M4400
    Von fujin im Forum Suche
    Antworten: 3
    Letzter Beitrag: 26.11.2014, 20:48
  5. Antworten: 5
    Letzter Beitrag: 24.12.2011, 16:47

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
CeCon ok1.de ipWeb Campus Shop CaptainNotebook RO Electronic