一文读懂LCD工作原理以及时序分析(精简)

目录

1.LCD硬件操作原理

1.1 如何表示像素的颜色

1.2LCD屏幕工作原理

1.3如何将颜色发给LCD 

2.LCD屏幕时序分析

2.1MPU常用TFT-RGB接口

2.2LCD屏幕参数分析

2.2.1 HSYNC(水平方向同步信号)时序分析 

 2.2.2 VSYNC(垂直方向同步信号)时序分析 


        概述:本文以TFT-RGB接口的LCD为例,主要阐述LCD硬件工作原理以及LCD时序参数分析。通过阅读本文可以帮助你快速了解LCD的工作原理与应用,有助于在实际工作中,使用LCD屏幕开发时能够快速上手开发。

1.LCD硬件操作原理

1.1 如何表示像素的颜色

      我们都知道自然界所有颜色都可以用红绿蓝三种颜色来表示,那么在计算机领域就可以用数据来表示红绿蓝,比如经常听到的RGB888、RGB565、RGB555等等格式:

  • RGB888:用8位表示红、8位表示绿、8位表示蓝;
  • RGB565:用5位表示红、6位表示绿、5位表示蓝;
  • RGB555:16位数据中用5位表示红、5位表示绿、5位表示蓝,浪费一位。

     另外,还需要了解一下像素单位bpp的含义:

  • bpp:bits per pixel,表每个像素用多少位来表示;
  • 24bpp:实际上会用到32位,其中8位未使用,其余24位中分别用8位表示红(R)、绿(G)、蓝(B);
  • 16bpp:有RGB565,RGB555;

 1.2LCD屏幕工作原理

        LCD由一个一个像素组成:每行有xres个像素,有yres行,它的分辨率是:xres * yres。只要能够控制任意一个像素的颜色,就可以在LCD上绘制文字、图片。

 

 

        假设上图是一个LCD屏幕,屏幕中一个一个密密麻麻的黑点称之为像素点,每一行有若干个点,试想下有一个电子枪,电子枪位于某一个像素点的背后,然后向这个像素发射红,绿,蓝三种原色,这三种颜色按不同的比例组合成任意一种颜色。电子枪在像素点的背后,一边移动一边发出各种颜色的光,电子枪从左往右移动,到右边边缘之后就跳到下一行的行首,继续从左往右移动,如此往复,一直移动到屏幕右下角的像素点,最后就跳回原点。以一定的频率循环往复,就可以在LCD屏幕上显示各种图像。

问题1:电子枪如何移动?

答:有一条像素时钟信号线(DCLK),连接屏幕,每来一个像素时钟信号(DCLK),电子枪就移动一个像素。

问题2:电子枪打出的颜色该如何确定?

答:有三组红,绿,蓝信号线(RGB),连接屏幕,由这三组信号线(RGB)传递颜色。

问题3:电子枪移动到LCD屏幕右边边缘时,如何得知需要跳到下一行的行首?

答:有一条水平同步信号线(HSYNC),连接屏幕,当接收到水平同步信号(HSYNC),电子枪就跳到下一行的最左边。

问题4:电子枪如何得知需要跳到原点?

答:有一条垂直同步信号线(VSYNC),连接屏幕,当接收到垂直同步信号线(VSYNC),电子枪就由屏幕右下脚跳到左上角(原点)。

问题5:电子枪如何得知三组信号线(RGB)确定的颜色就是它是需要的呢?

答:有一条RGB数据使能信号线(DE),连接屏幕,当接收到数据使能信号线(DE),电子枪就知道这时由这三组信号线(RGB)确定的颜色是有效的,可以发射到该像素点。

下图是开发板LCD控制器LCD屏幕框图

1.3如何将颜色发给LCD 

        假设每个像素的颜色用16bit来表示,那么一个LCD的所有像素点假设有xres * y res个,
需要的内存为:xres * yres * 16 / 8,也就是要设置所有像素的颜色,需要这么大小的内存。
这块内存就被称为framebuffer(也有的芯片称GRAM)

  • Framebuffer中每块数据对应一个像素。
  • 每块数据的大小可能是16位、32位,这与LCD上像素的颜色格式有关。
  • 设置好LCD硬件后,只需要把颜色数据写入Framebuffer即可。
  • 其他事情由LCD驱动程序驱动芯片内部LCD控制器来完成。

        如果你是一名应用工程师,了解到这里就足够了。但是如果你是一名驱动工程师,还是深入理解LCD硬件,比如要回答如下两个问题:

  • Framebuffer在哪里?>>>>一般为RAM存储器,比如DDR
  • 谁把Framebuffer中的数据发给LCD?>>>>>芯片内部的LCD控制

2.LCD屏幕时序分析

2.1MPU常用TFT-RGB接口

        一般单片机(MCU)使用8080接口的LCD模组,但是该接口的分辨率无法做的很高,因为分辨率越高则意味着需要更大的Framebuffer,这种LCD模组使用的Framebuffer一般为SRAM,价格很贵;优点是使用方便,使用时主要研读芯片手册,看看如何收发数据或命令即可。

        因此,如需要使用更大分辨率的LCD屏幕,一般使用TFT RGB接口的LCD模组。这种接口方案使用的Framebuffer一般为DDR、SDRAM这种显存价格相对便宜。但是使用该方案时,一般需要研读芯片手册的LCD控制器,较为复杂。下图为TFT RGB接口硬件原理图。

   2.2LCD屏幕参数分析

        前面在介绍LCD硬件工作原理时已经提及到LCD的几个重要信号,在数据手册都能查阅到相关描述,如下图。

        下面侧重对SYNC同步信号时序参数进行分析, LCD数据手册有关SYNC同步信号以及时序部分截图,如下图。

2.2.1 HSYNC(水平方向同步信号)时序分析 

(1)th:每行像素的个数(包括不可视范围),这里等于1056;

(2)thpw:水平方向最低脉冲的宽度(如该脉冲宽度较低电子枪可能会反应不过来);30

(3)thb:是指电子枪移动至分辨率第一个水平像素前,所能移动的像素个数(前宽,不可视);16

(4)thfp:是指电子枪移动至分辨率最后一个水平像素后,还可以继续移动的像素个数(后宽,不可视);210

(5)thd:每行像素的个数,等于分辨率800 x 480中的800(有效像素);800

计算:1056 = 30+16+210+800

 2.2.2 VSYNC(垂直方向同步信号)时序分析 

 1)tv:每列像素的个数(包括不可视范围),这里等于525;

(2)tvpw:垂直方向最低脉冲的宽度(如该脉冲宽度较低电子枪可能会反应不过来);13

(3)tvb:是指电子枪移动至分辨率第一个垂直像素前,所能移动的像素个数(上宽,不可视);10

(4)tvfp:是指电子枪移动至分辨率最后一个垂直像素后,还可以继续移动的像素个数(下宽,不可视);22

(5) tvd:每列像素的个数,如等于分辨率800 x 480中的480(有效像素);480;

计算:525 = 13+10+22+480

  • 41
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Yolov5 是一种广泛应用于目标检测的算法,其 loss 原理相对简单。Yolov5 通过将目标检测问题转化为一个回归问题,通过预测 bounding box 的坐标来实现目标检测。 Yolov5 的 loss 主要包括三个部分:分类损失、定位损失和目标置信度损失。 分类损失是用来衡量预测的类别与真实类别之间的差异。Yolov5 使用交叉熵损失函数来计算分类损失。对于每个边界框(bounding box),它将计算预测类别的 softmax 概率与真实类别的 one-hot 向量之间的交叉熵。 定位损失用于衡量预测的边界框位置与真实边界框位置之间的差异。Yolov5 使用 Smooth L1 损失函数来计算定位损失。它通过对预测边界框的坐标与真实边界框的坐标之间进行平滑处理,减小了异常值的影响。 目标置信度损失用于衡量预测的边界框与真实边界框之间的 IoU(Intersection over Union)之间的差异。Yolov5 使用 Binary Cross-Entropy 损失函数来计算目标置信度损失。它将预测的边界框是否包含目标与真实边界框是否包含目标之间的差异进行衡量。 最终,Yolov5 的总损失是通过将三个部分的损失加权求和得到的。这些权重可以根据具体的任务和数据集进行调整。 通过最小化 Yolov5 的 loss 函数,模型可以学习到更准确的目标检测结果。这样,我们就可以在图像中准确地检测和定位不同类别的目标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一名在职员工

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

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

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

打赏作者

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

抵扣说明:

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

余额充值