MIPI协议介绍-CPHY

news/2024/12/29 18:38:11/

MIPI协议概述

  1. MIPI(Mobile Industry Processor Interface): 是MIPI联盟发起为移动应用处理器制定的开放标准.
  2. MIPI接口协议层主要包括CSI和DSI两种,其中CSI主要用于图像输出,如图像传感器等; DSI主要用于图像输入,如屏幕显示器等.
  3. 对于camera而言,主要应用CSI,以及CSI对应的PHY层的C-PHY和D-PHY.

如上图所示:MIPI协议主要包含三层,从下往上分别为:物理层、协议层、应用层。

C-PHY

  1. C-PHY的物理层每个trio有A、B、C 三根线,六种状态
  2. LP mode(低功耗模式)用于控制; HS mode(高速模式)用于数据传输.

硬件架构

  1. LP-TX 和HP-TX是成对出现的,LP-RX和HP-RX是成对出现的
  2. HS-TX和HS-RX不会同时打开,关闭的时候,处于高阻抗状态
  3.  LP-RX如果供电了,会时刻监视Line levels; LP-TX只有在低功耗模式下才会使能。LP-TX,HP-TX,HS-RX在一个lane上不能同时出现。
  4. 外挂高频时钟
  5. PPI(parallel peripheral interface)接口包含字格式,时钟信号,控制信号等;

传输机制

PHY Layer:定义电气参数,传输介质、怎么判断0/1-----后边再讲

Pixels/Byte packing/unpacking:  packs pixels from the Application layer into bytes LLP: SoT和EoT之间bit-level和byte-level的同步,最小单位是字节,还定义大小端,按照packet组织. 添加 header and error-checking information

Lane Manageent:   byte >> lane, Lane-scalable 应用层,这一层就是更高层的编解码了,我们不关心,spec就是从定义pixel怎么转换到bytes,开始

Lane state & wire state

HS transmission flow

HS Mode 是7UI的倍数,16bytes

t3 prepare  LP disable,HS enable,

t3 prepare begin, receiver会在t3 prepare后的tSettle 时间内检测prepare begin,因为HS是状态转换的。

t3 prepare begin 的3的长度是可以编程的,这部分时间是用来提供足量的clock给receiver的做初始化用的。

这段中的数字也是可以编程的,这段时间可以看一下receiver 的 spec.

t3 sync是用来同步的。也会被解析,表明packet开始的时间 t3-post是一堆连续的4,receiver接到7个连续的4之后,会停止接收,一般发多余7个,给receiver清除pipeline的时间。

t3 post也是可以调整的,这个有时间要求,之前出过干扰问题,看三星邮件,可能是状态切换引起谐波?要求大于几个UI,就是状态转换的时间7-224UI。

时序要求一般是7UI的整倍数,UI的单位是

Sync Word  [3444443]

状态丢失,导致解析错误 检测连续的5个{4}和后边的一个{3},不检测第一个{3}

从SyncWord后边接收的第一个word开始,重新对齐

Sync Word  Type

1、还支持其他类型的sync word type

2、3444443是默认的sync word,在preamble后边自动添加的,

3、其他sync word type是需要发送端和接受端支持,其他type由发送端自己插入sync word,并且是subrequest才可以

初始化

上电后,slave 会在当master phy  驱动LP-111大于 tINT的后,进行初始化,第一个长于tINT叫初始化周期,master 会被系统或者协议层初始化,master在完成初始化前要确保 line上不会出现大于tINT的stop state,多个lane的时候,会同时初始化。 tINT具体多长时间,要看接收端和发送端。mipi定义了最小的时间,master和slave的初始化时间差值不能小于100us

校准

在高速率的时候,在接收端校准延时器件很有必要,这个校准补偿了由于工艺,电压,温度产生的影响(3.0Gsps必须支持)。

发送机通过发送一个唯一的,可能延长长度的,由单个转换符号组成的数据突发前向导码来让接受机校准;

校准前导码开始于1,不是3,用于和正常前导码区分;

校准前导码可能选择性的包含一个交替序列字段;

HS State Machine

//未完待续...


http://www.ppmy.cn/news/1125206.html

相关文章

root用户自动安装mysql 5.7脚本

#!/bin/bash # -*- codeing utf-8 -*- # Time : 2023/09/25 22:11 # Author : lidachuan # File : mysql_install.sh # Software : PyCharm #1.设置mysql安装目录 mysql_install/home/mysql #2.设置mysql安装目录 mysql_data/testdata #3.设置mysql端口 mysql_port3306 #4.设…

【算法深入浅出】字符串匹配之 KMP 算法

KMP 算法是一种字符串匹配算法。字符串匹配算法的目标是:在字符串 s 中找到与模式串 p 相等的子串,输出其位置。例如:s “abcdef”,p “cdef”,p 在 s 中的位置是 2(从 0 开始计数)。 容易想到…

CarbonData详细解析

一、CarbonData简介 CarbonData是一种新型的Apache Hadoop本地文件格式,使用先进的列式存储、索引、压缩和编码技术,以提高计算效率,有助于加速超过PB数量级的数据查询,可用于更快的交互查询。同时,CarbonData也是一种…

客户端负载均衡_负载均衡策略

以前的Ribbon有多种负载均衡策略 RandomRule - 随性而为 解释: 随机 RoundRobinRule - 按部就班 解释: 轮询 RetryRule - 卷土重来 解释: 先按照RoundRobinRule的策略获取服务,如果获取服务失败则在指定时间内会进行重试。 Weigh…

比特币上的可验证延迟函数

可验证延迟函数 (VDF) 是一种需要大量 顺序计算 来评估但可以快速验证的函数。我们首次在比特币上实现了它。VDF 作为密码学技术可用于构建大量新应用程序,例如公共随机信标、计算时间戳和数据复制证明。 VDF 场景 链上随机信标 在区块链中很难实现随机性&#xf…

Linux系统之links和elinks命令的基本使用

Linux系统之links和elinks命令的基本使用 一、links与elinks命令介绍1. links命令简介2. elinks命令简介 二、links与elinks命令区别三、links命令选项解释四、links命令的基本使用1. links安装2. 查看links版本3. 图形模式打开网址4. 直接使用links命令5. 打印url版本到标准格…

umi+React项目引入字体文件

1. 在public下新建文件夹fonts,将字体文件复制到该文件夹下 2. 在public文件下新建font.css文件 font-face {font-family: YouSheBiaoTiHei;src: url(./fonts/YouSheBiaoTiHei-2.ttf); }3. 在app.ts里面加上导入语句即可引入该字体 import ../public/font.css;

PL/SQL循环

目录 1. FOR 循环 -- FOR 循环的注意事项: -- LOOP 循环 -- WHILE 循环 -- 总结: TIPS: 跳出循环指令 1. FOR 循环 FOR 循环变量 IN 循环下限..循环上线 LOOP-- 循环变量可以用任意的字母或者单词去替代循环执行的逻辑题END LOOP; 计算 1-100的累加值 DECLARE V_TEX…