转发路径:https://blog.csdn.net/a617996505/article/details/82386952

1.LVDS接口分类与数据格式

  1. 单路6it LVDS

这种接口电路中,采用单路方式传输,每个基色信号采用6位数据,共18位RGB数据,因此,也称18位或18bit LVDS接口。此,也称18位或18bit LVDS接口。

  1. 双路6bit LVDS

这种接口电路中,采用双路方式传输,每个基色信号采用6位数据,其中奇路数据为18位,偶路数据为18位,共36位RGB数据,因此,也称36位或36bit LVDS接口。

  1. 单路8bit LVDS

这种接口电路中,采用单路方式传输,每个基色信号采用8位数据,共24位RGB数据,因此,也称24位或24bit LVDS接口。

  1. 双路8bit LVDS

这种接口电路中,采用双路方式传输,每个基色信号采用8位数据,其中奇路数据为24位,偶路数据为24位,共48位RGB数据,因此,也称48位或48bit LVDS接口

现在市场上基本是8bit和6bit的屏幕,

LVDS接口电路中,将像素的并行数据转换为串行数据的格式主要有两种标准:VESA和JEIDA

1)VSEA标准格式如下图所示:

以上图片是单路的VESA标准信号,对一行数据输入则多2bit。

关于双路的信号格式这个可以举个例子:

以上图片是双路8bit 的VSEA标准信号。

2)JEIDA标准是由日本电子行业开发协会(JAPANELECTRONIC INDUSTRY DEVELOPMENT ASSOCIATION)制定的标准,其格式如下:

可以对比参照查看,如果像素为6bit RGB,则每个通道只需要最上面的3对数据线,其中的R9…R4, G9…G4, B9…B4 对应实际的R5…R0, G5…G0, B5…B0;同样,如果像素是 8 bit RGB,则每个通道只需要靠上面的4对数据线,其中的R9…R2, G9…G2, B9…B2 对应实际的R7…R0, G7…G0, B7…B0。

基本上每个屏幕的datesheet上都有相关信号图。

由这些信号图基本上可以判断:       1.单双路;

2.是多少bit RGB;

3.数据信号格式;

查看IMX6Q_LDB Control Register,内有相关设置:

1.单双路;

2.是多少bit RGB;

3.数据信号格式;

有设备树的内核可以直接修改设备树来操作寄存器,红色部分即可修改的三个参数:

&ldb {

status = "okay";

dual-mode = <1>; //这里为单路LVDS,双路应设为 split-mode = <1>;

lvds-channel@0 {

fsl,data-mapping = "spwg"; //这里为数据格式(VESA),还有一种为JEIDA的标准

fsl,data-width = <24>; //这里是数据位宽,即8bit RGB

status = "okay";

display-timings {

native-mode = <&timing0>;

timing0: hsd100pxn1 {

clock-frequency = <65000000>; //像素时钟

hactive = <1280>; //横像素点数

vactive = <800>; //竖像素点数

hback-porch = <10>; //水平后沿

hfront-porch = <30>; //水平前沿

vback-porch = <2>; //垂直后沿

vfront-porch = <4>; //垂直前沿

hsync-len = <10>; //行同步脉宽

vsync-len = <6>; //垂直同步脉宽

};

};

};

下面我们分析蓝色部分应该如何填写。

2.屏幕参数的相关设置(蓝色部分)

fb_videomode各个参数的意义

各参数的抽象如下图所示:

关于fb_videomode各个成员的意义详解:

名称

数据手册中的简称

中文名

意义

备注

(简称或另名称)

name

No

名字

液晶屏名字(可选)

No

refresh

No

刷新频率

刷新频率(内核中很多例子都赋值为60)

No

xres

No

行宽

每行的像素个数

No

yres

No

屏幕高度

屏幕的行数

No

pixclock

No

像素时钟

每个像素时钟周期的长度,单位是皮秒(10的负12次方分之1秒)

No

left_margin

HBP

水平后沿

在每行或每列的象素数据开始输出时要插入的象素时钟周期数

No

right_margin

HFP

水平前沿

在每行或每列的象素结束到LCD 行时钟输出脉冲之间的象素时钟数

No

upper_margin

VBP

垂直后沿

在垂直同步周期之后帧开头时的无效行数

No

lower_margin

VFP

垂直前沿

本帧数据输出结束到下一帧垂直同步周期开始之前的无效行数

No

hsync_len

HPW

行同步脉宽

单位:像素时钟周期

HWH(HSYNC width)

vsync_len

VPW

垂直同步脉宽

单位:显示一行的时间th

HWH(HSYNC width)

sync

No

同步极性设置

可以根据需要设置FB_SYNC_HOR_HIGH_ACT(水平同步高电平有效)和FB_SYNC_VERT_HIGH_ACT(垂直同步高电平有效)

No

vmode

No

No

在内核中的大多数示例都直接置为FB_VMODE_NONINTERLACED。interlaced的意思是交错[隔行]扫描,电视中使用2:1的交错率, 即每帧分两场,垂直扫描两次,一场扫描奇数行,另一场扫描偶数行。很显然LCD目前不是这种模式。

No

flag

No

No

目前没有看到用法

No

由上图可得:

水平总周期 = left_margin + right_margin + hsync_len

垂直总周期 = upper_margin + lower_margin + vsync_len

下面主要以16BPP的TFT屏作为例子。有的LCD会给出参数列表,比如下图,可以很清楚的在红框中找到需要的参数,取“type”典型值即可。但是有的LCD并没有直接给出这样的列表,设置某些参数没有给出,这需要通过时序图来确定。

下面以天马的3.5寸TFT液晶屏 TM035KDH03为例进行讲解。

参数计算:

可以看到LCD时钟是28M,所以pixclock=1000000/28 ,在设备树上是clock-frequency = <28000000>;

行同步脉冲宽度是一个时钟周期,所以,hsync_len=1

场同步脉冲的宽度是一个行周期,所以,vsync_len = 1

上图是一帧图像的显示时序图。的上图显示,up_margin = 13-1=12,, yres= 240,

整个场周期为263,所以lower_margin= 263-13-240 = 10

同时看到,列同步信号高电平有效,行同步信号也是高电平有效。

上图是一行的时序图。

可以看到,left_margin = 69, xres = 320, right_margin = 408 -320 - 70 = 18

数据在上升沿有效,输出使能是高电平有效。

总计一下上面的参数,得到如下结果:

static struct clcd_panel conn_lcd_panel = {

.mode = {

.name = "QVGA TM035KDH03",

.refresh = 60,

.xres = 240,

.yres = 320,

.pixclock = 35714,

.left_margin = 69,

.right_margin = 18,

.upper_margin = 12,

.lower_margin = 10,

.hsync_len = 1,

.vsync_len = 1,

.sync = FB_SYNC_HOR_HIGH_ACT|FB_SYNC_VERT_HIGH_ACT,

.vmode = FB_VMODE_NONINTERLACED,

},

}

所以用设备树可以这样写:

clock-frequency = <28000000>;         //像素时钟

hactive = <240>;                              //横像素点数

vactive = <320>;                              //竖像素点数

hback-porch = <18>;                           //水平后沿

hfront-porch = <69>;                           //水平前沿

vback-porch = <10>;                           //垂直后沿

vfront-porch = <12>;                           //垂直前沿

hsync-len = <1>;                              //行同步脉宽

vsync-len = <1>;                               //垂直同步脉宽

3.调试过程中的常见问题

1.背光

调试屏幕首先要把背光点亮,没有点亮背光屏幕什么都显示不了,根据规格书将背光点亮,可以寻求硬件工程师帮忙

2.屏幕上星星点点
  在调试的时候,我们会发现屏幕上有莫名其妙的星星点点,一般这种情况下,我们首先要看看VGH和VGL电压是否处于datasheet所描述的范围之 内。如果属于标准范围之内,但星星点点依旧,很有可能就是时序问题。这时候不妨在代码中变更采样的时序(比如上升沿采样改为下降沿采样)。如果无法在代码 中更改,也可以在clk信号线加个100R电阻,也可能解决该问题。

3.显示抖动

在确认VPW,VBP,VFP,HPW,HBP,HFP的设置已经符合LCD规格要求后,如果屏幕的显示还在抖动的话,不妨将输出的时钟信号频率降低,有可能解决该问题。

还存在一种现象,LVDS的信号线电压高出规格书一点也会出现。曾经有过LVDS信号电压为3.3V的接到5V导致屏幕显示出现细小电波抖动。

4.显示花屏

出现花屏现象,理论上是RGB没有调好导致的。如颜色位数, 颜色顺序导致的。

检查一下规格书的颜色格式部分, 是否将RGB888格式设置成了666,或者顺序是RBG,BGR之类的都有可能。

LVDS接口分类与数据格式相关推荐

  1. JESD204B与LVDS接口并行 管线式ADC延迟问题分析及解答

    JESD204B为业界标准序列通信链接,数据转换器与现场可编程门阵列(FPGA).数字信号处理器(DSP).特定应用集成电路(ASIC)等装置间的数字数据接口因此能化繁为简,这项标准减少装置间路由进而 ...

  2. 【全栈接口测试进阶系列教程】精通api接口测试,接口分类,接口架构,http,webservice,dubbo接口协议,接口流程,接口工具,cookie,session,token接口鉴权原理以及实战

    目录 一,[什么是接口测试?为什么要作接口测试] 1.接口的作用 2.为什么要做接口测试 3.接口都有哪些类型? 二,[接口测试的分类] 接口的分类: http和webservice接口区别: 三,[ ...

  3. 手机屏和大屏LCD显示面板接口(和处理器连接的接口类似12864等单片机处理器和屏接口的8086,SPI等并口串口屏以及RGB屏接口)LVDS接口常见于液晶电视中。eDP,LVDS,MIPI,HDMI

    mipi是手机液晶屏最常见的接口了 现在普遍的16:9或者16:10的宽屏,LCD接口大部分都是LVDS,也有RSDS接口,不过比较少.接口一般都是30PIN,不过由于尺寸不同,分辨率的不同,所用到的 ...

  4. LVDS接口液晶屏定义(lcd)

    转载于:https://blog.csdn.net/linphusen/article/details/6389032 LVDS接口液晶屏定义 LVDS接口又称RS-644总线接口 20PIN单6定义 ...

  5. Mstar的Monitor方案笔记(三)——点LVDS接口液晶屏

    点LVDS接口液晶屏 1.硬件准备 (1)准备屏.屏规格书.背光规格书和屏线 (2)准备主板 2.软件调试 (1)增加新屏驱动文件 (2)屏显示原理 (3)屏参分析 (4)点屏 1.硬件准备 (1)准 ...

  6. lvds接口屏线安装图解_液晶屏LVDS线类型图文讲解

    说明: 1.本资料是部分显示屏所使用的LVDS 线汇总表,其中对LVDS 接口插座.特征.编码等作 了介绍.如果这些显示屏的LVDS 线损坏,可参考: 2.由于1920X1080高清屏对应的数字板LV ...

  7. SpringMVC常用的视图接口分类及实现类

    SpringMVC中常用的视图接口分类及对应的实现类: URL资源视图:InternalResourceView.JstlView 文档视图:AbstractExcelView.AbstractPdf ...

  8. jeesite如何配置swagger_Spring Boot 2.x基础教程:Swagger接口分类与各元素排序问题详解...

    之前通过Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档一文,我们学习了如何使用Swagger为Spring Boot项目自动生成API文档,有不少用户留言问了关于文档 ...

  9. 显示设备的接口分类:VGA,HDMI,DVI等等

    显示设备的接口分类:VGA,HDMI,DVI等等 一分钟速读-常见的外部显示接口 VGA是比较老的接口是模拟信号,所以一般来说效果比较差,现在主流的显示器用的比较少. DVI是数字信号,高分辨率下更加 ...

最新文章

  1. 2022-2028年中国金融云行业市场研究及前瞻分析报告
  2. 小米手机60帧录屏_手机录屏怎样只录手机内部声音不录入外部声音?教你三种方法,一定能帮到你...
  3. 商业逻辑12讲之管理思维的逻辑
  4. lambda表达式相关
  5. python 监控linux硬盘,Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例...
  6. 06-自定义构造方法
  7. 点歌台 PHP,MeMusic3.0 PHP在线点歌系统 - 下载 - 搜珍网
  8. 双线macd指标参数最佳设置_MACD“双线合一”抄底法:等待个股最佳买点的出现,及时买进...
  9. sns.barplot/sns.countplot/sns.boxplot参数设置
  10. OMRON欧姆龙Sysmac Studio软件--最新版快捷键
  11. ArcGIS地形图配准并生成三维模型(附练习数据下载)
  12. 又是一次数据分析的例子(自杀分析)
  13. SHOWWINDOW最小化不好用
  14. 超简单的位运算---再也不用担心看不懂题解了
  15. CF677C Vanya and Label
  16. 《自控力》-- 精华摘抄
  17. Glyphs 3 for mac(字体设计软件)
  18. Flume 海量日志收集利器
  19. Kaop打印项之表格
  20. 8种适用于不同机器学习问题的常用数据集

热门文章

  1. 第三章 Opencv图像像素操作
  2. DataBinder.Eval 的用法细则
  3. win10环境安装使用svn客户端和服务端
  4. 70款常用的免费数据源分享(最新)
  5. java while 乘法表_java while循环 99乘法表
  6. 企企通“码上顺”清洗工具 | 让数据更有价值,让业务更出色
  7. oracle12官方下载,Oracle 12c下载64位|Oracle Database 12c下载 官方版_最火软件站
  8. influxdb 插入数据_influxdb 插入数据遇到的坑
  9. 解决扫码枪虚拟键盘信息被输入法截获
  10. python灰色模型代码_python 实现 灰色预测 GM(1,1)模型 灰色系统 预测 灰色预测公式推导...