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
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
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
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
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
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.
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?
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
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.
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
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.
>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?
> 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.
>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.
> 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.
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)?
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.
> 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.
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).