本文转载自:http://blog.csdn.net/liuxd3000/article/details/17437317

(1)DBI接口

A,也就是通常所讲的MCU借口,俗称80 system接口。The lcd interface between host processor and LCM device list as below,The LCM driver will repeated update panel display。MCU借口通过并行接口传输控制命令和数据,并通过往LCM模组自带的GRAM(graphic RAM)更新数据实现屏幕的刷新。

DBI接口分为串行和并行两种,模型如下:

B,以典型的18位数据跟16位数据做说明(8位寄存器控制)。

如上硬件采用18位数据线,控制命令和参数占用DB0到DB7并行传输,图像数据采用RGB666的格式并行传输。

如上硬件采用16位数据线,控制命令和参数占用DB0到DB7并行传输,图像数据采用RGB565的格式并行传输。

C,关于DBI data format的说明

(I)对于16位的datawidth,典型的数据格式举例如下

1cycle/1pixel,RGB565,格式是:rrrrrggggggbbbbb

3cycle/2pixel,RGB666,格式是:xxxxrrrrrrgggggg

xxxxbbbbbbrrrrrr

xxxxggggggbbbbbb

3cycle/2pixel,RGB888,格式是:rrrrrrrrgggggggg

bbbbbbbbrrrrrrrr

ggggggggbbbbbbbb

(II)对于18位的datawidth,典型的数据格式举例如下

1cycle/1pixel,RGB666,格式是:rrrrrrggggggbbbbbb
3cycle/2pixel,RGB888,格式是:rrrrrrrrgggggggg

bbbbbbbbrrrrrrrr

ggggggggbbbbbbbb

D,硬件接口及时序

(I)硬件连接图:

RESX:复位;CSX:chip select片选;TE:tearing enable;D/CX:register select寄存器选择;WRX/SCL:write control;RDX:read control;DB[....]:传输线。

(II)写周期:

(III)读周期:

(IV)关于屏参中6个读写时序

(2)DPI接口

也就是通常所说的RGB接口,采用普通的同步、时钟、信号线来传输特定数据,采用SPI等控制线完成命令控制。某种程度上,DPI与DBI的最大差别是,DPI的数据线和控制线分离,而DBI是复用的。

它的模型如下:

它的信号时序图如下(注意DE模式跟SYNC模式的区别):

其中,backporch和syncwidth应尽量分配大些,因为靠它决定有效区域的起始位置,而frontporch则可以分配小点(该方法可用在sync模式的屏参驱动DE的屏,需注意backporch+syncwidth+frontporch才等于DE模式下的blanking值)。

曾经在调试一个DPI接口LCM时碰到一个奇怪现象,RGB的接口用一个LVDS转换芯片跟一款LVDS模组相连。重烧程序完后可以显示图像,断电再上电就没有图像,后来发现是上电屏参初始化中没有配置一个CS拉高的使能信号脚。烧完程序后该脚为高所以可以显示,重断电再上电默认为低所以没有图像。

DPI接口的CLOCK计算方法:

其实ref为0,其他的三个参数以屏参中设定为准。

就DPI接口的CLOCK极性选择,作如下说明:

A、首先看数据线,当开始传输第一个数据时,如果EN为下降沿,即传输Valid data   时EN低有效。则:Params->dpi.de_pol=LCM_POLARITY_FALLING; 反之亦然;

B、VSYNC和HSYNC分别代表一帧数据和一行数据的开始,当一帧以下降沿开始时,设置:Params->dpi.vsync_pol=LCM_POLARITY_FALLING; 反之亦然;当一行以下降沿开始时,设置:Params->dpi.hsync_pol=LCM_POLARITY_FALLING; 反之亦然。

C、PCLK的极性没有固定的要求,主要是看其与data的关系,即保证latch到正确的数据,这一点和sensor的PCLK设置相同。当开始传输第一个数据时,如果PCLK为下降沿,即在下降沿latch数据时,最好设置:Params->dpi.clk_pol=LCM_POLARITY_FALLING; 反之亦然。
(3)DPI与DBI的兼容

现在很多LCM的模组可以做到DBI和DPI接口的兼容。因为在IM2/IM1/IM0由手机主板决定的前提下,比如6516支持MCU接口,同时该模组放到另一款DPI接口的主板上也可以照样使用。

另一个补充问题,关于显示位数,由于嵌入式WINDOWS系统的GUI是16位的,不同于桌面WINDOWS的32位,所以24位的位图在WIN CE中,只能以16位色显示,一定会丢掉某些颜色。这个缺陷还在于,就算是18(RGB666)位的LCM数据位显式,最终软件中接受的GUI颜色还是16位,要把RGB565转成RGB666才能当18位色显示,相当于插值了。

(4)DSI接口

DSI,是一种串行传输方式,包括数据、指令、其他信息。连接方式如下图:

DSI的数据传输过程如下:

由于DSI的数据是封包处理的,不像DBI接口那样可以明显知道原始的传输内容,所以在一些问题的解决方法是不同的。在调试OTM8009A的DSI接口LCM时,发现LCD在按电源键睡眠后必须按两次才能唤醒,一开始无论如何都没有想到是屏的问题,最后是修改LCM的DSI驱动公共函数解决的,也就是把dsi_enable_power中的DSI_lane0_ULP_mode形参都置0,以避免DSI处于极度睡眠中。

DSI的三种格式分类说明如下:

关于CABC的调节还有另一种问题,就是DSI调节亮度跟DSI VIDEO MODE的冲突。CABC是设定最大亮度,LCD的亮度填充会随着画面内容的变化来自动调节,达到省电的目的。当然,菜单的亮度调节是另外一回事,这就导致出现开机图像异常和睡眠后唤醒的图像异常,根本原因在于在RGB数据中穿插DSI控制命令,如果芯片发送端无法做到在RGB帧之间发送CABC命令,导致RGB图像断裂连接不上,就会出现异常。

在调节DSI屏有时会出现“DSI waite”的问题,原因还是在屏的供电没有。如果屏没有在UB阶段供电,会导致系统开机一直卡在这个地方循环。

DBI(i80)/DPI(RGB)/DSI【转】的更多相关文章

  1. MIPI DBI\DPI\DSI简介【转】

    本文转载自:http://blog.csdn.net/longxiaowu/article/details/24249971 (1)DBI接口 A,也就是通常所讲的MCU借口,俗称80 system接 ...

  2. DBI接口和DPI接口的区别

    1)DBI接口 A,也就是通常所讲的MCU借口,俗称80 system接口.The lcd interface between host processor and LCM device list a ...

  3. MTK Android Driver知识大全

    一.Display 1.lcm 相关概念1.1) MIPI接口:一共有三种接口:DBI(也做CPU或MCU接口).DPI(也叫RGB接口).DSI.在使用DSI接口时,目前75/77都只支持到2条da ...

  4. 【转】MTK Android Driver知识大全

    原文网址:http://www.cnblogs.com/biglucky/p/4413797.html 一.Display 1.lcm 相关概念1.1) MIPI接口:一共有三种接口:DBI(也做CP ...

  5. mtk6589显示子系统笔记(一)

    拿到MT6589的版本不久,发现显示系统代码结构改变很大.做些备忘,后续不忙的时候可以继续看. MT6589之前的MTK的Android系统显示系统同featurePhone基本一致. 先来回顾下MT ...

  6. iPhone:4.7 5.5 4 3.5 对应的各个设备屏幕尺寸对应的像素及App上线信息

    Shared App Information You can access these properties from the App Details page in the App Informat ...

  7. 【转】Itunes Connect新版本如何提交应用

    本文系转载,版权归原作者所有(原文链接>>). How do I submit my app to iTunes connect? To submit your app to iTunes ...

  8. MIPI DSI之DBI DPI含义和区别(3-1)

    一.MIPI MIPI(Mobile Industry Processor Interface/移动工业处理器接口)是2003年由ARM.Nokia.ST 等公司成立联盟并为移动应用处理器制定的一个开 ...

  9. 【详细资料】ICN6211:MIPI DSI转RGB芯片简介

    ICN6211功能MIPI DSI转RGB,分辨率1920*1200,封装QFN48

随机推荐

  1. 遍历select搜索结果,只取数字标key值,防止重复

    //遍历select搜索结果,只取数字标key值,防止重复 foreach ($row as $key => $value) { if (is_int($key)) { echo $value; ...

  2. 使用whIle循环语句和变量打印九九乘法表

    -设置i变量declare @i int --设置j变量declare @j int --设置乘法表变量declare @chengfabiao varchar(1000)--给i,j,@chengf ...

  3. Python开发工具搭建-Pycharm

    PyCharm2017. 3.X专业版 安装使用. 注册码激活 本文以 Windows系统 为例: 1.开发工具获取及下载 Anaconda(Python 的集成工具 ) 下载地址: https:// ...

  4. ELK基本统计图表

    ELK基本统计图表,现在基本在用自带的功能,复杂的功能还需要去摸索了

  5. Ajax无刷新显示

    前台页面 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1. ...

  6. iview Table表格单选框互斥

    表格中添加单选框,并且互斥 首先带data中定义   currentid : 0 :表示默认不选中 { title: "名称", key: "name", re ...

  7. G. I love Codeforces

    G. I love Codeforces 题目大意:给你n个字符串,以及m个喜欢关系,如果u喜欢v,这时候u会把它的用户名改为 I_love_ 加上v当时的用户名 Examples input 5an ...

  8. lua_note_01_lua介绍

    1. lua 1. lua 1.1. lua介绍 1.2. Lua 特性 1.3. 特点 1.4. Lua 应用场景 1.5. 环境搭建 1.6. VS lua 1.1. lua介绍 Lua 是一种轻 ...

  9. 第一节:numpy之ndarray对象数据类型及属性

  10. 【郑轻邀请赛 E】Can Win

    [题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2131 [题意] [题解] 尽量让自己喜欢的队赢; A内组内的比赛都让自己喜欢的队赢; ...