1、LCD屏幕的RGB接口

图1:RGB LCD 液晶屏幕接口
LCD屏幕的RGB接口信号线如表所示:
表1:LCD屏幕的RGB接口信号线
信号线 | 描述 |
R[7:0] | 8根红色数据线 |
G[7:0] | 8根绿色数据线 |
B[7:0] | 8根蓝色数据线 |
DE | 数据使能线,在DE模式下,HOZVAL时DE为高 |
VSYNC | 垂直同步信号线 |
HSYNC | 水平同步信号线 |
PCLK | 像素时钟信号线 |
LCD_LR | 控制显示器显示方向(左右方向) |
LCD_UD | 控制显示器显示方向(上下方向) |
LCD_R7/G7/B7 则用来设置 LCD 的 ID,由于 RGBLCD 没有读写寄存器,也就没有所谓的 ID,这里我们通过在模块上面,控制 R7/G7/B7 的上/下拉,来自定义 LCD 模块的 ID,帮助 MCU 判断当前 LCD 面板的分辨率和相关参数,以提高程序兼容性。
表2 RGB LCD 模块和 ID 对应关系
M2 | M1 | M0 | LCD ID | 说明 |
0 | 0 | 0 | 4342 | ATK-4342 RGB LCD模块,分辨率: 480*272 |
0 | 0 | 1 | 7084 | ATK-7084 RGB LCD模块,分辨率: 800*480 |
0 | 1 | 0 | 7016 | ATK-7016 RGB LCD模块,分辨率: 1024*600 |
1 | 0 | 0 | 4384 | ATK-4384 RGB LCD模块,分辨率: 800*480 |
1 | 0 | 1 | 1018 | ATK-1018 RGB LCD模块,分辨率: 1280*800 |
X | X | X | NC | 暂时未用到 |
2、LCD时间参数及屏幕时序
LCD显示屏的扫描图如图2所示。
图2 一帧图像扫描图
在图2中可以看到一圈黑边,真正有效的显示区域是中间的白色部分。
图3 LCD行显示时序
HSYNC:行同步信号,当此信号有效的时候就表示开始显示新的一行数据,查阅所使用的 LCD 数据手册可以知道此信号是低电平有效还是高电平有效, 图 3为低电平有效。
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。
图4 LCD帧显示时序
VSYNC:帧(场)同步信号,当此信号有效的时候就表示开始显示新的一帧数据,查阅所使用的LCD 数据手册可以知道此信号是低电平有效还是高电平有效, 图 4为低电平有效。
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)
因此我们在配置一款 RGB LCD 屏的时候需要知道这几个参数: HSPW(行同步)、 HBP(行显示后沿)、 HOZVAL(行有效显示区域)、 HFP(行显示前沿)、 VSPW(场同步)、 VBP(场显示后沿)、LINE(场有效显示区域)和 VFP(场显示后沿)
RGB LCD 液晶屏一般有两种数据同步方式,一种是行场同步模式(HV Mode),另一种是数据使能同步模式(DE Mode)。当选择行场同步模式(HV Mode)时, LCD 接口的时序与 VGA 接口的时序图非常相似,只是参数不同,如图 2和图 3中的行同步信号(HSYNC)和场同步信号(VSYNC)作为数据的同步信号,此时数据使能信号(DE)必须为低电平。当选择 DE 同步模式时, LCD 的 DE 信号作为数据的有效信号,如图 2 和图 3 中的 DE信号所示。只有同时扫描到帧有效显示区域和行有效显示区域时, DE 信号才有效(高电平)。当选择 DE同步模式时,此时行场同步信号 VS 和 HS 必须为高电平。由于 RGB LCD 液晶屏一般都支持 DE 模式,不是所有的 RGB LCD 液晶屏都支持 HV 模式,因此本章我们采用 DE 同步的方式驱动 LCD 液晶屏。
3、像素时钟
像素时钟就是 RGB LCD 的时钟信号,以1024*600分辨率的屏幕为例,显示一帧图像所需要的时钟数是:
N(CLK) = (VSPW+VBP+LINE+VFP) * (HSPW + HBP + HOZVAL + HFP)
= (3 + 20 + 600 + 12) * (20 + 140 + 1024 + 160) = 635 * 1344 = 853440
显示一帧图像需要 853440 个时钟数,那么显示 60 帧就是: 853440 * 60 = 51206400≈51.2M,所以像素时钟就是 51.2MHz。
不同分辨率的LCD屏幕的时序参数如表3所示。