cancel
Showing results for 
Search instead for 
Did you mean: 

32H743IG + Contrôleur LCD RGB 240*320 pixels

dacha.1
Associate II

bonjour

Sujet : STM

32H743IG + Contrôleur LCD RGB 240*320 pixels

exigence :

 - Les datas images et logo sont stockés dans une flash SPI

 - le format des donnes est en Jpeg

 -  Image de fond 240*320

 - le format du lcd est RGB888

- Des logos en positions fixes sont a poser en transparence sur l’image de fond

 -  changement de logo a 200 milli seconde maxi

Questionne:

 - Peut on fonctionner uniquement avec la RAM interne (dispo 1 mega mais avec des secteurs discontinu)  Ou doit on rajouter de la RAM sur le Bus FSMC ?

Salutations

Daniel Achard

6 REPLIES 6
Peter BENSCH
ST Employee

Welcome, @dacha.1​, to the community!

I've translated your question with a web-based translation tool to increase the chances that you will get an answer from our experts and community members, as the majority communicate in English:

Hello

Subject: STM

32H743IG + RGB LCD controller 240*320 pixels

requirement :

 - Image and logo data are stored in a SPI flash

 - the data format is Jpeg

 - Background image 240*320

 - LCD format is RGB888

- logos in fixed positions are to be placed in transparency on the background image

 - logo change at 200 milli seconds max

Question:

 - Can we use only the internal RAM (1 mega but with discontinuous sectors) or do we have to add more RAM on the FSMC bus?

Greetings

Daniel Achard

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
Peter BENSCH
ST Employee

To answer your question:

The STM32H743IG contains e.g. a SRAM at AXI of 512KB.

Your QVGA display requires for RGB888 and single buffering 320x240*2 bytes = 150KB framebuffer.

So you can double-buffer with this 512KB RAM block without any problems and without external RAM.

Does it answer your question?

Regards

/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
dacha.1
Associate II

Merci Pierre

êtes vous sur de cela ?

le buffer de 240*320*2 est bien le buffer final qui est envoyer sur le LCD ?

 Si j utilise le double buffering (Buffer B1 et B2) cela veut dire que quand le lcd utilise le buffer B1 pour afficher , je peut remettre a jour

le buffer B2 avec l image de fond en JPEG qui est dans la flash 4 spi

et les logos a super poser en transparence qui sont aussi stocker dans la flash spi

Je n arrive pas en bien comprendre tout ce scenario , pouvez vous m’expliquer ?

Merci d’avance

MM..1
Chief II

Peter make little miss. RGB888 is x3 not x2. But yes framebuffer not require same colorspace as LCD...

LTDC support 2 layers when your code manage GUI. One static background layer can be in flash , but no jpeg. Layers with alpha ARGB8888 is x4 memory space.

Other way is use graphics library as TouchGFX or other.

And primary question is have your LCD own frambuffer or no?

But simply reply for your questions is yes you can use only internal RAM.

dacha.1
Associate II

Merci pour ces explications

Notre applications n’ est pas très compliqué , on ne veut pas utiliser TOUCHGFX ou autre API

On désire afficher une image de fond et des logo pas dessus , les logos sont assez statiques .

Rafraichissement  a 200 milli secondes

L’ image de fond et les logos sont en flash quad SPI .

Ci-dessus la procédure qu’il me semble falloir appliquer :

  • Réserver une zone en RAM axi de la taille 220*340*4  = 299 200 octets
  • Réserver une zone en FLASH de la taille 220*340*4  = 299 200 octets
  • Décompresser le fichier de l’image de fond dans la RAM puis copier celle-ci en FLASH UC

Cette action n’est faite que a la mise sous tension

  • Décompresser et copier les logos aux bons endroits dans la RAM
  • Configurer le LTCD DMA2D .. de façon a utiliser ces 2 buffers pour générer l’ image final en RGB888
  • Rafraichir les logos toutes 200 milli secondes.

Cette procédure est elle viable ?

MM..1
Chief II

0693W00000AMRWmQAP.jpgMaybe you need more study DMA2D is for migrate + convert data from one place to other .

Layers and buffers is different things.

And LTDC is hw interface between memory and RGB type LCD...

About HW JPEG speed is next pdf...

and ofcourse you mean 320x240...

One my example F469 320KB internal SRAM LCD 1280x480

SRAM dynamic area Layer 1 1024x320 L8 color palete

FLASH (internal or QSPI) Layer 0 1280x480 static image background RGB888