tft_LCD一些引脚极性设置方法:vsync, hsync, VBLANK

摘要:
ENABLE是数据使能信号,当它为高时,在PCLK的上升沿输出有效数据。把ENABLE的下降沿到水平同步信号的下升沿的间隔称为HFP。HSW存在的必要性:水平同步信号为低电平有效。HBP和HFP存在的必要性:从道理上说,LCD使用矩阵寻址这两个阶段完全可以没有。但是考虑到从前CRT电子枪行扫描时,需要一个返回时间,而且目前的制式中,在有效信号的两端分别加入了消隐时间。HFPD:行同步信号的前肩,单位为1VCLK的时间。

转载:https://blog.csdn.net/u014170207/article/details/52662988/

在RGB模式中,LCD数据的扫描是以行为单位的。HSYNC是水平同步信号。PCLK是象素时钟。ENABLE是数据使能信号,当它为高时,在PCLK的上升沿输出有效数据。P_DATA是输出的数据。
水平同步信号的上升沿到ENABLE的上升沿的间隔称为HBP。把ENABLE的下降沿到水平同步信号的下升沿的间隔称为HFP。把水平同步信号的低电平(非有效电平)持续时间称为HSW。
HSW存在的必要性:水平同步信号为低电平有效。在水平同步信号有效时,需要等待HBP的时间,才从数据线取数。由于水平同步信号的有效电平持续时间通常比无效电平长,因此占空比不是50%。无效电平短些比较好。
HBP和HFP存在的必要性:从道理上说,LCD使用矩阵寻址这两个阶段完全可以没有。但是考虑到从前CRT电子枪行扫描时,需要一个返回时间,而且目前的制式中,在有效信号的两端分别加入了消隐时间。就是为了做到一致,这二者才出来的。
tft_LCD一些引脚极性设置方法:vsync, hsync, VBLANK第1张

====================================================================
第一次调试lcd驱动的话是不是对下面的结构有点陌生,不知道那些值是如何得来的,当然我就属于其中的一个

点击(此处)折叠或打开

  1. static struct s3cfb_lcd lte480wv={
  2. .width=1024,//800,
  3. .height=600,//480,
  4. .bpp=24,//24,//32,
  5. .freq=45,//45,//60
  6. .timing={ //这里主要会影响图像在LCD上显示的位置,偏移啥的
  7. .h_fp=160,//210,//8,
  8. .h_bp=160,//46,//13,
  9. .h_sw=16,//3
  10. .v_fp=12,//12,//15,//22,liao
  11. .v_fpe=0,/*1,//0,*/
  12. .v_bp=23,//22,liao
  13. .v_bpe=0,/*1,//0,*/
  14. .v_sw=2,//
  15. },
  16. .polarity={ //这几个参数挺重要的,判断你极性是否要反转(0--normal,1---inverted)
  17. .rise_vclk=0,
  18. .inv_hsync=1,
  19. .inv_vsync=1,
  20. .inv_vden=0,
  21. },
  22. };
好吧,言归正传,首先有必要理解几个定义:

一般TFT型LCD时序图如下所示tft_LCD一些引脚极性设置方法:vsync, hsync, VBLANK第2张

图1

我们先来理解下面引脚有寄存器中相关参数的意义吧

外部引脚信号:

VSYNC:帧同步信号,表示扫描1帧的开始,一帧也就是LCD显示的一个画面。

HSYNC:行同步信号,表示扫描1行的开始。

VDEN:数据使能信号。

VD[23:0] :LCD像素数据输出端口。

VCLK:像素时钟信号。

寄存器参数:

VSPW:帧同步信号的脉宽,单位为1行(Line)的时间。

VFPD:帧同步信号的前肩,单位为1行(Line)的时间。

VBPD:帧同步信号的后肩,单位为1行(Line)的时间。

LINEVAL:帧显示尺寸-1,即屏行宽-1,对于800*480分配率的LCD屏,那么LINEVAL=480-1=479,请记住,是屏行宽,也就是LCD屏显示一帧数据所需要的行的数目。

HBPD:行同步信号的后肩,单位为1VCLK的时间。

HFPD:行同步信号的前肩,单位为1VCLK的时间。

HSPW:行同步信号的脉宽,单位为1VCLK的时间。

HOZVAL:行显示尺寸-1,即屏列宽-1,对于800*480分配率的LCD屏,那么HOZVAL=800-1=799,请记住,是屏列宽,也就是LCD屏显示一行数据所需要的像素(pixel)的数目。

由图1可知:

扫描一帧所需的时间:

=((VSPW+1)+(VBPD+1)+( LINEVAL+1)+(VFPD+1))个行时间。

扫描一行所所需的时间:

= ((HSPW+1)+(HSPD+1)+(HFPD+1)+ (HOZVAL+1))个VCLK时间。

而一个VCLK时间由LCD寄存器VIDCON0内的CLKVAL决定:

=HCLK/(CLKVAL+1)------>这个公式是S3C2443的LCD控制器的,其他CPU的不一定一样

因此扫描一帧所需的时间:

T=[(VSPW+1)+(VBPD+1)+(LINEVAL+1)+(VFPD+1)]*[(HSPW+1)+(HSPD+1)+(HFPD+1)+ (HOZVAL+1)]* HCLK/ (CLKVAL+1)

即帧频率为:1/T

1.首先来判断HSYNC,VSYNC,VCLK, VDEN信号是否需要反转

这个其实还挺好判断的,主要就是通过你主控的介绍lcd的时序图,在结合你屏厂的spec文档的时序图就可以完全判断出来了

先看LCD控制器默认情况下送出来的TFT LCD屏的时序图:tft_LCD一些引脚极性设置方法:vsync, hsync, VBLANK第3张

再来看屏厂的提供的时序图

tft_LCD一些引脚极性设置方法:vsync, hsync, VBLANK第4张

看上面的介绍应该知道需要反转HSYNC,VSYNC,VCLK信号输出,这样才能输出满足lcd所需要的时序图

再来看看timing这个结构体如何配置,如果提供下面这个参数就很好确定相关的数值了tft_LCD一些引脚极性设置方法:vsync, hsync, VBLANK第5张

h_fp = (horizontal total time)- 1024

f_sw = (horizontal total time)- 1024 - h_fp

免责声明:文章转载自《tft_LCD一些引脚极性设置方法:vsync, hsync, VBLANK》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CSS学习------之简单图片切换自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版下篇

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

相关文章

详解Android功耗分析工具Power Tutor的使用

简介:     PowerTutor 是由美国密歇根大学在谷歌的指导下开发的。它是用来展示google智能手机中主要组件或应用功耗的一种应用程序。例如,CPU,网络链接,LCD显示屏,GPS等。它允许开发者很直观的看到应用的功耗信息以优化应用的设计。因此,我们可以使用 PowerTutor 来监视产生功耗的任何一款应用程序。 示例:         下面...

Barebox for Tiny6410(LCD驱动移植)

一、目的 熟悉Barebox的Frame buffer框架、LCD驱动的移植和测试命令的编写。 二、主要内容 1.1 为Barebox移植基于Tiny6410的LCD驱动。 1.2 编写lcd命令测试LCD驱动。 1.3 编写rz命令,使得支持通过串口下载文件到内存。 1.4 增加支持直接对内存中的图片数据渲染到LCD上(Barebox本身只支持对图片文件...

逻辑门电路详解1(最透彻)

逻辑门(Logic Gates)是集成电路设计的基本组件。通过晶体管或MOS管组成的简单逻辑门,可以对输入的电平(高或低)进行一些简单的逻辑运算处理,而简单的逻辑门可以组合成为更复杂的逻辑运算,是超大规模集成电路设计的基础。   最基本的逻辑门有三种,即“与”、“或”、“非”,其符号如下图所示:         至于它们的逻辑作用这里不再列出了,免得大...

STM32 OLED屏显示详解

不多废话,先看效果         全家福 观看演示效果: https://www.bilibili.com/video/BV13V411b78V 一、基础认识及引脚介绍 屏幕参数: 尺寸:0.96英寸 分辨率:128*64 驱动芯片:SSD1306 驱动接口协议:SPI 引脚说明: 二、 SSD1306芯片介绍 SSD1306是一款带控制器的用于OL...

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...

全志A33屏幕旋转(Android)

0x00 环境说明:所使用的开发板为锐尔威视的插针版A33_Vstar 屏幕是买的第三方的KD050FWFPA011-C009A,其中LCD驱动IC为ILI9806E 0x01 LCD驱动移植:关于LCD驱动程序的编写/移植参考以前的一篇文章:https://www.cnblogs.com/DarkBright/p/10769858.html 大致流程如下...