2015-12-29 05:03 AM
I have a 24 bit RGB LCD (RGB888) connected to STM32F429.
As we know the Pixel Formats supported by STM32F4 are ARGB8888, RGB888, ARGB1555, RGB565 etc. Is the pixel format that we set in the LTDC configuration indicates the pixel format of the frame buffer? or the pixel format of the LCD display that is connected? For ex, Can I configure the LTDC for pixel format ARGB1555 and load ARGB1555 format image into frame buffer and expect LTDC to drive the RGB888 format LCD display?The reason for this question is our LCD requires over 220KB of frame buffer if we use ARGB8888 format and this amount of RAM is not there in the device. So if we use lower 16b color depth formats like ARGB1555, will the output of LTDC be compatible with the 24b RGB LCD display? Thanks in Advance-mr2015-12-29 02:59 PM
Hi,
I'm by no means an expert on the LTDC, but the following insights may help.If you look at the hardware interface, it's 8 bits of red, green, and blue. It's obviously not possible to display alpha on the physical LCD (see-through LCD?). The alpha channel is used to determine how much of the background (or other layer) is mixed in with the current layer.My understanding is that each of the layers can be in any colour format. The LCD driver will mix the layers (and background) with the result ALWAYS being RGB888 (to match the hardware drive).Hope this helps, although there may be others who have more knowledge on the subject.2015-12-30 12:21 PM
there is a Pixel Format Convertor in LTDC, which converts any of pixel formats to TFT's RGB output. If you are short on frame buffer RAM, you can use 256-color mode, where frame buffer holds only 1byte/pixel. This byte selects an item in Color Lookup Table (CLUT), which stores the 256 colors of possible palette.
On the other hand, the maximum on-chip contigous RAM is 192kB at F429, so you can have 192k pixel. If you need 200k+ pixelcount, use must use external SRAM or SDRAM through FMC.