底层软件 | LCD显示从电路IC 到 驱动编写调试

最近在做嵌入式专栏,好像自己没有做过关于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 屏幕的驱动原理与调试过程。

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

  • 32
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TrustZone_Hcoco

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值