【学习笔记】MIPI
MIPI介绍
MIPI是由ARM、Nokia、ST、IT等公司成立的一个联盟,旨在把手机内部的接口如存储接口,显示接口,射频/基带接口等标准化,减少兼容性问题并简化设计。
MIPI联盟通过不同的工作组,分别定义一系列手机内部的接口标准,如摄像头接口CSI、显示接口DSI、射频接口Dig RF等。统一接口标准可以使芯片和模组的选择更灵活便捷。
MIPI结构分为物理层、协议层和应用层。
应用层有摄像头CSI接口、显示屏DSI接口和基带和射频间Dig RF接口。
物理层分为DPHY、CPHY、MPHY,CSI-2协议支持使用D-PHY,也可用C-PHY。CSI-3只可使用M-PHY为物理层。目前车载行业主要使用DPHY,下图为DPHY与CPHY各版本接口与速率信息。
MIPI D-PHY
D-PHY接口一般是1/2/4 Lane,每个Lane走差分线对,是电流驱动型,单信号幅度一般是200mv,线对差分的幅度在400mv左右,布线要求是等长且成双成对;
MIPI C-PHY
C-PHY接口是1/2/3 Trio,每个Trio走3根线,最高是9根线,比D-PHY要少一根,是电压驱动型,由于是两两相差,信号幅度绝对值分别是0、100、200mv,信号较弱,不利于传输,但要传输的数据量大一些,
在同样是2.5G的速率下,C-PHY可以达到17.1G,而D-PHY只有10G;
C-PHY没有单独的同步信号线(时钟嵌入在数据信号中,这样做的目的是为了增加传输带宽,但是也引入了编码技术等),必须要求传输距离短,不能走差分线对。
MIPI D-PHY v1.2:
目前主流SERDES芯片及SOC均使用MIPI D-PHY v1.2版本接口
规格书中前部分章节大篇幅论述了D-PHY的几种内部实现结构,D-PHY采用的是非对称主从结构,即一个lane通道中同一时刻必须存在一个主,一个从。并根据以上传输方向性,定义了前向通道和反向通道,前向通道的数据速率与反向通道的的操作命令速率是不对称的。因此DPHY的非对称设计大大降低了链路的复杂性。适用于具有不对称数据量需求的应用程序,或单独设计反向通道的成本太高时。
MIPI主端与从端描述
D-PHY提供了主从之间的同步连接。一个实际的PHY配置由一对时钟差分信号(CLK_N/CLK_P)和一个或多个数据差分信号(DATA_N/DATA_P)组成。时钟信号是单向的,主发从收。数据信号可以是单向的,也可以是双向的,取决于所选的选项。对于半双工工作,反向带宽为正向带宽的1/4。数据的通信方向可以通过命令控制。
MIPI D-PHY v1.2 架构图
D-PHY支持高速和低功耗模式。低功耗模式可用于低速异步数据通信,包含控制模式(Control Mode)、低功耗数据传输模式(LPDT)和极低功耗模式(ULPS),高速模式用于传输有效数据。结合DPHY可支持半双工的特性,就衍生出了具有不同功能的lane属性,而集成不同lane的集合,就构成了不同的D-PHY结构,lane的差异主要体现在如下几点:
单端通信与双向通信区别
1.纯单端通信或双向通信,纯单端是不需要LP-CD模块的。
2.双端通信又可分为仅支持低功耗双端和高速低功耗模式均可双端的情况。(低功耗双端模式可以分为是否进行低功耗数据传输LPDT)
针对具有以上不同lane的D-PHY结构,就需要具有不同功能的CIL(Control and Interface Logic)模块来协同处理数据传输,其CIL后缀首字母缩写含义可参看以下表格。

DATA LANE
下面这张图说明了高速信号和低功耗信号的MIPI差分信号电压摆幅情况。
由于MIPI是差分信号,因此通过高低电平的组合,每对差分线应该有4种状态,但由于高速模式下差分电压仅为200mV,因此高速模式下只差分电压仅有P正N负与P负N正两种状态,因此lane状态则共有如下表所示的六种状态。一对lane中的正信号线为Dp,负信号线为Dn。
MIPI通信的所有操作模式、控制指令及数据传输都是基于以上六种lane的状态,分别有三种操作模式:控制模式、高速模式及Escape模式。控制指令包括高速数据传输 (LP-11, LP-01, LP-00)、Escape模式请求 (LP-11, 415 LP-10, LP-00, LP-01, LP-00) 、和传输方向切换请求 (LP-11, LP-10, LP-00, LP-10, LP-00)等。控制模式及Escape模式工作于LP电平,高速模式工作于HS电平。
高速模式及Escape模式可以在控制模式下通过不同LP指令搭配开始或结束。由于从低速模式到高速模式存在数据传输量的突然增大,因此在进入高速数据传输前数据通道的前后存在一些状态用于进行时钟线与数据线的同步。
High-Speed Data Transmission:
举个例子:数据传输启动与终止时序:
当需要发送数据时,DATA线通过一段SOT指令离开停止状态并开始数据传输。
在一段数据传输结束后,DATA线通过一段EOT指令离开高速传输模式并进入停止状态。
上图表示了一段数据需要传输时及传输前后的SOT/EOT时序。当存在多对DATA LANE时,每对LANE都可以独立的通过请求来发送数据,但大多数应用,LANE都是同步启动,但因为每条LANE传输的字节数不同,因此结束的时间不同。
Bi-directional Data Lane Turnaround:
对于双端数据传输模式,传输方向转换指令Turnaround所需的命令时序在手册中也有说明。
Escape mode:
Escape Mode指令是用来给MIPI提供一些额外功能处理能力的LP指令,前向通道下默认支持该功能,反向通道可选,可以通过与高速数据传输类似的指令进入Escape mode(LP-11, LP-10, LP-00, LP-01, LP-00)。进入该模式后Tx端可通过一个8位输入命令来指示所请求的操作。下表列出了当前所有可用的Escape模式命令和操作。
该模式下为异步通信,使用一种名为spaced-one-hot的编码,该模式下DATA线上的数据传输不依赖CLK,且无法在Esape mode操作期间退出。
spaced-one-hot编码的每个符号由一个one hot和一个spaced位组成,one hot包括Mark0(等于LP01)和Mark1(等于LP10),spaced相当于LP00,以Trigger-Reset Command为例一段完整的Escape Mode操作如下图所示:
从图中可以看出,退出Escape Mode模式必须通过Mark1并停留在LP11状态。
在Escape Mode指令中可以看到,LPDT数据传输和ULPS也是通过该模式进入。在LPDT模式下的数据传输仍然要按照spaced-one-hot编码的命令来传输,数据传输过程中可以通过保持一段SPACE状态(LP00)来进行暂停,同样可以使用MARK1(LP10)接LP11停止状态来推出到控制模式。LPDT模式下的数据传输频率<20MHz,主要用于低功耗数据传输。
CLK LANE
MIPI的CLK LANE为双边沿采样的单端信号,所以无论MIPI_DATA传输方向是正向还是反向,CLK时钟信号都为主端发送。且由于是单端信号,因此CLK LANE不支持Esape mode,仅能通过特殊的LP-Rqst指令进入ULPS状态。
只有当CLK LANE以及工作在HS模式时,才可以进行高速数据传输,同理,只有在所有的DATA LANE上都没有数据传输后,CLK LANE才可以推出HS模式,下面为CLK LANE开启和停止数据传输的时序图和具体指令:
结合上述时序图中CLK LANE的状态依次为:
1、CLK LANE处于交错高速信号HS-0和HS-1的状态,DATA LANE开始执行EOT程序;
2、最后一个DATA LANE完成EOT程序并进入LP11状态,CLK在此时仍然保持HS模式并允许一段时间Tclk-post;
3、CLK LANE最后以HS-0状态结束并维持一段时间Tclk-trail;
4、CLK LANE切换HS-TX驱动模块至LP-TX驱动模块,并驱动LP-11状态,保持Ths-exit时长。至此即进入了LP模式;
5、CLK LANE在保持LP11一段时间后驱动HS-Req状态(LP01)并保持一段时间Tlpx;
6、驱动Bridge state状态(LP-01),并维持一段时间Tclk-prepare;
7、CLK LANE切换LP-TX驱动模块至HS-TX驱动模块,并保持HS0一段时间clk-zero;
8、CLK LANE保持HS模式一段时间Tclk-pre后。Data Lane也开始启动SOT切换程序,随后开始HS数据传输。
以上所有时序中的时间要求,均可在MIPI D-PHY标准或SERDES手册中查到。
Initialization
MIPI-PHY初始化时需分为主端初始化和从端初始化,从端将会在主端PHY保持一个Stop State(LP11)状态超过Tinit时间后进行初始化。
主端初始化则需要一个系统或协议的指令(System or Protocol input signal)指令进行。在主端初始化之前,需要保证线上不会出现超过Tinit时长的LP11状态,以防止从端比主端先进行初始化。在初始化之前,从端应忽略线束上的所有状态,且当MIPI使用多路LANE时,所有LANE的初始化应同时进行。
Tinit的时间长度取决于协议层规定,因此不在PHY标准讨论范围之内,且Tinit Master与Tinit Slave可以为两个不同的值,但D-PHY规定了Tinit的最小值不可短于100us。
Calibration
Calibration为MIPI D-PHY v1.2新增功能,用于HS-Deskew校准,该校准允许MIPI速率从1.5Gbps/Lane提升到了2.5Gbps/Lane。HS-Deskew主要分为初始化校准Initial Deskew和周期性校准Periodic Deskew。
对于任何支持1.5Gbps速率的设备,当传输速率高于1.5Gbps或速率改变为1.5Gbps以上的任何速率时,在开始HS传输之前接收端都需要通过一段发送端发送的DESKEW完成校准。Deskew主要用于消除时钟和数据Lane之间可能存在的相位差。如果传输速率低于或等于1.5Gbps时,初始化校准是可选的。周期性校准与传输速率无关,任何速率都可以选择开或不开。此外,还可以进行周期性的deskew,当然这也是可选的。当仅仅是传输状态发送变化时,例如从任何低速率模式变为HS模式,HS-Deskew都是可选的,只要HS传输的速率在之前已经进行过校准。
从下图可以看出校准时序与普通SOT时序的不同,主要区别在SOT程序完成HS驱动并保持HS-0一段时间THS-ZERO后,校准模式会先保持一段HS Skew-Calibration SYNC(1111111……)总长为16UI,然后开始进行DeSkew校准TSKEWCAL(01010101010101),校准周期可选,初始化校准为32kUI-8*32kUI,周期性校准为1kUI-8kUI。而普通模式则是进行一段THS-SYNC(00011101)后就开始数据传输。
Normal Mode vs Skew Calibration
上述为DESKEW校准的启动时序,接收端若检测到该启动时序则会启动校准,校准的周期由发送端控制,校准周期结束后,发射端会保持THS-TRAIL一段时间并退出HS模式。DESKEW的SOT时序与EOT时序详细描述不再赘述。另外,手册中对于DeSkew校准TSKEWCAL的最长时间也有要求,初始化校准应小于100us,周期性校准应小于10us,这也是手册中初始化校准和周期性校准DESKEW周期最长分别为8*32kUI和8kUI的原因。
https://www.bilibili.com/read/cv22362354/ 出处:bilibili
相关文章:

【学习笔记】MIPI
MIPI介绍 MIPI是由ARM、Nokia、ST、IT等公司成立的一个联盟,旨在把手机内部的接口如存储接口,显示接口,射频/基带接口等标准化,减少兼容性问题并简化设计。 MIPI联盟通过不同的工作组,分别定义一系列手机内部的接口标…...
QMake 脚本知识点记录
1. 简单工程配置 QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11CONFIG debug # debug/release HEADERS demo.h # 头文件 列表 SOURCES main.cpp demo.cpp # 源文件 列表 FORMS mainwin.ui # 窗体 列表…...

Kubernetes配置管理(kubernetes)
实验环境: 在所有节点上拉取镜像;然后把资源清单拉取到第一个master节点上; 同步会话,导入镜像: configmap/secret 配置文件的映射 变量: 基于valuefrom的方式 cm--》pod 特点:变量的名称可…...

macOS与Ubuntu虚拟机使用SSH文件互传
1.ubuntu配置: 安装openssh服务: sudo apt-get install openssh-server -y 查看服务启动状态: systemctl status ssh 2.macOS使用scp连接ubuntu并发送文件 查看ubuntu IP : ifconfigmacOS终端连接ubuntu : sc...
defineExpose 显式导出子组件方法
当父组件调用子组件的script setup中的方法时,必须显式导出该方法。因为 script setup 中定义的变量和方法默认是局部的,只有显式导出后,父组件才能访问这些方法。 //父组件-Parent <template><el-button type"primary" …...
vue 解决列表界面进入明细返回查询条件不变
在Vue中,如果你遇到了列表界面进入详情页面后返回查询条件不变的问题,可能是因为你没有正确地管理状态或者是使用了不合适的组件间通信方式。 解决方案通常涉及到以下几点: 使用Vuex来管理状态,确保查询条件保存在全局状态树中&…...

华为NAT ALG技术的实现
双向NAT技术:经过防火墙的2报文源IP地址和目的IP地址都同时被转换,外网发送报文给内网服务器,先转换目的IP地址,然后符合安全策略后,在替换源IP地址,然后将记录写入防火墙会话表,并发送出报文&a…...

【移植】轻量系统STM32F407芯片移植案例
往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 介绍基于 STM32F407IGT6 芯片在拓维信息 Niobe407 开发板上移植 Op…...
k8s 修炼手册
deployment apiVersion: apps/v1 kind: Deployment metadata:name: hello-deploy spec:replicas: 10selector:matchLabels:app: hello-world # Pod的label # 这个Label与Service的Label筛选器是匹配的revisionHistoryLimit: 5progressDeadlineSeconds: 300minReadySeconds: 10…...

重回1899元,小米这新机太猛了
如果不出意外,距离高通年度旗舰骁龙 8 Gen4 发布还剩下不到一个月时间。 对于以小米 15 为首即将到来的下半年各家旗舰机型厮杀画面,讲道理小忆早已是备好瓜子儿摆上果盘翘首以盼了。 不过在这之前,中端主流选手们表示有话要说:为…...

jmeter本身常用性能优化方法
一、常用配置: 修改Jmeter.bat文件,调整JVM参数(修改jmeter本身的最小最大堆内存),默认都是1个G set HEAP-Xms5g -Xmx5g -XX:MaxMetaspaceSize256m我的本机内存是8G,那最大可以设置870%(本机内存的70%) 这里我设置的5g 如果有…...

Vue3中el-table组件实现分页,多选以及回显
el-table组件实现分页,多选以及回显 需求思路1、实现分页多选并保存上一页的选择2、记录当前选择的数据3、默认数据的回显 完整代码 需求 使用 dialog 显示 table,同时关闭时销毁el-table 表格多选回显已选择的表格数据,分页来回切换依然正确…...

柯桥韩语学校|韩语每日一词打卡:회갑연[회가변]【名词】花甲宴
今日一词:회갑연 韩语每日一词打卡:회갑연[회가변]【名词】花甲宴 原文:인구 노령화에 따라서 요즘 회갑연보다는 고희연을 더 많이 지냅니다. 意思:随着人口老龄化,最近比起花甲宴,更多人办古稀宴。 【原文分解】 1、인구[인구]…...
python概述
目录 python语言的特点 python语言的优点: python语言的缺点: 1.常用的python编辑器 PyCharm Jupyter Notebook VScode 模块的安装、导入与使用 安装 导入与使用 python语言的特点 1.简洁 2.语法优美 3.简单易学 4.开源:用户可自…...

使用celery+Redis+flask-mail发送邮箱验证码
Celery是一个分布式任务队列,它可以让你异步处理任务,例如发送邮件、图片处理、数据分析等。 在项目中和celery 有关系的文件如下: task.py : 创建celery.py 对象,并且添加任务,和app绑定,注意࿱…...

【第十四章:Sentosa_DSML社区版-机器学习之时间序列】
目录 【第十四章:Sentosa_DSML社区版-机器学习时间序列】 14.1 ARIMAX 14.2 ARIMA 14.3 HoltWinters 14.4 一次指数平滑预测 14.5 二次指数平滑预测 【第十四章:Sentosa_DSML社区版-机器学习时间序列】 14.1 ARIMAX 1.算子介绍 考虑其他序列对一…...

Vue3.X + SpringBoot小程序 | AI大模型项目 | 饮食陪伴官
gitee平台源码 github平台源码 饮食陪伴师是一个管理饮食的原生大模型小程序,优势: 精确营养监控:用户记录饮食后,我们会计算出食用的营养成分与分量,并反馈给用户。饮食建议有效:大模型经过我们训练具备大…...

【C++】检测TCP链接超时——时间轮组件设计
目录 引言 时间轮思想 设计的核心思路 完整代码 组件接口 个人主页:东洛的克莱斯韦克-CSDN博客 引言 对于高并发的服务器来说,链接是一种比较珍贵的资源,对不活跃的链接应该及时释放。判断连接是否活跃的策略是——在给定的时间内&#…...

中国新媒体联盟与中运律师事务所 建立战略合作伙伴关系
2024年9月27日,中国新媒体联盟与中运律师事务所举行战略合作协议签字仪式。中国新媒体联盟主任兼中国社会新闻网主编、中法新闻法制网运营中心主任左新发,中运律师事务所高级顾问刘学伟代表双方单位签字。 中国新媒体联盟是由央视微电影中文频道联合多家…...

【ArcGIS微课1000例】0121:面状数据共享边的修改方法
文章目录 一、共享边概述二、快速的修改办法1. 整形共享边2. 修改边3. 概化边缘一、共享边概述 面状数据共享边指的是两个或多个面状数据(如多边形)共同拥有的边界。在地理信息系统(GIS)、三维建模、大数据分析等领域,面状数据共享边是描述面状空间数据拓扑关系的重要组成…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...

vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...