Forum: Mikrocontroller und Digitale Elektronik Übertragung µC -> Framebuffer -> LCD Controller -> Display


von Martin (Gast)


Lesenswert?

Hallo,

ich habe eine kurze Frage zum Thema SDRAM als Framebuffer. Warum ist die 
Busauslastung bei Verwendung einer 16-bit Farbtiefe geringer als bei 
einer 18-bit Farbtiefe?

Ich habe einen 32-bit SDRAM: 2Mx32bit 4banks (256Mbit). Mir ist klar, 
dass die 16-bit/pixel in ein Halbwort passen. Und für 18-bit/pixel muss 
eben ein ganzes Wort verwendet werden, wobei die nicht benutzten Bits 
mit Nullen aufgefüllt werden.

Aber woran liegt das nun, dass die 16-bit nicht auch als Wort 
gespeichert bzw. übertragen werden?

Die breite des AHB Bus (NXP LPC4357 µC) ist doch immer 32-bit. Also 
übertrage ich dann bei 16-bit/pixel zwei Pixel gleichzeitig oder immer 
nur ein pixel nach dem anderen?

Kann es sein, dass die Daten seriell in einen Buffer geschoben werden 
und nachdem dieser voll ist dann als 32-bit-Block über den AHB-Bus 
übertragen und als 32-bit-Feld im SDRAM gespeichert werden? Und 2 Pixel 
gleichzeitg übertragen werden und der Bus deshalb weniger belastet wird?

Hab ich einen Denkfehler oder ist das so?

 Viele Grüße

Martin

von W.S. (Gast)


Lesenswert?

Martin schrieb:
> Warum ist die
> Busauslastung bei Verwendung einer 16-bit Farbtiefe geringer als bei
> einer 18-bit Farbtiefe?

Was soll das?

Du hast es doch bereits geschrieben. Mit 65K Farben brauch mn eben 
weniger als mit 16M Farben, genauer gesagt halb so viele (18 Bit geht am 
Bus sowieso nicht, da sind 32 Bit fällig).

Der LCD-DMA zieht sich die Daten mit der Busbreite rein, die er kriegen 
kann und das sollte man eben 32 bittig machen. Immerhin geht beim SDRAM 
die sache ja auch blockweise vonstatten, so daß von der beschränkten 
Buskapazität noch ein bissel für den Prozessor übrig bleibt.

Wo ist dein Problem eigentlich?

W.S.

von Martin (Gast)


Lesenswert?

Hallo :-)

18-Bit => 262k Farben.

Mein Problem ist, das ich grad ein Wenig auf dem Schlauch stehe.

Werden zwei 16-Bit Werte in einen 32-bit Wert reingesteckt oder wird aus 
jedem 16-bit Wert ein 32-bit Wert gemacht?

Ich versuche nachzuvollziehen, warum 16bpp besser für die Busauslastung 
sind.

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.