cancel
Showing results for 
Search instead for 
Did you mean: 

Hardware Selection for Advance HMI

ZExpo.1
Senior

Requirments-
LCM->1024x600 TFT With CTP and Or 1028x 800 LVDS TFT With CTP
Color Depth-> 24bpp
FPS-> ~30
MCU-> _________?
RAM-> __________?
QSPI-> __________?

I have Selected the following Hardware But need expert opinion on this subject
My Selection-

MCU->STM32H750 BGA
SDRAM-> 16 BIT (IS42S32400F-6BL)QSPI->MT25QL512

The above parts are used in STM32H750B-DK

1 ACCEPTED SOLUTION

Accepted Solutions
LouisB
ST Employee

Hello @ZExpo.1 

As @MM..1 suggested, you should read the document to get more insight on why and what you need.
I'am adding some information on what @MM..1 suggested you :

  • Having a 1024*600 screen with 24bits with a lot of GUI/Animations, will engender a lot of memory transfers.
    The bottleneck is the framebuffer access that will be done by the same bus for the LTDC and the graphic acceleration (ChromART/NeoChrom).
  • In that case, you will either need a 32BITS SDRAM or a screen with embedded memory.
    If you are using a complex GUI with a high-resolution screen, a MCU with internal flash ram is mandatory to store your framebuffer.
  • And a high speed QSPI is also needed with complex UI for a faster data transfer.

I hope it helps,

Regards,

Louis BOUDO
ST Software Developer | TouchGFX

View solution in original post

8 REPLIES 8
MM..1
Chief II

Hi try read an4861-lcdtft-display-controller-ltdc-on-stm32-mcus-stmicroelectronics.pdf

and self reply.

MCU without internal flash as 750 NO

SDRAM 16bit NO

QSPI any high speed

LouisB
ST Employee

Hello @ZExpo.1 

As @MM..1 suggested, you should read the document to get more insight on why and what you need.
I'am adding some information on what @MM..1 suggested you :

  • Having a 1024*600 screen with 24bits with a lot of GUI/Animations, will engender a lot of memory transfers.
    The bottleneck is the framebuffer access that will be done by the same bus for the LTDC and the graphic acceleration (ChromART/NeoChrom).
  • In that case, you will either need a 32BITS SDRAM or a screen with embedded memory.
    If you are using a complex GUI with a high-resolution screen, a MCU with internal flash ram is mandatory to store your framebuffer.
  • And a high speed QSPI is also needed with complex UI for a faster data transfer.

I hope it helps,

Regards,

Louis BOUDO
ST Software Developer | TouchGFX

Thanks for the suggestions , As you specified in the 3rd bullet point that " In that case, you will either need a 32BITS SDRAM or a screen with embedded memory.
If you are using a complex GUI with a high-resolution screen, a MCU with internal flash is mandatory to store your framebuffer "

or You are saying I can use the Dual QSPI Setup as in STM32H750b-dk Board as external flash?

@LouisB make mistake in flash vs framebuffer. He mean high-resolutions screen require hign size graphics stored in flash (fonts images) . When your graphics is in internal flash bus overload go lower as for external QSPI.

I think the suggestion is that you really want 32-bit wide SDRAM to get adequate bandwidth, or internal SRAM, but it this case the size of the frame buffer would dictate where it can fit.

Suspect this is what Louis meant to say "MCU with internal SRAM flash is mandatory to store your framebuffer."

It might be able to pull static images from QSPI or DUAL-QSPI, but that's probably not a practical solution.

Some of the more specialized H7Ax and U599 devices had internal frame buffers, and resolutions / colour depths limited by that.

 

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
LouisB
ST Employee

Internal RAM not flash, my bad.

Louis BOUDO
ST Software Developer | TouchGFX
ZExpo.1
Senior

So I got the following Calculation:-

Screen Resolution- 1280 x 800
Color Depth-24 Bpp

Framebuffer = (Resolution L * Resolution W * Color Depth)/8
=3,072,000 Bytes or 3.072 MB

 

For 1024 x600 TFT

Screen Resolution- 1024 x 600
Color Depth-24 Bpp

Framebuffer = (Resolution L * Resolution W * Color Depth)/8
=1,843,200 Bytes or 1.8432 MB

So what will be the calculation to get the FPS out from the system using CPU Frequency, RAM Bandwidth?

 

Simple math for example 60Hz == 3Mx60 one sec frames RAM trought 180MB/s (16 bit RAM 90MHz ...)

And calculations must be from oposite side you choice FPS and setup all clocks acord...