1.基本概念

在MIPI目前公布的协议中,有3类基于摄像头的接口,一个是前几年大行其道的D-PHY接口,一个是C-PHY接口,还有一个是M-PHY接口。

D-PHY接口一般是1/2/4 Lane,每个Lane走差分线对,是电流驱动型,单信号幅度一般是200mv,线对差分的幅度在400mv左右,布线要求是等长且成双成对,
   D-PHY是有单独的同步时钟来进行同步,最多是10根线,但解码接收要容易些;
而C-PHY接口是1/2/3 Trio,每个Trio走3根线,最高是9根线,比D-PHY要少一根,且要传输的数据量大一些,
   在同样是2.5G的速率下,C-PHY可以达到17.1G,而D-PHY只有10G。
C-PHY是电压驱动型,由于是两两相差,信号幅度绝对值分别是0,100,200mv,信号较弱,不利于传输。
   没有单独的同步信号线,必须要求传输距离短,不能走差分线对。

而M-PHY呢,类似于USB,完全是异步传输,目前没有对应的sensor上市,所以今天不做过多的介绍了

2. DPHY和CPHY接口协议比较

MIPI是移动领域最主流的视频传输接口规范,没有之一,目前应用最广泛的是MIPI DPHY和MIPI CPHY两组协议簇(另外还有MIPI MPHY,属于高速Serdes范畴,应用不那么广泛),其中CSI-2主要用于图像接入(一般是接Sensor),DSI-2主要用于图像输出(一般是输出到显示屏)。

本文主要以CSI-2为例进行仔细说明,DSI-2雷同,举一反三即可。

1.接口协议比较

关于MIPI DPHY和MIPI CPHY的详细物理层协议和CSI-2/DSI-2协议咱们自己下载官方英文版细细品读即可,这里主要讲关键点。

1.1物理层

开局一张图(见下图1),内容是干货,MIPI CPHY和DPHY物理层之间的差异全在这张图里面了。

图1 MIPI DPHY和CPHY物理层直观比较图

​ ​ ​从图1可以看出,最直观的差异是DPHY是源同步系统,有专门的同步时钟通道,但是CPHY没有同步时钟,时钟是嵌入到数据中的。显然的,实现嵌入时钟的目的是为了增加带宽,肯定会涉及到编码,物理层的结构必然是完全不同,单从线路上看,CPHY是一个A/B/C三线系统

MIPI DPHY的物理层,咱们大家都很清楚,一对时钟,几对数据,接收端根据时钟边沿采样数据,找到0xB8的同步头,物理层实现就算是齐活了,但MIPI CPHY不同,因为它不传输时钟,那么要接收CPHY的数据,必须先恢复时钟,然后再用恢复的时钟采样数据并寻找同步头,最后还需要进行数据解码恢复出最初的发送的内容(发送端的过程相反)。

那么,CPHY物理层到底是怎么实现嵌入时钟这一关键步骤的呢?请看下图2和图3。

图2 CPHY“线态”变化图


                                            图3 CPHY接口等效电路图

结合图2和图3,CPHY物理链路(A/B/C线)上传输的是不同的电平,通过A-B,B-C,C-A的电平运算,恢复出+x,-x,+y,-y,+z,-z六种不同的线态,通过前后线态的旋转方向,相位和极性恢复出编码符号,再通过连续7组符号解码出16bit的数据,整个过程见下图4。


                                                  图4 数据恢复过程图

为何要选择这比DPHY复杂多的物理层呢?一切都是为了提升带宽,从图2可以看出,某种线态的可能有5种不同的变化,那么它每个符号可编码的数据为log2(5) = 2.3219,理论带宽为DPHY的2.3219倍,每16bit数据编码成7个符号,带宽优势明显。

1.2 CSI-2层

MIPI CPHY和MIPI DPHY的CSI-2层协议大致相同,细节上的差异如下:

DPHY以Byte为单位进行数据组织;CPHY以16bit Word为单位进行数据组织;
 DPHY 的短帧和长帧的帧头信息与数据的组织方式相同;CPHY则是固定每个通道为6×16bit的帧头信息(短帧信息),见下图5。
  
                                                    图5 CPHY CSI-2数据组织

因此,在CSI-2解包逻辑尚无法完全共用。

2. FPGA实现

MIPI接口电平比较特殊,LP模式下为1.2V的LVCMOS电平,DPHY在HS模式下为SLVS-400电平,CPHY在HS模式下需要做电平减法运算。

2.1 硬件电路

就目前而言,直接支持MIPI DPHY的FPGA主要有Xilinx UltraScale+系列(1.5Gbps/Lane Max)Lattice Crosslink(1.5Gbps/Lane Max)及Lattice Crosslink NX(2.5Gbps/lane Max),其它型号的PFGA均需添加额外的电平转换电路将信号转换为LVDS。

(1) DPHY,低于800Mbps/lane速率,使用电阻网络即可;高速率的需选用专门的电平转换芯片,如MC20901、LT89101L等;

(2)CPHY,因为需要做减法运算,故可用专门的告诉比较器(或Repeater),结果以LVDS电平输出。

2.2逻辑实现

逻辑实现的差异主要在物理层,CPHY和DPHY完全不同。

2.2.1 MIPI DPHY

MIPI DPHY属于源同步系统,转换为LVDS电平后就是一个通用的ISERDES逻辑,主要是时钟方案有两种考虑:

第一种:使用PLL、MMCM或DLL,此种方案对PLL的锁定时间有较高的要求,通常要求us级才能保证在时钟不连续模式下正常锁定,当然具有专用DPHY逻辑的器件有专门的PLL电路实现。这种方案的好处是不易受时钟毛刺的影响,接收较为稳定。

第二种:在源同步时钟基础上使用专门的时钟buffer分频(如Xilinx 7系列的BUFR),这种方案可适应任意速率,不需要预先设定速率来配置锁相环电路,缺点是易受时钟毛刺影响,出错率稍高。

2.2.2 MIPI CPHY

MIPI CPHY的难点是时钟恢复,在FPGA系统中,没有针对MIPI CPHY的专用时钟恢复电路(CDR),因此,需要充分利用CPHY的线态编码均衡和FPGA可编程延时电路的特点来实现CDR,这种方案理论上要求FPGA内部延时逻辑越精确越好,LUT时钟性能越高越好,这样会把时钟恢复误码和抖动降到最低。时钟恢复完成后,线态解码、符号解码和数据恢复流程见图4。

总之,MIPI CPHY在MIPI DPHY的基础上成倍增加了带宽,减少了线对数量,在高速大靶面传感器和高分高刷新移动设备OLED应用上越来越普及。

3. 小结

有趣的地方来了,与D-PHY以0、1的电平表示编码不同,C-PHY用状态的跳转表示编码,如从-y跳转到-x,代表的是000。从000到100共5种状态转移方式,好比作“5进制”,7位“5进制”数,即可表示16 bits的数据(见下图),多余的编码甚至能留作日后他用。

C-PHY Mapping

因此,在1个周期内,D-PHY只能表示1bit(0或1)的数据,C-PHY却能表示16/7≌2.28bit的数据(16bit的数据需要7个周期),编码效率大大提升,因此数据的最大传输速率能达到D-PHY的约1.7倍!

D-PHY and C-PHY Comparison

D-PHY and C-PHY Comparison

当然缺点也是存在的,为了实现速率的提升,3-wire的定义使得硬件设计更加复杂,2-wire的PCB差分走线已足够使工程师头疼,更何况3-wire。

C-PHY Version vs Data Rate

/ {

cam_ircut0: cam_ircut {

status = "okay";

compatible = "rockchip,ircut";

ircut-open-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;

ircut-close-gpios  = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;

rockchip,camera-module-index = <0>;

rockchip,camera-module-facing = "back";

};

};

//CSI Camera Port

&csi2_dcphy0 {

status = "okay";

ports {

#address-cells = <1>;

#size-cells = <0>;

port@0 {// rx port

reg = <0>;

#address-cells = <1>;

#size-cells = <0>;

mipi_in_ucam0: endpoint@1 {

reg = <1>;

remote-endpoint = <&imx415_out0>;

data-lanes = <1 2 3 4>;

};

};

port@1 {//tx port

reg = <1>;

#address-cells = <1>;

#size-cells = <0>;

csidcphy0_out: endpoint@0 {

reg = <0>;

remote-endpoint = <&mipi0_csi2_input>;

};

};

};

};

&csi2_dcphy0_hw {

status = "okay";

};

&i2c5 {

status = "okay";

imx415: imx415@1a {

compatible = "sony,imx415";

reg = <0x1a>;

clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;

clock-names = "xvclk";

pinctrl-names = "default";

pinctrl-0 = <&mipim0_camera1_clk>;

power-domains = <&power RK3588_PD_VI>;

pwdn-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;

avdd-supply = <&vcc_mipidcphy0>;

rockchip,camera-module-index = <0>;

rockchip,camera-module-facing = "back";

rockchip,camera-module-name = "CMK-OT2022-PX1";

rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";

lens-focus = <&cam_ircut0>;

port {

imx415_out0: endpoint {

remote-endpoint = <&mipi_in_ucam0>;

data-lanes = <1 2 3 4>;

};

};

};

};

摄像头配置设置,注意

1.pwdn pin设置上电;

2.I2C通信功能是否正常

3.port连接不同的CSI接口

原文链接:https://blog.csdn.net/haoxingheng/article/details/106223254

https://blog.csdn.net/jzwjzw19900922/article/details/104966454

MIPI-CPHY、DPHY和MPHY基本介绍相关推荐

  1. MIPI C-PHY/D-PHY/ UFS/ SDIO/eMMC/DP/eDP/DDR5/LPDDR5/I3C/PCIE/Automotive Ethernet/Serdes......测试方案

    MIPI C-PHY/D-PHY/ UFS/ SDIO/eMMC/DP/eDP/DDR5/LPDDR5/I3C/PCIE/Automotive Ethernet/Serdes-测试方案介绍_Reete ...

  2. MIPI入门——D-PHY介绍(一)

    D-PHY种的PHY是物理层(Physical)的意思,那么D是什么意思呢?在MIPI D-PHY的文档中有提到过,D-PHY的最初版本的设计目标是500Mbits/s,而D是罗马数字(拉丁文数字)中 ...

  3. 一文了解MIPI 协议中的SPMI接口介绍

    MIPI联盟规格书不少接口的协议, 今天就看一下SPMI,了解PMIC电源管理芯片的人都知道,现在很多主芯片和PMIC都使用此接口进行通信,这里就简单介绍一下此接口. 首先SPMI全程System P ...

  4. OmniVision 2017产品发布会要点整理

    1.OV公司简介 成立与1995年 提供多样的CMOS传感器和影响解决方案 在手机.笔记本.汽车.安防.机器视觉.医疗和其他新兴应用领域提供解决方案 被中国财团华创投资.中信资本和金石投资收购,人事变 ...

  5. MIPI D-PHY M-PHY C-PHY

    MIPI D-PHY D-PHY的物理层支持HS(High Speed)和LP(Low Power)两种工作模式.HS模式下采用低压差分信号,功耗较大,但是可以传输很高的数据速率(数据速率为80M-1 ...

  6. Introspect MIPI D-PHY/C-PHY DSI/CSI总线协议分析仪(Analyzer)

    MIPI总线协议分析仪 Introspect在2016年所推出的SV3C是业界第一款能同时支持MIPI C-PHY与D-PHY的协议分析仪并支持CSI-2 / DSI-2封包解译,兼具体积小与高性能的 ...

  7. MIPI 系列之 D-PHY

    目录 1.简述 2.管脚连接 3.D-PHY 的时钟 4.D-PHY Lane (Clock Lane And Data Lane) 4.1.信号摆幅 4.2.信号含义 4.3.状态码 5.传输特性和 ...

  8. 【科普贴】MIPI协议之D-PHY协议详解

    一. 介绍 MIPI:全称移动行业处理器接口(Mobile Industry Processor Interface).MIPI是由MIPI联盟发起的为移动应用处理器制定的开放标准. MIPI可分为物 ...

  9. MIPI 打怪升级之D-PHY篇

    目录 前言 1 D-PHY 简述 2 D-PHY硬件结构 2.1 Lane模型 2.2 D-PHY Lane State 2.3 配置选项 3 D-PHY Operation 3.1 D-PHY La ...

最新文章

  1. 通过分析一个C程序的汇编指令执行过程,理解计算机的工作。
  2. java throw 接口_Java基础系列-throw、throws关键字
  3. 使用自定义断言丰富测试代码
  4. c语言插入排序_还有这种操作?C语言插入排序算法,一点就透
  5. 【APICloud系列|37】百度开放平台应用+,提升用户下载量操作步骤
  6. 为什么越有钱的人越轻松
  7. scrapy[skp]快速入门
  8. html 层次选择器,jquery层次选择器
  9. Fortran入门教程(三)——输入输出
  10. java ffmpeg amr转wav_FFmpeg转音频格式为wav
  11. 笔记本电脑桌面的计算机图标不见了,笔记本电脑桌面显示没了怎么办呢
  12. 纯css实现二级下拉菜单
  13. 萌言萌语|测试工作日报及总结
  14. CF Bottles 0-1背包
  15. 北京化工大学计算机类分流,北京化工大学A类学科名单有哪些(含A、B、C类学科名单)...
  16. 管理员如何保证企业邮箱的安全?【企业邮箱申请】
  17. 「DNS」和「CDN」
  18. 初级前端工程师课程导航-姜威-专题视频课程
  19. 微电子电路——反相器网表详解
  20. ModelSim入门FPGA仿真基础教程之一:软件介绍

热门文章

  1. 选择结构习题:输入0~6的数字,输出对应星期的英文。
  2. 算法设计之DP练习(组硬币问题)
  3. 知一的 2021 年已读书单
  4. java毕业生设计高校固定资产采购预算申报系统计算机源码+系统+mysql+调试部署+lw
  5. python合并excel工作簿_Python pandas实现excel工作表合并功能详解
  6. java使用poi在word模板中替换柱状图、折线图、饼图、表格、文本、图片
  7. Web实现:单行文本超出省略强制不换行
  8. 四年级计算机的知识,四年级计算机教案
  9. 划分问题——动态规划
  10. 提交表单后显示.asp源代码