文章目录
- 前言
- 一、LCD原理
- 1、构造
- 2、分辨率
- 3、像素格式
- 4、LCD接口
- 5、ATK-7016 的屏幕接口原理图
- 二、LCD时序
- 1、时间参数
- 2、行场时序
- 1、行显示时序:
- 2、场显示时序:
- 3、数据同步模式
- 4、像素时钟
- 三、总结
- 四、参考资料
前言
LCD (Liquid Crystal Display)是一种液晶显示屏,它采用 薄膜晶体管(TFT) 技术提升图像质量,如提高图像亮度和对比度等。他显示的每个像素点由液晶后面的薄膜晶体管独立驱动,所以具有较高的响应速度以及图像质量。相比于传统的 CRT 显示器(老式大屁股),LCD 有着轻薄、功耗低、无辐射、图像质量好等诸多优点,因此广泛应用于电视机、电脑显示器、手机等各种显示设备中。
一、LCD原理
1、构造
lcd在两片平行的玻璃基板中放置液晶盒,下基板玻璃上设置TFT(薄膜晶体管),上基板玻璃上会设置彩色滤光片,通过TFT上的信号于电压改变来控制液晶分子的转动方向,去控制每个像素点的偏振光是否出射来判断是否达到目标。额,介绍了一堆废话,听不懂,没事知道怎么用就行。
2、分辨率
对于LCD我们可以联想到720p、1080p等,这个就是指的分辨率。对于LCD,其显示器均由一个一个的像素点组成,每个像素点就类似一个灯,这个小灯是RGB灯,由R、G、B三基色构成。
- 1080p(1920*1080):
对于上图,一共有1920*1080=2073600,A点为第一个像素点,右下角的C点为最后一个像素点。在LCD尺寸不变的情况下,分辨率越高,像素点越多越清晰,在同一分辨率下,尺寸越小则越清晰。分辨率只是衡量LCD的一个参数之一,还有色彩还原度、色彩偏离、亮度、可视角度、屏幕刷新率等。
3、像素格式
一个像素由三个基色组成,一般来说一个基色占有8bit,那么就是24bit,三个字节,这种像素格式叫做RGB888,一般平均分配,看下图:
此外还有一种是RGB565,顾名思义,就是分别占5、6、5位,这种像素格式就是我们后面需要用得到的:
- 如何提取我们需要的图色:
打开我们的画图软件即可知晓该颜色的RGB分布。
4、LCD接口
一般显示器的接口有多种,常见有我们前面学习的HDMI接口、DP、VGA等,我们的RGB_LCD接口如下图:
信号线 | 描述 |
---|---|
R[7:0] | 8根红色数据线 |
G[7:0] | 8根绿色数据线 |
B[7:0] | 8根蓝色数据线 |
DE | 数据使能线 |
VSYNC | 垂直同步信号线 |
HSYNC | 水平同步信号线 |
PCLK | 像素时钟信号线 |
需要注意的是,这是我们LCD屏幕的数据格式,我的板子上的接口位RGB565格式,需要注意位宽的选择:
即开拓者的 R4~R0,对应 LCD 屏的 R7~R3;开拓者的 G5~R0,对应 LCD 屏的 G7~R2;开拓者的 B4~B0,对应 LCD 屏的 B7~ B3;
5、ATK-7016 的屏幕接口原理图
该接口十分完善,采用 RGB888 格式,并支持触摸屏和背光控制。右
侧的几个电阻,并不是都焊接的,而是可以用户自己选择。默认情况,R1 和 R6 焊接,设置 LCD_LR 和LCD_UD,控制 LCD 的扫描方向,是从左到右,从上到下(横屏看)。
- 需要注意的是LCD_R7/G7/B7是双向端口,既可以是像素数据的输出,也可以是输入LCD_id,用于选择我们对应的分辨率、行场信号等信息。通过在LCD上控制 R7/G7/B7的上/下拉,来自定义 LCD 模块的 ID,帮助 MCU 判断当前 LCD 面板的分辨率和相关参数。
二、LCD时序
1、时间参数
产生黑边的原因:LCD内部拥有IC,发送一行或者一帧数据给 IC,IC 是需要反应时间的。通过这段反应时间可以让 IC 识别到一行数据扫描完了,要换行了,或者一帧图像扫描完了,要开始下一帧图像显示了。因此,在 LCD 屏幕中继续存在 HBP、HFP、VPB 和 VFP 这四个参数的主要目的是为了锁定有效的像素数据。
2、行场时序
1、行显示时序:
- 行信号参数:
HSYNC: 行同步信号,当此信号有效的时候就表示开始显示新的一行数据,查阅所使用的 LCD 数据手册可以知道此信号是低电平有效还是高电平有效,图 23.1.8 为低电平有效。
HSPW: 行同步信号宽度,也就是 HSYNC 信号持续时间。HSYNC 信号不是一个脉冲,而是需要持续一段时间才是有效的,单位为 CLK。
HBP: 行显示后沿(或后肩),单位是 CLK。
HOZVAL: 行有效显示区域,即显示一行数据所需的时间,假如屏幕分辨率为 1024*600,那么HOZVAL 就是 1024,单位为 CLK。
HFP: 行显示前沿(或前肩),单位是 CLK。
- 注意:
只有在 HSYNC 信号发出以后,等待 HSPW+HBP 个 CLK 时间才会接收到真正有效的像素数据。当显示完一行数据以后需要等待 HFP 个 CLK 时间才能发出下一个 HSYNC 信号,所以显示一行所需要的时间等于:HSPW + HBP + HOZVAL + HFP。
2、场显示时序:
场也就是帧,就是当前这副图像的显示时序,场是由多个行构成的。
- 场信号参数:
VSPW: 帧同步信号宽度,也就是 VSYNC 信号持续时间,单位为 1 行的时间。
VBP: 帧显示后沿(或后肩),单位为 1 行的时间。
LINE: 帧有效显示区域,即显示一帧数据所需的时间,假如屏幕分辨率为 1024*600,那么 LINE 就是600 行的时间
VFP: 帧显示前沿(或前肩),单位为 1 行的时间。显示一帧所需要的时间就是:VSPW+VBP+LINE+VFP 个行时间
总的时间周期为:
T = (VSPW+VBP+LINE+VFP) * (HSPW + HBP + HOZVAL + HFP)
3、数据同步模式
对于RGB_LCD液晶屏,一般有两种数据同步方式。有行场同步模式(HV Mode),数据使能同步模式(DE Mode)。
1、在使用行场同步模式时,将行场信号作为数据的同步信号,此时的DE必须为低电平。
2、在选择DE模式时,LCD的DE信号则将会作为数据的有效信号,只有在扫描到帧有效区域和行有效显示区域时,DE才有效,在选择DE模式时,行场同步信号VS、HS必须为高。一般来说在LCD中支持DE模式较多,后面我们也打算采用DE模式。
4、像素时钟
原子哥的开拓者2可以接好几个版本的RGB屏幕,不同款式的屏幕需要的时钟数不同,计算公式如下:
N(CLK)= (VSPW+VBP+LINE+VFP) * (HSPW + HBP + HOZVAL + HFP)
用我们的时钟数除以想要显示的帧数就是我们需要的时钟频率。下面是60帧的不同分辨率的时序参数:
三、总结
简单总结了RGB_LCD的一些概念以及行场时序、接口等信息,方便我们后面进行彩条显示实验和视频。
四、参考资料
以上资料均来自正点原子的教学视频或开拓者2开发教程:原子官方