Forum: Mikrocontroller und Digitale Elektronik LCD TFT - Controller Board Chip


von Mic U. (micyourcontroller)


Lesenswert?

Hallo zusammen,

ich beschäftige mich zur Zeit mit TFT Displays, die man über LVDS 
ansteuert.
Bei analogen Schnittstellen wie VGA oder den digitalen Schnittstellen 
wie HDMI und DVI, kommuniziert der Monitor bzw. das Display ja über den 
Display Data Channel mit dem GPU und tauscht dabei EDID Informationen 
aus. Das Ganze ist quasi plug-and-play.

Wenn man nun ein Display mit LVDS als Schnittstellen betreiben möchte, 
so liest man im Internet, sind oft Controller Kits notwendig.

http://www.lcdparts.net/Files/MS459LC.pdf

Mir ist durchaus bewusst, wie die LVDS Schnittstelle funktioniert,dass 
es zB 18-bit und 24-bit LVDS gibt; jedoch ist mir nicht klar, wie man 
diese Displays konfiguriert. Was macht der Controller auf dem Board?? 
Übernimmt er die Parameterisierungsaufgaben? Und wieso muss anscheinend 
je nach Display eine andere Firmware draufgespielt werden??? Hängt das 
mit den verschiedenen Parametern vom Vidoe ab (Auflösung, Timing etc.) 
oder mit etwas anderem?

Hier zB Hersteller spezifisch für Chimei?
http://www.lcdparts.net/LCDC2.aspx

Vielen Dank!

: Bearbeitet durch User
von Stampede (Gast)


Lesenswert?

Das Timing (VSync, HSync, Pclk, etc.) steht in den EDID Informationen, 
welche wiederum vom verwendeten Panel abhängig sind. Anhand dieser 
Informationen generiert dann die GPU / TFT Controller die korrekten 
Takte passend für das TFT auf dem LVDS Port.

von Mic U. (micyourcontroller)


Lesenswert?

Wenn ich zum Beispiel dieses Chimei/Innolux Display ansteuern möchte,
woher bekommt der Controller die EDID Informationen?
http://www.display-solution.com/pdf/tft-displays/Chi%20Mei%20Innolux/G104AGE-L02_20130703.pdf
Muss ich diese in einem EEPROM selbst hinterlegen? Ein simples TFT LCD 
Display meldet sich im Gegensatz zu einem Monitor ja nicht über denn DDC 
an oder?

von Mic U. (micyourcontroller)


Lesenswert?

Hi,

ich würde gerne ein LCD TFT Display Controller Board selbst entwickeln. 
Ich sage bewusst entwickeln und nicht bauen, da das Layout jemand anders 
übernimmt und ich es fertigen lassen werde.

Mir geht es darum, LVDS Displays selber anzusteuern und zu konfigurieren 
und nicht auf die Treiberkonfiguration eines chinesischen Herstellers 
angewiesen zu sein. Gerne würde ich also Displays mit LVDS Schnittstelle 
nach VESA Format ansteuern.

Kennt jemand den Controller dieses Boards oder den Controller eines 
ähnlichen Boards? Was sind die Schlagworte nach denen ich schauen 
sollte?

https://www.youtube.com/watch?t=58&v=ZX-N5OvLIkM

http://www.lcdparts.net/Files/MS459LC.pdf

Vielen lieben Dank :)

von Jens (Gast)


Lesenswert?

Also möchtest du sowas selber bauen?

http://www.pollin.de/shop/dt/ODc3OTgxOTk-/Bausaetze_Module/Module/LVDS_Interface_PI_MDV6822_VGA_DVI_zu_LVDS.html

Habe ich dich da richtig verstanden?
Meines Wissens nach sind das Chips von Epson oder so und die werden auf 
das jeweilige Display eingestellt.
Vielleicht kommst du mit der Doku ja weiter.

Das wird viel Arbeit!

Gruß, Jens

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jens schrieb:
> Meines Wissens nach sind das Chips von Epson oder so

Nicht Epson, sondern von einer der vielen Firmen, die keine Datenblätter 
'rausrücken.

Das Ding ist programmierbar, aber über die Programmierung ist so gut wie 
nichts bekannt.

Eine Selbstbaulösung, bei der man die Programmierung in der Hand hat, 
gibt es aber:

https://github.com/watterott/HDMI-Display

Das besteht im wesentlichen aus einem HDMI-/DVI-Empfängerbaustein
http://www.ti.com/product/TFP401A

Verbindet man dessen parallele Ausgänge mit einem LVDS-Transceiver wie 
z.B. http://www.ti.com/product/ds90c3201, und erstellt man sinnvollen 
Inhalt für das EDID-EEPROM, hat man einen HDMI- bzw. 
DVI-zu-LVDS-Adapter.


Aufwendiger wird es, wenn man analoge Signalquellen (VGA, Composite 
Video) mit an Bord holen will.

von Stampede (Gast)


Lesenswert?

Die musst du aus dem Datenblatt ablesen und dem irgendwie mitteilen. 
Entweder über EEPROM (EDID) oder hartcodiert in die Software (die dann 
liogischerweise nur ein LCD unterstützt). Die Timings stehen auf seite 
14 in dem von dir verlinken Datenblatt.

von Mic U. (micyourcontroller)


Lesenswert?

Jens schrieb:
> Also möchtest du sowas selber bauen?
>
> 
http://www.pollin.de/shop/dt/ODc3OTgxOTk-/Bausaetze_Module/Module/LVDS_Interface_PI_MDV6822_VGA_DVI_zu_LVDS.html

So ähnlich! Was mich ein wenig am Pollin Bausatz stört, ist, dass man 
nur durch die Jumper Settings an den Einstellungen der Videoübertragung 
werkeln kann. Ich hätte das gern universeller.


Rufus Τ. Firefly schrieb:
> Verbindet man dessen parallele Ausgänge mit einem LVDS-Transceiver wie
> z.B. http://www.ti.com/product/ds90c3201, und erstellt man sinnvollen
> Inhalt für das EDID-EEPROM, hat man einen HDMI- bzw.
> DVI-zu-LVDS-Adapter.

Genau das ist mein Ziel! :) Ich würde gerne am PC EDID Daten über eigene 
Software erstellen und diese dann auf das EEPROM flashen. So hat man die 
Möglichkeit verschiedene LVDS Displays ohne großen Aufwand zu testen. 
Das GitHub Projekt schau ich mir später gleich mal an!

Wenn sich der Controller dann diese Daten holt beziehungsweise einliest, 
kann man LVDS Displays ansteuern und als vollwertigen Monitor betreiben. 
So stelle ich mir das nun vor. Was mir nicht ganz klar ist, wieso es mit 
analogen Daten schwieriger wird. Könnte man theoretisch nicht einfach 
einen HDMI(DVI)-to-VGA Adapter verwenden?

Stampede schrieb:
> Entweder über EEPROM (EDID) oder hart codiert in die Software (die dann
> liogischerweise nur ein LCD unterstützt). Die Timings stehen auf seite
> 14 in dem von dir verlinken Datenblatt.

Cool! Danke fürs Nachschauen! Das bedeutet, du würdest auch den TI Chip 
verwenden? Oder soll ich mich noch weiter auf die Suche machen?

Übringens, vielen vielen Dank für eure Antworten! Hat mir wirklich 
weitergeholfen.

von Frank K. (fchk)


Lesenswert?

Mic UC schrieb:
> Wenn ich zum Beispiel dieses Chimei/Innolux Display ansteuern möchte,
> woher bekommt der Controller die EDID Informationen?
> 
http://www.display-solution.com/pdf/tft-displays/Chi%20Mei%20Innolux/G104AGE-L02_20130703.pdf
> Muss ich diese in einem EEPROM selbst hinterlegen? Ein simples TFT LCD
> Display meldet sich im Gegensatz zu einem Monitor ja nicht über denn DDC
> an oder?

Dieses Display hat kein DDC-EEPROM, d.h. der Host muss die 
Displayparameter kennen. Bei Notebookdisplays mit 30- oder 40-Pin 
Connector ist üblicherweise ein EEPROM enthalten, damit der Assemblierer 
einfach andere Displays verwenden kann.

fchk

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mic UC schrieb:
> Was mir nicht ganz klar ist, wieso es mit analogen Daten schwieriger
> wird. Könnte man theoretisch nicht einfach einen HDMI(DVI)-to-VGA
> Adapter verwenden?

Wenn, dann einen VGA-zu-HDMI-Adapter. Das ist einiges an Elektronik, 
ein schneller 3-Kanal-ADC und gegebenenfalls ein 
Abtastratenkonverter/Skalierer.

Klar, das gibt es als recht günstiges Fertiggerät, aber "einfach" stelle 
ich mir anders vor.

von W.S. (Gast)


Lesenswert?

Mic UC schrieb:
> Wenn man nun ein Display mit LVDS als Schnittstellen betreiben möchte,
> so liest man im Internet, sind oft Controller Kits notwendig.

Lies ein bissel gründlicher.
LVDS ist nur eine Übertragung von Signalen. Dabei werden eine ganze 
Reihe von parallel anliegenden Signalen nebst Takt serialisiert und über 
deutlich weniger Strippen weitergeleitet. Auf der anderen Seite wird das 
dann wieder auseinandergefitzelt, so daß dort dann die ursprünglichen 
parallelen Signale wieder vorliegen.

DVI und HDMI benutzen die gleichen Übertragungsprinzipien (kleiner 
Pegel, differential,...), haben aber ihre eigenen Protokolle bzw. 
Bit-Zuordnungen und Bedeutungen oben draufgesetzt.

Was über LVDS übertragen wird und wie zum Beispiel die Zuordnung zu den 
bei TFT-Displays üblichen mehrbittigen RGB-Signalen nebst 
Synchronsignalen im konkreten Falle getroffen wurde, mußt du in dr Doku 
zum jeweiligen Display nachlesen - sofern vorhanden.

W.S.

von Hans-Georg L. (h-g-l)


Lesenswert?

In vielen TFT sind Chips von Genesis verbaut und dafür findet man auch 
Datenblätter und fertige Boards aus defekten TFT Monitoren.


Beispiel: GM5120
http://www.datasheetspdf.com/PDF/GM5120/592375/2

von Mic U. (micyourcontroller)


Lesenswert?

Hans-Georg Lehnard schrieb:
> In vielen TFT sind Chips von Genesis verbaut und dafür findet man auch
> Datenblätter und fertige Boards aus defekten TFT Monitoren.

Auf die Chips zum Beispiel den GM5726 bin ich auch schon gestoßen. 
Leider sind diese von ST (die Genesis übernommen werden) jedoch nicht 
mehr aktiv. ST hat glaub ich jetzt aber eigene Chips entwickelt! :)

von Mic U. (micyourcontroller)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Eine Selbstbaulösung, bei der man die Programmierung in der Hand hat,
> gibt es aber:
>
> https://github.com/watterott/HDMI-Display

Hi zusammen,

ich hab mir jetzt mal dieses OpenSource Projekt angeschaut und bin ich 
begeistert davon.
Da hat jemand schon fast in diesselbe Richtung wie ich gedacht. Habe ich 
es richtig verstanden, dass wenn man die EDID Informationen, die hier 
über den ATmega32u2 in das EEPROM geflashed werden, für weitere Displays 
anpasst und nicht die vorhandenen flashed, prinzipiell auch andere 
Displays als in der Liste kompatibler Displays verwendet werden kann ? :

https://github.com/watterott/HDMI-Display/blob/master/docu/Displays.md

Ich habe jetzt zwei für mich sehr attraktive Controller gefunden, die 
man verwenden könnte:

den TI, den ihr mir bereits vorgeschlagen habt und einen weiteren 
Controller von ST, den:
http://www.st.com/st-web-ui/static/active/cn/fragment/product_related/rpn_information/product_circuit_diagram/circuit_diagram_15270.pdf

Grundsätzlich arbeiten beide mit einem EEPROM beziehungsweise mit einem 
Flash, in denen die EDID Daten ablegen? Großer Software Aufwand außer 
schreiben des Dateninhalts ist also keiner notwendig, wenn ich das 
richtig sehe? Könnte mir das jemand bestätigen, dann könnt ich mich 
entscheiden und bald mit dem Schaltplan design beginnen?

Vielen Dank!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mic UC schrieb:
> Habe ich es richtig verstanden

Im Prinzip ja ...

Der fehlende LVDS-Transceiver ist auf diesem, ganz ähnlich angelegten 
Projekt verbaut:

http://www.chalk-elec.com/?p=2109

von Mic U. (micyourcontroller)


Lesenswert?

Noch eine Frage:

Woher weiß der PC auf welcher I2C Addresse das EEPROM sitzt? Sprich, 
wenn ein Monitor angesteckt wird und die Daten über I2C versendet 
werden, muss ja der Verbindungsaufbau gemanaged werden oder irre ich 
mich?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mic UC schrieb:
> Woher weiß der PC auf welcher I2C Addresse das EEPROM sitzt?

Die Adresse ist festgelegt, d.h. das EEPROM muss die Adresse 0x50 
haben. Die Minimalvariante ist ein 24c01 mit 128 Byte.

Hier eine Beschreibung der Inhalte:

https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

von Mic U. (micyourcontroller)


Lesenswert?

Oh, interessant. Vielen Dank für deine Mühe.

von Mic U. (micyourcontroller)


Lesenswert?

Hallo nochmals,

ich bin gerade etwas unsicher. Ich habe mich für den TFP401A von TI 
entschieden und hätte gerne eine universelle Lösung für Single Channel 
und Dual Channel LVDS auf einem Board.

Hier die links zu den Datenblättern:

http://www.ti.com/lit/ds/symlink/tfp401a.pdf

http://www.ti.com/lit/ds/symlink/ds90c387.pdf

Im Single Channel Betrieb habe ich es so vorgesehen:

TFP401A Single Colour Output - DS90C387 Even (=Single) Colour Input

Im Dual Channel Betrieb habe ich es so vorgesehen:

TFP401A Even/Odd Colour Output - DS90C387 Even/Odd (=DUAL) Input

Nun habe ich festgestellt, dass beim DS90C387 die Möglichkeit besteht 
mit single color input -> dual channel output zu erzeugen.

Ist es also notwendig den TFP401A im Dual Channel LVDS Betrieb überhaupt 
auf Dual Channel zu konfigurieren? Könnte ich diesen nicht immer auf 
Single Channel lassen?

Ich habe momentan Probleme mir dies richtig vorzustellen.

Wenn ein Single Channel LVDS Display betrieben wird kommt ja ein 
Datenstrom mit einer mäßigen Datenrate und wird gewandelt. Es gibt keine 
Unterscheidung zwischen Even und odd Pixel Output.
Wenn nun bei Dual Channel LVDS wiederum nur ein Datenstrom vom TFP401A 
generiert wird und nun der DS90C387 Chip diesen in Single und Odd Pixel 
aufteilen muss, entstehen dann nicht Timing Probleme bzw. es sind nicht 
genügend Daten da?

Im Application Note ist die normale Konfiguration angegeben (Single 
(TFP)-Single (DS90) bei Single lVDS und Dual (TFP)-Dual(DS90) bei Dual 
LVDS), würde mich doch echt wundern wenn das Single (TFP)-Dual(DS90) 
Mischmasch gut funktionieren würde. Irre ich mich total oder ist das 
möglich. Vielen Dank für eure Zeit und euer Bemühen!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.