PHY(Port Physical Layer)是一个源同步,高速,低电压,低功耗的一个模块,特别适用
于mobile application。因此基于PHY,MIPI协议组又设计出了前面提到的DSI,以及CSI等。
PHY主要提供了Master和Slave之间的一个同步连接,一般由一个clock信号以及一个或
者多个data差分信号线组成。它有两种工作模式,就是前面提到的HS和LP mode.
在HS mode下,差分信号线同时工作,工作电压在200mV左右。虽然PHY理论配置HS mode下每个lane的传输速率在80Mbps到1Gbps,不过考虑到发送和接收端连接稳定性,电路PCB干扰等等,一般在实际使用中,每个lane速率一般最大在500Mbps。如果想要增大总bps,可以通过增加lane的数量的方式来实现。
在LP mode时,所有的线都是按照single-ended操作,说白了就是每个lane的两条data线工作都互不相干,工作电压为1.2V。最大传输速率只有10Mbps。
对于PHY内部结构,本文档不做介绍了,对于实际使用MIPI接口没有特别大帮助,当然,
对理解PHY是有好处的。
在HS和LP mode下,又有不同的state codes, 而且分解成了多种不同用途的modes,来
看下图:
在HS mode下有,有HS-0和HS-1两种state code,而在LP mode下,有LP-00, LP-01, LP-10,
LP-11四种state codes。这也应正了前面的说法: HS mode作为差分使用,所以一个lane上的两个线state肯定是一致的,因此只有0或者1两种状态。 然而,LP mode的两根线各自工作,因此合起来有4种不同的state codes。
这些不同的state codes任意组合到一起,又产生了不同的Modes, 如Escape mode, Burst mode等。对于clock和data lane的modes划分也是有区别的。接下来一一介绍。
Clk lane有三种不同的power modes: Low Power Mode(LPM), Ultra Low Power Mode(ULPM) 和 High Speed Clock Mode(HSCM).
当进入或者离开LPM或者ULPM或者HSCM时, clock lane 处于LPM。在这些不同的情况下,clock lane就会有不同的sequence。
有三种不同的情况可以进入LPM:
a) SW reset, HW reset或者Power On Sequency –> LP-11
b) 当离开ULPM时LP-00 -> LP-10 -> LP11,如下图:
c) 当离开HSCM时, HS0或者HS1 -> HS-0 -> LP-11,如下图:
当clock lane进入LP-00 state code时,可以再进入ULPM.而且唯一的方法是LP-11(LPM) -> LP-10 -> LP-00(ULPM)。如下图:
唯一能进入HSCM的流程是LP-11 -> LP-01 -> LP-00 -> HS-0 -> HS-0/1,如下图:
Clock lane在data通过data lane传输之前先开始,在data 通过data lane传输完成之后停止,如下图:
还记得DSI一章有降到clock的non-continuous clock behavior 和 continuous clock behavior两种行为吗,其实他们的本质区别就是在LPM和HSCM之间做切换。
下面再来看看data lanse的各种modes。
Data lanes可以有三种不同的modes: Escape Mode, High-Speed Data Transmission, Bus Turnaround Request。三种模式的进入modes如下:
Escape mode可以用于如下用途:
a) 发送”Low-Power Data Transmission”(LPDT), 如从主机到显示模块。
b) 驱动data lanes进入“Ultra-Low Power State”(ULPS)。
c) 表示”Remote Application Reset”(RAR), 用来复位显示模块。
d) 表示“Tearing Effect”(TEE),用于从显示模块发送一个TE trigger事件给主机。
e) 表示”Acknowledge”(ACK),用于表示从显示模块发送给主机一个非错误事件。
Escape mode基本流程如下:
如上提到的各种用于通过其中的escape command来发送,一共有八种,如下图:
其中commands又划分成了Mode和Trigger两种,说白了就是主动发送和被动等待。
对于这些commands,这里就简单看下它的时序图:
LPDT:
ULPS:
RAR:
TEE:
ACK:
当clock lane进入HSCM之后,data lane才进入HSDT。在进入HSDT之前,PHY先产生SOT(start of transmission)发送,表示数据传输的开始。SOT和HSDT如下图:
有了SOT,当然也有EOT(end of transmission)来表示传输的结束。如下图:
SOT和EOT其实在DSI一章描述数据包种类(LP和SP)的时候就提到过了。
BTA主要是用于想从receiver那一段获取信息,可以是主机或者是显示模块。流程如下: