MIPI联盟,即移动产业处理器接口(Mobile Industry Processor Interface 简称MIPI)联盟。MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准和一个规范。是2003年由ARM,TI,ST,Nokia等公司成立的联盟。MIPI协议被广泛应用于各种嵌入式图像设备中,如智能手机,VR,智能可穿戴设备等……

MIPI包括两类协议规范:

  1、DSI:Display Serial Interface,主机处理器与显示模块之间的高速串行接口(显示串行接口)。
  2、CSI:Camera Serial Interface,主机处理器与摄像头模块之间的高速串行接口(摄像头串行接口)。

  DSI和CSI共用一种物理层协议D-PHY。DSI协议中有涉及一些其他的顶层协议,如DCS(显示命令接口)、DBI(显示总线接口)、DPI(显示像素接口)。

  

MIPI的物理层主要有以下几种:

  1、D-PHY;D-PHY接口一般是1/2/4 Lane,每个Lane走差分线对,是电流驱动型,单信号幅度一般是200mv,线对差分的幅度在400mv左右,布线要求是等长且成双成对;

  

  2、C-PHY;C-PHY接口是1/2/3 Trio,每个Trio走3根线,最高是9根线,比D-PHY要少一根,且要传输的数据量大一些,在同样是2.5G的速率下,C-PHY可以达到17.1G,而D-PHY只有10G;C-PHY是电压驱动型,由于是两两相差,信号幅度绝对值分别是0,100,200mv,信号较弱,不利于传输。没有单独的同步信号线(时钟嵌入在数据信号中,这样做的目的是为了增加传输带宽,但是也引入了编码技术等),必须要求传输距离短,不能走差分线对。

  

  本篇主要介绍以下DPH-Y相关信息。

物理层D-PHY:

  MIPI电平标准分低速或者叫低功率模式(LP)和高速(HS)两种工作模式;低速模式电平摆幅常见为1.2V;高速模式电平摆幅为200mV,中间电平为200mV。

  

  Lane(通道): 1个clock通道,1-4个data通道,每个通道都为一对差分信号对,对每个数据通道称之为1 Lane。

  传输模式: LP 用于控制模式、低功耗数据传输模式LPDT和极低功耗模式ULPS(单端信号),HS 用于高速传输(差分信号)。

  数据格式: MSB last,LSB first;低位在前高位在后。

  传输放向:Lane0可反向,其余均为单向;LP模式下传输仅采用Lane0。

通用Lane组成(Datan):

  

 一个通用的Lane中包含LP-TX、LP-RX、HS-TX、HS-RX和LP-CD模块,所有收发模块均共用同一个差分线Dp,Dn(在LP模式下,为两根单独的信号线)。整个Lane通过PPI接口(PHY Protocol Interface)与系统的其他部分连接。

  其中,LP-CD模块仅在存在于需要双向通信(Bidirectional)的系统中,对于不需要双向通信(Unidirectional)的系统,如CSI协议,则不需要LP-CD模块。

  Unidirectiona系统,主机(一般固定为Transmitter)则不需要RX模块,从机(一般固定为Receiver)则不需要TX模块。当从机向主机发送数据时(反向传输),此时的DDR时钟仍然是由主机提供(HS模式下,LP模式下则不需要时钟)。

  Bidirectional系统,如DSI(当然,在特定的系统中,DSI也可以是Unidirectional的),一般只需要一个Data Lane具有双向收发的能力,其他的Data Lane和Clock Lane则可以根据实际需求,去除RX或者TX模块。

  下图为Lane状态编码方式及电平状态

  

  下图为HS模式传递数据的状态图

  

  

  下图为双向数据Lane(data0)状态图:

  

  

  

  LP模式数据传输状态过程:

  

  在LP模式下(包括Control Mode和Escape Mode),采用的是Spaced-One-Hot Coding机制。在该机制下,时钟可以从传输的数据中得以体现,因此不需要传输时钟。此时,用户可以根据实际需求,设置Clock Lane继续运行或者关闭以降低功耗。

  从上图可以看出LP模式下还原出CLK(LP CLK=EXOR(Dp,Dn)),一个CLK周期内,DP DN状态为LP10则数字逻辑为1,DP DN状态为LP01则数字逻辑为0,DP DN状态为LP00为暂停状态不传输数据,看下图实列:

    

  ESC MODE:Escape Mode Entry,状态过程:LP11->LP10->LP00->LP01->LP00,后面跟随的为Entry code;

  LPDT:Low-Power Data Transmission,表示LP模式数据传输开始,后面跟随数据类型;

  DI:数据标识,1 byte;

  Data:n bytes data;

  ECC:错误检测;

  Exit ESC:退出Escape模式,状态过程:LP10->LP11。

  MIPI数据类型及编码如常见如下表:

  

  

数据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) 
  • Turn around 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

HS burst传输数据过程:

  

高速低速模式切换时CLK状态变化过程:

  

数据分发机制:

  发送和收集数据流到每条lane。DSI通道是可扩展的,以提高性能。根据应用对带宽的要求,数据信号的数量可以是1、2、3或4。接口的发送端将传出的数据流分发到一个或多个lane(“分发器”功能)。

  

  

  SoT:start of transmition,开始传输;

  EoT:end of transmition,结束传输;

HS模式下视频数据封包格式:

  (1)Non-Burst Mode with Sync Pulses(同步脉冲模式(同步脉冲的起始位置和宽度)

  在这种模式下,DSI 基于各种不同的同步数据包来做数据同步。这种数据包括:重构,时序校准等。Non-Busrt Mode with Sync Pluses模式主要是用于发送DPI(Display Pixel Interface)类型的数据,可以精确地匹配DPI的像素传输速率,以及时序事件的宽度(Widths of timing events),如同步脉冲。因此,Non-Busrt Mode with Sync Pluses模式的每一个Sync Start都必须都要有一个唯一的Sync End与之对应。

  

  (2)Non-Burst Mode with Sync Events 同步事件模式(同步脉冲的起始位置):

  这种模式和第一种模式很像,但是这种模式不会发重构和时间校准的数据包,它们只发送一种叫做”Sync event”的包。Non-Busrt Mode with Sync Events模式与Non-Busrt Mode with Sync Pluses模式类似,可以认为前者是后者的简化版本。因为Non-Busrt Mode with Sync Events模式不需要精确控制时序事件的宽度,所以Non-Busrt Mode with Sync Events只有Sync Start,而没有Sync End。

  

  (3)Burst Mode 突发模式:

  Burst mode 在传输过程中没有vsync_end 包等信息,在 horizontal 的时序是一样的情况下 DSI 会把连接的速度提升到 Panel 支持的最大速度。在这种模式下发送 RGB 数据包的时间被压缩,以留出更多的时间用来传送其他的数据。通常来说,burst mode是video模式下的首选,因为在该种模式下,Host可以以很短的时间发送完数据包,以使得链路可以有更多的时间处于LP模式,达到了降低系统功耗的目的。在这种模式下,整个过程像素线被缓冲到一个FIFO中,并在单个数据包中传输,没有中断。这种传输模式要求DPI像素FIFO有在其中存储全线有效像素数据的能力。如果像素所需带宽和DSI链路带宽之间的差异非常不同,则最佳使用该模式。这使mipi_dsi_host能够在一次数据突发中快速调度整个有效视频数据,然后返回到低功耗模式。

  

摘自网路:https://zhuanlan.zhihu.com/p/556194711

      http://www.jmrcubed.com/vr/ref_tech/mipi_d_phy_specification_v01-00-00.pdf

  

MIPI-DSI协议的更多相关文章

  1. MIPI DSI协议学习【转】

    本文转载自:http://www.voidcn.com/blog/LoongEmbedded/article/p-6109759.html 1.     MIPI DSI DSI:displayser ...

  2. MIPI DSI协议介绍

    此文根据网上的资料翻译和整理而来 一.MIPI MIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写.MIPI(移动行业处理器接口)是MIPI联 ...

  3. LCD之mipi DSI接口驱动调试流程【转】

    转自:http://blog.csdn.net/liwei16611/article/details/68146912 1.LCD MIPI DSI协议 MIPI-DSI是一种应用于显示技术的串行接口 ...

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

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

  5. MIPI DSI 和 D-PHY 初始化序列

    MIPI DSI 和 D-PHY 初始化序列 -- 深圳 南山平山村 曾剑锋 参考文档: i.MX 6Dual/6Quad Multimedia Applications Processor Refe ...

  6. 【完整资料】TC358779XBG:HDMI转MIPI DSI芯片方案

    TC358779XBG是一颗HDMI1.4转MIPI  DSI带缩放功能的芯片,分辨率1920*1080,封装BGA80.通信方式:IIC,电源3.3/1.8/2.2,应用领域:平板,广告机,VR,显 ...

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

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

  8. 【详细资料】ICN6202:MIPI DSI转LVDS芯片简介

    ICN6202功能MIPI DSI转LVDS,分辨率1920*1200,封装QFN40

  9. TC358775XBG:MIPI DSI转双路LVDS芯片简介

    TC358775XBG是一颗MIPI DSI转双路LVDS芯片,通信方式:IIC/MIPI command mode,分辨率1920*1200,封装形式:BGA64.

  10. HDMI转MIPI DSI芯片方案TC358870XBG

    型号:TC358870XBG功能:HDMI1.4b转MIPI DSI通信方式:IIC分辨率:2560*1600@60fps/4k*2k@30fps电源:3.3/1.8/1.2/1.1封装形式:BGA8 ...

随机推荐

  1. 活动回顾丨ALC Beijing 首场 Meetup:《开源到底有多难?》

    8月16日,ALC Beijing 的首次线下沙龙活动 -- <开源到底有多难?>在微软大厦如期举行.本次沙龙主要是分享开源开发经验.探讨如何让开源项目更加茁壮成长,以及分享 ASF 管理 ...

  2. 数据结构与算法【Java】03---栈

    前言 数据 data 结构(structure)是一门 研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构才可以编写出更加漂亮,更加有效率的代码. 要学习好数据结构就要多多考虑如何将生 ...

  3. Spring源码 15 IOC refresh方法10

    参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...

  4. [题解]Balance

    1.题目 POJ-1837 2.题目大意 一个天平上有一些钩子,现在有一些砝码.给出每个钩子到原点(姑且这么叫吧)的距离(-15 ~ 15,负数代表在左边,正数相反)以及砝码的重量(1 ~ 20),求 ...

  5. flutter系列之:widgets,构成flutter的基石

    目录 简介 StatelessWidget和StatefulWidget StatelessWidget详解 StatefulWidget详解 总结 简介 flutter中所有的组件都是由widget ...

  6. [Android开发学iOS系列] 工具篇: Xcode使用和快捷键

    [Android开发学iOS系列] 工具篇: Xcode使用和快捷键 工欲善其事必先利其器. 编辑 Cmd + N: 新建文件 Option + Cmd + N: 新建文件夹 Cmd + / : 注释 ...

  7. Html5新增内容标签

    <canvas>画布</canvas> <audio src=""></audio> <video src="&qu ...

  8. 通过VS下载的NuGet包,如何修改其下载存放路径?

    一.了解NuGet包的默认存放路径 我们通过NuGet包管理器下载的引用包,默认是存放在C盘的,存储路径一般是: C:\Users\{系统用户名}\.nuget\packages 我们都知道,C盘的存 ...

  9. 066_末晨曦Vue技术_过渡 & 动画之多个元素的过渡

    多个元素的过渡 点击打开视频讲解更加详细 我们之后讨论多个组件的过渡,对于原生标签可以使用 v-if/v-else.最常见的多标签过渡是一个列表和描述这个列表为空消息的元素: <transiti ...

  10. 重新扫描磁盘.bat

    工作需要,需要常常扫描磁盘, 以前是先调用磁盘管理器,然后使用alt+a,再按r,完成对磁盘的扫描 但是速度慢效率低 昨天帮朋友装台式电脑系统的时候,他说要给磁盘分区, 发现磁盘内有卷被占用,无法删除 ...