一、MIPI 简介:

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

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

二、MIPI DSI规范:

1、名词解释

• DCS (Display Command Set):DCS是一个标准化的命令集,用于命令模式的显示模组。

• DSI, CSI (Display Serial Interface , Camera Serial Interface )

• DSI 定义了一个位于处理器和显示模组之间的高速串行接口。

• CSI 定义了一个位于处理器和摄像模组之间的高速串行接口。

• D-PHY:提供DSI和CSI的物理层定义

2、DSI分层结构

DSI分四层,对应D-PHY、DSI、DCS规范;分层结构图如下:

• PHY Layer层:定义了传输媒介,输入/输出电路和和时钟和信号机制。

• 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

2、两个Lane的 PHY配置如下图 :

3、PHY由D-PHY(Lane模块)组成 
 D-PHY可能包含: 
• 低功耗发送器(LP-TX) 
• 低功耗接收器(LP-RX) 
• 高速发送器(HS-TX) 
• 高速接收器(HS-RX) 
• 低功耗竞争检测器(LP-CD)

4、三个主要的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 

5、D-PHY的传输模式 
低功耗(Low-Power)信号模式(用于控制):10MHz (max) 
高速(High-Speed)信号模式(用于高速数据传输):80Mbps ~ 1Gbps/Lane 
• D-PHY低层协议规定最小数据单位是一个字节 
• 发送数据时必须低位在前,高位在后

6、Lane状态和电压 
 Lane状态 :
• LP-00, LP-01, LP-10, LP-11 (单端) 
• HS-0, HS-1 (差分) 
 Lane电压(典型) :
• LP:0-1.2V 
• HS:100-300mV (200mV)

7、操作模式 
数据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

状态转换关系图:

四、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、数据帧类型

传输模式和操作模式是不同的概念,Video Mode操作模式下必须使用High-Speed的传输模式 ,Command Mode操作模式并没有规定使用High-Speed或Low Power的传输模式,即使外部LCD模组为Video Mode,但通常在LCD模组初始化时还是使用Command Mode模式来读写寄存器,因为在低速下数据不容易出错并且容易测量。Video Mode也可以用High-Speed的方式来发送指令,Command Mode操作模式也可以使用High-Speed,只是没有必要这么做。

本文参考博客: http://blog.csdn.net/qq160816/article/details/19555957

MIPI协议学习总结(一)的更多相关文章

  1. MIPI协议学习总结(一)【转】

    转自:https://www.cnblogs.com/EaIE099/p/5200341.html 一.MIPI 简介: MIPI(移动行业处理器接口)是Mobile Industry Process ...

  2. TCP/IP协议学习(五) 基于C# Socket的C/S模型

    TCP/IP协议作为现代网络通讯的基石,内容包罗万象,直接去理解理论是比较困难的:然而通过实践先理解网络通讯的理解,在反过来理解学习TCP/IP协议栈就相对简单很多.C#通过提供的Socket API ...

  3. http协议学习系列

    深入理解HTTP协议(转)  http://www.blogjava.net/zjusuyong/articles/304788.html http协议学习系列   1. 基础概念篇 1.1 介绍 H ...

  4. BGP协议学习总结

    BGP学习总结 BGP是目前使用的唯一的自治系统间的路由协议,它是一种矢量路由协议,基于TCP的179号端口,它采用单播增量更新的方式更新路由,与其他的路由协议不同的是,BGP只要TCP可达,就可以建 ...

  5. TCP/IP协议学习之实例ping命令学习笔记

    TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详 ...

  6. HTTP协议学习笔记(四)

    HTTP协议学习笔记(四) 与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率. 1.用单台虚拟主机实现多个域名 ...

  7. HTTP协议学习笔记(三)

    HTTP协议学习笔记(三) 1.状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务端向服务端发送请求时,描述返回的请求结果.借助状态码,用户可以知道服务端是正常处理了请求,还是出现了错误 ...

  8. HTTP协议学习笔记(二)

    HTTP协议学习笔记(二) 1.HTTP报文 HTTP报文:用于HTTP协议交互的信息.请求报文:请求端(客户端)的HTTP报文叫做请求报文.响应报文:响应端(服务端)的HTTP报文叫做响应报文. H ...

  9. HTTP协议学习笔记(一)

    HTTP协议学习笔记(一) 1.HTTP协议用于客户端和服务端之间的通信 客户端:请求访问文本或图像等资源的一端服务端:提供资源响应的一端 在两台计算机之间使用HTTP协议通信时,在一条通信线路上必定 ...

随机推荐

  1. android studio+grade配置构建

    Android 构建系统编译应用资源和源代码,然后将它们打包成可供您测试.部署.签署和分发的 APK.android Studio 使用 Gradle 这一高级构建工具包来自动化执行和管理构建流程,同 ...

  2. BroadcastReceiver 接收系统短信广播

    BroadcastReceiver 接收系统短信广播 /* 注册广播:    * |--静态注册  (在AndroidManifest .xml 中注册)  * <receiver androi ...

  3. 【转】位置式、增量式PID算法C语言实现

    位置式.增量式PID算法C语言实现 芯片:STM32F107VC 编译器:KEIL4 作者:SY 日期:2017-9-21 15:29:19 概述 PID 算法是一种工控领域常见的控制算法,用于闭环反 ...

  4. emwin之LISTWHEEL控件之LISTWHEEL_SetPos函数的使用

    @2018-09-05 [小记] LISTWHEEL控件的LISTWHEEL_SetPos函数的使用注意事项: 该函数不能在创建窗口的WM_INIT_DIALOG分支下作为修改LISTWHEEL控件属 ...

  5. ubuntu 14.04下使用fcitx时将caps lock映射为ctrl

    在~/.xprofile中加入 setxkbmap -option caps:ctrl_modifier 要弄成全局的就在 /etc/X11/Xsession.d/ 里面找个文件塞进去. archli ...

  6. 笔记: c开发gui程序 (WM_CREATE, WS_CLIPCHILDREN , SetWindowPos)

    过去两年,用c写的gui程序我一般使用的套路是: 在 winMain()中, 先创建一个主窗口, 紧接着就是在下面创建子窗口(子控件). 可能是因为写这方面的程序较少,所以也没遇到什么大问题,之前就是 ...

  7. kubernetes下的Nginx加Tomcat三部曲之一:极速体验

    在生产环境中,常用到Nginx加Tomcat的部署方式,如下图: 从本章开始,我们来实战kubernetes下部署上述Nginx和Tomcat服务,并开发spring boot的web应用来验证环境, ...

  8. C# Winform 按回车键查找下一个可设置焦点的组件

    private void frmLogin_KeyPress(object sender, KeyPressEventArgs e) { //按回车键查找下一个可设置焦点的组件. if (e.KeyC ...

  9. 功能要求:定义一个两行三列的二维数组 names 并赋值,使用二重循环输出二维数组中的元素。

    功能要求:定义一个两行三列的二维数组 names 并赋值,使用二重循环输出二维数组中的元素 names={{"tom","jack","mike&qu ...

  10. pandas简短介绍

    1.数据结构 维数 名称 描述 1 Series 一维带标签单一数据类型的数组 2 DataFrame 不同数据类型的列 2.十分钟学习pandas 2.1.导入所需模块 import pandas ...