cancel
Showing results for 
Search instead for 
Did you mean: 

Hello, i need a microcontroller which supports an 800x800 display. Can you tell me the main products of the family F4 or F7 (or maybe H7) that supports this?

AMerc.4
Senior
 
11 REPLIES 11

Probably all STM32 with LTDC can support that resolution in *some* configuration - but you might be disappointed by that configuration and also the resulting constraints on what else the mcu can do.

Read AN4861, concentrate perhaps on the subchapter dealing with "bandwidth requirements".

JW

berendi
Principal

Find the required pixel clock frequency​ in the display datasheet, and calculate the memory requirements. What colour resolution should the application support? 4/8/16/24 bits/pixel?

Minimum requirement 16 bit, better if 24. The display should be this:

https://www.displaymodule.com/products/dm-tftr34-359

I don't know if link it with SPI or with HDMI to MIPI DSI. What do you suggests?

> Minimum requirement 16 bit, better if 24.

Now you can calculate the memory requirement.

Then find the pixel clock frequency in the datasheet to calculate the bandwidth.

> I don't know if link it with SPI or with HDMI to MIPI DSI. 

Does it have a SPI interface? What is it for?

It's for an electric bike. If i use SPI i have to take a MIPI DSI to SPI. But i think the best way is to take a MIPI DSI to HDMI, since i read that some STM32 such as the STM32F769 get a MIPI DSI port.

My question is if it can drive a display like that i previously shown.

I don't know the pixel clock. I imagine that, for 24bit, i need 800*800*24 = 15360000 bits for a single frame.

> My question is if it can drive a display like that i previously shown.

That depends on the pixel clock frequency, and the speed of the memory.

> I don't know the pixel clock.

Neither do I. You have to find it in the datasheet, to calculate the required memory bandwidth, and the display timing parameters that go into the LTDC registers.

> for 24bit, i need 800*800*24 = 15360000 bits for a single frame.

Right. So, how much memory do you need for it? Use the product selector, can you find a MCU which has that much? If not, can you work with an external memory module?

MIPI DSI in the STM32 have only 2 lanes (the display you've linked to requires 3).

Have you read AN4861 already?

You may be better off using something more user-friendly, such as the Rasberry-Pi.

JW

Unfortunately i need this for an electric bike. I need fast boot time, just what Raspberry doesn't have.

I read AN4861, 800x800 have a total of 640000 pixels, the microcontroller support up to 921600 pixels. Since i want 24bit color, my framebuffer should be around 2000 Kbytes, right?

Tell me if i'm wrong.

Yes this portion of the math is right. Now, the question is, what sort of memory would you use, and whether any STM32 would be able to move those 2Mbytes out of that memory and into the LCD, each frame, i.e. some 50x per second. That is, without the processor writing anything into that memory, i.e. a static, never changing picture.

And I've already said, that particular display you've given link to, is a 3-lane MIPI, STM32s support only 2.

JW