LVDS接口详解

LVDS接口详解一:LVDS输出接口概述二:LVDS接口电路的组成三:LVDS输出接口电路类型四:典型LVDS发送芯片介绍五:LVDS发送芯片的输入与输出信号六:LVDS数据输出格式/一:LVDS输出接口概述液晶显示器驱动板输出的数字信号中,除了包括RGB数字信号外,还包括行同步,场同步,像素时钟等信号,其中像素时钟信号的最高频率可超过28MHZ,采用TTL接口,数据传输速率不高,传输距离较短,而...

一:LVDS输出接口概述
二:LVDS接口电路的组成
三:LVDS输出接口电路类型
四:典型LVDS发送芯片介绍
五:LVDS发送芯片的输入与输出信号
六:LVDS数据输出格式
七 :LVDS 参数分析

/

一:LVDS输出接口概述

液晶显示器驱动板输出的数字信号中,除了包括RGB数字信号外,还包括行同步,场同步,像素时钟等信号,其中像素时钟信号的最高频率可超过28MHZ,采用TTL接口,数据传输速率不高,传输距离较短,而且电磁抗干扰能力较差,会对RGB数据造成一定的影响,另外,TTL多路数据信号采用排线的方式来传输,整个排线数量达几十路,不但连接不方便,而且不适合超薄化的趋势,采用LVDS输出接口传输数据,可以使得这些问题迎刃而解,实现数据的高速率,低噪声,远距离,高准确度的传输。

那么,什么是LVDS输出接口呢?LVDS是一种低压差分信号技术接口。他是美国NS(美国国家半导体公司)公司为了克服以TTL电平方式传输宽带高码率数据时功耗大,电磁干扰大等缺点而研制的一种数字视频信号传输方式。

LVDS输出接口利用非常低的电压摆浮(约350mV)在两条PCB走线或一对平衡电缆上通过差分进行数据的传输,即低压差分信号输出。采用LVDS输出接口,可以使得信号在差分PCB线或平衡电缆上以几百Mbit/s的速率传输,由于采用低压和低电流驱动方式,因此,实现了低噪声和低功耗。

二:LVDS接口电路的组成

在液晶显示器中,LVDS接口电路包括两部分,即驱动板侧的LVDS输出驱动电路(LVDS发送器),和液晶面板侧的LVDS输入接口电路(LVDS 接收器)。LVDS发送器将驱动板主控芯片输出的17L电平并行RGB数据信号和控制信号转换为低压串行LVDS信号,然后通过驱动板与液晶板之间的柔性电缆(排线)将信号传送到液晶面板侧的LVDS接收器,LVDS接收器再将串行信号转换为TTL电平的并行信号,送往液晶面板侧的LVDS接收器,LVDS接收器再将串行信号转换为TTL电平的并行信号,送往液晶屏时序控制与行列驱动电路。图1为LVDS接口电路的组成示意图。
在这里插入图片描述
在数据传输过程中,还必须有时钟信号的参与,LVDS接口无论传输数据还是传输时钟都采用差分信号对的形式进行传输,所谓信号对,只是LVDS接口电路中,每一个数据传输通道或时钟传输通道的输出都为两个信号(正输出端和负输出端),需要说明的是,不同的液晶显示器,其驱动板上的LVDS发送器不尽相同,有些LVDS发送器为一片或两片独立的芯片(如果 DS90C383),有些则集成在主控芯片中。

三:LVDS输出接口电路类型

与TTL输出接口相同,LVDS输出接口也分为一下四个类型:

1.单路6位LVDS输出接口
2.双路6位LVDS输出接口
3.单路8位1TL输出接口
4.双路8位1TL输出接口
只听到从架构师办公室传来架构君的声音:
榆柳荫后檐,桃李罗堂前。有谁来对上联或下联?

1.单路6位LVDS输出接口
这种接口电路中,采用单路方式传输,每个基色(即RGB三色中的其中任意一种颜色)信号采用6位数据(XOUT0+、XOUT0-、XOUT1+、XOUT1-、XOUT2+、XOUT2-),一共18位RGB(6bit * 3(RGB)数据,因此也成18位或者18bit LVD接口。

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

3.单路8位1TL输出接口
这种接口电路,采用单路方式传输,名基色信号采用8位数据(XOUT0+,XOUT0-,XOUT1+,XOUT1-,XOUT2+,XOUT2-,XOUT3+,XOUT3-)工24位RGB数据(8bit*3),因此,也称24位或24bit LVDS接口。

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

四:典型LVDS发送芯片介绍

1.四通道LVDS发送芯片
图2是四通道LVDS发送芯片(DS90C365)内部框图,包含三个数据信号(其中包括RGB,数据是能DE,行同步信号HS,场同步信号VS)通道和一个时钟信号发送通道。4通道LVDS发送芯片主要用于驱动6bit液晶面板。使用4通道LVDS发送芯片可以构成单路6bit LVDS接口电路和奇/偶双路6bit LVDS接口电路。
在这里插入图片描述
2.五通道LVDS发送芯片
图3是 五通道LVDS发送芯片(DS90C385)内部框图,包含了四个数据信号(其中包括RGB,数据使能DE、行同步信号HS、场同步信号VS)通道和一个时钟信号发送通道。五通道LVDS发送芯片主要用于驱动8bit液晶面板,使用五通道LVDS发送芯片主要用来构成单路8bit LVDS接口电路和奇/偶双路8bit LVDS 接口电路。
在这里插入图片描述
3.十通道LVDS发送芯片
图4为十通道LVDS发送芯片(DS90C387)内部框图。包含八个数据信号(其中包括RGB、数据使能DE、行同步信号HS、场同步信号VS)通道和两个时钟信号发送通道。十通道LVDS发送芯片主要用于驱动8bit液晶面板。使用十通道LVDS发送芯片主要用来构成奇/偶双路8bit LVDS接口电路。
在这里插入图片描述

五:LVDS发送芯片的输入与输出信号

1.LVDS发送芯片的输入信号

LVDS发送芯片的输入信号来自主控芯片,输入信号包括RGB数据信号,时钟信号和控制信号三大类。

1.1 数据信号:为了说明方便,将RGB信号以及数据选通DE和行场同步信号都算作数据信号。
在供6bit液晶面板使用的四通道LVDS发送芯片中,共有十八个RGB信号输入引脚,分别是R0~R5红基色数据(6bit 红基色数据,R0为最低有效位,R5为最高有效位)六个,G0 ~G5绿基色数据6个,B0 ~B5蓝基色数据6个。一个显示数据是能信号DE(数据有效信号),一个行同步信号HS输入引脚,一个场同步VS输入引脚,还有一个各用输入引脚。一个21个输入引脚。

在供8bit液晶面板使用的五通道LVDS发送芯片中,共有24个RGB信号输入引脚,分别是红基色数据R0~R7(8bit 红基色数据,R0为最低有效位,R7为最高有效位)八个,绿基色数据G0 ~G7八个,蓝基色数据B0 ~B8八个,一个显示数据是能信号DE(数据有效信号),一个行同步信号HS输入引脚,一个场同步VS输入引脚,还有一个各用输入引脚,在五通道LVDS发送芯片中,共有28个数据输入引脚。

注意:液晶面板的输入信号中都必须要有DE信号,但有的面板只是用单一的DE信号而不使用行场同步信号。因此,应用于不同的液晶面板时,有的LVDS发送芯片可能只需要输入DE信号,而有的需要同时输入DE和行场同步信号。

1.2输入时钟信号:即像素时钟信号,也叫数据移位时钟(在LVDS发送芯片中,将输入并行RGB数据转换成串行数据时需要使用移位寄存器),像素时钟信号是传输数据和对数据信号进行读取的基准。

1.3 待机控制信号(POWER DOWN):当此信号有效时(一般为低电平),将关闭LVDS发送芯片中时钟PLL锁相环电路的供电。停止IC的输出。

2 LVDS发送芯片的输出信号

LVDS发送芯片将以并行方式输入的TTL电平RGB数据信号转换成串行的LVDS信号后,直接送到液晶面板的LVDS接收芯片。LVDS发送芯片的输出是低摆浮差分对信号,一般包含一个通道的时钟信号和几个通道的串行数据信号。由于LVDS发送芯片是以差分信号的形式进行输出,因此,输出信号为两条线,一条线输出正信号,另一条线输出负信号。

2.1 时钟信号的输出:LVDS发送芯片输出的时钟信号频率与输入时钟信号(像素时钟信号)频率相同。时钟信号的输出通常表示为:TXCLK+ 和 TXCLK-,时钟信号占用LVDS发送芯片的一个通道。

2.2 LVDS串行数据信号输出:
对于四通道LVDS发送芯片,串行数据占用三个通道,其数据输出信号常表示为:XOUT0+、XOUT0-、XOUT1+、XOUT1-、XOUT2+、XOUT2-。

对于五通道LVDS发送芯片,串行数据占用四个通道,其数据输出信号常表示
为:XOUT0+,XOUT0-,XOUT1+,XOUT1-,XOUT2+,XOUT2-,XOUT3+,XOUT3-

如果只看电路图,是不能从LVDS发送芯片的输出信号 XOUT+,XOUT- 中看出其内部到底包含那哪些信号数据,以及这些数据是怎样排列的(数据格式),事实上不同厂家生产的LVDS发送芯片,其输出数据格式可能是不同的,因此液晶显示器驱动板上的LVDS发送芯片的输出数据格式必须要和液晶板LVDS接收芯片要求的数据格式相同,否则驱动板与液晶板不匹配。

六:LVDS数据输出格式

LVDS发送芯片在一个时钟脉冲周期内,每个数据通道都输出7bit的串行数据信号,而不是常见的8bit数据,如图5所示。
在LCD液晶屏中,需要输出到显示屏的信号是并行的图像信号和控制信号,而LVDS信号是串行传输的,所以在发送端需要将并行数据转换为串行数据。以8bit RGB显示屏接口为例,每个显示周期需要传输8bit的R信号,8bit的G 信号,8bit 的B信号,及VS,HS,DE信号,总共为27 BIT。而每对LVDS信号线在一个TX周期里只能传输7BIT数据,所以需要4 对数据线,外加一对时钟线。LVDS并串转换如下图所示:
在这里插入图片描述上图中的每一组对线称为一个Pair,4组数据线加一对时钟线称为一个Channel,LVDS发送器总是将一个像素数据映射到(remapping)一个Channel的一个发送周期(TX CLK)中。

如果是6BIT 显示屏,则并行数据有21位(18位RGB加3位控制信号),因此LVDS 接口每个Channel只需要 3对数据线和一对时钟线。

如果是10BIT 显示屏,则并行数据有33位(30位RGB 加3位控制信号),因此LVDS 接口每个Channel需要 5对数据线和一对时钟线。

通常,LVDS接口的时钟为20MHz 到85MHz,因此对于输出像素时钟低于85MHz的信号,只需一个Channel就可以;而对于输出像素时钟高于85MHZ的信号,比如1080P/60HZ的输出,像素显示时钟为148.5MHz,就不能直接用一个Channel传输,而是将输出的像素按顺序分为奇像素和偶像素,将所有的奇像素用一组LVDS 传输,所有的偶像素用另外一组LVDS 传输。也就是说,需要两个Channel来传输1080P/60HZ 的信号。对于像素显示时钟更高的信号,比如1080P/120HZ显示,则需要4个Channel来传输。两Channel、4Channel的像素分配

在这里插入图片描述

在这里插入图片描述
LVDS信号传输分为DE MODE和SYNC MODE,DE mode需连接DE信号(data enable有效数据选通),SYNC mode还需连接HS(HSYNC行同步)、VS(VSYNC场同步)。SYNC mode在现在的panel中已很少使用,一般都使用DE模式。

七 :LVDS 参数分析

参考博客 : https://blog.csdn.net/u014770862/article/details/76274951

此代码由Java架构师必看网-架构君整理
{ disp_timings: display-timings { native-mode = <&timing0>; timing0: timing0 { screen-type = <SCREEN_LVDS>; lvds-format = <LVDS_8BIT_1>; out-face = <30>; /* Min Typ Max Unit * Clock Frequency fclk 44.9 51.2 63 MHz */ clock-frequency = <80000000>; hactive = <1366>; /* Horizontal display area thd 1024 DCLK */ vactive = <768>; /* Vertical display area tvd 600 H */ hback-porch = <90>; /* HS Width +Back Porch 160 160 160 DCLK (Thw+ thbp)*/ hfront-porch = <40>; /* HS front porch thfp 16 160 216 DCLK */ vback-porch = <30>; /* VS front porch tvfp 1 12 127 H */ vfront-porch = <10>; /* VS Width+Back Porch 23 23 23 H (Tvw+ tvbp) */ hsync-len = <4>; /* HS Pulse Width thw 1 - 140 DCLK */ vsync-len = <4>; /* VS Pulse Width tvw 1 - 20 H */ hsync-active = <0>; vsync-active = <0>; de-active = <0>; pixelclk-active = <1>; swap-rb = <0>; swap-rg = <0>; swap-gb = <0>; }; }; };

screen-type = <SCREEN_LVDS>;

screen-type表示屏幕类型(RGB,LVDS,EDP,MIPI,HDMI,MCU),如果该屏幕为LVDS屏,则screen-type就应该取值为SCREEN_LVDS。
 
#define SCREEN_NULL        0 
#define SCREEN_RGB     1 
#define SCREEN_LVDS    2
#define SCREEN_DUAL_LVDS   3
#define SCREEN_MCU         4
#define SCREEN_TVOUT       5
#define SCREEN_HDMI        6 
#define SCREEN_MIPI    7 
#define SCREEN_DUAL_MIPI   8 
#define SCREEN_EDP         9 
#define SCREEN_TVOUT_TEST  10 
#define SCREEN_LVDS_10BIT    11
#define SCREEN_DUAL_LVDS_10BIT   12

lvds-format = <LVDS_8BIT_1>;

此代码由Java架构师必看网-架构君整理
lvds-format表示LVDS的数据方式,只有在该屏幕是LVDS屏的时候该参数才有效。该值需要结合屏幕和LVDS在硬件上的连接方式来定义。 lvds_format的值有以下几种:LVDS_8BIT_1、LVDS_8BIT_2、LVDS_8BIT_3、LVDS_6BIT。 #define LVDS_8BIT_1 0 #define LVDS_8BIT_2 1 #define LVDS_8BIT_3 2 #define LVDS_6BIT 3 #define LVDS_10BIT_1 4 #define LVDS_10BIT_2 5

LCD的datasheet一般都会说明LVDS信号在各个通道上的分配方式,如下: 在这里插入图片描述
如上图所示,我们将LVDS通道分为Y0、Y1、Y2、Y3,其中Y0对应于上图的Rxin0,Y1对应于上图的Rxin1,Y2和Y3以此类推,一个通道可以传输7bit数据。根据规格书,那么lvds-format我们究竟选择哪一个呢?这几种格式得区别如下:
在这里插入图片描述
LVDS两种format:FORMAT 1、 FORMAT 2
两者主要区别在于Y3通道上FORMAT 1传输的是颜色的高两位,FORMAT 2传输的是颜色的低两位。通常LCD显示有水彩,就是lvds-format设置错误,调换format即可。

clock-frequency:

1.双路LVDS时,clocks要取LCD规格书中典型值的2倍
2.单路LVDS时,clocks取LCD规格书中的典型值即可

out-face:

屏幕采用多少位的接线方式。如果是24bit的屏幕,则为OUT_P888;如果是18bit的屏幕, 数据线分别接在每种
单元色的高六位则定义为OUT_D888_P666(就是B0 B1 G0 G1 R0 R1不接),如果数据线接在LCDC的低 18 位
(connect to lcdc D0~D17),则定义为 OUT_P666。这个如果设置的不正确,比如 24bit 的接法,定义成
 OUT_D888_P666或者OUT_P666 就有可能出现色阶。

其他参数:

架构君码字不易,如需转载,请注明出处:https://javajgs.com/archives/210319
0
   

发表评论