Forum: Mikrocontroller und Digitale Elektronik Display Initialisierung


von Newbie (Gast)


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

von Frank M. (frank_m35)


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.

von Ralf (Gast)


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

von Newbie (Gast)


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

von Frank M. (frank_m35)


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.

von Newbie (Gast)


Lesenswert?

Hallo Frank,

vielen Dank für deinen ausführlichen und verständlichen Beitrag. Genau 
sowas hab ich gesucht.

Danke dafür

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.