MIPI接口协议

云脑智库 2022-01-01 00:00


来源 | 网络

智库 | 云脑智库(CloudBrain-TT)

云圈 | “云脑智库微信群”,请加微信:15881101905,备注您的研究方向

本文来自知乎IEEE1364 ,
https://zhuanlan.zhihu.com/p/92682047

转载公众号:数字ICer

前言

经常听到MIPI这个接口,并且在实际的摄像头项目中也用到了,但是每次去网上搜关于MIPI的资料的时候总是觉得特别混乱,看了网上挺多资料,也没屡清楚这个接口到底是怎么回事,所以对看到的资料加以整理和删减,抓住主线,终于觉得看的稍微懂了一些。考虑到最近忙于工作,专栏荒废,于是自己做的笔记添加一些自己的语句,写成一篇文章,滥竽充数一番。

为了保证主线清晰,本文只介绍了CSI、D-PHY主线,如果你想了解其他更多信息,可以以本文最后扩展阅读链接为入口,找到你要的信息。

一、名词解释

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

目的是把手机内部的接口如摄像头、显示屏接口、射频/基带接口等标准化,从而减少手机设计的复杂程度和增加设计灵活性。

二、技术标准

MIPI并不是一个单一的接口或协议,而是包含了一套协议和标准,以满足各种子系统独特的要求。MIPI的标准异常复杂,包含非常多的应用领域。下图是其目前的整个的系统框图。

目前MIPI的标准主要包含下面六大领域:

  • Physical layer

  • Multimedia

  • Chip-to-chip or interprocessor communications (IPC)

  • Control/data

  • Debug/trace and software

我们主要关注和学习多媒体这个类下面的标准。其技术标准包含以下内容。

主要分为三层:应用层、协议层和物理层。应用于摄像头、显示器等设备的接口。其中摄像头接口CSI(Camera Serial Interface)、显示接口DSI(Display Serial Interface) 是我们关注和学习的重点。CSI和DSI结构很像,以摄像头接口CSI为学习主线,这样可以保证逻辑清晰。

三、技术细节

3.1 CSI概述

CSI协议分为三层:

  • 1.应用层(ApplicationLayer),主要描述了上层数据流中的数据编码和解析。CSI-2 规范中规定了像素数据到字节的映射(Mappingof pixel values to bytes)。

  • 2.协议层(Protocol Layer),包含了几个不同的子层,每个子层都有各自的明确职责。主要包括,像素/字节打包/解包层(Pixel/Byte Packing/UnpackingLayer),Low Level Protocol Layer(LLP),通道管理(LaneManagement)层。

  • 3.物理层(PHYLayer),定义了传输介质 (electrical conductors,导体),输入/输出电路信号的电气特性(electricalparameters)和时钟机制(时序)。即如何从串行位流(Bit Stream)中获取“0”和“1”信号。规范中的这一部分记录了传输介质的特性,并依据时钟和数据通道之间发信号和产生时钟的关系规定了电学参数。

CSI分为CSI2和CSI3。他们的组成如下图:

我们只看相对更为常见的CSI2。CSI2的物理又两个标准,C-PHY和D-PHY。在DSI里面,物理层也会用到D-PHY,所以接下来的学习中我们只看D-PHY。

3.2物理层协议之D-PHY

本节主要参考 MIPI® Alliance Specification for D-PHY,version 1.1

3.2.1Lane模块

介绍D_PHY之前,先讲清楚什么是Lane这个概念。

Lane的原意是“航道”,我们可以理解为在两个不同芯片之间完成信息运输的通道。这是MIPI里面的基本信息传输单元。两块使用MIPI连接的芯片,中间使用差分信号对进行连接,收发端各有一个Lane模块,完成数据收发。Lane模块,加上中间的连线,组成了完整的数据数据传输通道。在复杂的通信协议的物理层里面,我们就不能像理解简单协议那样,只看到在两个收发双方之间的连线,而是要更加关注收发芯片里面负责收发的模块,这是整个协议物理层核心。下图就是一个完整的双向数据传输Lane模块(MIPI里面管这个叫Universal Lane )的示意图:

Universal Lane里面有一对高速收发器(HS-TX、HS-RS)、一对低功耗(Low Power)收发器(LP-RX、LP-TX)、低功耗竞争检测器(LP-CD)和Lane的控制逻辑组成。其他类型的lane都是在这个基础做一定的简化,比如单向数据传输通道就只有接收器或者发送器,再比如时钟lane也是只有接收器或者发送器,是的,时钟也是一种lane。

3.2.2 D_PYH参数

D-PHY支持三种不同类型的数据通道:单向时钟通道,单向数据通道和双向数据通道。

D-PHY采用1对源同步的差分时钟和1~4对差分数据线来进行数据传输。数据传输采用DDR方式,即在时钟的上下边沿都有数据传输。

由于Lane有高速和低功耗两种收发器,所以D-PHY的物理层支持HS(HighSpeed)和LP(Low Power)两种工作模式。HS模式下采用低压差分信号,功耗较大,但是可以传输很高的数据速率(数据速率为80M~1Gbps),支持100mV到300mV的电压范围;LP模式下采用单端信号,数据速率很低(<10Mbps),但是相应的功耗也很低,支持0V到1.2V信号电平。两种模式的结合保证了MIPI总线在需要传输大量数据(如图像) 时可以高速传输,而在不需要大数据量传输时又能够减少功耗。下图是HS和LP模式下的信号电平示意图。

简单总结一下,D-PHY的物理层参数如下表中间列所示:

3.2.3 D-PHY操作模式

这部分有点复杂,硬件狗基本可以跳过数据Lane的三种操作模式,在高速传输的时候叫 Burst Mode,在低功耗模式下有Control mode和Escape mode。在正常的操作时,数据通道处于高速模式或者控制模式。

接下来就分别说明这三种模式:

  • 1.高速模式(Burst Mode)

高速模式最主要的模式,用来传输图像。在高速模式下,通道状态是差分的0或者1,也就是线对内P比N高时,定义为1,P比N低时,定义为0,此时典型的线上电压为差分200MV。下面展示了Burst模式下的传输时序。

  • 2.控制模式(Control mode)

在控制模式下,高电平典型幅值为1.2V,此时P和N上的信号不是差分信号而是相互独立的,当P为1.2V,N也为1.2V时,MIPI协议定义状态为LP11,同理,当P为1.2V,N为0V时,定义状态为LP10,依此类推,控制模式下可以组成LP11,LP10,LP01,LP00四个不同的状态。

MIPI协议规定控制模式4个不同状态组成的不同时序代表着将要进入或者退出高速模式等;比如LP11-LP01-LP00序列后,进入高速模式。

  • 3.逃避模式(Escape mode)

Escape mode是数据Lane在LP状态下的一种特殊操作。在这种模式下,可以进入一些额外的功能:LPDT, ULPS(超低功耗状态), Trigger。一旦进入Escape mode模式,发送端必须发送1个8-bit的命令来响应请求的动作。

Lane的各个模式列举如下表:

Lane的各个状态转换关系如下图:

3.2.4 MIPI电路设计

  • a.信号规范

MIPI的走线有多对差分对组成,要求差分阻抗100欧,50欧的单端阻抗。在共模模式下(就是前面提到的LP11,LP00)要求各自25欧(这一点其实没搞懂)。

在高速传输时,直流和交流的spec如下表:

在低功耗模式下

  • b. D-PHY Layout

1.等长

MIPI因为一种高速差分信号的接口,为了保证信号的同步和一致性,必须保证MIPI DP/DN保持等长,无论是线对与线对之间(pair to pair)还是单组信号的DP/DN之间,一般需要遵守的长度规则如下:

camera pair to pair 100mil 单组之间:25mil

LCD pair to pair 200mil 单组之间 60mil

说明:我其实并没有看到物理层的规范对等长的具体要求,这里只是参考网上的资料
2.等距

在MIPI走线时,一般需要保持DP/DN在走线的过程中保持等距,保证一定的耦合程度,但是需要弄清楚的时,等长的优先级是高于等距的。且在走线时,线对之间要保持2W的距离。

3.参考层

MIPI走线应该保持连续的参考层,且最好是地层,如果这个条件实在无法满足的话,必须保证参考层的宽度可以达到4W, 且为了防止ESD以及干扰等因素,MIPI走线最好走内层。

4.打孔换层

MIPI尽量少打过孔,且必须注意的时,在打孔换层的时候必须DP/DN同时打孔换层,同时在周围多打地孔,保证信号的回流;

5.远离干扰

远离RF以及开关电源等干扰源

6.传输线阻抗要求

MIPI具有阻抗的要求,一般需要达到差分阻抗为100ohm;

3.3 CSI-2协议层

CSI-2协议层允许多数据流 (CSI-2 TX)共用一个主机处理器端 CSI-2 接收信号接口 (CSI-2 RX)。协议层就可以描述有多少数据流被标记并组合在一起,指定了多数据流怎样被标记和交叉存取,因此每个数据流可以在SOC处理器CSI-2接收器中被正确的重建,才能把各个数据流正确地恢复出来。

  • 1.像素/字节打包/解包层(Pixel/Byte Packing/UnpackingLayer)

CSI-2支持多种像素格式图像应用,包括从6位到24位每个像素的数据格式。在发射端,数据由本层被发送到LLP层(Low Level Protocol)前,本层将应用层传来的数据由像素打包成字节数据;在接收端,执行相反过程,将LLP层发来的数据解包,由字节转成像素,然后才发送到应用层。8位每像素的数据在本层被传输时不会被改变。

  • 2.LLP(Low LevelProtocol)层

LLP层包括,为串行数据在传输开始(SoT)到传输结束(EoT)之间传输事件,和传输数据到下一层,建立位级和字节级同步的方法。LLP最小数据粒度是一字节。LLP层也包括,每字节中各位数值分布解释,即“端”(Endian)分布。

  • 3.通道管理(LaneManagement)层

为性能不断提升,CSI-2是通道可扩展的。数据通道数目可以是1,2,3,4,这个依赖于应用中的带宽需求。接口发送端分配(“distributor”功能)输出数据流到一个或更多通道。在接收端,接口从通道收集字节并将之合并(“merger”功能)成为重新组合的数据流,恢复原始数据流序列。

数据在协议层是以数据包的形式存在。在接口发送端,添加包头和可选择的错误校验信息,一起以数据包的形式通过LLP层来传输数据。在接收端,LLP层将包头剥离,由接收者按照相应逻辑解析数据包,得到有效数据。错误校验信息可以用来检测收到的数据完整性。

四、技术扩展

4.1 DSI简介

4.1.1 名词解释

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

  • DSI, CSI(DisplaySerialInterface, CameraSerialInterface)

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

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

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

4.1.2 DSI分层结构

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

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

4.1.3 Command和Video模式

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

五、参考来源

  • http://www.comsiyin.com/list-2/27595122.html
  • MIPI官网: https://www.mipi.org/
  • https://blog.csdn.net/mantis_1984/article/details/54407124

- The End

声明:欢迎转发本号原创内容,转载和摘编需经本号授权并标注原作者和信息来源为云脑智库。本公众号目前所载内容为本公众号原创、网络转载或根据非密公开性信息资料编辑整理,相关内容仅供参考及学习交流使用。由于部分文字、图片等来源于互联网,无法核实真实出处,如涉及相关争议,请跟我们联系。我们致力于保护作者知识产权或作品版权,本公众号所载内容的知识产权或作品版权归原作者所有。本公众号拥有对此声明的最终解释权。

投稿/招聘/推广/合作/入群/赞助 请加微信:15881101905,备注关键词

“阅读是一种习惯,分享是一种美德,我们是一群专业、有态度的知识传播者.”

 阅读原文加入知识星球,发现更多精彩内容.

 分享💬 点赞👍 在看❤️@以“三连”行动支持优质内容! 

云脑智库 努力是一种生活态度,与年龄无关!专注搬运、分享、发表雷达、卫通、通信、化合物半导体等技术应用、行业调研、前沿技术探索!专注相控阵、太赫兹、微波光子、光学等前沿技术学习、分享
评论
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 126浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 140浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 96浏览
  • TOF多区传感器: ND06   ND06是一款微型多区高集成度ToF测距传感器,其支持24个区域(6 x 4)同步测距,测距范围远达5m,具有测距范围广、精度高、测距稳定等特点。适用于投影仪的无感自动对焦和梯形校正、AIoT、手势识别、智能面板和智能灯具等多种场景。                 如果用ND06进行手势识别,只需要经过三个步骤: 第一步&
    esad0 2024-12-04 11:20 109浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 114浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 144浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 112浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 92浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 143浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 170浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦