Forum: Mikrocontroller und Digitale Elektronik LVDS Timing in OS - wo?


von Markus (Gast)


Lesenswert?

Hi,

ich möchte gern ein TFT Display an ein Com-Express Board anschließen 
welches nur einen LVDS Anschluss besitzt.

Über einen LVDS-Receiver sollte das möglich sein, aber wo muss ich 
welche Timing Parameter setzen (wenn Windows CE, Embedded oder Linux zum 
Einsatz kommen soll. Möchte gern alle drei Systeme ausprobieren).

Bei dem TFT handelt es sich um dieses hier:
www.cec-mc.ru/data/files/File/PDF/OSD043TN13.pdf

Welche Timing Parameter (angefangen auf Seite 9 des Datenblatts) muss 
ich wie im Prozessor bzw. im Betriebssystem angeben (findet das komplett 
im Bios statt)? Hab leider zu diesem Thema nichts im Internet finden 
können :-( Vielleicht kennt jmd ein paar Links die das näher erläutern 
wie ein "normales TFT" im OS initialisiert (Timing-Parameter) wird.

LG
Markus

von Purzel H. (hacky)


Lesenswert?

Eine Sache fuer einen Treiber. Sax2 macht das.

von Markus (Gast)


Lesenswert?

ist es kompliziert so einen Treiber zu schreiben?

von Markus (Gast)


Lesenswert?

ist es auch überhaupt möglich ein solches display mit relativ geringer 
auflösung (kleiner als vga) an einen intel prozessor anzuschließen? Als 
Grafikprozessor wird der Intel 945GM eingesetzt.

LG
Markus

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

wenn wir mal dem Framebuffertreiber von Linux vertrauen:
1
/* Clock values are in units of kHz */
2
#define PLL_REFCLK    48000
3
#define MIN_CLOCK    25000
4
#define MAX_CLOCK    350000

dann sieht das eher schlecht aus da dein Display maximal 15MHz Pixeltakt 
verträgt der Chipsatz aber mindestens 25MHz ausgeben muss/will.

Das muss natürlich nicht stimmen.

Matthias

von Markus (Gast)


Lesenswert?

hab grad mal im Datenblatt von dem Intel 945GM Prozessor nachgeschaut
1
The Ultra Mobile Intel 945GU Express Chipset supports 25 MHz - 112 MHz single channel; @18 bpp.

das bedeutet dieses Display ist unter keinen Umständen mit diesem 
Grafikprozessor an den Start zu bekommen, oder?

Gibt es überhaupt solch kleine Displays (mir geht es vor allem um die 
Außenmaße, welche nicht höher als 80mm ca 2HE sein dürfen) mit mehr als 
25MHz Pixeltakt?

LG
Markus

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

5" mit 800x480 gibt es einige. Sind auch nicht unbedingt höher als 80mm.

Matthias

von Christian R. (supachris)


Lesenswert?

Gibt auch 4" mit VGA Auflösung. Ich hatte mal sowas von Ebay, ließ sich 
gut mit einem DVI Receiver betreiben. War ein LTM04C380K.

von Markus (Gast)


Lesenswert?

das kommt schon ziemlich nahe ran an die geforderten 25MHz Mindesttakt 
(das Display hat round about 20MHz).

Gibt es eine gute Seite wo man relativ schnell ein solches Display 
findet mit diesen Eigenschaften? Hab grad mal bei Sharp und Hitachi 
gesucht, aber leider ohne Erfolg.

LG
Markus

von Christian R. (supachris)


Lesenswert?

Naja, VGA hat 25,1 MHz Pixeltakt, das geht auf jeden Fall. Schließlich 
kann jeder noch so moderne Grafikchip auch immer noch das Standard-VGA 
Timing darstellen. Leider sind die meisten dieser Displays recht 
kundenspezifisch, und schwer zu finden. Außerdem haben diese kleinen 
Dinger recht ausgefallene Steckverbinder, da sie eigentlich für PDAs usw 
gedacht sind.

von Markus (Gast)


Lesenswert?

d.h. mit einem solchen display müsste ich gar nicht am timing etwas 
verändern, sondern einfach das standard-timing, welches quasi mit dem OS 
mitkommt einstellen?

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

ja, bei VGA funktioniert das wenn der LVDS Ausgang aktiv ist (das muss 
nicht zwingend so sein). Wie du das aber bei Windows einstellst? Keine 
Ahnung.

Matthias

von Christian R. (supachris)


Lesenswert?

Also für die normalen Displays mit 640x480 oder 800x600 musst du 
überhaupt nix einstellen. Wie du allerdings den LVDS oder Digital-RGB 
Ausgang aktivierst, weiß ich nicht. Aber wenn der auf dem Board drauf 
ist, sollte er sich ganz normal wie ein normaler Monitor-Ausgang 
verhalten. Bei den via Epia Boards funktioniert das auch.

von Markus (Gast)


Lesenswert?

es wird wahrscheinlich lediglich ein treiber für die 800x480 (z.B: 
LB048WV1-TL01) auflösung fehlen.

Werd auch gleich versuchen bzw. schauen, dass das Display einen LVDS 
Anschluss besitzt, dann brauch ich wenigstens keinen LVDS Receiver 
installieren.

>Wie du das aber bei Windows einstellst?
soweit ich gelesen habe, wird das vom Windows Embedded scheinbar von 
allein gemacht, indem das OS selbstständig schaut welche Sachen auf dem 
Board installiert sind und nach geeigneten Treibern etc. schaut... 
Nachdem der LVDS Anschluss auf dem Board vorhanden ist, müsste dieser in 
dieser Auflistung auch vorhanden sein...

Wie dann bei einer 800x480 Auflösung die weiteren Steps sind, um das 
Display mit dem richtigen Timing zu versorgen muss ich mir noch 
durchlesen etc,. wenn ich eine geeignete Quelle gefunden habe

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das BIOS der Graphik"karte" enthält den Initialisierungscode für den 
LVDS-Anschluss, und der Graphiktreiber entnimmt dem BIOS bzw. von ihm 
vorgehaltenen Tabellen die erforderlichen Daten.

Bei vielen Embedded-Boards mit vergleichbarer Graphikhardware kann man 
im BIOS-Setup die Auflösung eines per LVDS angeschlossenen Displays 
konfigurieren (was nötig ist, da kein DDC-ID-Mechanismus vorhanden ist, 
der der Graphikhardware irgendwie die Auflösung und gewünschten 
Timingdaten des Displays mitteilen könnte).
Es ist anzunehmen, daß das bei diesem Board auch so ist.
Bei anderen Boards z.B. von Kontron wird ein ID-EEPROM auf einer 
Adapterplatine verwendet, die den Stecker des Boards an das jeweilige 
Display anpasst, wenn ich mich recht erinnere, werden diese Dinger 
"Jili" genannt.

von Markus (Gast)


Lesenswert?

>Bei vielen Embedded-Boards mit vergleichbarer Graphikhardware kann man
>im BIOS-Setup die Auflösung eines per LVDS angeschlossenen Displays
>konfigurieren

lese ich das richtig, dass dann diese Auflösung auf jeden Fall in dieser 
Liste drinnenstehen muss? Kann man diese Liste auch einfach erweitern 
(custom-resolution etc.)?

Bei dem Board hab ich mich noch nicht 100%ig entschieden; wollt erstmal 
schaun und mich informieren, wie ich an einem solchen Board alles 
angeschlossen bekomme.

>Bei anderen Boards z.B. von Kontron wird ein ID-EEPROM
in diesem Eprom wird dann die Config eingestellt für das angeschlossene 
Display? Ist das einfacher oder warum gibt es zwei "Interfaces" LVDS und 
JILI bei manchen Boards?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> lese ich das richtig, dass dann diese Auflösung auf jeden Fall in dieser
> Liste drinnenstehen muss?

Ja, sonst kann das Board z.B. seine BIOS-Startup-Meldungen nicht lesbar 
ausgeben.

> Kann man diese Liste auch einfach erweitern
> (custom-resolution etc.)?

Das hängt vom jeweiligen Boardhersteller ab, ob er so einen Mechanismus 
vorgesehen hat.

> in diesem Eprom wird dann die Config eingestellt für das angeschlossene
> Display?

Genau so geht das; Kontron verkauft die Adapter mit für bestimmte 
Displays vorkonfiguriertem EEPROM.

> Ist das einfacher

Wäre ich noch etwas boshafter, würde ich sagen, daß Kontron so 
zusätzliches Geld mit seinen JILI-Adapterplatinen einnehmen kann, aber 
das ist natürlich nicht korrekt. Man kann, ohne das Board selbst 
umzukonfigurieren, Display und zugehöriges JILI-Adapterplatinchen 
austauschen. In bestimmten Situationen ist das gewiss von Vorteil.

> oder warum gibt es zwei "Interfaces" LVDS und
> JILI bei manchen Boards?

Was genau das sein soll, weiß ich nicht; die Kontron-Boards, die ich 
kenne, haben nur JILI-Anschlüsse, erwarten also ein 
Konfigurations-EEPROM.

von Markus (Gast)


Lesenswert?

>Genau so geht das; Kontron verkauft die Adapter mit für bestimmte
>Displays vorkonfiguriertem EEPROM.
ah ok, jetzt versteh ich die Thematik mit dem JILI Interface etwas 
besser; Danke für deine Ausführungen.

Allerdings könnte man wahrscheinlich einfach nur das Eprom tauschen ohne 
diesem Interface JILI und das Bios so konfigurieren, dass es die config 
aus dem Eprom liest... dann würd auch ein LVDS Anschluss alleine 
reichen.

Dann werd ich mich mal erkundigen bei den Herstellern, wo und wie andere 
Auflösungen und Timings hinzugefügt werden können beim jeweiligen 
Betriebssystem.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Allerdings könnte man wahrscheinlich einfach nur das Eprom tauschen

Das ist kein EPROM, sondern ein EEPROM. Und das befindet sich auf dem 
JILI-Adapter-Board.

Der Anschluss eines Displays an ein Kontron-Board mit JILI funktioniert 
so:

Board -> Kabel -> JILI-Adapter-Board -> Kabel -> Display

> und das Bios so konfigurieren, dass es die config

Kontron wird so etwas allenfalls bei sehr großen abgenommenen 
Stückzahlen machen.

> dann würd auch ein LVDS Anschluss alleine reichen.

Wenn es den denn gibt.


> Dann werd ich mich mal erkundigen bei den Herstellern, wo und wie andere
> Auflösungen und Timings hinzugefügt werden können beim jeweiligen
> Betriebssystem.

Das hat nichts mit dem Betriebssystem zu tun, das geschieht auf 
BIOS-Ebene, bevor das Betriebssystem überhaupt gestartet wird. Sicher, 
das Betriebssystem selbst muss auch noch wissen, wie es mit dem Display 
umzugehen hat, aber das ist außer bei sehr abstrusen Auflösungen 
zweitrangig.

von Markus (Gast)


Lesenswert?

ist eigentlich LVDS Single / Dual das gleiche wie wenn man odd/even LVDS 
Display-Daten überträgt?

Bis jetzt hab ich es so verstanden, dass LVDS ersteinmal immer zwei 
Signalleitungen besitzt (differentielle Übertragung der Daten); pro 
Channel können dann z.B. 6Bit übertragen werden - was dann 3x 2 LVDS 
Signalleitungen entspricht.

Mit odd/even könnte ich mir zusammenreimen, dass bei sehr großen 
Displays die odd Displaydaten auf einem und die even Displaydaten auf 
einem zweiten Channel übertragen werden...

Entspricht das auch ungefähr der Verfahrensweise bei Single / Dual LVDS? 
Das man insgesamt zwei Channels verwenden kann mit 18Bit z.B.; würde man 
jetzt nur einen Channel verwenden könnte man 2x 18Bit gleichzeitig 
übertragen?



Ist die LVDS Schnittstelle bezüglich der Spannungen (12V und 5V) 
spezifiziert, oder kann es auch sein, dass der ein oder andere 
Board-Hersteller 3.3V an seinen LVDS Bus übertägt bzw. übertragen 
kann... oder wird die Spannung auch per BIOS eingestellt?

Gibt es eine gute Manual zu LVDS (außer dieses Teil von National: 
LVDS_Owner_Manual, in der mehr allgemeine sachen abgearbeitet werden als 
speziell für LVDS)?

von Tim (Gast)


Lesenswert?

LVDS überträgt bis 18Bit glaub ich die Daten auf 4 Paaren (RGB + Takt).

Bei 24Bit Displays wird das ganze aus irgendeinem Grund auf 5 Paare 
erweitert. Genaueres weiß ich allerdings auch nicht.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Ist die LVDS Schnittstelle bezüglich der Spannungen (12V und 5V)
> spezifiziert?

Das LV steht für low voltage, da kommen so hohe Spannungen gar nicht 
vor. Die Spannungspegel sind bei Displayanwendungen einheitlich, ein 
Unterschied kann die Betriebsspannung der LVDS-Treiber bzw. 
Empfängerbausteine sein, dies wirkt sich aber nicht auf die 
Übertragungspegel aus.

Sieh Dir mal Datenblätter von unterschiedlichen 
LVDS-Treiber-/Empfängerbausteinen an, daraus dürften sich einige Deiner 
Fragen beantworten.

von Markus (Gast)


Lesenswert?

wenn ich das richtig sehe, ist die Anzahl von LVDS Paaren von dem 
jeweiligen Chip abhängig der eingesetzt wird.

Allerdings konnte ich nichts finden über die konkrete Anordnung der 
Daten - auf welchem Paar welche Daten RGB und Steuerdaten (VSync etc.) 
übertragen werden... Das einzige was ich gefunden habe ist, dass das 
höchste Paar immer den Takt überträgt (jedenfalls wird das so in vielen 
AppNotes dargestellt).

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.