关于GD32F450的TFT-LCD驱动器和图形加速(IPA)功能的介绍和应用

描述

GD32F450系列MCU基于200MHz Cortex-M4内核,是GD32F4家族的高性能产品线,具备了超高的计算性能。GD32F450配备了TFT-LCD控制器(TLI)和硬件图形加速器IPA (Image Processing Accelerator), 以实现液晶驱动并显著提升显示效果,最高可以支持XGA 10吋1024 x 768像素的RGB TFT显示。下面我们就来一起了解MCU驱动TFT-LCD并加速图形显示的过程。

GD32F450的TLI (TFT-LCD控制器)连接同步的LCD接口,并且为无源LCD提供像素数据、时钟以及时序信号来驱动LCD显示屏。它支持不同的可编程的时序参数。内置的DMA可以不断的从系统存储器(如外接的SDRAM里)搬运数据并输出到外部的LCD显示。GD32F450的TLI接口具备了多层显示能力,可以支持两个独立的显示层,并支持层窗口和层混叠。

TLI接口只负责产生LCD需要的时序,并没有集成RAM。由于显示高分辨率图形图像所需要的RAM容量较大(通常几百KB以上),不可能直接使用MCU内置的RAM,所以需要外扩一片SDRAM来缓存所需要显示的图像数据。在这里,SDRAM的作用是LCD的显存。比如要驱动480*272分辨率16位色的裸屏,则显存就需要480*272*(16/8) 个字节。

那么在使用TLI之前,要配置好LCD的时序并设置外扩的SDRAM的地址。开启并配置好TLI之后,就可以在LCD的时钟引脚测量到有稳定的频率输出,MCU会自动将SDRAM缓存的内容输送到LCD屏幕上显示。我们通过改变SDRAM缓存的内容就可以直接改变显示内容。

TLI模块支持2个图层和1个背景图层,一般来说显示一个图层就可以了。但这2个图层可以单独设置显示区域和SDRAM缓存地址,并且同时开启时,支持层窗口和层混叠,这样就发挥了多层显示的效果。MCU自动将2个图层的显示内容进行混合,混合顺序是:图层2 -> 图层1 -> 背景色,图层2位于最顶层,我们可以利用这两个图层实现复杂的功能,以及比如透明度变化以及毛玻璃效果等特殊的显示效果。

另外,TLI模块还可以跟GD32F450内置的图像处理加速器(IPA)一起使用。IPA的本质是一个专用的DMA用于做图像之间的传输,提供了从某一个或两个源图像到目标图像的可配置的、灵活的图像处理功能。Flash与SDRAM之间的数据的传输都可以通过IPA来硬件传输,MCU只需要配置一下传输的路径,并在中断里等传输完成的通知就可以。IPA可以很大程度提升整个系统处理图像的能力,比如可以复制某一源图像到目标图像中并同时进行特定的格式转换,或者将两个不同的源图像进行混合,并将得到的结果进行特定的颜色格式转换,以及用特定的颜色填充目标图像区域等。

下面以一个应用实例来说明GD32F450的LCD显示功能 (来自EEboard网友ts2000的GD32F450方案分享)。

这是一个基于GD32F450的文件图片浏览器,包含RGB565驱动、FATFS、JPEG解码,支持文件名中英文混合显示、长文件名支持。字库建立在SD卡,再也不怕更换字库麻烦和字库大小限制了。RGB屏用的是通用的40P RGB彩屏。随便就可以搜索到。SDRAM则用的SD内存,随便就可以搜索到。

方案结构图如下: 

驱动器

开机CPU对所有的硬件进行初始化,然后从SD卡读取所有的文件信息,打印在屏幕上,按键可以控制光标上下移动,当选择某一图片后,CPU对JPG格式的图片解码,然后显示在屏幕上。当按下返回键后,CPU会重新读取相应的文件信息。

以下是使用GD32F450驱动TFT-LCD的硬件方案演示:

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
我的名字长又长长长长长长 2022-08-12
0 回复 举报
然后呢?就一半? 收起回复
jf_40985293 2022-05-17
0 回复 举报
不错 收起回复
全部评论

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分