LVDS接口分类与数据格式
转发路径:https://blog.csdn.net/a617996505/article/details/82386952
1.LVDS接口分类与数据格式
单路6it LVDS
这种接口电路中,采用单路方式传输,每个基色信号采用6位数据,共18位RGB数据,因此,也称18位或18bit LVDS接口。此,也称18位或18bit LVDS接口。
双路6bit LVDS
这种接口电路中,采用双路方式传输,每个基色信号采用6位数据,其中奇路数据为18位,偶路数据为18位,共36位RGB数据,因此,也称36位或36bit LVDS接口。
单路8bit LVDS
这种接口电路中,采用单路方式传输,每个基色信号采用8位数据,共24位RGB数据,因此,也称24位或24bit LVDS接口。
双路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接口分类与数据格式相关推荐
- JESD204B与LVDS接口并行 管线式ADC延迟问题分析及解答
JESD204B为业界标准序列通信链接,数据转换器与现场可编程门阵列(FPGA).数字信号处理器(DSP).特定应用集成电路(ASIC)等装置间的数字数据接口因此能化繁为简,这项标准减少装置间路由进而 ...
- 【全栈接口测试进阶系列教程】精通api接口测试,接口分类,接口架构,http,webservice,dubbo接口协议,接口流程,接口工具,cookie,session,token接口鉴权原理以及实战
目录 一,[什么是接口测试?为什么要作接口测试] 1.接口的作用 2.为什么要做接口测试 3.接口都有哪些类型? 二,[接口测试的分类] 接口的分类: http和webservice接口区别: 三,[ ...
- 手机屏和大屏LCD显示面板接口(和处理器连接的接口类似12864等单片机处理器和屏接口的8086,SPI等并口串口屏以及RGB屏接口)LVDS接口常见于液晶电视中。eDP,LVDS,MIPI,HDMI
mipi是手机液晶屏最常见的接口了 现在普遍的16:9或者16:10的宽屏,LCD接口大部分都是LVDS,也有RSDS接口,不过比较少.接口一般都是30PIN,不过由于尺寸不同,分辨率的不同,所用到的 ...
- LVDS接口液晶屏定义(lcd)
转载于:https://blog.csdn.net/linphusen/article/details/6389032 LVDS接口液晶屏定义 LVDS接口又称RS-644总线接口 20PIN单6定义 ...
- Mstar的Monitor方案笔记(三)——点LVDS接口液晶屏
点LVDS接口液晶屏 1.硬件准备 (1)准备屏.屏规格书.背光规格书和屏线 (2)准备主板 2.软件调试 (1)增加新屏驱动文件 (2)屏显示原理 (3)屏参分析 (4)点屏 1.硬件准备 (1)准 ...
- lvds接口屏线安装图解_液晶屏LVDS线类型图文讲解
说明: 1.本资料是部分显示屏所使用的LVDS 线汇总表,其中对LVDS 接口插座.特征.编码等作 了介绍.如果这些显示屏的LVDS 线损坏,可参考: 2.由于1920X1080高清屏对应的数字板LV ...
- SpringMVC常用的视图接口分类及实现类
SpringMVC中常用的视图接口分类及对应的实现类: URL资源视图:InternalResourceView.JstlView 文档视图:AbstractExcelView.AbstractPdf ...
- jeesite如何配置swagger_Spring Boot 2.x基础教程:Swagger接口分类与各元素排序问题详解...
之前通过Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档一文,我们学习了如何使用Swagger为Spring Boot项目自动生成API文档,有不少用户留言问了关于文档 ...
- 显示设备的接口分类:VGA,HDMI,DVI等等
显示设备的接口分类:VGA,HDMI,DVI等等 一分钟速读-常见的外部显示接口 VGA是比较老的接口是模拟信号,所以一般来说效果比较差,现在主流的显示器用的比较少. DVI是数字信号,高分辨率下更加 ...
最新文章
- 2022-2028年中国金融云行业市场研究及前瞻分析报告
- 小米手机60帧录屏_手机录屏怎样只录手机内部声音不录入外部声音?教你三种方法,一定能帮到你...
- 商业逻辑12讲之管理思维的逻辑
- lambda表达式相关
- python 监控linux硬盘,Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例...
- 06-自定义构造方法
- 点歌台 PHP,MeMusic3.0 PHP在线点歌系统 - 下载 - 搜珍网
- 双线macd指标参数最佳设置_MACD“双线合一”抄底法:等待个股最佳买点的出现,及时买进...
- sns.barplot/sns.countplot/sns.boxplot参数设置
- OMRON欧姆龙Sysmac Studio软件--最新版快捷键
- ArcGIS地形图配准并生成三维模型(附练习数据下载)
- 又是一次数据分析的例子(自杀分析)
- SHOWWINDOW最小化不好用
- 超简单的位运算---再也不用担心看不懂题解了
- CF677C Vanya and Label
- 《自控力》-- 精华摘抄
- Glyphs 3 for mac(字体设计软件)
- Flume 海量日志收集利器
- Kaop打印项之表格
- 8种适用于不同机器学习问题的常用数据集
热门文章
- 第三章 Opencv图像像素操作
- DataBinder.Eval 的用法细则
- win10环境安装使用svn客户端和服务端
- 70款常用的免费数据源分享(最新)
- java while 乘法表_java while循环 99乘法表
- 企企通“码上顺”清洗工具 | 让数据更有价值,让业务更出色
- oracle12官方下载,Oracle 12c下载64位|Oracle Database 12c下载 官方版_最火软件站
- influxdb 插入数据_influxdb 插入数据遇到的坑
- 解决扫码枪虚拟键盘信息被输入法截获
- python灰色模型代码_python 实现 灰色预测 GM(1,1)模型 灰色系统 预测 灰色预测公式推导...