当前位置:网站首页>MIPI C-PHY协议你了解吗?手机高速接口之一
MIPI C-PHY协议你了解吗?手机高速接口之一
2022-06-23 15:03:00 【工程师看海】
MIPI C-PHY是手机中的重要接口,它的速率比D-PHY还要高,其速率单位是symbol/s/lane,而D-PHY的速率单位是bit/s/lane,换算关系是1 Symbol = 2.28 bits。
以前介绍过D-PHY相关内容:
https://www.dianyuan.com/eestar/article-3322.html
今天着重介绍下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的介绍。
边栏推荐
- Volatile~ variables are not visible under multithreading
- mysql主从只同步部分库或表的思路与方法
- System design and analysis - Technical Report - a solution for regularly clearing verification code
- Thymeleaf——学习笔记
- Shandong: food "hidden money", consumption "sweeping monk"
- Analysis of graphical level-1 programming problem of Electronic Society: cat and mouse
- JS create an array (literal)
- PHP 2D array insert
- golang 重要知识:atomic 原子操作
- 【opencv450】椒盐噪声demo
猜你喜欢

Jsr303 data verification

golang 重要知识:定时器 timer

Volatile~ variables are not visible under multithreading

MySQL create and manage tables

labelme的JSON文件转成COCO数据集格式

Gartner's latest report: development of low code application development platform in China

Starting from 3, add paging function in the business system
![[datahub] LinkedIn datahub learning notes](/img/ca/9c4a87d38155edd093cbb81d81ee81.png)
[datahub] LinkedIn datahub learning notes

2021-05-22

After nine years at the helm, the founding CEO of Allen Institute retired with honor! He predicted that Chinese AI would lead the world
随机推荐
请问期货开户去哪个平台好?网上期货开户安全吗?
golang 重要知识:waitgroup 解析
golang 重要知识:atomic 原子操作
golang 重要知识:定时器 timer
力扣解法匯總513-找樹左下角的值
快速排序的簡單理解
SQL injection vulnerability (principle)
Starting from 3, add paging function in the business system
【Pyside2】 pyside2的窗口在maya置顶(笔记)
Important knowledge of golang: sync Cond mechanism
Unshift() and shift() of JS
golang 重要知识:RWMutex 读写锁分析
SFOD:无源域适配升级优化,让检测模型更容易适应新数据(附论文下载)
Jsr303 data verification
This year's cultural entertainers have turned their sidelines into their main business
Summary of operating system underlying knowledge (interview)
打印内存站信息
Error creating bean with name xxx Factory method ‘sqlSessionFactory‘ threw exception; nested excepti
golang 重要知识:mutex
The "shoulder" of sales and service in the heavy truck industry, Linyi Guangshun deep ploughing product life cycle service