TFT LCD刷新原理及LCD时序参数总结(LCD时序,写的挺好)

cd工作原理目前不了解,日后会在博客中添加这一部分的内容。

1.LCD工作原理[1]

我对LCD的工作原理也仅仅处在了解的地步,下面基于NXP公司对LCD工作原理介绍的ppt来学习一下。

LCD(liquid crystal display,液晶显示屏) 是由液晶段阵列组成,当LCD不处在一个电场中时,晶体是以随机的模式组织的(朝向不同),而当电场存在时,晶体会与场的方向对齐(类似于铁被磁化前后原子的朝向?)。

晶体本身不会发光,他们会控制通过它们的光量。垂直于光源排列的晶体将阻止光线通过它们。

每一个LCD段都与一个电场方向一致。

需要一个光源(背光)来驱动光穿过对齐的晶体场。
 

LCD还分为有源显示和无源显示两种:1. STN LCD是无源显示, 2. TFT LCD是有源显示
主要区别在于有源显示的LCD中多了有源器件晶体管,晶体管可以存储电荷在其中,一次通过将设置晶体管的对齐状态(尽管所有晶体对齐可能仍需要一点时间),而无源LCD则需要多次通过才能将liquid crystal segments与电场对齐

2.LCD刷新原理及LCD时序参数总结
2.1LCD刷新原理[2]

液晶屏显示画面时,电子枪从上到下逐行扫描,扫描完成后液晶屏就呈现一帧画面。然后电子枪回到初始位置进行下一次扫描。为了同步液晶屏的显示过程和液晶控制器,控制器会产生一系列的定时信号。
当电子枪换行进行扫描时,控制器会发出一个水平同步信号,简称Hsync;而当一帧画面绘制完成后,电子枪回复到原位,准备画下一帧前,控制器会发出一个垂直同步信号,简称 Vsync。控制器通常以固定频率进行刷新,这个刷新率就是 Vsync 信号产生的频率[2]

2.2 LCD时序参数总结[2]及刷新时序[3]

LCD时序参数总结

VSYNC starts the frame: VSYNC信号产生位置
HSYNC starts at the beginning of each line: HSYNC在每一个行的开始产生
垂直后沿(VBPD, vertical back porch):表示在一帧图像开始时,垂直同步信号以后的无效的行数
垂直后沿(VFPD, vertical front porch):表示在一帧图像结束后,垂直同步信号曾经的无效的行数
垂直同步信号脉宽(VSPW, vertical sync pulse width):表示垂直同步脉冲的宽度,用行数计算

水平后沿(HBPD, horizontal back porch):表示从水平同步信号开始到一行的有效数据开始之间的VCLK的个数
水平前沿(HFPD, horizontal front porch):表示一行的有效数据结束到下一个水平同步信号开始之间的VCLK的个数
水平同步信号脉宽(HSPW, horizontal sync pulse width):表示水平同步信号的宽度

VSPW(vertical sync pulse width):表示垂直同步脉冲的宽度,用行数计算;
HSPW(horizontal sync pulse width):表示水平同步信号的宽度,用VCLK计算;
HSPW和VSPW可能是用于同步

LCD刷新时序
LCD的数据输入接口模式有SYNC模式DE模式

1. 在SYNC模式,LCD的数据时序由行同步信号HSYNC和列同步信号VSYNC控制;

2. 在DE模式, LCD的数据时序由DE信号来控制。目前这里仅介绍SYNC模式

对上图进行一个简要的介绍:
VSYNC信号有效时,表示一帧数据的开始。
VSPW表示VSYNC信号的脉冲宽度为(VSPW+1)个HSYNC信号周期,即(VSPW+1)行,这(VSPW+1)行的数据无效。对应到上图则为 t_vp
VSYNC信号脉冲之后,还要经过(VBPD+1)个HSYNC信号周期,对应到上图为t_vb,有效的行数据才出现。所以,在VSYNC信号有效后要经过(VSPW+1+VBPD+1)个无效的行,第一个有效行才出现,对应上边框。
随后即连续发出(LINEVAL+1)行的有效数据。对应到上图为t_vd
最后是(VFPD+1)个无效的行,它对应下边框,完整的一帧结束,对应到上图为t_vf紧接着就是下一帧数据了。
接下来深入到一行中像素数据的传输过程:

HSYNC信号有效时,表示一行数据的开始。
HSPW表示HSYNC信号的脉冲宽度为(HSPW+1)个VCLK信号周期,即(HSPW+1)个像素,这(HSPW+1)个像素的数据无效。对应到上图则为 t_hp
HSYNC信号脉冲之后,还要经过(HBPD+1)个VCLK信号周期,有效的像素数据才出现,对应到上图则为 t_hb。所以,在HSYNC有效之后,总共要经过(HSPW+1+HBPD+1)个无效的像素,它对应左边框,第一个有效的像素才出现。
随后即连续发出(HOZVAL+1)个像素的有效数据。对应到上图则为 t_hd
最后是(HFPD+1)个无效的像素,它对应右边框,完整的一行结束,对应到上图则为 t_hf, 紧接着就是下一行的数据了

一个小栗子

【FPGA学习记录2】TFT LCD刷新原理及LCD时序参数总结_水平同步宽度_白木烨的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/92427.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

目标检测YOLO实战应用案例100讲-机器人路径规划与目标检测

目录 前言 路径规划研究现状 全局路径规划方法 局部路径规划方法

【网络协议】ARP协议

为什么网络需要同时借助MAC地址这种物理地址和IP地址这种逻辑地址进行通信? 尽管目前MAC地址可以通过逻辑的方式进行修改,但它最初是被设计为不可人为更改的硬件地址。虽然MAC地址也可以满足唯一性的要求,但由于它不可由管理员根据需求通过逻…

newstarctf

wp web: 1.rce 可以发现这个变量名有下划线也有点。 $code$_POST[e_v.a.l]; 这时候如果直接按这个变量名来传参,php 是无法接收到这个值的,具体原因是 php 会自动把一些不合法的字符转化为下划线(注:php8以下)&am…

springboot和vue:八、vue快速入门

vue快速入门 新建一个html文件 导入 vue.js 的 script 脚本文件 <script src"https://unpkg.com/vuenext"></script>在页面中声明一个将要被 vue 所控制的 DOM 区域&#xff0c;既MVVM中的View <div id"app">{{ message }} </div…

Node.js 是如何处理请求的

前言&#xff1a;在服务器软件中&#xff0c;如何处理请求是非常核心的问题。不管是底层架构的设计、IO 模型的选择&#xff0c;还是上层的处理都会影响一个服务器的性能&#xff0c;本文介绍 Node.js 在这方面的内容。 TCP 协议的核心概念 要了解服务器的工作原理首先需要了…

C++17中std::filesystem::directory_entry的使用

C17引入了std::filesystem库(文件系统库, filesystem library)。这里整理下std::filesystem::directory_entry的使用。 std::filesystem::directory_entry&#xff0c;目录项&#xff0c;获取文件属性。此directory_entry类主要用法包括&#xff1a; (1).构造函数、…

EasyExcel的源码流程(导入Excel)

1. 入口 2. EasyExcel类继承了EasyExcelFactory类&#xff0c;EasyExcel自动拥有EasyExcelFactory父类的所有方法&#xff0c;如read()&#xff0c;readSheet()&#xff0c;write()&#xff0c;writerSheet()等等。 3. 进入.read()方法&#xff0c;需要传入三个参数(文件路径…

【C++】:类和对象(1)

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关C中类和对象的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通…

什么是序列化和反序列化?

什么是序列化和反序列化&#xff1f; 什么是序列化和反序列化&#xff1f; 序列化和反序列化是计算机科学中两个重要的概念&#xff0c;主要应用在数据存储和网络传输等场景。序列化是将数据结构或对象状态转换为可以存储或传输的形式的过程。这种形式要求在重新构建原始对象…

Windows电脑显示部分功能被组织控制

目录 问题描述 解决方法 总结 问题描述 如果你的电脑出现以上情况&#xff0c;建议你使用我这种方法&#xff08;万不得已&#xff09; 解决方法 原因就是因为当时你的电脑在激活的时候是选择了组织性激活的&#xff0c;所以才会不管怎么搞&#xff0c;都无法摆脱组织的控…

十五、异常(4)

本章概要 Java 标志异常 特例&#xff1a;RuntimeException 使用 finally 进行清理 finally 用来做什么&#xff1f;在 return 中使用 finally缺憾&#xff1a;异常丢失 Java 标准异常 Throwable 这个 Java 类被用来表示任何可以作为异常被抛出的类。Throwable 对象可分为两…

C/C++笔试面试真题

C/C++笔试面试真题 1、堆和栈的区别 1、栈由系统自动分配,而堆是人为申请开辟; 2、栈获得的空间较小,而堆获得的空间较大; 3、栈由系统自动分配,速度较快,而堆一般速度比较慢; 4、栈是连续的空间,而堆是不连续的空间。 2、什么是野指针?产生的的原因? 野指针的指向的…

ubuntu下源码编译方式安装opencv

基础条件 ubuntu 20.04 opencv 3.4.3 opencv 源码编译的安装步骤 第一步&#xff0c; 首先clone源码 git clone https://github.com/opencv/opencv.git第二步&#xff0c;依赖包&#xff0c;执行下面的命令 sudo apt-get install build-essential sudo apt-get install cmak…

记一次Mybatis驼峰命名导致的线上BUG及处理方案

前言 方向从一开始就错了&#xff0c;还是执着的去寻找问题的解决方案&#xff0c;简直就是一场重大灾难&#xff0c;但这也是每个修行者的必由之路。这个线上问题&#xff0c;差点让我的心里防线崩溃&#xff0c;苦寻无门&#xff0c;最终得以解决也多亏了身边的各路大佬的群…

Android studio “Layout Inspector“工具在Android14 userdebug设备无法正常使用

背景描述 做rom开发的都知道&#xff0c;“Layout Inspector”和“Attach Debugger to Android Process”是studio里很好用的工具&#xff0c;可以用来查看布局、调试系统进程&#xff08;比如setting、launcher、systemui&#xff09;。 问题描述 最进刚开始一个Android 14…

数据结构与算法之堆: Leetcode 215. 数组中的第K个最大元素 (Typescript版)

数组中的第K个最大元素 https://leetcode.cn/problems/kth-largest-element-in-an-array/ 描述 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。…

Android Shape设置背景

设置背景时&#xff0c;经常这样 android:background“drawable/xxx” 。如果是纯色图片&#xff0c;可以考虑用 shape 替代。 shape 相比图片&#xff0c;减少资源占用&#xff0c;缩减APK体积。 开始使用。 <?xml version"1.0" encoding"utf-8"?…

云安全之HTTP协议介绍

HTTP的基本概念 什么是网络协议 网络协议是计算机之间为了实现网络通信而达成的一种“约定”或者”规则“&#xff0c;有了这种”约定不同厂商生产的设备&#xff0c;以及不同操作系统组成的计算机之间&#xff0c;就可以实现通信。 网络协议由三个要素构成&#xff1a;1、语…

WSL2和ubuntu的安装过程

目录 1.WSL2的安装 2.Ubuntu的安装 3.安装完成后的打开方式 1.WSL2的安装 按下WINX键&#xff0c;选择Windows PowerShell (管理员) 1.1执行以下命令&#xff0c;该命令的作用是&#xff1a;启用适用于 Linux 的 Windows 子系统 dism.exe /online /enable-feature /featur…

Oracle 快速入门

当你刚开始探索 Oracle 数据库时&#xff0c;可能会觉得有些复杂。然而&#xff0c;本文将为你提供 Oracle 数据库的快速入门指南&#xff0c;帮助你迅速上手这个强大的关系型数据库管理系统&#xff08;RDBMS&#xff09;。无论你是数据库新手还是有经验的数据库管理员&#x…