linux_驱动_总线协议_MIPI_camera_协议详细解析

init link:http://m.elecfans.com/article/578503.html

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

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

 linux_驱动_总线协议_MIPI_camera_协议详细解析_第1张图片

  D-PHY介绍

  1、 D-PHY 描述了一同步、高速、低功耗、低代价的PHY。

  • 一个 PHY配置包括

  • 一个时钟lane

  • 一个或多个数据lane

  • 两个Lane的 PHY配置如下图

  linux_驱动_总线协议_MIPI_camera_协议详细解析_第2张图片

  三个主要的lane的类型

  • 单向时钟Lane

  • 单向数据Lane

  • 双向数据Lane

  • D-PHY的传输模式

  • 低功耗(Low-Power)信号模式(用于控制):10MHz (max)

  • 高速(High-Speed)信号模式(用于高速数据传输):80Mbps ~ 1Gbps/Lane

  • D-PHY低层协议规定最小数据单位是一个字节

  • 发送数据时必须低位在前,高位在后。

  • D-PHY适用于移动应用

  • DSI:显示串行接口

  • 一个时钟lane,一个或多个数据lane

  • CSI:摄像串行接口

  2、Lane模块

  • PHY由D-PHY(Lane模块)组成

  • D-PHY可能包含:

  • 低功耗发送器(LP-TX)

  • 低功耗接收器(LP-RX)

  • 高速发送器(HS-TX)

  • 高速接收器(HS-RX)

  • 低功耗竞争检测器(LP-CD)

  • 三个主要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

  3、Lane状态和电压

  • Lane状态

  • LP-00, LP-01, LP-10, LP-11 (单端)

  • HS-0, HS-1 (差分)

  • Lane电压(典型)

  • LP:0-1.2V

  • HS:100-300mV (200mV)

  4、操作模式

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

  • Turnaround 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

  • 状态转换关系图

  linux_驱动_总线协议_MIPI_camera_协议详细解析_第3张图片

  差分信号,什么是差分信号

  一个差分信号是用一个数值来表示两个物理量之间的差异。从严格意义上来讲,所有电压信号都是差分的,因为一个电压只能是相对于另一个电压而言的。在某些系统里,系统’地’被用作电压基准点。当’地’当作电压测量基准时,这种信号规划被称之为单端的。我们使用该术语是因为信号是用单个导体上的电压来表示的。

  另一方面,一个差分信号作用在两个导体上。信号值是两个导体间的电压差。尽管不是非常必要,这两个电压的平均值还是会经常保持一致。我们用一个方法对差分信号做一下比喻,差分信号就好比是跷跷板上的两个人,当一个人被跷上去的时候,另一个人被跷下来了 - 但是他们的平均位置是不变的。继续跷跷板的类推,正值可以表示左边的人比右边的人高,而负值表示右边的人比左边的人高。0 表示两个人都是同一水平。

  linux_驱动_总线协议_MIPI_camera_协议详细解析_第4张图片

  应用到电学上,这两个跷跷板用一对标识为V+和V-的导线来表示。当V+》V-时,信号定义成正极信号,V+ 《 V-时,信号定义成负极信号。

 linux_驱动_总线协议_MIPI_camera_协议详细解析_第5张图片

  上图 差分对围绕摆动的平均电压设置成 2.5V。当该对的每个信号都限制成 0-5V 振幅时,偏移该差分对会提供一个信号摆动的最大范围。当用单一 5V 电源操作时,经常就会出现这种情况。

  当不采用单端信号而采取差分信号方案时,我们用一对导线来替代单根导线,增加了任何相关接口电路的复杂性。那幺差分信号提供了什幺样的有形益处,才能证明复杂性和成本的增加是值得的呢?

  差分信号的第一个好处是,因为你在控制’基准’电压,所以能够很容易地识别小信号。在一个地做基准,单端信号方案的系统里,测量信号的精确值依赖系统内’地’的一致性。信号源和信号接收器距离越远,他们局部地的电压值之间有差异的可能性就越大。从差分信号恢复的信号值在很大程度上与’地’的精确值无关,而在某一范围内。

  差分信号的第二个主要好处是,它对外部电磁干扰(EMI)是高度免疫的。一个干扰源几乎相同程度地影响差分信号对的每一端。既然电压差异决定信号值,这样将忽视在两个导体上出现的任何同样干扰。除了对干扰不大灵敏外,差分信号比单端信号生成的 EMI 还要少。

  差分信号提供的第三个好处是,在一个单电源系统,能够从容精确地处理’双极’信号。为了处理单端,单电源系统的双极信号,我们必须在地和电源干线之间某任意电压处(通常是中点)建立一个虚地。用高于虚地的电压来表示正极信号,低于虚地的电压来表示负极信号。接下来,必须把虚地正确地分布到整个系统里。而对于差分信号,不需要这样一个虚地,这就使我们处理和传播双极信号有一个高逼真度,而无须依赖虚地的稳定性。

  完成mipi信号通道分配后,需要生成与物理层对接的时序、同步信号:

  MIPI规定,传输过程中,包内是200mV、包间以及包启动和包结束时是1.2V,两种不同的电压摆幅,需要两组不同的LVDS驱动电路在轮流切换工作;为了传输过程中各数据包之间的安全可靠过渡,从启动到数据开始传输,MIPI定义了比较长的可靠过渡时间,加起来最少也有600多ns;而且规定各个时间参数是可调的,所以需要一定等待时间,需要缓存,我们用寄存器代替FIFO,每通道128Byte。

  串行时钟与数据差分传输的过渡时间关系如下:

 linux_驱动_总线协议_MIPI_camera_协议详细解析_第6张图片

 linux_驱动_总线协议_MIPI_camera_协议详细解析_第7张图片

 linux_驱动_总线协议_MIPI_camera_协议详细解析_第8张图片

  各个时间参数需要满足以下的要求:

 linux_驱动_总线协议_MIPI_camera_协议详细解析_第9张图片

  linux_驱动_总线协议_MIPI_camera_协议详细解析_第10张图片

  linux_驱动_总线协议_MIPI_camera_协议详细解析_第11张图片

  数据与时钟的相位关系:

  linux_驱动_总线协议_MIPI_camera_协议详细解析_第12张图片

  根据前面:mipi差分信号原理 介绍。

  CLKp是高电平,CLKn是低电平的时候,差分信号表现为高电平。

  CLKn是高电平, CLKp是低电平的时候,差分信号表现为低电平。

  所以结果就可以等效成红线描述的正弦。

  从正弦可以看出,data在clk的高电平和低电平都有传输数据。

  数据通道进入和退出SLM(即睡眠模式)的控制:

  linux_驱动_总线协议_MIPI_camera_协议详细解析_第13张图片

  mipi信号传输分为单端和差分传输。例如:

  LP-00, LP-01, LP-10, LP-11 (单端)

  HS-0, HS-1 (差分)

  Ultra-Low Power State entry command: 00011110 是差分传输,读取方法和上面提到的clk是一样的,需要注意的是Dp和Dn如果同时是高电平或同时是低电平的时候是无效数据,这个时候大概对应的是clk正弦的峰值,只有其中一个是高一个是低才是有效的差分数据。

  linux_驱动_总线协议_MIPI_camera_协议详细解析_第14张图片

  总结:

  对应于同步信号完成并串转换;

  *HS 状态为高速低压差分信号,传输高速连续串行数据;

  *LP 状态为低速低功耗信号,传输控制信号和状态信号;

  *MIPI要求HS 工作在1GHz 的频率下,完成共模信号为0.2v 差模信号为0.2v 的差分

  信号的传输;

  *LP 传递控制信号,要求高电平为1.2v 低电平为0的电平信号输出;

  *HS 及LP 状态下,输出信号的电学特性要求非常苛刻,具体电学性能的要求可见

  附带文档表格。

  *MIPI是双向可选的,可以高速发送,也可以进行高速接收,或收发功能同时具备,

  我们目前根据需求仅做了发送功能;

  *MIPI的HS模式(0.2V),传送图像数据,速度为80Mbps ~ 1000Mbps;

  *MIPI的LP模式(1.2V),可以用于传送控制命令,最高速度为10Mbps;

  *MIPI规定,任一个MIPI设备必须Escape Mode,此为Low Power Data

  Trabsmission Mode,LP模式中的一种,此模式下可低速传输图像或其他数据。

  *MIPI规定了Low Power Mode、 Ultra Low Power Mode的电压范围、以及它们

  之间、它们与HS模式之间的相互切换方式或相关要求;

  *MIPI D-PHY是各个MIPI工作组共用的物理层规范;

  最后,需要注意一点:

  BTA:bus turn around,用来host接受外设发送命令或应答信号用的,如果host DPHY设置了这个,

  但是lcd不支持的话,就有可能有问题。

你可能感兴趣的:(总线类,驱动领域,底层驱动)