LCD时序中设计到的VSPW/VBPD/VFPD/HSPW/HBPD/HFPD总结【转】

摘要:
在s3c2440中,所有这些信号都是从实际值减去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。VCLK的时间由LCD寄存器LCDCON1中的CLKVAL确定:=HCLK/[2*]。因此,扫描帧所需的时间为:T=[++]*[++]*HCLK/[2*],即,帧频率为:1/T。注:有些液晶屏可能给出不同的参数单位,需要自己计算。

转自: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总结【转】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇『AngularJS』$location 服务python3.6升级及setuptools、pip安装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux学习: LCD驱动

一、LCD驱动框架: 1.分配一个fb_info结构体:s3c_lcd = framebuffer_alloc(0,NULL); 2.设置fb_info(s3c_lcd): ID、固定参数、可变参数、设置操作函数 及 其他设置 3.注册:register_framebuffer(s3c_lcd); 4.硬件相关的操作:   ①分配引脚用于LCD      ...

FSMC 总结

http://www.360doc.com/content/11/1206/15/7736891_170121962.shtml uint16 *data1,*data2; uint32 Yxdata; #defineBank1_YX1_Get(data1) *data1=(*(volatile uint16 *)(0x60006000)) #define...

mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系【转】

本文转载自:http://blog.csdn.net/bmw7bmw7/article/details/45876487 我们先来看一个公式:Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vbp) ] x(bus_width) x fps/ (lane_num)/2 即mipi屏的传输时钟频...

【整理】unity3d优化总结篇

对项目优化有很多,如:mesh合并 ,减少DrawCall和模型骨骼以及物理计算,合并材质球,优化代码等等,现在继续补上,该内容为本人经验以及网上收集整理,希望大家有更好的优化方法,能够继续跟帖,一起探讨,共同进步。优化:1. 更新不透明贴图的压缩格式为ETC 4bit,因为android市场的手机中的GPU有多种,每家的GPU支持不同的压缩格式,但他们都...

mini2440 w35 制作开机logo 去除logo光标

一、制作.ppm文件 默认的logo文件是 drivers/video/logo/logo_linux_clut224.ppm,因此制作一个新.ppm文件,覆盖它即可。 一般的linux发行版系统都已自带netpbm-10.35-6.fc6工具。最好把你的图片做为png格式,做以下步骤: pngtopnm logo.png>logo.pnm  #转换...

使用IOCTL代码实现LCD背光调节

国内这种代码找不到。于是參考了相关代码后完好例如以下代码,且实现方式通过IOCTL代码实现LCD背光调节的功能。 适合场合为平板电脑或者笔记本。主要还是要靠BIOS支持与否。 编译环境使用:Dev-cpp工具编写。 #include <stdio.h> #include <stdlib.h> #include <win...