正点原子 STM32F4/F7水星 开发板资料连载第二十一章LTDC LCD实验 - 知乎 (zhihu.com)
本章我们将通过 STM32F767 的 LTDC 接口来驱动 RGBLCD 的显示,另外,STM32F767
的 LTDC 还有DMA2D 图形加速,我们也顺带进行介绍。本节分为三个部分,分别介绍RGBLCD、
LTDC 和 DMA2D
在第 18 章,我们已经介绍过 TFTLCD 液晶了,实际上 RGBLCD 也是 TFTLCD,只是接口
不同而已。接下来我们简单介绍一下 RGBLCD 的驱动。
表 21.1.1.1 RGBLCD 信号线
一般的 RGB 屏都有如表 21.1.1.1 所示的信号线,有 24 根颜色数据线(RGB 各站 8 根,即
RGB888 格式),这样可以表示最多 1600W 色,DE、VS、HS 和 DCLK,用于控制数据传输。
(2)RGBLCD 的驱动模式
RGB 屏一般有 2 种驱动模式:DE 模式和 HV 模式。DE 模式使用 DE 信号来确定有效数据
(DE 为高/低时,数据有效),而 HV 模式,则需要行同步和场同步,来表示扫描的行和列。
DE 模式和 HV 模式的行扫描时序图(以 800*480 的 LCD 面板为例),如图 21.1.1.1 所示:
图 21.1.1.1 DE/HV 模式行扫描时序图
从图中可以看出,DE 和 HV 模式,时序基本一样,DEN 模式需要提供 DE 信号(DEN),
而 HV 模式,则无需 DE 信号。图中的 HSD 即 HS 信号,用于行同步,注意:在 DE 模式下面,
是可以不用 HS 信号的,即不接 HS 信号,液晶照样可以正常工作。
图中的 thpw 为水平同步有效信号脉宽,用于表示一行数据的开始;thb 为水平后廊,表示
从水平有效信号开始,到有效数据输出之间的像素时钟个数;thfp 为水平前廊,表示一行数据
结束后,到下一个水平同步信号开始之前的像素时钟个数;这几个时间非常重要,在配置 LTDC
的时候,需要根据 LCD 的数据手册,进行正确的设置。
图 20.1.1.1 仅是一行数据的扫描,输出 800 个像素点数据,而液晶面板总共有 480 行,这
就还需要一个垂直扫描时序图,如图 20.1.1.2 所示:
图 21.1.1.2 垂直扫描时序图
图中的 VSD 就是垂直同步信号,HSD 就是水平同步信号,DE 为数据使能信号。由图可知,
一个垂直扫描,刚好就是 480 个有效的 DE 脉冲信号,每一个 DE 时钟周期,扫描一行,总共
扫描 480 行,完成一帧数据的显示。这就是 800*480 的 LCD 面板扫描时序,其他分辨率的 LCD
面板,时序类似。
图中的 tvpw 为垂直同步有效信号脉宽,用于表示一帧数据的开始;tvb 为垂直后廊,表示
垂直同步信号以后的无效行数,tvfp 为垂直前廊,表示一帧数据输出结束后,到下一个垂直同
步信号开始之前的无效行数;这几个时间同样在配置 LTDC 的时候,需要进行设置。