LCD控制器信号分析

来源:互联网 发布:查域名是否被注册 编辑:程序博客网 时间:2024/05/01 17:19

总结一下学习LCD Driver的过程中对RGB接口的信号分析.

RGB接口通常都具备以下几个信号线

DATA[0..23]:数据

DCLK:点时钟

EN:数据使能

HSYNC:水平同步(行同步)

VSYNC:垂直同步(帧同步)

 

DCLK是LCD控制器与LCD驱动之间的点同步信号. 每一个时钟周期在DATA线上传输的就是一个像素点的RGB数据.

HSYNC是LCD控制器与LCD驱动器之间的同步信号. LCD控制器在每传输完一行数据后插入一个HSYNC信号通知LCD驱动器, 然后开始准备传输下一行的数据.

VSYNC是LCD控制器与LCD驱动器之间的同步信号. LCD控制器在每传输完一帧数据后插入一个VSYNC信号通知LCD驱动器, 然后开始准备传输下一帧的数据.

EN表示数据使能. 有效的时候LCD驱动器才接受从LCD控制器传输过来的数据.

 

需要注意的是, 在行的这个领域, 每个单位周期是一个像素点数据的传输. 而在帧的这个领域, 每个单位周期是一整行数据的传输.

以一个240x320的屏幕为例. 一个DCLK传送一个点的RGB值, 从而点亮这个像素. 要把一整行都点亮. 我们要传输240个DCLK和相应的240组RGB数据(HOZVAL). 整个数据传输的过程中还必须保持EN信号是有效的. 现在我们一行数据都传完了. 紧接着应该传送下一行的数据了. 理想的来讲应该可以立刻传送下一行的第一个数据进行显示. 但是实际上LCD控制器并不能这么快的接受下一行的数据. 这时候我们先"休息"一下(后插入等待周期HFPD), 然后插入一个行同步信号HSYNC(行同步周期HSPW). 之后我们在传送下一行数据前再"休息"一次(前插入等待周期HBPD). 这个过程也叫做回扫(可以理解为从最右边移动回到最左边的时间). 之后就开始了新的一行数据的传输.

同理对于VSYNC来说也是一样的. 只是基础单位由一个像素点换成了一行像素点. 也会有VFPD, VSPW, VBPD, LINEVAL几个周期需要定义.

传输一帧信号所需要的DCLK是 (HOZVAL + HFPD + HSPW + HBPD) * (LINEVAL + VFPD + VSPW + VBPD).