MIPI-DSI协议
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协议的更多相关文章
- MIPI DSI协议学习【转】
本文转载自:http://www.voidcn.com/blog/LoongEmbedded/article/p-6109759.html 1. MIPI DSI DSI:displayser ...
- MIPI DSI协议介绍
此文根据网上的资料翻译和整理而来 一.MIPI MIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写.MIPI(移动行业处理器接口)是MIPI联 ...
- LCD之mipi DSI接口驱动调试流程【转】
转自:http://blog.csdn.net/liwei16611/article/details/68146912 1.LCD MIPI DSI协议 MIPI-DSI是一种应用于显示技术的串行接口 ...
- MIPI DSI之DBI DPI含义和区别(3-1)
一.MIPI MIPI(Mobile Industry Processor Interface/移动工业处理器接口)是2003年由ARM.Nokia.ST 等公司成立联盟并为移动应用处理器制定的一个开 ...
- MIPI DSI 和 D-PHY 初始化序列
MIPI DSI 和 D-PHY 初始化序列 -- 深圳 南山平山村 曾剑锋 参考文档: i.MX 6Dual/6Quad Multimedia Applications Processor Refe ...
- 【完整资料】TC358779XBG:HDMI转MIPI DSI芯片方案
TC358779XBG是一颗HDMI1.4转MIPI DSI带缩放功能的芯片,分辨率1920*1080,封装BGA80.通信方式:IIC,电源3.3/1.8/2.2,应用领域:平板,广告机,VR,显 ...
- 【详细资料】ICN6211:MIPI DSI转RGB芯片简介
ICN6211功能MIPI DSI转RGB,分辨率1920*1200,封装QFN48
- 【详细资料】ICN6202:MIPI DSI转LVDS芯片简介
ICN6202功能MIPI DSI转LVDS,分辨率1920*1200,封装QFN40
- TC358775XBG:MIPI DSI转双路LVDS芯片简介
TC358775XBG是一颗MIPI DSI转双路LVDS芯片,通信方式:IIC/MIPI command mode,分辨率1920*1200,封装形式:BGA64.
- 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 ...
随机推荐
- 活动回顾丨ALC Beijing 首场 Meetup:《开源到底有多难?》
8月16日,ALC Beijing 的首次线下沙龙活动 -- <开源到底有多难?>在微软大厦如期举行.本次沙龙主要是分享开源开发经验.探讨如何让开源项目更加茁壮成长,以及分享 ASF 管理 ...
- 数据结构与算法【Java】03---栈
前言 数据 data 结构(structure)是一门 研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构才可以编写出更加漂亮,更加有效率的代码. 要学习好数据结构就要多多考虑如何将生 ...
- Spring源码 15 IOC refresh方法10
参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...
- [题解]Balance
1.题目 POJ-1837 2.题目大意 一个天平上有一些钩子,现在有一些砝码.给出每个钩子到原点(姑且这么叫吧)的距离(-15 ~ 15,负数代表在左边,正数相反)以及砝码的重量(1 ~ 20),求 ...
- flutter系列之:widgets,构成flutter的基石
目录 简介 StatelessWidget和StatefulWidget StatelessWidget详解 StatefulWidget详解 总结 简介 flutter中所有的组件都是由widget ...
- [Android开发学iOS系列] 工具篇: Xcode使用和快捷键
[Android开发学iOS系列] 工具篇: Xcode使用和快捷键 工欲善其事必先利其器. 编辑 Cmd + N: 新建文件 Option + Cmd + N: 新建文件夹 Cmd + / : 注释 ...
- Html5新增内容标签
<canvas>画布</canvas> <audio src=""></audio> <video src="&qu ...
- 通过VS下载的NuGet包,如何修改其下载存放路径?
一.了解NuGet包的默认存放路径 我们通过NuGet包管理器下载的引用包,默认是存放在C盘的,存储路径一般是: C:\Users\{系统用户名}\.nuget\packages 我们都知道,C盘的存 ...
- 066_末晨曦Vue技术_过渡 & 动画之多个元素的过渡
多个元素的过渡 点击打开视频讲解更加详细 我们之后讨论多个组件的过渡,对于原生标签可以使用 v-if/v-else.最常见的多标签过渡是一个列表和描述这个列表为空消息的元素: <transiti ...
- 重新扫描磁盘.bat
工作需要,需要常常扫描磁盘, 以前是先调用磁盘管理器,然后使用alt+a,再按r,完成对磁盘的扫描 但是速度慢效率低 昨天帮朋友装台式电脑系统的时候,他说要给磁盘分区, 发现磁盘内有卷被占用,无法删除 ...