时序图

下面是LCD RGB 控制的典型时序图 
 
天啊,一下就上这玩意,怎么看??? 
其实要解释上面的时序图,我们还需要了解一些LCD的显示过程。所以现在只是有个印象,稍后我们详细讲解。

LCD显示流程

LCD显示一张图片,其实是每一个像素点的填充,只是速度很快我们人眼没有察觉而已。如果将LCD的显示频率降低,我们能明显感觉整个屏幕的闪烁现象。

  • 我们将LCD屏幕分为水平方向和垂直方向 
     
    一般我们的行在水平方向,LCD每一行的像素点被逐一填充,填充完一行继续填充下一行,填充顺序可以为左->右 或者 右->左
  • 一行有多少像素点?
  • 一个LCD需要填充多少行?

通过查看LCD的手册,例如一个800*480的液晶屏,表示一行(水平)800个像素点,一共有480行。 
例如下图中现实一帧的图像(从左到右,从上到下) 
 
每一帧图像,就从第一行的第一个像素点一直填充到最后一行的最后一个像素点。

为了能简单演示一下效果,假设我们现在让LCD现实蓝色,那么LCD的填充效果就像下面的图片 

好了,如果能了解这个像素填充的过程。那么我接下来就开始分时时钟和LCD现实的关系。

LCD时钟分析

我们知道了LCD现实一帧图像也就是像素填充的过程,但是由于速度太快我们察觉不出来,那么这个“快”到底是多快呢?

显示一行

  • 800*480的RGB LCD屏幕
  • 24bpp 显示模式 
    显示一行,我们LCD需要填充800个像素点。每一个像素由RGB三元素组成,每个元素(R、G、B)由8bit位数组成,也就是说一个像素我们需要通过信号线传输24bit的数据。 
    那么显示一行800个像素需要多长时间呢?我们先看一个要介绍的时钟–像素时钟CLK

像素时钟


上图中CLK就是像素时钟,每一个时钟周期发送一个像素的数据。根据我们LCD的参数,例如一行有800个像素,那么经过800个CLK时钟,我们就填充完了800个像素。 
问题来了… 
1. 哪一个CLK代表一行的开始? 
2. 哪一个CLK代表第一个有效的像素数据?

所以针对上面的问题,我们还需要介绍两个时钟行同步时钟HSYNC和有效数据使能VDEN

水平同步时钟 HSYNC

HSYNC水平同步信号,表示一行数据的开始。具体如下图 

其中CLK没有任何变化,只是多了HSYNC和DEN两个信号。 
如图中的红色箭头,当HSYNC产生了如图所示的变化表示新的一行数据传送马上开始,当ENB信号线为高电平期间传输的数据视为有效数据。这样一来,一行800个像素的数据才能正确的传送完成。

显示一帧

垂直同步时钟VSYNC

为什么要有VSYNC呢,按照我们之前假设的800*480LCD。从第一行一直到最后一行,整个LCD屏幕所有像素填充完毕,这一过程也就是写了一帧数据,我们如果要LCD能够实时显示画面,很显然一帧数据肯定不够,所以L要给LCD不断的提供新的帧数据,这无非也就是重复上述显示一帧的过程。 

上图中VSYNC垂直同步信号,当产生如图所示的变化,就代表新的一帧数据马上开始传送。那么这里没有有效数据信号呢?? 
其实很简单,因为新的一帧数据不就是从LCD第一行的第一个像素开始填充嘛,那么前面我们已经说明了每一行都自己的同步信号,而每一行也有对应的数据有效信号线。所以垂直同步信号只用关心从一帧数据(8000*480)的同步,而不同关心每一行的同步。

于是,我们将上面分析的时钟放在一起,就变成了LCD RGB模式的典型时序图 

 

LCD RGB 控制技术讲解 — 时钟篇(上)的更多相关文章

  1. LCD RGB 控制技术讲解 — 时钟篇(上)【转】

    1. 时序图 下面是LCD RGB 控制的典型时序图 天啊,一下就上这玩意,怎么看??? 其实要解释上面的时序图,我们还需要了解一些LCD的显示过程.所以现在只是有个印象,稍后我们详细讲解. 2. L ...

  2. LCD RGB 控制技术 时钟篇(下)【转】

    上一篇博文,我们介绍了LCD RGB控制模式的典型时钟.那么这一片我们要详细的去讨论剩下的细节部分. 我们先回顾一下之前的典型时序图 在这个典型的时序图里面,除了上篇博文讲述的HSYNC VSYNC ...

  3. LCD RGB 控制技术 时钟篇(下)

    我们先回顾一下之前的典型时序图 在这个典型的时序图里面,除了上篇博文讲述的HSYNC VSYNC VDEN VCLK这几信号外,我们还能看见诸如HSPW. VSPW,HBPD. HFPD,VBPD. ...

  4. Apache Maven 入门篇 ( 上 )

    作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法. 这个入门篇分上下两篇.本文着重动手,用 mav ...

  5. [转]Apache Maven 入门篇 ( 上 )

    原文地址:Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这 ...

  6. 前端开发工程师 - 03.DOM编程艺术 - 第1章.基础篇(上)

    第1章.基础篇(上) Abstract:文档树.节点操作.属性操作.样式操作.事件 DOM (Document Object Model) - 文档对象模型 以对象的方式来表示对应的html,它有一系 ...

  7. 6-C++远征之封装篇[上]-学习笔记

    C++远征之封装篇(上) 课程简介 类(抽象概念),对象(真实具体) 配角: 数据成员和成员函数(构成了精彩而完整的类) 构造函数 & 析构函数(描述了对象的生生死死) 对象复制和对象赋值 ( ...

  8. SpringBoot图文教程「概念+案例 思维导图」「基础篇上」

    有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 每个知识点配套自测面试题,学完技术自我测试 本文初学向,所以希望文中所有的代码案例都能敲一遍 大哥大姐 ...

  9. c++学习笔记之封装篇(上)

    title: c++学习笔记之封装篇(上) date: 2017-03-12 18:59:01 tags: [c++,c,封装,类] categories: [学习,程序员,c/c++] --- 一. ...

随机推荐

  1. c++生成算式并计算(《构建之法》第一章课后第一题)

    c++实现计算器(自动生成算式并计算) 要满足的需求有以下几个: 自动生成随机的四则运算算式,包含括号和小数. 对生成的算式计算出结果. 算式.结果分别存储到不同的文件. 一 生成算式 由上述需求可知 ...

  2. POJ 1780 Code(欧拉回路+非递归dfs)

    http://poj.org/problem?id=1780 题意:有个保险箱子是n位数字编码,当正确输入最后一位编码后就会打开(即输入任意多的数字只有最后n位数字有效)……要选择一个好的数字序列,最 ...

  3. html 入门2-表

    html  入门-列表 表格 表单 一.表标签 1,无序列表 ( ul:li ) 注意:代码排版必须要层次分明 2,有序列表 (ol:li) 3,自定义列表 (dl:li) 二.表格标签 1,tabl ...

  4. jquery chosen 插件 动态设置+更新选项值

    我要在表单里使用一个select下拉菜单(是不是multiple无所谓),所以选择了jquery chosen这个插件.现在有一个需求,需要根据表单的另一个域来动态加载该select元素的选项. 1 ...

  5. PHPUnit简介及使用(thinkphp5的单元测试安装及使用)

    PHPUnit简介及使用(thinkphp5的单元测试安装及使用) 一.总结 一句话总结:直接google这个phpunit(how to use phpunit),然后去官网看使用样例和手册,那些英 ...

  6. **优化--后端**: 计数缓存counter_cache; rack-mini-profiler(2300🌟) ; bullet(5000✨):侦测N+1query

    rack-mini-profiler 这个 gem,可以永远显示网页的加载时间.(2300✨)开发环境和产品环境都可以用.(生成非常详细的报告) development环境,直接使用gem 'rack ...

  7. PHP中exit()与die()的区别

    PHP手册:die()Equivalent to exit(). 说明:die()和exit()都是中止脚本执行函数:其实exit和die这两个名字指向的是同一个函数,die()是exit()函数的别 ...

  8. CSS 列表样式详解

    CSS列表用于前端的列表排列. CSS列表属性作用如下: 设置不同的列表项标记为有序列表 设置不同的列表项标记为无序列表 设置列表项标记为图像 列表 在HTML中,有两种类型的列表: 无序列表 - 列 ...

  9. Spring学习笔记1——基础知识

    1.在java开发领域,Spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架,曾经有两本很畅销的书<Expert one-on-one J2EE Design and Deve ...

  10. uva-10491-经典问题

    https://vjudge.net/problem/UVA-10491 有a个门后是牛,b个门后是车,一开始随机选一个门,然后主持人会打开c(c<a)个为牛的门,之后可以选择换门(这里要求总是 ...