cancel
Showing results for 
Search instead for 
Did you mean: 

Can I interface 800x480 LCD having 16 bit RGB interface and multiplexed PSRAM (for frame buffer storage) with STM32H750VB?

KShah.5
Associate II

I am using STM32H750VB 100 pin package controller and want to interface 800x480 LCD having 16bpp RGB interface with it.

Its single frame buffer storage amounts to 750 KB ((800*480*2 bytes)/1024) and at a go only 512KB (AXI SRAM -maximum contiguous memory available ) can be allocated for it, although controller having 1MB of RAM. As here in this scenario, continuous 750KB can't be allocated for frame buffer, switching from internal to external RAM is advised in this application note.

I am aware of the fact that I can reduce the bpp or frame buffer size to meet the memory requirements, in that manner I won't be needing the external memory but I want to use the actual frame buffer storage size and not the reduced one.

(Correct me about my understanding regarding the frame buffer storage allocation, external memory or any mentioned opinion here.)

Referring from the TouchGFX article about external memory selection and selecting the RAM type from STM32Cube IDE, multiplexed PSRAM was the only option available.

When I looked into their pin assignment ,I saw that few pins of multiplexed PSRAM and LCD were available in multiplexed format.

Pin no. 84 : FMC_CLK and LCD_G7

Pin no. 43 : FMC_DA10 and LCD_DE

Pin no. 44 : FMC_DA11 and LCD_CLK

Pin no. 45 : FMC_DA12 and LCD_R7

So, my question comes into picture here:

Is there no other way for interfacing both LCD and multiplexed PSRAM with this controller pin package?

1 ACCEPTED SOLUTION

Accepted Solutions
KShah.5
Associate II

Thanks everyone for the support. Controller with the higher pin package of the same family was chosen in the end.

View solution in original post

8 REPLIES 8
MM..1
Chief III

Your choiced MCU have only 128k flash, what is bigger issue as framebuffer, you dont have place to store images 565 then more effective is use L8, no external RAM , but external QSPI.

A wealth of bad choices clearly leading to this part...

The system has underwhelming resources to achieve much of anything you're likely to want to do.

Could you push the frame-buffer display side?

https://www.st.com/en/microcontrollers-microprocessors/stm32h7a3-7b3.html

https://www.st.com/resource/en/datasheet/stm32h7b0ib.pdf (Value line 128KB Flash, can add 256MB+ via QSPI)

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

I am really grateful to both of you - @MM..1​ , @Community member​  for your guidance and sorry at the same time for forgetting to talk about QSPI memory being used for application code.

I have used QSPI memory for code execution (memory mapped mode) and for image storage as well.

I am aiming for double buffer method.

So, now will I need the external memory?

If so, I have to work with the microcontroller of the same family(STM32H750xB), so is it appropriate to use a higher pin package?

I am new to this, so your assistance and guidance is of great help.

Alex - APMemory
Senior II

Let me add few comment about external QSPI RAM supported by the STM32H750. It can support QSPI or Dual Quad if you need more bandwidth or more storage for buffer. However ST support the QSPI memory controller for NOR. It is not recommended for RAM support because of one specific limitation it doesn't support Memory Mapped Write. Some customers who need low pin count external RAM and can manage this limitation are still using QSPI RAM.

For an efficient frame buffering use case other STM32H7 version can support OPI or QSPI more efficiently.

Here would be some IoT RAM suggestions:

  - OPI is available from 64Mb to 512Mb in BGA24 or WLCSP (APS6408L, APS12808…, APS25608N…, APS51208N…)

 - QSPI DDR 128Mb WLCSP (APS12804O-DQ-WA)

 - QSPI SDR from 16Mb to 128Mb, SOP8/USON8/WLCSP (APS1604M-…, APS6404L-…, APS12804O-…).

AScha.3
Chief III

Hello, i am using 7" TFT, 800x480 , with touch, running with H7A CPU;

BUT : i use displays with BT816/8xx EVE graphics controller onboard, they have about same price as "naked" TFT, but easy to implement and need no RAM etc.; video controller with RAM is on TFT , communication is just by SPI (24Mbit) ; sending one screen with color background, some text and colored triangle lines needs about 500us CPU time (without DMA! + with DMA maybe 5x faster...). So i recommend : use a TFT with EVE controller onboard, like TFTs from Newhaven, Matrix Orbital or Riverdi, i.e.: RVT70AQBFWR00 ; + there are some ready drivers on git .

If you feel a post has answered your question, please click "Accept as Solution".
Alex - APMemory
Senior II

With H7A/B or H72x/3x and upon your display choice, you can take full benefit of low pin count IoT RAM, either as QSPI or OPI

Alex

KShah.5
Associate II

Thanks everyone for the support. Controller with the higher pin package of the same family was chosen in the end.

Hello: AScha , Do you know where can i get the driver for Newhaven and RVT70AQBFWR00 driver for Nucleo 144 board?