Forum: Mikrocontroller und Digitale Elektronik STM32 LTDC mit internem SRAM?


von A. G. (grtu)


Lesenswert?

Hallo zusammen,

ich würde gerne einen STM32F767 mit benutzen um über LTDC ein 480x272 
LCD-TFT anzusteuern. Keine Videos o.Ä., lediglich ein einfaches GUI mit 
ein paar Knöpfen. Benötige ich dafür unbedingt einen externen RAM? Die 
512kB internen SRAM sollten ja für 480x272x24bit reichen, jedoch dann 
ohne double-buffering. Spricht da etwas dagegen? Ansonsten, kann mir 
jemand einen geeigneten externen RAM empfehlen?

von STK500-Besitzer (Gast)


Lesenswert?

A. G. schrieb:
> Spricht da etwas dagegen?

Wenn du in deinem Programm keine Variablen verwenden willst...

von m.n. (Gast)


Lesenswert?

A. G. schrieb:
> lediglich ein einfaches GUI mit
> ein paar Knöpfen.
> ...
> 512kB internen SRAM sollten ja für 480x272x24bit

Damit gibt es nur Arbeit beim Layout und dem größtmöglichen Gehäuse. Für 
Deine Anwendung braucht man keine 24 Bit Farben. 8 Bit mit einer 
Farbtabelle (CLUT) reichen völlig aus.
Der F767 ist natürlich ein feines Teil ;-)

Es geht auch schon zwei Nummern kleiner mit einem F407 im 100-pol. 
Gehäuse: 
http://mino-elektronik.de/TFT-direct-drive/TFT-direct-drive.htm#tft-4
Mit DMA werden auch bei kleinen Gehäuse nicht die besten IO-Pins 
'verbraten': http://mino-elektronik.de/FM_407/fmeter_407.htm#c2

von soso... (Gast)


Lesenswert?

Es kommt darauf an, was du sonst noch tun willst.Wenn das Display nur 
eine GUI anzeigen soll, ist das machbar.

Mein aktuelles Projekt hat beispielsweise einen PIC32MZEF2048 (512kByte 
SRAM) und ein GLCD mit 320x480 in Farbe. Ich verwende 16Bit Farbtiefe, 
um RAM zu sparen (das Display lässt sich in einem 16-Bit-Modus 
betreiben).

Der Framebuffer frisst ordentlich RAM, aber der Rest reicht für meine 
Zwecke aber aus.

Betrachte aber auch Fonts und Bitmaps, bevor du das anfängst. Da hasst 
du schnell hunderte kBytes zusammen. Ein einzelnes Bitmap frisst einen 
merklichen Teil des Flashes.

Eines muss aber klar sein:
So ein STM32F7 hat zwar genug Leistung, um eine ordentliche GUI mit so 
hoher Auflösung darstellen zu können, flüssige Animationen oder 
grafikintensive Anwendungen sind aber nicht deren Kernkompetenz.
Wenn du sowas willst, ist da zuwenig RAM drin, und die Leistung etwas 
klein. Da brauchts was mächtigeres (SAMA5, i.MX6UL) oder einen µC mit 
GPU (wie PIC32MZDA).

von A. G. (grtu)


Lesenswert?

STK500-Besitzer schrieb:
> A. G. schrieb:
>> Spricht da etwas dagegen?
>
> Wenn du in deinem Programm keine Variablen verwenden willst...

Naja, schon. Meinst du, dass in die verbleibenden 120kbyte noch ein paar 
Chars, Shorts und Ints passen? -.-

m.n. schrieb:
> Damit gibt es nur Arbeit beim Layout und dem größtmöglichen Gehäuse. Für
> Deine Anwendung braucht man keine 24 Bit Farben. 8 Bit mit einer
> Farbtabelle (CLUT) reichen völlig aus.
> Der F767 ist natürlich ein feines Teil ;-)

Die CLUT ist eine ziemlich gute Idee! Damit sollte es dann locker in den 
internen SRAM passen.

Mir ist es für dieses Projekt nicht so wichtig ob der uC ein paar Euro 
mehr kostet, je weniger ich in externe Bauteile wie LCD-Controller, 
externen RAM oder sonstiges auslagern muss, desto lieber ist es mir. 
Daher war meine Hoffnung alleine mit dem uC und dem Display 
zurechtzukommen, auch weil es nur ein "einfaches" GUI werden soll, ohne 
Animationen oder gar Videos.

soso... schrieb:
> Es kommt darauf an, was du sonst noch tun willst.Wenn das Display nur
> eine GUI anzeigen soll, ist das machbar.
>
> Mein aktuelles Projekt hat beispielsweise einen PIC32MZEF2048 (512kByte
> SRAM) und ein GLCD mit 320x480 in Farbe. Ich verwende 16Bit Farbtiefe,
> um RAM zu sparen (das Display lässt sich in einem 16-Bit-Modus
> betreiben).
>
> Der Framebuffer frisst ordentlich RAM, aber der Rest reicht für meine
> Zwecke aber aus.
>
> Betrachte aber auch Fonts und Bitmaps, bevor du das anfängst. Da hasst
> du schnell hunderte kBytes zusammen. Ein einzelnes Bitmap frisst einen
> merklichen Teil des Flashes.

Genau sowas habe ich auch vor. Nur ein GUI mit ein paar Bitmaps und 
einer Font, die locker in die 2MByte Flash zusammen mit dem Programm 
passen.

: Bearbeitet durch User
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.