物理层规范了传输介质、电气特性、IO电路、和同步机制。通俗地说,就是指定在MIPI协议的最底层物理层,发送端Tx如何拿到上层编码好的数据、转化成怎样的电信号、并通过多少根/组通道以何种形式发送给接收端Rx等等。
CSI和DSI的物理层由专门的工作组负责制定。在目前公布的协议中有三类基于摄像头的物理层接口,分别是D-PHY、C-PHY和M-PHY。其中最为简单基础、使用最广泛的是D-PHY接口,2009年发布D-PHY 1.0版本。
为了提供更高的接口带宽和更好的通道布局灵活性,CSI-2 v1.3引入了C-PHY接口。C-PHY 1.0是MIPI联盟于2014年9月发布的新物理接口,能够兼容之前的D-PHY v1.2版本。
D-PHY和C-PHY都是串行接口,它们解决了并行的接口的很多问题,比如降低了接口功耗,改善了并行难以扩展的问题。物理层协议除了这两者外还有M-PHY——这是一种高速Serdes接口,异步传输,相较于D-PHY有更少的引脚和更高的信号传输速度,在移动端应用的还没有那么广泛,但在车载领域应用较多,此处暂时不做重点讨论。
D-PHY的最初版本的设计目标是500Mbits/s,D是罗马数字(拉丁文数字)中500,D-PHY由此的命得名。D-PHY是一种高速、低功耗的源同步物理层,由于采用了高功效设计,因此非常适合功耗大的电池供电设备使用。D-PHY里同时包含了有助于实现高功效的高速模块和低功耗模块。载荷数据(图像数据)使用高速模块,控制和状态信息的发送(在照相机/显示器和应用处理器之间)使用的是低功耗模块(利用低频信号)。它具有在单个数据包脉冲中发送高速和低功耗数据的特殊能力。低功耗模块有助于节省功耗,高速模块则有助于实现高清晰度照片质量数据信号要求的较高带宽。
D-PHY的物理层支持HS(High Speed)和LP(Low Power)两种传输模式,两种模式使用不同的传输电平和传输机制。
HS模式 | LP模式 | |
---|---|---|
传输模式 | 低压差分信号传输 | 单端信号传输 |
信号电平 | 100mV ~ 300mV | 0 ~ 1.2V |
传输速度 | 80Mbps ~ 1Gbps(v1.0)或80Mbps ~ 1.5Gbps(v1.1) | <10Mbps |
功耗 | 大 | 小 |
差分信号和单端信号的含义可以参考这篇文章。
在HS模式下,使用源同步的传输方式,由主机(Master)设备向从机(Slave)设备提供DDR时钟。使用差分信号传输。
在LP模式下,使用单端信号传输,HS模式下用作差分传输的通道会被拆分成两根独立的信号线。
无论是HS模式还是LP模式,都采用LSB fisrt、MSB last的传输方式。两种模式的结合保证了MIPI总线在需要传输大量数据(如图像)时可以高速传输,而在不需要大数据量传输时又能够减少功耗。
Lane的英文原意是“航道”,在这里我们可以理解成两个不同的模块间完成信息运输的通道。
两块使用D-PHY连接的芯片,中间使用差分信号对进行连接,收发端各有一个Lane模块,完成数据收发。Lane模块和中间的连线,共同构成了完整的数据数据传输通道,是整个协议物理层核心。下图就是一个完整的双向数据传输Lane模块(MIPI里称为Universal Lane )的示意图,是D-PHY的基本信息传输单元。
Universal Lane由一对高速收发器(HS-TX、HS-RX)、一对低功耗收发器(LP-TX、LP-RX)、一个低功耗竞争检测器(LP-CD)和Lane的控制逻辑组成。所有收发模块均共用同一对差分线Dp、Dn(在LP模式下,为两根单独的信号线)。整个Lane通过PPI接口(PHY Protocol Interface)与系统的其他部分连接。
双向:Bidirectional
单向:Unidirectional
Universal Lane是支持双向通信的,只需要单向通信的Lane都是在这个基础做一定的简化。在只需单向通信的系统中,如CSI,主机(一般固定为Transmitter)则不需要RX模块,从机(一般固定为Receiver)则不需要TX模块。
此外,即使在双向通信的系统中,Clock Lane的信号也只需要从主机发送到从机,不需要反向传输。当数据由从机发送给主机时,DDR时钟依旧由主机提供。
数据Lane的三种操作模式:
在正常的操作时,数据通道处于高速模式或者控制模式。
Burst Mode和Escape Mode之间不可以直接来回切换,必须通过Control Mode进行中转,即
Burst Mode ↔ Control Mode ↔ Escape Mode
高速模式,是HS状态下的模式,用来传输图像。在高速模式下,通道状态是差分的0或者1,也就是线对内Dp比Dn高时,定义为1;Dp比Dn低时,定义为0。此时典型的线上电压为差分200MV。
控制模式是LP状态下的一种模式。高电平典型幅值为1.2V,此时Dp和Dn上的信号不是差分信号而是相互独立的。当Dp为1.2V,Dn也为1.2V时,MIPI协议定义状态为LP11;当Dp为1.2V,Dn为0V时,定义状态为LP10,依此类推,控制模式下可以组成LP11,LP10,LP01,LP00四个不同的状态。
MIPI协议规定,将控制模式的4个不同状态组成不同时序,用来代表着将要进入或者退出某种模式。比如LP11-LP01-LP00序列后,进入高速模式。
逃避模式是数据Lane在LP状态下的一种特殊操作。在这种模式下,可以进入一些额外的功能:LPDT(低功耗数据传输模式), ULPS(超低功耗模式), Trigger。一旦进入Escape mode模式,发送端必须发送1个8-bit的命令来响应请求的动作。
数据Lane进入Escape mode通过LP-11→LP-10→LP-00→LP-01→LP-00
退出Escape mode:LP-10→LP-11