LCD显示从电路IC 到 驱动编写调试

文章目录

  • LCD驱动电路IC简述
    • Panel 模块驱动图示
      • 含义
      • 接口与连接
    • Panel内部驱动
    • 驱动原理框图
      • TCON(Timing Controller):时序控制器。
        • 一、控制屏幕时序与信号驱动
        • 二、提升图像质量
        • 三、接口支持与兼容性
        • 四、市场应用广泛
      • Gate控制信号工作时序
      • Source Driver IC原理框图
  • LCD驱动应该怎么写
    • LCD驱动框架
  • LCD 屏幕的驱动原理与调试过程

最近在做嵌入式专栏,好像自己没有做过关于LCD的内容。而这个是咱们以前在学校做项目的时候,离不开的东西。毕竟那个时候,能在LCD上显示各种花哨的东西,实在是太酷啦。

于是找寻了到了几篇很不错的文章,整理了一下。看完这篇文章后,你会从显示原理到硬件电路再到软件驱动都会有一个很不错的认识。顺便再和上两篇的I2C和SPI结合起来,你就说巴适不巴适吧。

LCD驱动电路IC简述

Panel 模块驱动图示

在显示器领域,"panel"一词主要指的是显示器的面板或屏幕。这是显示器中用于显示图像和色彩的关键部分,通常由液晶(LCD)或发光二极管(LED)等材料构成。以下是关于"panel"在显示器领域中含义的详细解释:

含义

  • 液晶面板(LCD Panel):液晶显示器中的核心组件,负责通过液晶分子的排列和光线的透过与阻挡来形成图像。液晶面板的质量和性能直接影响显示器的显示效果,包括色彩准确性、对比度、视角和响应时间等。
  • LED面板:虽然通常提到的LED显示器可能指的是背光技术为LED的液晶显示器(LED-backlit LCD),但在这里,"LED面板"也可以广义地理解为使用LED技术(如OLED,即有机发光二极管)作为发光材料的显示面板。OLED面板具有自发光特性,能够提供更鲜艳的色彩、更高的对比度和更广的视角。

接口与连接

在显示器领域,"panel"的接口可能指的是显示器的视频输入/输出接口,如HDMI、DisplayPort、VGA等。这些接口用于将显示器的面板与计算机、游戏机或其他视频源设备连接起来,传输图像和声音信号。

这里主要是显示领域

Panel内部驱动

驱动原理框图

TCON(Timing Controller):时序控制器。

主要功能为数据的转换及时序控制信号生成。

TCON(Timing Controller)芯片在显示器领域扮演着至关重要的角色,其使用原因主要可以归纳为以下几点:

一、控制屏幕时序与信号驱动
  1. 时序控制:TCON芯片负责管理液晶或OLED屏幕上的每个像素的刷新和更新时序。它确保像素按照正确的时间间隔刷新,以呈现清晰、稳定的图像。这是显示屏正常工作所必需的,因为不准确的时序控制会导致图像模糊、闪烁或失真。

  2. 信号驱动:TCON芯片将输入的图像数据转化为驱动液晶屏所需的信号。这些信号包括RGB数据信号、时钟信号和控制信号,它们共同协作以控制液晶屏上每个像素的亮度和颜色。

二、提升图像质量
  1. 分辨率与刷新率支持:TCON芯片决定了显示屏的分辨率和刷新率。它可以配置以支持不同分辨率的屏幕,并调整刷新率以匹配不同类型的内容和应用需求。这有助于提升图像的清晰度和流畅度。

  2. 像素数据处理:TCON芯片负责将输入的图像数据精确地转化为每个像素点的亮度和颜色信息。这种精确的数据处理对于确保图像质量至关重要。

三、接口支持与兼容性
  1. 多种接口标准:TCON芯片通常支持多种显示接口标准,如LVDS(低电压差分信号)、eDP(嵌入式显示端口)等。这使得TCON芯片能够与不同类型的显示屏兼容,提高了设备的灵活性和可扩展性。

  2. 简化系统设计:通过使用TCON芯片,系统设计人员可以更容易地实现显示功能的集成和优化。TCON芯片作为系统SoC和显示驱动之间的桥梁,简化了信号处理的复杂性,降低了系统设计的难度和成本。

四、市场应用广泛
  1. 多种设备:TCON芯片通常用于电视、计算机显示器、智能手机、平板电脑、汽车信息娱乐系统以及其他需要液晶或OLED显示屏的设备中。这种广泛的应用需求进一步凸显了TCON芯片的重要性。

  2. 市场增长:随着数字显示技术的不断发展和普及,TCON芯片市场也在持续增长。特别是在高端显示设备领域,对TCON芯片的性能和质量要求更高,这为TCON芯片的发展提供了更广阔的空间。

综上所述,TCON芯片在显示器领域的使用是出于其对屏幕时序与信号驱动的控制能力、对图像质量的提升作用、对多种接口标准的支持以及广泛的应用需求等多方面因素的考虑。这些因素共同使得TCON芯片成为显示屏正常工作所不可或缺的关键组件。

Gate控制信号工作时序

  • OE1 (output enable):输出控制使能信号。
  • OE2(Multi Level Gate):MLG输出控制

Source Driver IC原理框图

  • Output Multiplexer:输出复选器,选择输出电压极性。

  • Buffer:输出缓存器,为输出电流增幅,保证足够大的Panel驱动能力

  • DAC:数模转换器,以Gamma电压为基准,将输入的mini-LVDS信号转换为Panel显示的模拟信号。

  • Level Shift:电平移位器,将数字信号进行电平增大,驱动D/A转换。

  • Line Buffer:进行第n行数据缓存,便于第n+1行接受。

  • Shift Register:移位寄存器,把串行顺序数据移位存储。

极性翻转原理

  • 极性反转目的:为防止液晶分子的极化,LCD采用相反极性电压进行驱动。

  • 实现依据:液晶在正、负极性相对于公共电极(Vcom)绝对值相等时有相同的透过率。

  • 分类:dot inversion,line inversion,Column Inversion,Frame Inversion +’为正极性,‘-’为负极性)。

  • 人脑的亮度感觉
  • 人不能感受到△ Y/Y=1%以下的亮度变化,因此需要用非线性的灰阶。

人脑的亮度感觉

Gamma Reference

通过计算调整,使用以下电路产生规定的参考电压,然后向Driver IC提供Gamma参考,通过其内部的电阻分压网络产生所需的64灰阶电压。


P- Gamma(Programmable Gamma Correction Circuit)

4个特点:

  • Gamma输出精度高
  • 调整灵活简单
  • 外围线路简单
  • 集成Digital Vcom


Novatek: Driver NT60258内置pgamma,能简单灵活实现pgamma调试

  • 撰写:mary.xu@aitgroup.com.cn
  • 参考资料:https://zhuanlan.zhihu.com/p/68431217

LCD驱动应该怎么写

LCD驱动框架

驱动框架 从上到下分别是:

  • GUI层:如果不使用GUI,普通的划线,画圆等,也算GUI。
  • LCD驱动层:主要是封装下一层驱动IC层的接口,以便GUI层用一套接口操作多种LCD。
  • 驱动IC驱动层,实现不同的LCD控制,对上提供同样的接口(前面说的_lcd_drv结构体)
  • 对不同的硬件接口封装,以便一种驱动使用多种接口,例如SSD1315驱动可以用I2C,也可以用SPI。
  • 接口层,例如SPI驱动,其实不算LCD功能范畴。

详细的实现,请阅读原文。做嵌入式虽然用的是C语言,但是也有很多的框架和编码模式。如果应聘嵌入式这也是你软件能力的体现。

  • LCD驱动应该怎么写?

LCD 屏幕的驱动原理与调试过程

最后我们再使用一个项目,来理解 LCD 屏幕的驱动原理与调试过程。

项目示例的驱动 IC 为 GC9308 ,链接展示了整个屏幕的驱动编写调试过程。

  • LCD 屏幕的驱动原理与调试过程

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

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

相关文章

JAVA—图形化“登录,注册”界面

前言:学习了一段时间JAVA的swing组件,心血来潮写了一个登录,注册界面。 知道大伙喜欢美女,所以把用户登录界面背景设置成了beauty! 所用知识基本上都属于swing组件: javax.siwng.JFrame; //窗体类 javax.sw…

【第四套】华为 2024 年校招-硬件电源岗

1、 其他参数不变,当 LLC 谐振电路的 Lm 增⼤时,描述错误的是 A.⼯作频率范围变⼩ B.关断电流减⼩ C.关断损耗减⼩ D.谐振电感减⼩ 2、 五类双绞线带宽可达 A. 10MHZ B. 20 MHZ C. 1GHZ D. 100MHZ 3、 当⽇照条件达到⼀定程度时,太阳能电池由于⽇照的变化⽽引起较明…

MyBatis 插入数据库生成id问题

核心代码 Mapper配置文件 <!-- 批量插入标签并返回主键 --> <insert id"insertBatch" parameterType"list" useGeneratedKeys"true" keyProperty"tagId">INSERT INTO tag (label)VALUES<foreach collection"lis…

c++习题08-计算星期几

目录 一&#xff0c;问题 二&#xff0c;思路 三&#xff0c;代码 一&#xff0c;问题 二&#xff0c;思路 首先&#xff0c;需要注意到的是3^2000这个数值很大&#xff0c;已经远远超过了long long 数据类型能够表示的范围&#xff0c;如果想要使用指定的数据类型来保存…

14-18 2024 年影响企业 GenAI 的关键技术趋势

现在&#xff0c;大多数 .com 公司已于 2023 年更名为 .ai&#xff0c;那么价值万亿美元的问题是&#xff1a;接下来会发生什么&#xff1f;哪些关键障碍、工具、技术和方法将重塑格局 企业 AI 的不同之处在于&#xff0c;它专注于可衡量、可管理的输出&#xff0c;企业可以控…

Docker容器基础:Docker的安装与基本使用

Docker容器基础&#xff1a;Docker的安装与基本使用 前言 Docker是一种开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。本文将介绍Docker的安装…

前端Web开发HTML5+CSS3+移动web视频教程 Day4 CSS 第2天

P44 - P 四个知识点&#xff1a; 复合选择器 CSS特性 背景属性 显示模式 复合选择器 复合选择器仍然是选择器&#xff0c;只要是选择器&#xff0c;作用就是找标签。复合选择器就是把基础选择器进行组合使用。组合了之后就可以在大量的标签里面更快更精准地找标签了。找…

redis实现简单分布式锁

1.redisTemplate实现简单分布式锁 AutowiredRedisTemplate redisTemplate;/*** redis分布式锁演示案例&#xff0c;此处使用redisTemplate* param stockId 此处以扣减库存为例子&#xff0c;stockId代表要扣减库存的商品id,库存数据是提前存在redis的&#xff0c;并和数据库进…

Qt中线程的使用

目录 1 .QThread重要信号和函数 1.1 常用共用成员函数 1.2信号和槽函数 1.3静态函数 1.4 任务处理函数 2.关于QThread的依附问题&#xff1a; 3.关于connect连接 4.QThread的使用 5.线程池QThreadPool 5.1. 线程池的原理 5.2&#xff0e;QRunable类 5.3. QThreadPoo…

Java8新特性常见用法

Java8新特性 示例类Stream API 使用示例forEach:遍历Stream:创建流map:转换元素filter:过滤元素collect(收集元素) 和 Collectors(分组、连接)sorted 和 comparing(搭配排序)toMap:转换Map元素collectingAndThen:过滤掉相同数据toUpperCase:转大写distinct:去重c…

安装维修制氮设备的注意指南

制氮设备在许多工业领域都发挥着重要作用&#xff0c;无论是确保生产过程中的氮气供应&#xff0c;还是维持设备的稳定运行&#xff0c;正确的安装和维修都是关键。以下是一些重要的注意事项&#xff0c;帮助您顺利完成制氮设备的安装与维修工作。 一、安装注意事项 (一)选址与…

独孤思维:你自己都不相信的副业,怎么能赚钱

要明白&#xff0c;你做副业的目的是什么&#xff1f; 如果你打心眼里&#xff0c;看不上这个项目&#xff0c;或者心不甘情不愿的被动推进项目的实操。 那么我建议你直接放弃。 不要不情愿地去做。 不要当成任务去完成。 如果抱着这份心态去做副业。 你的副业&#xff0…

VUE自定义新增、复制、删除dom元素

功能需求&#xff0c;能灵活新增或删除一个dom元素&#xff0c;在此dom元素中还存在能灵活新增、删除的dom元素。实现后功能图如下&#xff1a; 点击新增策略&#xff0c;能新增整个策略dom 实现思路&#xff1a;定义一个数量和一个数组&#xff0c;然后使用循环遍历展示内容&a…

一种特殊的二叉树 哈夫曼树(Huffman Tree)

哈夫曼树(Huffman Tree)是一种特殊的二叉树,它在信息编码领域有着广泛的应用,特别是在数据压缩技术中。下面我将通过图文结合的方式,详细介绍哈夫曼树的概念、构建方法以及应用场景。 哈夫曼树的概念 哈夫曼树是一种特殊的二叉树,由David Huffman于1952年提出。它主要用…

将iStoreOS部署到VMware ESXi变成路由器

正文共&#xff1a;888 字 19 图&#xff0c;预估阅读时间&#xff1a;1 分钟 前面把iStoreOS部署到了VMware workstation上&#xff08;将iStoreOS部署到VMware Workstation&#xff09;。如果想把iStoreOS直接部署到ESXi上&#xff0c;你会发现转换镜像不能直接生成OVF或者OV…

React Navigation 和 Expo Router

React Navigation 是 React Native 社区最常用的导航库&#xff0c;其具有高度可定制性且性能良好的特性。它提供了一系列导航器&#xff08;如堆栈导航器、标签导航器、抽屉导航器等&#xff09;&#xff0c;可以满足绝大多数的页面导航需求。 Expo Router 是 Expo 官方最新发…

css+js实现导航栏色块跟随滑动+点击后增加样式

这篇文章&#xff0c;我给大家分享一个导航菜单的效果。用cssJS实现&#xff0c;效果如图&#xff1a; 本例实现效果&#xff1a;当鼠标移动到其他菜单项时&#xff0c;会有个背景色块跟随鼠标横向平滑移动。当鼠标点击后&#xff0c;被点击的菜单名称文字字体会加粗。 现在&…

《数字图像处理与机器视觉》案例四 基于分水岭算法的粘连物体的分割与计数

一、引言 分水岭算法&#xff08;Watershed Algorithm&#xff09;&#xff0c;是一种基于拓扑理论的数学形态学的分割方法&#xff0c;其基本思想是把图像看作是测地学上的拓扑地貌&#xff0c;图像中每一点像素的灰度值表示该点的海拔高度&#xff0c;每一个局部极小值及其影…

SpringBoot 集成Swagger在线接口文档 接口注解

介绍 Swagger接口文档是一种自动生成、描述、调用和可视化的RESTful风格Web服务接口文档的工具。它通过一系列的规范和自动化工具&#xff0c;极大地简化了后端开发人员与前端开发人员之间的协作。 依赖 <!--swagger--> <dependency><groupId>io.springfo…

怎么办理固体废物处理处置工程乙级资质

1. 准备工作 企业法人资格&#xff1a;确保企业具有独立法人资格。 注册资本&#xff1a;注册资本不少于100万元人民币。 社会信誉&#xff1a;企业需具有良好社会信誉。 人员配置&#xff1a; 至少配备14名专业技术人员&#xff0c;其中注册人员10名&#xff0c;非注册人…