平台信息:
内核:linux3.4.39
系统:android4.4 
平台:S5P4418(cortex a9)

作者:瘋耔(欢迎转载,请注明作者)

欢迎指正错误,共同学习、共同进步!!

关注博主新浪博客:http://weibo.com/cpjphone

TFT-lCD常用的接口,TTL(RGB)、LVDS、EDP、MIPI,这篇我们大致说一下这些接口的信号组成已经基本原理。

一、TTL
1、TTL接口概述
TTL(Transistor Transistor Logic)即晶体管-晶体管逻辑,TTL电平信号由TTL器件产生。TTL器件是数字集成电路的一大门类,它采用双极型工艺制造,具有高速度、低功耗和品种多等特点。
TTL接口属于并行方式传输数据的接口,采用这种接口时,不必在液晶显示器的驱动板端和液晶面板端使用专用的接口电路,而是由驱动板主控芯片输出的TTL数据信号经电缆线直接传送到液晶面板的输人接口。由于TTL接口信号电压高、连线多、传输电缆长,因此,电路的抗干扰能力比较差,而且容易产生电磁干扰(EMI)。在实际应用中,TTL接口电路多用来驱动小尺寸(15in以下)或低分辨率的液晶面板。TTL最高像素时钟只有28MHz。
TTL是信号时TFT-LCD唯一能识别的信号,早期的数字处理芯片都是TTL的,也就是RGB直接输出到TFT-LCD。
2、TTL接口的信号类型
驱动板TTL输出接口中一般包含RGB数据信号、时钟信号和控制信号这三大类信号。如下图所示:

(1)RGB数据信号

a、单通道TTL



单通道6bit TTL输出接口
对于6bit单路TTL输出接口,共有18条RGB数据线,分别是R0~R5红基色数据6条,G0~G5绿基色数据6条,B0~B5蓝基色数据6条,共3*6=18条。由于基色RGB数据为18bit,因此,也称18位或18bitTTL接口
单通道8bit TTL输出接口
对于8bit单路TTI,输出接口,共有24条RGB数据线,分别是R0~R7红基色数据8条,B0~B7绿基色数据8条,BO~B7蓝基色数据8条,共3*8=24条。由于基色RGB数据为24bit,因此,也称24位或24bitTTL接口
b、双通道TTL
双通道,也就是两组RGB数据,分为奇通道、偶通道,时钟有的也分为OCLK/ECLK,有的公用一个我们示意图上画了两个,如下所示:

双通道6bit TTL输出接口
对于6bit双路TTL,输出接口,共有36条RGB数据线,分别是奇路RGB数据线18条,偶路RGB数据线18条,3*6*2=36条。由于基色ROB数据为36bit,因此,也称36位或36bitTTL接口
双通道8bit TTL输出接口
对于8bit双路TTL输出接口,共有48条RGB数据线,分别是奇路RGB数据线24条,偶路RGB数据线24条,3*8*2=48条。由于基色RGB数据为48bit,因此,也称48位或48bitTTL接口
(2)时钟信号
是指像素时钟信号,是传输数据和对数据信号进行读取的基准。在使用奇/偶像素双路方式传输RGB数据时,不同的输出接口使用像素时钟的方法有所不同。有的输出接口奇/偶像素双路数据共用一个像素时钟信号,有的输出接口奇/偶两路分别设置奇数像素数据时钟和偶数像素两个时钟信号,以适应不同液晶面板的需要。
(3)控制信号
控制信号包括数据使能信号(或有效显示数据选通信号)DE、行同步信号HS、场同步信号VS。

二、LVDS

1、LVDS接口概述
LVDS,即Low Voltage Differential Signaling,是一种低压差分信号技术接口。克服以TTL电平方式传输宽带高码率数据时功耗大、EMI电磁干扰大等缺点而研制的一种数字视频信号传输方式。LVDS输出接口利用非常低的电压摆幅(约350mV)在两条PCB走线或一对平衡电缆上通过差分进行数据的传输,即低压差分信号传输。采用LVDS输出接口,可以使得信号在差分PCB线或平衡电缆上以几百Mbit/s的速率传输,由于采用低压和低电流驱动方式,因此,实现了低噪声和低功耗。
2、LVDS接口电路的组成
   在液晶显示器中,LVDS接口电路包括两部分,即主板侧的LVDS输出接口电路(LVDS发送端)和液晶面板侧的LVDS输入接口电路(LVDS接收器)。LVDS发送端将TTL信号转换成LVDS信号,然后通过驱动板与液晶面板之间的柔性电缆(排线)将信号传送到液晶面板侧的LVDS接收端的LVDS解码IC中,LVDS接收器再将串行信号转换为TTL电平的并行信号,送往液晶屏时序控制与行列驱动电路。也就是其实TFT只识别TTL(RGB)信号。这部分我们做samsung的方案中用的比较多,因为samsung芯片没有LVDS输出,所以我们用LVDS接口的TFT-LCD的时候就要加一个(RGB-LVDS)转换芯片,这个后面我们重点说。

对于S5P4418内部集成了LVDS所以芯片可以直接和LVDS屏相连,不用再经过LVDS编码芯片

参考exynos4412如下:

3、LVDS接口的信号类型
LVDS信号有数据差分和时钟差分信号组成。如下图所示:


(1)、单通道LVDS

单通道6位数据(如果是6位的Y3M/P这组红色的线没有)

4组差分线,3组信号线,一组时钟线。Y0M、Y0P、Y1M、Y1P、Y2M、Y2P、CLKOUT_M、CLKOUT_P。

单通道8位数据

5组差分线,4组信号线,一组时钟线。分别是Y0M、Y0P、Y1M、Y1P、Y2M、Y2P、CLKOUT_M、CLKOUT_P。

(2)、双通道

LVDS在传输分辨率较高的数据时,抗干扰能力比较强,可是1920X1080以上分辨率时,单路不堪重负,所以有双路接口出现。目的很简单,加快速度,增强抗干扰能力。
双通道6位数据
刚好是单通道的两倍,时钟也是两路,红色部分:Y3M、Y3P、Y3M1、Y3M1这两组信号不接。
双通道8位数据
和前面的比较类似。
三、EDP
    这个接口比较陌生,我接触到一个屏IPAD3的,用于高清屏,比如2048*1536,goole n10的分辨率2536*  也是用这个接口。

(整理中…………)

四、MIPI接口
  这个我们公司有产品用,不过是其他平台的,不是我们调试 ,我也没接触过。只是过一下。感觉这类接口非常类似:比如LVDS、EDP、HDMI、MIPI,都是差分信息+差分时钟。

(整理中…………)
五、TTL(RGB)转换成LVDS  

我们在项目中用到过两颗芯片:SN75LVDS83B 、THC63LVD827(可输出双路LVDS),以SN75LVDS83B来说明。

1、SN75LVDS83B、主控、LVDS接口的LCD关系
如下图所示SN75LVDS83B的应用:

其实就是:把三星芯片输出的TTL(RGB)信号转换成LVDS差分信号输出的LCD接收端。


硬件的接口如下所示:

对于4418来说:

硬件电路如下:

1路8bit LVDS接口,支持1366x768

这是和外屏接口部分;

CPU部分;

2、SN75LVDS83B的参考电路
其实这部分要注意的是LCD的位数,你的屏是16bit、18bit、还是24bit的,不同位数的LCD有不同的硬件接线方法。如下图是samsung exynos4412提到的AP端,在不同位数输出时的接线图。

(1)、24bitRGB 24bit lcd
注意到用到五组差分信号线,四组信号一组时钟。

(2)、24bitRGB 18bit lcd
注意到用到四组差分信号线,三组信号一组时钟,Y3M、Y3P是NC的。AP端RGB的接线方式也不一样,6、7两个bit接地。

如果按(1)中的接线方法(24bit输出),接上18bit的屏。18bit 屏RGB(纯色)信号显示正常,可是有画面、渐变的就不正常。为此跟硬件争论了好久,不过问题解决了就好。做技术实践是非常重要的一个环节,有些事认识上的误区,就会导致工作的失误。

六、RGB转换成EDP
这个我们点过一个屏,不过分辨率太大,我们的系统非常卡,最后就停掉了。
线路图如下所示:

示意图:

edp 的信号和和lvds比较类似,不过多了一个HPD的信号。

参考:http://blog.csdn.net/xubin341719/article/details/9125799

 

-------------------------------------------

android系统平台显示驱动开发简要:LCD常用接口篇『二』的更多相关文章

  1. android系统平台显示驱动开发简要:Samsung LCD接口篇『三』

    平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...

  2. android系统平台显示驱动开发简要:LCD基本原理篇『一』

    平台信息:内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博客 ...

  3. android系统平台显示驱动开发简要:LCD驱动调试篇『四』

    平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...

  4. 第一章 Android系统移植与驱动开发概述

    本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容. 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程.自己开发一些程序(移植)装载在设备上,使得Andro ...

  5. Android系统移植与驱动开发----第一章

    第一章 Android系统移植与驱动开发 Android源代码定制完全属于自己的嵌入式系统,但是支持的设备不多,所以要移植,而在移植的过程中使用的不得不提的是驱动开发. Android系统构架主要包括 ...

  6. 第一章Android系统移植与驱动开发概述--读书笔记

    以前,初步学习过嵌入式Linux驱动开发的基础课程,对于驱动开发可以说是有了一点点微末的基础吧.首先我们要对Android嵌入式系统有一个初步的认识,Android系统发展到今天已经具备了完善的架构. ...

  7. Android系统移植与驱动开发

    21世纪,Android发展非常迅速,在市场上占有很大的比例,遥遥领先与iOS,很大程度上是因为任何人都可以利用Android的源代码定制完全属于自己的嵌入式开发系统,而不需要向Google交一分钱. ...

  8. Android深度探索HAL和驱动开发(卷1) 第一章 Android系统移植和驱动开发

    由于Android是基于Linux内核的,因此,Android和其他Linux系统的核心部分差异非常小.然而不同版本的Android使用的Linux内核的版本有细微的差异,所以不同Android驱动可 ...

  9. Android 系统移植与驱动开发--第二章搭建Android环境核心步骤及心得

    第二章 搭建Android 开发环境 虽然在这一章中讲的是Android底层开发环境,但是相应伴随的还有Android NDK程序来测试Linux驱动,HAL程序库.底层开发不仅需要交叉编译环境,还要 ...

随机推荐

  1. Hibernate的单向OneToMany、单向ManyToOne

    单向OneToMany 一个用户有多张照片,User----->Images是一对多关系,在数据库中Images维护一个外键useid 1.在映射关系的主控方Image这边,我们什么都不做.(为 ...

  2. JS自定义属性的设置与获取

    以前感觉用JQuery来设置自定义属性很方便,现在没有用JQuery,要用原生的JavaScript来操作自定义属性. Jquery操作自定义属性的方法,很简洁: $("#test" ...

  3. *HTML5 新元素

    HTML5 新元素 自1999年以后HTML 4.01 已经改变了很多,今天,在HTML 4.01中的几个已经被废弃,这些元素在HTML5中已经被删除或重新定义. 为了更好地处理今天的互联网应用,HT ...

  4. WPF 中 TreeListView 的使用

    前段时间在项目开发中需要用 TreeListView 的功能,于是在网上狂搜一通,倒也找到了几个小例子,但还是满足不了我简单的要求,由于时间紧也只能折中凑合着用了.最近时间比较充裕,把其中的例子整理一 ...

  5. Cadence封装制作之表贴封装的制作

    以0805封装为例 1.打开PCB editor-> Allegro PCB Design XL 2.File -> New ① Drawing Type -> Package Sy ...

  6. 【趟坑】公共引用的jar包 pom的配置方法

    http://www.cnblogs.com/viewcozy/p/4789877.html 接上一篇 ,内部moudule生成jar的方式 上一篇已经实现了,想把jar作为公共的部分让任何项目都可以 ...

  7. redis缓存的安装和使用

    Redis介绍    Redis本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库,但是他的数据可以持久化的保存在磁盘上,解决了服务重启后数据不丢失的问题,他的值可以是s ...

  8. 【BZOJ2152】聪聪可可

    Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好 ...

  9. C# Windows - Button 控件

    .Net Framework提供了一个派生于Control的类System.Windows.Forms.ButtonBase,它实现了Button控件所需的基本功能. System.Windows.F ...

  10. nginx流量带宽等请求状态统计( ngx_req_status)

    介绍 ngx_req_status用来展示nginx请求状态信息,类似于apache的status,nginx自带的模块只能显示连接数等等信息,我们并不能知道到底有哪些请求.以及各url域名所消耗的带 ...