一、物理层

物理层规范了传输介质、电气特性、IO电路、和同步机制。通俗地说,就是指定物理层构建的规则,比如指定如何拿到数据、怎样编码、转化成怎样的电信号、通过多少根/组通道送出去等等。

CSI和DSI的物理层由专门的工作组负责制定。在目前公布的协议中有三类基于摄像头的物理层接口,分别是D-PHY、C-PHY和M-PHY。其中最为简单基础、使用最广泛的是D-PHY接口,2009年发布D-PHY 1.0版本。

为了提供更高的接口带宽和更好的通道布局灵活性,CSI-2 v1.3引入了C-PHY接口。C-PHY 1.0是MIPI联盟于2014年9月发布的新物理接口,能够兼容之前的D-PHY v1.2版本。

D-PHY和C-PHY都是串行接口,它们解决了并行的接口的很多问题,比如降低了接口功耗,改善了并行难以扩展的问题。物理层协议除了这两者外还有M-PHY——这是一种高速Serdes接口,异步传输,相较于D-PHY有更少的引脚和更高的信号传输速度,但在移动端应用的还没有那么广泛,此处不做重点讨论。

二、D-PHY的两种工作模式

D-PHY的最初版本的设计目标是500Mbits/s,D是罗马数字(拉丁文数字)中500,D-PHY由此的命得名。D-PHY是一种高速、低功耗的源同步物理层,由于采用了高功效设计,因此非常适合功耗大的电池供电设备使用。D-PHY里同时包含了有助于实现高功效的高速模块和低功耗模块。载荷数据(图像数据)使用高速模块,控制和状态信息的发送(在照相机/显示器和应用处理器之间)使用的是低功耗模块(利用低频信号)。它具有在单个数据包脉冲中发送高速和低功耗数据的特殊能力。低功耗模块有助于节省功耗,高速模块则有助于实现高清晰度照片质量数据信号要求的较高带宽。

D-PHY的物理层支持HS(High Speed)和LP(Low Power)两种传输模式,两种模式使用不同的传输电平和传输机制。

HS模式 LP模式
传输模式 低压差分信号传输 单端信号传输
信号电平 100mV ~ 300mV 0 ~ 1.2V
传输速度 80Mbps ~ 1Gbps(v1.0)或80Mbps ~ 1.5Gbps(v1.1) <10Mbps
功耗

差分信号和单端信号的含义可以参考这篇文章。

在HS模式下,使用源同步的传输方式,由主机(Master)设备向从机(Slave)设备提供DDR时钟。使用差分信号传输。

在LP模式下,使用单端信号传输,HS模式下用作差分传输的通道会被拆分成两根独立的信号线。

无论是HS模式还是LP模式,都采用LSB fisrt、MSB last的传输方式。两种模式的结合保证了MIPI总线在需要传输大量数据(如图像)时可以高速传输,而在不需要大数据量传输时又能够减少功耗。

三、通用Lane的结构

Lane的英文原意是“航道”,在这里我们可以理解成两个不同的模块间完成信息运输的通道。

两块使用D-PHY连接的芯片,中间使用差分信号对进行连接,收发端各有一个Lane模块,完成数据收发。Lane模块和中间的连线,共同构成了完整的数据数据传输通道,是整个协议物理层核心。下图就是一个完整的双向数据传输Lane模块(MIPI里称为Universal Lane )的示意图,是D-PHY的基本信息传输单元。


Universal Lane由一对高速收发器(HS-TX、HS-RX)、一对低功耗收发器(LP-TX、LP-RX)、一个低功耗竞争检测器(LP-CD)和Lane的控制逻辑组成。所有收发模块均共用同一对差分线Dp、Dn(在LP模式下,为两根单独的信号线)。整个Lane通过PPI接口(PHY Protocol Interface)与系统的其他部分连接。

双向:Bidirectional
单向:Unidirectional

Universal Lane是支持双向通信的,只需要单向通信的Lane都是在这个基础做一定的简化。在只需单向通信的系统中,如CSI,主机(一般固定为Transmitter)则不需要RX模块,从机(一般固定为Receiver)则不需要TX模块。

此外,即使在双向通信的系统中,Clock Lane的信号也只需要从主机发送到从机,不需要反向传输。当数据由从机发送给主机时,DDR时钟依旧由主机提供。

四、数据Lane的三种操作模式

数据Lane的三种操作模式:

  • Burst Mode:高速模式。
  • Control Mode:低功耗模式下的控制模式。
  • Escape Mode:低功耗模式下的逃避模式。

在正常的操作时,数据通道处于高速模式或者控制模式。
Burst Mode和Escape Mode之间不可以直接来回切换,必须通过Control Mode进行中转,即
Burst Mode ↔ Control Mode ↔ Escape Mode

1. 高速模式(Burst Mode)

高速模式,是HS状态下的模式,用来传输图像。在高速模式下,通道状态是差分的0或者1,也就是线对内Dp比Dn高时,定义为1;Dp比Dn低时,定义为0。此时典型的线上电压为差分200MV。

2. 控制模式(Control mode)

控制模式是LP状态下的一种模式。高电平典型幅值为1.2V,此时Dp和Dn上的信号不是差分信号而是相互独立的。当Dp为1.2V,Dn也为1.2V时,MIPI协议定义状态为LP11;当Dp为1.2V,Dn为0V时,定义状态为LP10,依此类推,控制模式下可以组成LP11,LP10,LP01,LP00四个不同的状态。

MIPI协议规定,将控制模式的4个不同状态组成不同时序,用来代表着将要进入或者退出某种模式。比如LP11-LP01-LP00序列后,进入高速模式。

3. 逃避模式(Escape mode)

逃避模式是数据Lane在LP状态下的一种特殊操作。在这种模式下,可以进入一些额外的功能:LPDT(低功耗数据传输模式), ULPS(超低功耗模式), Trigger。一旦进入Escape mode模式,发送端必须发送1个8-bit的命令来响应请求的动作。

数据Lane进入Escape mode通过LP-11→LP-10→LP-00→LP-01→LP-00

退出Escape mode:LP-10→LP-11

MIPI简介(二)——D-PHY相关推荐

  1. TiDB 简介(二)

    参考:TiDB 简介_福海鑫森的博客-CSDN博客_tidb开发语言 TiDB 简介 | PingCAP Docs TiDB 是 PingCAP 公司自主设计.研发的开源分布式关系型数据库,是一款同时 ...

  2. 单元测试及NUnit测试框架简介(二)

    一.单元测试框架的选择 在选择单元测试框架时,可以从以下几个方面去考虑: 支持自动检测注册用例:框架能否支持简单地构造用例并自动注册测试用例到测试框架中: 支持测试Fixture:即是否支持为一组测试 ...

  3. PP模块快速入门之功能简介(二)

    根据以下任何一个随机模型进行预测:平均移动 ,指数平滑常数模型 ,指数平滑趋势模型 ,指数平滑季节性模型 ,组合趋势/指数平滑季节性模型 R/3可以用最适用分析来自动地选择随机模型,你也可以人工选择模 ...

  4. web API简介(二):客户端储存之document.cookie API

    概述 前篇:web API简介(一):API,Ajax和Fetch 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据.document.cook ...

  5. 【FFmpeg】FFmpeg 相关术语简介 二

    文章目录 一.码率与帧率 二.ffmpeg.ffplay.ffprobe 可执行文件 一.码率与帧率 帧率 : 帧频率 , 视频中每秒钟含有视频帧的帧数 , 一秒钟刷新多少张图像 , 连续移动的图像至 ...

  6. GCD简介二:多核心的性能

    一.概念 为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术.在低层,GCD全局dispatch queue仅仅是工作线程池的抽象.这些队列中的Block一旦可用,就会被dispatch到工 ...

  7. 网站开发综合技术 一 JavaScript简介 二JavaScript语法

    第1部分 JavaScript简介 1.JavaScript它是个什么东西? 它是个脚本语言,需要有宿主文件,他的宿主文件是html文件. 2.它与Java有什么关系? 没有什么直接联系,java是S ...

  8. python运输问题_Pyomo使用简介(二):运输问题

    上次讲到了基础的求最优化问题,这次将会主要主要涉及到运输问题. 在Pyomo的使用过程中,模型分为Concrete和Abstract模型. 不论是什么模型,在建模的构建中,一些Model Compon ...

  9. MIPI简介(一)——基础概念介绍

    MIPI全称Mobile Industry Processor Interface,即移动产业处理器接口.MIPI联盟在2003年由ARM, Nokia, ST ,TI等公司成立,成员包括手机设备制造 ...

最新文章

  1. VS 打开No EditorOptionDefinition export found for the given option name问题解决
  2. 人体姿态估计--Learning Feature Pyramids for Human Pose Estimation
  3. Navicat连接MySQL8.0出现乱码的解决方案
  4. Android获取相册图片
  5. 统计学习导论:基于R应用——第二章习题
  6. LeetCode 650. 只有两个键的键盘(DP)
  7. 技术需求趋势报告:移动、社会化、电子商务最热
  8. 原生js获取宽高与jquery获取宽高的方法的关系
  9. 企业数字化劳动力-Srise RPA产品
  10. 实验吧-欢迎来到地狱题解
  11. oracle出现ora 12514,ora-12514报错解决方法
  12. copyproperties爆红_一屋模玩怎样不能价值300万?分分钟用超.......
  13. React 如何快速上手
  14. 后台管理系统开发流程
  15. Android第三方视频加载框架JCVideoPlayer
  16. usb接上计算机没反应怎么办,u盘插上去电脑没反应怎么办 u盘插上后无任何反应的解决教程...
  17. 流媒体-H264协议-编码-x264学习-相关概念x264编译及文件解析(一)
  18. 网站添加“富强·民主·爱国”鼠标点击特效美化
  19. RK3568平台开发系列讲解(调试篇)PCIe调试详解
  20. 储罐液位计算机控制系统,罐区测量流量计液位计工程设计仪表选型

热门文章

  1. C语言的函数实现模板化程序
  2. matlab 显示图像 画布太大,canvas画图被放大且模糊的解决方法
  3. 教师资格证计算机科目有哪些内容,初中教师资格证考试科目有哪些 有什么考试技巧...
  4. electron-egg 通信
  5. Unity1.16 坐标系分类/监控面板中的Terrian/导入素材包
  6. 【附源码】Java计算机毕业设计卡通动漫商城系统(程序+LW+部署)
  7. [NC18386]字符串
  8. centos怎么用命令关机_【转】centos关机与重启命令详解
  9. 有关《征途》的比较全面的评论
  10. 怎样验证服务器的身份,如何在服务器上配置身份验证和加密