用于设置垂直方向各信号的时间参数,格式如下表所示:
功能 | 位 | 说明 |
---|---|---|
VBPD | [31:24] | VSYNC信号脉冲之后,还要经过(VBPD+1)个HSYNC信号周期,有效的行数据才出现; |
LINEVAL | [23:14] | LCD的垂直宽度,(LINEVAL+1)行; |
VFPD | [13:6] | 一帧中的有效数据完结后,到下一个VSYNC信号有效前的无效行数目:VFPD+1行; |
VSPW | [5:0] | 表示VSYNC信号的脉冲宽度位(VSPW+1)个HSYNC信号周期,即(VSPW+1)行,这个(VSPW+1)行的数据是无效的; |
image-20210718173636125
用于设置水平方向各信号的时间参数,格式如下表所示:
功能 | 位 | 说明 |
---|---|---|
HBPD | [25:19] | HSYNC信号脉冲之后,还要经过(HBPD+1)个VCLK信号周期,有效的像素数据才出现; |
HOZVAL | [18:8] | LCD的水平宽度,(HOZVAL+1)类(像素); |
HFPD | [7:0] | 一行中的有效数据完结后,到下一个HSYNC信号有效前的无效像素个数,HFPD+1个像素; |
image-20210718173756266
对于TFT-LCD,这个寄存器只用来设置HSYNC信号的脉冲宽度,位[7:0]的数值称为HSPW,表示脉冲宽度位(HSPW+1)个VCLK周期。
image-20210718173853207
用于设置各个控制信号的极性,并可从中读到一些状态信息,格式如下表所示:
功能 | 位 | 说明 |
---|---|---|
VSTATUS | [16:15] | 只读,垂直状态;00:正处于VSYNC信号脉冲期间;01:正处于VSYNC信号结束到行有效之间;10:正处于有效行期间;11:正处于行有效结束到下一个VSYNC信号之间; |
HSTATUS | [14:13] | 只读,水平状态;00:正处于HSYNC信号脉冲期间;01:正处于HSYNC信号结束到像素有效之间;01:正处于像素有效期间;11:正处于像素有效结束到下一个HSYNC信号之间; |
BPP24BL | [12] | 设置TFT-LCD的显示模式为24BPP时,一个4字节中的哪3个字节有效,0:LSB有效,1:MSB有效(高地址的3个字节); |
FRM565 | [11] | 设置TFT-LCD的显示模式为16BPP时,使用的数据格式,0表示5:5:5:1格式,1表示5:6:5格式; |
INVVCLK | [10] | 设置VCLK信号有效沿极性:0表示在VCLK的下降沿读取数据;1表示在VCLK的上升沿读取数据; |
INVVLINE | [9] | 设置VINE/HSYNC脉冲的极性;0表示正常极性,1表示反转的极性; |
INVVFRAME | [8] | 设置VFRAME/VSYNC脉冲的极性;0表示正常极性,1表示反转的极性; |
INVVD | [7] | 设置VD数据线表示数据的极性;0表示正常极性,1表示反转的极性; |
INVVDEN | [6] | 设置VDEN信号的极性;0表示正常进行,1表示反转的极性; |
INVPWREN | [5] | 设置PWREN信号的极性;0表示正常进行,1表示反转的极性; |
INVLEND | [4] | 设置LEND信号的极性;0表示正常进行,1表示反转的极性; |
PWREN | [3] | LCD_PWREN信号输出使能;0表示禁止,1表示使能; |
ENLEND | [2] | LEND信号输出使能;0表示禁止,1表示使能; |
BSWP | [1] | 字节交换使能;0表示禁止,1表示使能; |
HWSWP | [0] | 半字(2字节)交换使能,0表示禁止,1表示使能; |
image-20210718174055348
帧内存可以很大,而真正要显示的区域被称为视口(view point),它处于帧内存之内,这个3个寄存器用于确定帧内存的起始地址,定位视口在帧内存中的位置。
下图给出了帧内存和视口的位置关系:
image-20210718174314355
下面分别介绍各个帧内存寄存器;
功能 | 位 | 说明 |
---|---|---|
LCDBANK | [29:21] | 用于保存帧内存起始地址A[30:22],帧内存起始地址必须为4MB对齐; |
LCDBASEU | [20:0] | 对于TFT-LCD,用于保存视口所对应的内存起始地址A[21:1],这块内存也被称为LCD的帧缓冲区(frame buffer); |
image-20210718174852958
功能 | 位 | 说明 |
---|---|---|
LCDBASEL | [20:0] | 对于TFT-LCD,用来保存LCD的帧缓冲区结束地址A[21:1],其值可如下计算:LCDBASEL=LCDBASEU+(PAGEWIDTH+OFFSIZE)*(LINEVAL+1) |
注意:可以修改LCDBASEU、LCDBASEL的值来实现图像的移动,不过不能在一帧图像的结束阶段进行修改;
image-20210718174924477
功能 | 位 | 说明 |
---|---|---|
OFFSIZE | [21:11] | 表示上一行最后一个数据与下一行第一个数据之间地址差值的半字节,即以半字位单位的地址差;0表示两行数据是紧接着的,1表示它们之间相差2个字节,以此类推; |
PAGEWIDTH | [10:0] | 视口的宽度,以半字位为单位; |