手机高速接口之MIPI C-PHY协议

 

MIPI C-PHY是手机中的重要接口,它的速率比D-PHY还要高,其速率单位是symbol/s/lane,而D-PHY的速率单位是bit/s/lane,换算关系是1 Symbol = 2.28 bits。

今天着重介绍下C-PHY内容,包括对协议的人肉解析、C-PHY不需要时钟的原因,内容较多,建议收藏。

C-PHY和D-PHY在pin map上有个重要的区别:C-PHY没有单独的时钟通道,它的时钟隐藏在通信的时序之中。Dphy是每条lane是一对差分线,而Cphy每条lane是3条数据线,彼此差分。下图是使用3 lane的C-PHY接口链路示意图,一条lane包含3条信号线,3条信号线彼此做差分。

同D-PHY一样,C-PHY也有LP(低功耗)和HS(高速)两种工作模式,我们着重介绍HS时的特点。

先看下C-PHY的波形,下图是一条lane中A、B和C三根数据线在高速模式时、分别对地的单端信号的波形,可见C-PHY在高速模式时是有高、中、低三种电平状态。

这三条线彼此作差后得到的眼图波形如下图,三种电平彼此作差,作差后的眼图有3个窟窿4种电平,从上到下的4个电平依次定义为strong1,weak1,weak0,strong0。

那么是strong是怎么通过单端信号得到的呢?

Wire state(线状态)

C-PHY按照信号线不同高低电平搭配被分成6个wire state,分别为+X、-X;+Y、-Y;+Z、-Z,详见下表。

举例说明:当A、B、C三条线在HS模式下,分别为高、低、中这三种电平,则将此时的wire state定义为+X,见下图+X部分;同理,当A、B、C分别为高、中、低时,则定义为-Z。

Strong 1、weak1的定义

CPHY每条lane分为A、B、C三根信号线,两两作差就是Va-Vb、Vb-Vc、Vc-Va,得到的差具有4种电平,从上到下分别被定义为strong1,weak1,weak0,strong0。比如上图中,+X状态下,Va-Vb(红-绿)得到的电平最高,被定义为strong1;-Y状态下,Va-Vb得到的电平为弱高,被定义为weak1。以此类推就可以得到weka0和strong0了,就和下面测试时的眼图对应上去了。

协议解析

我们要传输的信息是被编码到wire state中的,上文已经介绍CPHY具有+x、-x、+y、-y、+z、-z 6种wire state,当信号处于其中一种状态时,只能往剩下的5中状态切换,不会保持不变,哪怕CPHY传输的数据流不变,信号本身也会一直变化,信息被编码到状态与状态切换之中,被称之为symbol编码,换句话说,一共只有6条路,你占了一条,接下来只能往剩下的5条路里走

举例如下,wire state从+X到-Y变化时,根据下面的状态转移图,传输的信息(symbol)就是011;从-Y到-Z传输的信息就是010,如果想要继续保持传输010,那么wire state就要从-Z变到-X,数据和时钟信息都被编码到symbol中,即都被编码到切换的过程中了,因此Cphy也就不需要格外拉一条时钟线了。

以上就是CPHY的介绍。

作者:极客石头

在搞事情的路上越走越远。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注