Display Initialisierung

Gast #3696658
Lesenswert?

Tag,

in vielen Datenblättern von Displays steht eine Ini Sequent, die zuerst 
durchlaufen werden muss.

Da fallen dann Begriffe wie Gamma Korrektur, Display Inversion usw.

Kann mir jemand erklären was in so einer Display Initialisierung im 
Groben eigentlich passiert?

Merci
#3696682
Lesenswert?

Na das was im Datenblatt halt drin steht. Je nach Display ist da etwas 
anderes von nöten.

Ich nehme an du sprichst von einem Grafik-Display mit Controller. Dann 
ist das ein Controller der für sehr viele unterschiedliche Displayarten 
bei unterschiedlichen Einsatzzwecken verwendet werden kann. In der 
Intitialisierung musst du ihm dann die Eigenschaften übermitteln.

Bspw. die Auflösung, die Start/End-Adressen im GRAM, die Farbtabelle, 
die Farbtiefe, ob du das Display invertiert betreiben willst, die 
Helligkeit der Pixel/Hintergrundbeleuchtung, ...

Im Datenblatt steht's drin was gemacht wird.
Gast #3696684
Lesenswert?

> Kann mir jemand erklären was in so einer Display Initialisierung im
> Groben eigentlich passiert?
Ähm... ja, das Datenblatt zu dem (von dir nicht näher spezifizierten) 
Displaycontroller. Wenigstens das DB solltest du haben - und wenn du uns 
dann sagst was aus dem DB du nicht verstehst können wir konkret drauf 
eingehen.
Im Groben (wie von dir gefragt) ist es so, dass der Displaycontroller ja 
nicht weiss, welches Display angeschlossen ist. Also konfiguriert man in 
passend auf das Display bzgl. Anzahl Pixel, Wiederholrate, etc. Ist 
jetzt wirklich grob, aber zumindest ein Anfang.

> Da fallen dann Begriffe wie Gamma Korrektur, Display Inversion usw.
Gammakorrektur ist Anpassung der Helligkeit, Display Inversion ist die 
inverse Darstellung, also die Umkehrung der Farbwerte.

Ralf
Gast #3696743
Lesenswert?

Danke das hilft mit schon mal als Anhaltspunkt. Wie kann ich mir die 
Funktionsweise eines Grafik-Displays mit Controller in etwa vorstellen?

Es hat einen Speicher (DDRAM). An den Controller werden dann immer 
Befehle oder Daten geschickt bzw. Befehle (zum Beispiel) Anfangsadresse 
Zeile oder Anfangsadresse Spalte gefolgt von Daten (Beispiel Zeile 3). 
Dieser Speicher wird dann fortlaufend ausgelesen und auf das Display 
geschrieben? Es ist intern schon festgelegt wo welche Daten für welche 
Befehle abgelegt sind. Zum Beispiel an Speicherstelle xy liest der 
Controller die Funktion yz aus und schreibt die Daten aufs Display.

Kommt das in etwa so hin?

Merci für die Antworten
#3696794
Lesenswert?

Ein Grafikdisplay wird in zwei Teile gegliedert:

Das 'Glass' ist das Display was du siehst. Also das Glas mit den 
Flüssigkristallen und Transistoren. Ohne Intelligenz, Speicher, .... Das 
nackte Glas.

Der Controller, dessen Aufgabe es ist ständig die Pixelinformationen aus 
einem Grafikspeicher (GDDRAM) ans Glass zu senden, auch wenn sich nichts 
im RAM geändert hat. Der Controller muss ständig und ununterbrochen 
senden. Was die Start/End-Adresse im GDDRAM ist, wieviel Zeilen und 
Spalten er senden muss, wie er die Daten senden muss, in welchem 
Intervall, etc. steht in der Initialisierungs-Routine.
Andererseits muss der Inhalt des GDDRAM verändert werden können. Dazu 
hat der Controller ein paralleles oder serielles Interface über das ein 
uC Daten ins GDDRAM senden kann.
Da über ein und dasselbe Interface der Controller konfiguriert wird und 
Daten im GDDRAM geändert werden, muss man vor jedem Senden dem 
Controller mitteilen ob die folgenden Daten Befehle oder Daten für den 
Speicher sind, wie du selbst schon beschrieben hast.

Und dann hat so ein Controller manchmal noch integrierte Grafikroutinen 
die eine Pixelmanipulation beschleunigen. Bspw. verschieben bestimmter 
Bereiche, Löschen von Bereichen, Kopieren, ...
Das sind aber Extras, die je nach Controller variieren und man vorerst 
ignorieren kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren