1.前言
STM32F429单片机内部集成了一个RGB屏的控制器,这个控制器和STM32F103系列中使用FSMC的SRAM时序控制的8080接口的LCD不一样,这种RGB时序的屏可以做比较大尺寸,比如4.3寸、5寸、7寸等,而8080接口的LCD一般都在4寸以下。两种屏幕的最大区别是在显存存放的位置,RGB接口屏幕的显存在单片机中,也就是需要单片机提供足够的内存空间作为显存使用,而8080接口屏幕的显存是在屏幕内部集成在控制器中的,单片机通过8080总线接口操作屏幕内部的显存,无需单片机提供显存,但是这也限制了显存的大小,不可能做到很大。我想使用的7寸以上的LCD屏幕分辨率都在800480以上,没有8080接口的控制芯片集成了这么大的显存空间(至少没有厂家生产这种屏幕),所以没法使用STM32103系列的FSMC接口来直接控制屏幕。所以我选择了STM32F429单片机,看中的就是它的LTDC控制器,可以直接连接RGB显示器,但是需要外挂一个SDRAM作为显存,因为内部的SRAM只有256KB,而800480分辨率的24位色显示器需要的显存为8004803≈1.1MB。
STM32F429与之前的系列强大之处就在于增加了LTDC个功能,从手册上看STM32F429的LTDC可以用于驱动1024x768分辨率的LCD屏幕。
LTDC其实就是TFT LCD控制器的意思,在arm9/arm11/cortex-A系列CPU当中,这个是必须有的外设,在小型单片机中,有这个功能的不多。LCD控制器的功能就是生成LCD像素时钟,将GRAM中的数据搬运到LCD屏幕上去显示。在一般的小型LCD模块一般都集成了一个LCD控制器,如常用的ili9320/ili9325等型号,这些LCD模块同时还集成了几百KB大小的RAM,用于显示;这种方案,不需要占用单片机的RAM就可以稳定地驱动LCD显示图像,一般地MCU先通过8080接口或SPI向控制器发送命令,配置LCD参数,然后向集成的RAM中写入数据就可以显示,是低成本项目的首选方案。而STM32F429自带的LTDC也是LCD控制器,与ili9320相比,支持的分辨率更高,功能更多,但是LTDC只负责产生LCD需要的时序,并没有集成R

本文详细介绍了STM32F429单片机如何通过LTDC驱动高分辨率RGB屏,涉及外扩SDRAM作为显存、像素透明度概念、以及LTDC的颜色混合设置,包括背景色处理和图层混合策略。
最低0.47元/天 解锁文章
8776

被折叠的 条评论
为什么被折叠?



