cancel
Showing results for 
Search instead for 
Did you mean: 

How can I identify the problem that my display cannot go to 60 Fps?

ARodr.18
Associate II

I am developing a TFT display with parallel RGB interface on a STM32H723 microcontroller. The screen has a resolution of 800x480 at 24bpp, which with the porches is approximately 1096x535. With a pixel rate of 33 MHz, it should achieve a frame rate of almost 60 FPS. 

The thing is that with that speed I can't get the display to work. At this frequency, pixels seem to "sneak in" that are not there so that when a clock signal arrives, more than one pixel is placed (this is from what I can see on the screen, I haven't measured the signals). 

To make it work I have had to reduce the frequency to about 13.2 MHz so that no problems occur when displaying the image generated by TouchGFX. If I raise the frequency a bit to 19 Mhz the image looks fine, but when a change occurs on the screen there is a desynchronisation. 

The image buffer is being stored in an external 16 bit SRAM memory running at about 88 MHz, and DMA2D is being used to move the images. As a side note I am caching the images in the same SRAM memory.

I really don't know if the problem is due to a hardware problem, the quality of the panel or the layout of the tracks on the PCB, the microcontroller... Or a problem in the configuration of the screen, or the project. Or is it simply that the bandwidth is not enough to be able to display the screen with that resolution at that amount of frames.

Currently the screen is running at about 24 Fps, and maybe 30 with some tweaking. The result works for the moment but I would like to find the problem for future versions.

Thanks in advance and I look forward to hearing from you.

2 REPLIES 2
AScha.3
Chief II

most probably is problem about: signal timing and reflections.

so keep all lines to display short, but same length and close together.

set timing/speed of port pins in Cube to lowest possible (see in ds) speed : medium or med. high

then try with high speed timing.

If you feel a post has answered your question, please click "Accept as Solution".
ARodr.18
Associate II

I tried what you said, but I think it's ultimately due to a bandwidth issue with the SRAM. If I disable for example the DMA2D, I can raise the LCD frequency more. The problem in fact occurs when there is a change in the image, if the image remains static the frequency can be higher, from what I deduce that the operation of writing new images in the SRAM is slower than the update of the screen. Anyway I followed your advice to slow down the speed of the signals.

Yes it can raise the image and have about 40 Fps which for my application is more than enough. 

Thanks for your help