I am planning on using the onboard LCD controller on STM32F429. I am newbie in driving TFT LCDs and I have 2 questions:
1- I am planning on driving a 800*600 LCD in 24bit rgb mode. This would require a buffer of 1,440,000 bytes. Thus I have to use an external RAM for the buffer. Am I correct?
2- The datasheet states that the screen is refreshed 60 times a second. This would mean the MCU would be reading data from the external RAM at a rate of 60*1,440,000 = 86Megabytes a second. I will be using a RAM with 16 bit data bus being clocked at 45MHZ theoretically providing 90Mbytes of throughput. Thus nearly of the RAM bandwidth is effectively taken up by the LCD driver.
Since I will be using the external RAM for other purposes and all the bandwidth is being taken up by the LCD driver, I was wondering if it is possible to free up some bandwidth. So:
a- Is it possible to set the LCD refresh rate to lower than 60times a second? If yes how? I couldn't find anything in the datasheet.
b- Is it possible to freeze the LCD screen (or disable refreshing) for periods of time when the image on the LCD does not need to be updated and free up RAM bandwidth? If yes how?
P.S. I can use the LCD in lower RGB modes (e.g 18 bit instead of 24) but currently I don't want to use this option. I also don't want to use a RAM with 32 bit data bus.