转自: http://blog.csdn.net/longxiaowu/article/details/24410021

一、MIPI

MIPI移动行业处理器接口)是Mobile Industry Processor Interface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。

已经完成和正在计划中的规范如下:

二、MIPI联盟的MIPI DSI规范

1、名词解释

• DCS (DisplayCommandSet):DCS是一个标准化的命令集,用于命令模式的显示模组。
• DSI, CSI (DisplaySerialInterface, CameraSerialInterface
  • DSI 定义了一个位于处理器和显示模组之间的高速串行接口。
  • CSI 定义了一个位于处理器和摄像模组之间的高速串行接口。
• D-PHY:提供DSI和CSI的物理层定义
 2、DSI分层结构

DSI分四层,对应D-PHY、DSI、DCS规范、分层结构图如下:
• PHY 定义了传输媒介,输入/输出电路和和时钟和信号机制。
• Lane Management层:发送和收集数据流到每条lane。
• Low Level Protocol层:定义了如何组帧和解析以及错误检测等。
• Application层:描述高层编码和解析数据流。

3、Command和Video模式
• DSI兼容的外设支持Command或Video操作模式,用哪个模式由外设的构架决定
• Command模式是指采用发送命令和数据到具有显示缓存的控制器。主机通过命令间接的控制外设。Command模式采用双向接口
• Video模式是指从主机传输到外设采用时实象素流。这种模式只能以高速传输。为减少复杂性和节约成本,只采用Video模式的系统可能只有一个单向数据路径

三、D-PHY介绍

1、 D-PHY 描述了一同步、高速、低功耗、低代价的PHY。

• 一个 PHY配置包括
  •  一个时钟lane
  •  一个或多个数据lane
• 两个Lane的 PHY配置如下图
• 三个主要的lane的类型
  • 单向时钟Lane
  • 单向数据Lane
  • 双向数据Lane
• D-PHY的传输模式
  • 低功耗(Low-Power)信号模式(用于控制):10MHz (max)
  • 高速(High-Speed)信号模式(用于高速数据传输):80Mbps ~ 1Gbps/Lane
• D-PHY低层协议规定最小数据单位是一个字节
  • 发送数据时必须低位在前,高位在后.
• D-PHY适用于移动应用
  • DSI:显示串行接口
     • 一个时钟lane,一个或多个数据lane 
  • CSI:摄像串行接口
2、Lane模块
• PHY由D-PHY(Lane模块)组成
• D-PHY可能包含:
  • 低功耗发送器(LP-TX) 
  • 低功耗接收器(LP-RX)
  • 高速发送器(HS-TX)  
  • 高速接收器(HS-RX)
  • 低功耗竞争检测器(LP-CD)
• 三个主要lane类型
  • 单向时钟Lane
    • Master:HS-TX, LP-TX
    • Slave:HS-RX, LP-RX
  • 单向数据Lane
    • Master:HS-TX, LP-TX
    • Slave:HS-RX, LP-RX
  • 双向数据Lane
    • Master, Slave:HS-TX, LP-TX, HS-RX, LP-RX, LP-CD
3、Lane状态和电压
  • Lane状态 
    • LP-00, LP-01, LP-10, LP-11 (单端)
    • HS-0, HS-1 (差分)
  • Lane电压(典型) 
    • LP:0-1.2V
    • HS:100-300mV (200mV)
4、操作模式 
  • 数据Lane的三种操作模式 
    • Escape mode, High-Speed(Burst) mode, Control mode
  •从控制模式的停止状态开始的可能事件有: 
    • Escape mode request (LP-11→LP-10→LP-00→LP-01→LP-00)
    • High-Speed mode request (LP-11→LP-01→LP-00)
    • Turnaround request (LP-11→LP-10→LP-00→LP-10→LP-00)
  • Escape mode是数据Lane在LP状态下的一种特殊操作 
    •在这种模式下,可以进入一些额外的功能:LPDT, ULPS, Trigger
    •数据Lane进入Escape mode模式通过LP-11→LP-10→LP-00→LP-01→LP-00
    •一旦进入Escape mode模式,发送端必须发送1个8-bit的命令来响应请求的动作
    • Escape mode 使用Spaced-One-Hot Encoding
  •超低功耗状态(Ultra-Low Power State)
    •这个状态下,lines处于空状态 (LP-00)
  • 时钟Lane的超低功耗状态
    •时钟Lane通过LP-11→LP-10→LP-00进入ULPS状态
    •通过LP-10 → TWAKEUP →LP-11退出这种状态,最小TWAKEUP时间为1ms
  • 高速数据传输
    •发送高速串行数据的行为称为高速数据传输或触发(burst)
    •全部Lanes门同步开始,结束的时间可能不同。
    •时钟应该处于高速模式
  • 各模操作式下的传输过程
    •进入Escape模式的过程 :LP-11→LP-10→LP-00→LP-01→LP-00→Entry Code → LPD (10MHz)
    •退出Escape模式的过程:LP-10→LP-11
    •进入高速模式的过程:LP-11→LP-01→LP-00→SoT(00011101) → HSD (80Mbps ~ 1Gbps)
    •退出高速模式的过程:EoT→LP-11
    •控制模式 - BTA 传输过程:LP-11→LP-10→LP-00→LP-10→LP-00
    •控制模式 - BTA 接收过程:LP-00→LP-10→LP-11
  • 状态转换关系图
 
 

四、DSI介绍
1、DSI是一种Lane可扩展的接口,1个时钟Lane/1-4个数据Lane
  • DSI兼容的外设支持1个或2个基本的操作模式:
    • Command Mode(类似于MPU接口)
    • Video Mode(类似于RGB接口)- 必须用高速模式传输数据,支持3种格式的数据传输
    •  Non-Burst 同步脉冲模式
     • Non-Burst 同步事件模式
     • Burst模式
  • 传输模式:
    • 高速信号模式(High-Speed signaling mode)
    • 低功耗信号模式(Low-Power signaling mode) - 只使用数据lane 0(时钟是由DP,DN异或而来)。
  • 帧类型
    • 短帧:4 bytes (固定)
    • 长帧:6~65541 bytes (可变)

• 两个数据Lane高速传输示例

2、短帧结构
  • 帧头部(4个字节)
    • 数据标识(DI) 1个字节
    • 帧数据- 2个字节 (长度固定为2个字节)
    • 错误检测(ECC) 1个字节
  • 帧大小
    • 长度固定为4个字节
3、长帧结构
  • 帧头部(4个字节)
    • 数据标识(DI) 1个字节
    • 数据计数- 2个字节 (数据填充的个数)
    • 错误检测(ECC) 1个字节
  •数据填充(0~65535 字节)
    • 长度=WC*字节
  • 帧尾:校验和(2个字节)
  • 帧大小:
    • 4 + (0~65535) + 2 = 6 ~ 65541 字节

4、帧数据类型

具体代码在drivers/video/msm/Mipi_dsi.h中

  1. /* dcs read/write */
  2. #define DTYPE_DCS_WRITE     0x05    /* short write, 0 parameter */
  3. #define DTYPE_DCS_WRITE1    0x15    /* short write, 1 parameter */
  4. #define DTYPE_DCS_READ      0x06    /* read */
  5. #define DTYPE_DCS_LWRITE    0x39    /* long write */
  6. /* generic read/write */
  7. #define DTYPE_GEN_WRITE     0x03    /* short write, 0 parameter */
  8. #define DTYPE_GEN_WRITE1    0x13    /* short write, 1 parameter */
  9. #define DTYPE_GEN_WRITE2    0x23    /* short write, 2 parameter */
  10. #define DTYPE_GEN_LWRITE    0x29    /* long write */
  11. #define DTYPE_GEN_READ      0x04    /* long read, 0 parameter */
  12. #define DTYPE_GEN_READ1     0x14    /* long read, 1 parameter */
  13. #define DTYPE_GEN_READ2     0x24    /* long read, 2 parameter */
  14. #define DTYPE_TEAR_ON       0x35    /* set tear on */
  15. #define DTYPE_MAX_PKTSIZE   0x37    /* set max packet size */
  16. #define DTYPE_NULL_PKT      0x09    /* null packet, no data */
  17. #define DTYPE_BLANK_PKT     0x19    /* blankiing packet, no data */
  18. #define DTYPE_CM_ON     0x02    /* color mode off */
  19. #define DTYPE_CM_OFF        0x12    /* color mode on */
  20. #define DTYPE_PERIPHERAL_OFF    0x22
  21. #define DTYPE_PERIPHERAL_ON 0x32
  22. /*
  23. * dcs response
  24. */
  25. #define DTYPE_ACK_ERR_RESP      0x02
  26. #define DTYPE_EOT_RESP          0x08    /* end of tx */
  27. #define DTYPE_GEN_READ1_RESP    0x11    /* 1 parameter, short */
  28. #define DTYPE_GEN_READ2_RESP    0x12    /* 2 parameter, short */
  29. #define DTYPE_GEN_LREAD_RESP    0x1a
  30. #define DTYPE_DCS_LREAD_RESP    0x1c
  31. #define DTYPE_DCS_READ1_RESP    0x21    /* 1 parameter, short */
  32. #define DTYPE_DCS_READ2_RESP    0x22    /* 2 parameter, short */

五、MIPI DSI信号测量实例

1、MIPI DSI在Low Power模式下的信号测量图

2、MIPI的D-PHY和DSI的传输方式和操作模式

 • D-PHY和DSI的传输模式
   • 低功耗(Low-Power)信号模式(用于控制):10MHz (max)
   • 高速(High-Speed)信号模式(用于高速数据传输):80Mbps ~ 1Gbps/Lane
 • D-PHY的操作模式
   • Escape mode, High-Speed(Burst) mode, Control mode
 • DSI的操作模式
   • Command Mode(类似于MPU接口)
   • Video Mode(类似于RGB接口)- 必须用高速模式传输数据
3、小结论
 • 传输模式和操作模式是不同的概念
 • Video Mode操作模式下必须使用High-Speed的传输模式
 • Command Mode操作模式并没有规定使用High-Speed或Low Power的传输模式,或者说
 • 即使外部LCD模组为Video Mode,但通常在LCD模组初始化时还是使用Command Mode模式来读写寄存器,因为在低速下数据不容易出错并且容易测量。
 • Video Mode当然也可以用High-Speed的方式来发送指令,Command Mode操作模式也可以使用High-Speed,只是没有必要这么做

mipi和dsi的更多相关文章

  1. MIPI协议-DSI

    对于现代的智能手机来说,其内部要塞入太多各种不同接口的设备,给手机的设计 和元器件选择带来很大的难度.下图是一个智能手机的例子,我们可以看到其内部存储.显示.摄像.声音等内部接口都是各不相同的.即使以 ...

  2. 高通平台 lcd driver 调试小结

    一.概述 1.1 简介 本文档主要包括LCD模块的驱动流程分析.Framebuffer相关知识.Gralloc等相关内容,以及LCD调试的一些经验和相关bug的分析和讲解. 1.2  开发环境 And ...

  3. iTOP-4418开发板支持Android4.4/5.1.1系统、Linux3.4.39、QT2.2/4.7/5.7、Ubuntu12.04

    核心板参数 尺寸:50mm*60mm 高度:核心板连接器组合高度1.5mm PCB层数:6层PCB沉金设计 4418 CPU:ARM Cortex-A9 四核 S5P4418处理器 1.4GHz 68 ...

  4. iTOP-4418开发板Android 5.1/4.4丨Linux + Qt5.7丨Ubuntu12.04系统

    核心板参数 尺寸:50mm*60mm 高度:核心板连接器组合高度1.5mm PCB层数:6层PCB沉金设计 4418 CPU:ARM Cortex-A9 四核 S5P4418处理器 1.4GHz 68 ...

  5. iTOP-4418/6818开发板用户使用手册内容有哪些

                    更多内容分享,请继续期待 iTOP-6818开发板与4418开发板共兼容同一底板: 核心板:::::: 尺寸:50mm*60mm 高度:核心板连接器组合高度1.5mm ...

  6. iTOP-6818开发板支持AXP228电源管理[官方推荐最佳匹配]_支持动态调频

    iTOP-6818开发板与4418开发板共兼容同一底板: 核心板:::::: 尺寸 50mm*60mm 高度 核心板连接器组合高度1.5mm PCB层数 6层PCB沉金设计 4418 CPU ARM ...

  7. CSI-MIPI学习笔记

    一.mipi LCD 的CLK时钟频率与显示分辨率及帧率的关系 公式: Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vbp) ] x ...

  8. 实用IMX6开发板来袭, 方便开发板方便你

    这是迅为电子推出的一款IMX6Q开发板是Freescale Cortex-a9四核处理器,采用底板加核心板形式,稳定耐用,拆卸非常的方便,同一底板兼容四种核心板,分别为四核商业级,四核工业级,双核商业 ...

  9. iTOP-4418/6818开发板支持锂电池供电方案

    iTOP-4418/6818开发板支持的是官方推荐的AXP228电池管理,动态调频,更稳定可靠,支持充放电电路与电量计(库化计), 广泛应用于各种电子产品中. 4418开发板中锂电池充放电接口,适用于 ...

随机推荐

  1. [codevs1157]2^k进制数

    [codevs1157]2k进制数 试题描述 设r是个2k 进制数,并满足以下条件: (1)r至少是个2位的2k 进制数. (2)作为2k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. ...

  2. hiho #1326 : 有序01字符串

    #1326 : 有序01字符串 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 对于一个01字符串,你每次可以将一个0修改成1,或者将一个1修改成0.那么,你最少需要修改 ...

  3. (原创)android中使用相机的两种方式

    在社交类应用或扫描二维码的场合都需要用到手机上的摄像头 在程序中启用这一硬件主要有两类方法 1.发送intent启动系统自带的摄像应用 此应用的AndroidManifest中的intent-filt ...

  4. BZOJ 1461: 字符串的匹配

    Description 同上题. Sol KMP+树状数组. 写这题的时候我灰常naive...不管了...直接贴代码... Code /******************************* ...

  5. BZOJ 3270: 博物馆

    Sol 期望DP+高斯消元. 根据本题题意列出期望方程\[E(i,j)=(1-p_i)(1-p_j)E(u,v)+(1-p_i)p_jE(u,j)+p_i(1-p_j)E(i,v)+p_ip_jE(i ...

  6. ajax初探01

    1.为什么使用ajax ajax使用异步处理模型,意味着在浏览器等待数据加载期间,用户可以做其他事情 在页面正在加载时使用ajax:使用ajax,浏览器可以向服务器请求一些数据,并且一旦数据请求发出, ...

  7. PL/Cool

    毛子 2003 Petrozavodsk, Final Contest, 8.30.03. G. PL/Cool 实现一个程序,使它读入一段PL/Cool程序,并输出它的结果. PL/Cool语法 b ...

  8. Response.Redirect()、Server.Execute和Server.Transfer的区别

    1.Response.Redirect(): Response.Redirect方法导致浏览器链接到一个指定的URL. 当Response.Redirect()方法被调用时,它会创建一个应答,应答头中 ...

  9. MVC Return View() 和 Return PartialView()的区别

    分部视图在action中返回一定要用PartialView(),而不要偷懒使用View(),因为,如果你使用View()渲染视图,系统会认为你是一个标准视图,会为你加个默认的母板页(Layout),除 ...

  10. We will be discontinuing the Nitrous Development Platform and Cloud IDE on November 14th, 2016.

    我表示我很难过 Nitrous We will be discontinuing the Nitrous Development Platform and Cloud IDE on November ...