前面的文章中提到了,MIPI D-PHY协议中规定了两种模式:LP模式和HS模式。其中HS模式只在高速数据传输中使用,而LP模式则同时包含控制模式(Control Mode)、低功耗数据传输模式(LPDT)和极低功耗模式(ULPS)。为了方便描述,D-PHY的协议文档中定义了Lane State的描述方式(标记符号),具体如下图所示:
同时规定了Lane Type的表述方式:
举例来说,对于一个Unidirectional的系统来说,主机模块中的Data Lane至少需要包含HS-TX,LP-TX和CIL-MFXN;从机模块中的Data Lane则至少需要包含HS-RX、LP-RX和CIL-SFXN。对于一个支持反向HS模式通信的Bidirectional系统来说,主机模块中的Data Lane至少需要包含HS-TX、LP-TX、LP-RX、LP-CD和CIL-MFXY;而从机模块中的Data Lane则至少需要包含HS-RX、LP-RX、LP-TX、LP-CD和CIL-SFXY。当然,Bidirectional的通信系统也可以只支持LP的反向传输,而不支持HS的反向传输。
下面详细介绍一下,Control、High-Speed和Escape操作模式的进入和退出方式:
HS模式进入:LP11→LP01→LP00→SoT(Start of Transmission);
HS模式退出:EoT(End of Transmission)→LP11;
Escape模式进入:LP11→LP10→LP00→LP01→LP00→Entry Code;
Escape模式退出:LP10→LP11;
TX端反转数据通信方向请求(Turnaround):LP11→LP10→LP00→LP10→LP00;
随后,等待一段时间后,RX端接管,并切换为TX端发送:LP00→LP10→LP11,切换完成。如下图所示:
其中,Escape模式中的Entry Code有如下几种:
以一次HS传输过程(即HS Data Transmission Burst)为例:
使用示波器观察Data Lane得到的波形图如下所示:
前一篇文章中提到了,在LPDT模式下,Date Lane的时钟可以关闭,换句话说,就是LPDT模式不需要时钟同步,或者说是LPDT是异步传输数据的。下面以一次LPDT传输为例,简要地介绍一下:
从上图中,可以发现,只要Dp和Dn上有有效内容在传输,任意两个数据之间都至少插入了一个Space State(LP00),这就是所谓的Spaced-One-Hot Coding。显然,时钟信号可以从Dp和Dn信号中恢复出来,换一句话来说,此时的数据传输是Self-clocked的。
详细的状态(模式)转移图如下图所示:
其中,HS模式有时也被称为Busrt Mode,Low Power Mode包括Control Mode和Escape Mode。应当注意的是,Burst Mode和Escape Mode之间不可以直接来回切换,必须通过Control Mode进行中转,即:
Burst Mode↔Control Mode↔Escape Mode