• MIPI协议介绍-CPHY


    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

    //未完待续...

  • 相关阅读:
    前端邮箱模版开发实现
    Redis学习(五)常用命令整理
    visual studio 2022 上传c++项目至github
    arm64 虚拟地址物理地址转换
    2024 ACT汽车软件与安全技术周 | 龙智携全方位汽车软件开发解决方案亮相,助力应对汽车软件开发功能安全、合规等挑战
    volatile-读写屏障插入策略
    windows逆向的工具 (没有Android工具)
    maven集成nexus伺服服务实现项目快速自动化构建与发布
    国产化项目改造:使用达梦数据库和东方通组件部署,前后端分离框架
    LeetCode:746. 使用最小花费爬楼梯【动态规划】
  • 原文地址:https://blog.csdn.net/weixin_42136255/article/details/133273764