LCD时序中设计到的VSPW/VBPD/VFPD/HSPW/HBPD/HFPD总结【转】
转自:https://blog.csdn.net/u011603302/article/details/50732406
下面是我在网上摘录的一些关于LCD信号所需时钟的一些介绍,
描述方式一:
来自:http://www.cnblogs.com/mengfanrong/p/3785559.html
LCD一般须要三个时序信号:VSYNC、HSYNC和VCLK。
VSYNC是垂直同步信号(帧同步信号),在每进行一个帧(即一个屏)的扫描之前,该信号就有效一次,由该信号能够确定LCD的场频,即每秒屏幕刷新的次数(单位Hz)。
HSYNC是水平同步信号(行同步信号),在每进行一行的扫描之前,该信号就有效一次,由该信号能够确定LCD的行频,即每秒屏幕从左到右扫描一行的次数(单位Hz)。
VCLK是像素时钟信号。
s3c2440处理LCD的时钟源是HCLK,通过寄存器LCDCON1中的CLKVAL能够调整VCLK频率大小,它的公式为:
VCLK=HCLK÷[(CLKVAL+1)×2]
比如,HCLK的频率为100MHz,要想驱动像素时钟信号为6.4MHz的LCD屏,则通过上式计算CLKVAL值,结果CLKVAL为6.8,取整后(值为6)放入寄存器LCDCON1中对应的位置就可以。因为CLKVAL进行了取整,因此我们把取整后的值代入上式,又一次计算VCLK,得到VCLK=7.1MHz。
VBPD,VFPD,VSPW,HBPD,HFPD,HSPW參数意义:
back porch:后沿
front porch:前沿
VBPD(vertical back porch):表示在一帧图像開始时,垂直同步信号以后的无效的行数
VFPD(vertical front porch):表示在一帧图像结束后,垂直同步信号曾经的无效的行数
VSPW(vertical sync pulse width):表示垂直同步脉冲的宽度,用行数计算
HBPD(horizontal back porch):表示从水平同步信号開始到一行的有效数据開始之间的VCLK的个数
HFPD(horizontal front porth):表示一行的有效数据结束到下一个水平同步信号開始之间的VCLK的个数
HSPW(horizontal sync pulse width):表示水平同步信号的宽度
按理说,对于一个已知尺寸(即水平显示尺寸HOZVAL和垂直显示尺寸LINEVAL已知)的LCD屏,仅仅要确定了VCLK值,行频和场频就应该知道了。但这样还不行的,由于在每一帧时钟信号中,还会有一些与屏显示无关的时钟出现,这就给确定行频和场频带来了一定的复杂性。如在HSYNC信号先后会有水平同步信号前肩(HFPD)和水平同步信号后肩(HBPD)出现,在VSYNC信号先后会有垂直同步信号前肩(VFPD)和垂直同步信号后肩(VBPD)出现,在这些信号时序内,不会有有效像素信号出现,另外HSYNC和VSYNC信号有效时,其电平要保持一定的时间,它们分别叫做水平同步信号脉宽HSPW和垂直同步信号脉宽VSPW,这段时间也不能有像素信号。因此计算行频和场频时,一定要包含这些信号。HBPD、HFPD和HSPW的单位是一个VCLK的时间,而VSPW、VFPD和VBPD的单位是扫描一行所用的时间。在s3c2440中,全部的这些信号(VSPW、VFPD、VBPD、LINEVAL、HBPD、HFPD、HSPW和HOZVAL)都是实际值减1的结果。这些值是通过寄存器LCDCON2、LCDCON3和LCDCON4来配置,仅仅要把这些值配置成与所要驱动的LCD中相关内容的数据一致就可以。比如,我们所要显示的LCD屏大小为320×240,因此HOZVAL=320-1,LINEVAL=240-1。水平同步信号的脉宽、前肩和后肩分别为30、20和38,则HSPW=30-1,HFPD=20-1,HBPD=38-1;垂直同步信号的脉宽、前肩和后肩分别为3、12和15,则VSPW=3-1,VFPD=12-1,VBPD=15-1。
这些參数用于配置LCD驱动控制器,由厂商设置提供;
***************************************************************************************************************************************************************************************
描述方式二:
来自:http://blog.csdn.net/a784763307/article/details/8696178
外部引脚信号:
VSYNC: 垂直同步信号,表示扫描1帧的开始。
HSYNC: 水平同步信号,表示扫描1行的开始。
VDEN:数据使能信号。
VD[23:0] : LCD像素数据输出端口。
VCLK:像素时钟信号。
寄存器参数:
VSPW:垂直同步信号的脉宽,单位为1行(Line)的时间。
VFPD: 垂直同步信号的前肩,单位为1行(Line)的时间。
VBPD: 垂直同步信号的后肩,单位为1行(Line)的时间。
LINEVAL :垂直显示尺寸-1,即屏行宽-1。
HBPD:水平同步信号的后肩,单位为1VCLK的时间。
HFPD:水平同步信号的前肩,单位为1VCLK的时间。
HSPW:水平同步信号的脉宽,单位为1VCLK的时间。
HOZVAL:水平显示尺寸-1,即屏列宽-1。
可知:
扫描一帧所需的时间:
=((VSPW+1)+(VBPD+1)+( LINEVAL+1)+(VFPD+1))个行时间。
扫描一行所所需的时间:
= ((HSPW+1)+(HSPD+1)+(HFPD+1)+ (HOZVAL+1))个VCLK时间。
而一个VCLK时间由LCD寄存器LCDCON1内的CLKVAL决定:
=HCLK/[2*(CLKVAL+1)]
因此扫描一帧所需的时间:
T=[(VSPW+1)+(VBPD+1)+( LINEVAL+1)+(VFPD+1)]* [(HSPW+1)+(HSPD+1)+(HFPD+1)+ (HOZVAL+1)]* HCLK/[2*(CLKVAL+1)]
即帧频率为:1/T
注意:有些液晶屏给的参数单位可能不一样,需要自己计算。
方法如下:
VBPD:确定帧同步信号和帧数据传输前的一段延迟时间,是帧数据传输前延迟时间和行同步时钟间隔宽度的比值
VFPD:确定帧数据传输完成后到下一帧同步信号到来的一段延迟时间,是帧数据传输后延迟时间和行同步时钟间隔宽度的比值
VSPW:确定帧同步时钟脉冲宽度,是帧同步信号时钟宽度和行同步时钟间隔宽度的比值。
HBPD:确定行同步信号和行数据传输前的一段延迟时间,描述行数据传输前延迟时间内VCLK脉冲个数。
HFPD:确定行数据传输完成后到下一行同步信号到来的一段延迟时间,描述行数据传输后延迟时间内VCLK脉冲个数。
HSPW:确定行同步时钟脉冲宽度。描述行同步脉冲宽度时间内VCLK脉冲个数
************************************************************************************************************************************************************************************
LCD时序中设计到的VSPW/VBPD/VFPD/HSPW/HBPD/HFPD总结【转】的更多相关文章
- lcd参数解释及刷新率计算,LCD时序
一.LCD显示图像的过程如下: 其中,VSYNC和HSYNC是有宽度的,加上后如下: 参数解释: HBP(Horizontal Back Porch)水平后沿:在每行或每列的象素数据开始输出时要插入的 ...
- 数码相框(LCD、I2C)
一:项目介绍 该项目最终实现的功能很简单,手指在触摸屏左滑(下一张图片),右滑(上一张图片) 1.1软硬件资源 硬件:pc机,ARM Cortex-A9开发板 软件:linux ...
- ok6410的LCD裸机范例
/****************************************** 实验步骤 1.配置引脚功能,将其GPI.GPJ引脚设置为VD数据输出模式,及GPJ后几位设置成LCD时钟输出: ...
- 裸机——LCD
1.先了解显示器们 CRT显示器 原理,使用电子轰击荧光粉实现显示. 特点,主动发光,颜色绚丽,但是大. 等离子显示器(PDP) 原理,在显示屏上排列上千个密封的小低压气体室,通过电流激发使其发出肉眼 ...
- LCD底层驱动分析
根据分析的框架,自己写一个LCD驱动程序 1分析LCD硬件原理图 Von和Voff接的是一个电源电路,通过LCD_POWER接的是GPG4来控制LCD电源,高电平表示开启LCD电源 VM接的是CPU的 ...
- LCD相关知识点
1.LCD即液晶显示器,控制原理是控制其中的电子枪,在n行*n列的屏幕上投射不同颜色从而形成图像 2.编程步骤: ①打开LCD背光将LCD背光对应的GPIO设置为禁止上拉(GPxUP相应位写入1),选 ...
- S5PV210的LCD控制器详解
1.FIMD结构框图 (1)Samsung的s5pv210的LCD控制器叫做FIMD(也叫显示控制器).Display controller(显示控制器)包括用于将图像数据从相机接口控制器的本 地总线 ...
- Smart210学习-----lcd驱动
帧缓冲设备 1.1帧缓冲设备:帧缓冲(framebuffer)是 Linux 系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行 ...
- sc7731 Android 5.1 LCD驱动简明笔记之二
此篇笔记基于sc7731 - android 5.1,对lcd的framebuffer做一个简明笔记. 一共分为两大部分:第一部分,关于LCD的硬件方面的:第二部分,关于lcd核心处理(framebu ...
随机推荐
- BZOJ 1013 | 一份写了一堆注释的高斯消元题解
题意 给出\(n\)维直角坐标系中\(n + 1\)个点的坐标,它们都在一个\(n\)维球面上,求球心坐标. 题解 设球面上某两个点坐标为\((a_1, a_2, ... a_n)\)和\((b_1, ...
- Android源码批量下载及导入到Eclipse
1.去http://code.google.com/p/msysgit/downloads/list 下载Git,进行安装 2.生成批量下载脚本文件 下载批量工具CreatAutoGetSh(工具 ...
- 解题:HAOI 2012 道路
题面 这题不开O2怎么过=.= 可能这种有关最短路的计数题做多了就有些感觉了...... 以每个点为基准跑出一张最短路图,然后对每个边$(u,v)$统计两个东西.一个$pre[u]$表示到达$u$这个 ...
- 关于maven工程打jar的问题
今天对maven做一些整理,更好的理了下思路: 这个篇博客介绍的还是很详细的: http://www.cnblogs.com/haippy/archive/2012/07/04/2576453.htm ...
- AES-NI指令集
对于intel的AES-NI新指令集,需要i5处理器及以上的相关硬件支持.在编译时,可能会出现 /usr/lib/gcc/x86_64-linux-gnu/4.8/include/wmmintrin. ...
- Java入门:基础算法之产生随机数
本程序演示使用Random类的呢想tInt()方法产生随机数. /* Program: 随机数发生器 * Written by: 理工云课堂 * Input: None * Output: 0 到20 ...
- Python 字符串前面加u,r,b的含义
1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: 后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时 ...
- linux命令总结kill命令详解
1.作用 kill命令用来中止一个进程. 2.格式 kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ] 3.参数 -s:指定发送的信号. ...
- Python高手之路【四】python函数装饰器,迭代器
def outer(func): def inner(): print('hello') print('hello') print('hello') r = func() print('end') p ...
- Java基础-IO流对象之序列化(ObjectOutputStream)与反序列化(ObjectInputStream)
Java基础-IO流对象之序列化(ObjectOutputStream)与反序列化(ObjectInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.对象的序 ...