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 ...
随机推荐
- Luogu1655 小朋友的球 (组合数学,第二类斯特林数,高精)
我bingoyes再高精用STL就饿死,死外边! string真的爽... 斯特林数模板题:\(S(n,m) = S(n-1,m-1)+S(n-1,m)*n\) #include <iostre ...
- Redis 16 哨兵模式
参考源 https://www.bilibili.com/video/BV1S54y1R7SB?spm_id_from=333.999.0.0 版本 本文章基于 Redis 6.2.6 概述 主从切换 ...
- MySQL主从-报错
安装: 环境: 系统:centos7 x3 master:192.168.220.133 slave1:192.168.220.136 slave2:192.168.220.137 mysql服务器, ...
- 如何保证遍历parent的时候的task的存在性
在一次crash的排查过程中,有这么一个内核模块,他需要往上遍历父进程, 但是在拿父进程task_struct中的一个成员的时候,发现为NULL了, 具体查看父进程,原来它收到信号退出中. 那么怎么保 ...
- silk-GUI图形界面开发一个词典
了解使用的库 Silk内置了一些GUI类库供使用者开发MacOS上的图形界面程序,只需引用gui.si即可 准备 首先要知道app需要什么功能,这里我要的是查询单词,可以听语音,还可以存储生词! 那么 ...
- 以太坊 layer2: optimism 源码学习(二) 提现原理
作者:林冠宏 / 指尖下的幽灵.转载者,请: 务必标明出处. 掘金:https://juejin.im/user/1785262612681997 博客:http://www.cnblogs.com/ ...
- vue2和vue3的区别?
vue2和vue3的主要区别在于以下几点: 1.生命周期函数钩子不同 2.数据双向绑定原理不同 3.定义变量和方法不同 4.指令和插槽的使用不同 5.API类型不同 6.是否支持碎片 7.父子组件之间 ...
- django_day07
django_day07 django form组件 form组件的定义 class RegForm(forms.Form): user = forms.CharField(label='用户名') ...
- centos7换清华源
一 删除其他源 cd /etc/yum.repos.d/ 二 创建源 vim CentOS-Base.repo # CentOS-Base.repo # # The mirror system use ...
- python 基于aiohttp的异步爬虫实战
钢铁知识库,一个学习python爬虫.数据分析的知识库.人生苦短,快用python. 之前我们使用requests库爬取某个站点的时候,每发出一个请求,程序必须等待网站返回响应才能接着运行,而在整个爬 ...