Camera mipi协议

Camera mipi协议mipi协议介绍mipi,是MobileIndustryProcessorInterface缩写。mipi移动行业处理器接口。是mipi联盟发起的为移动应用处理器制定的开放标准。分别定义了一系列的手机内部接口标准,比如摄像头接口CSI、显示接口DSI,其中CSI(CameraSerialInterface)是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPICSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度高达1Gb/s。mipiCSI

大家好,又见面了,我是你们的朋友全栈君。

mipi协议介绍

mipi,是Mobile Industry Processor

  • Interface缩写。mipi移动行业处理器接口。是mipi联盟发起的为移动应用处理器制定的开放标准。分别定义了一系列的手机内部接口标准,比如摄像头接口CSI、显示接口DSI,其中CSI(Camera Serial Interface)是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPI

  • CSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度高达1Gb/s。

mipi CSI-3分层结构

  • CSI-2可分为5层,分别为:应用层、组包/解包层、底层协议层(Low Level Protocol)、通道管理层和物理层 。

在这里插入图片描述

应用层

  • 即是处理原始图像数据的各种算法模块

组包/解包层

  • 负责将数据按照一定的次序,切割成 8 比特数据。

底层协议层

  • 为新生成的数据加上包头包尾,形成符合协议要求的数据流。

通道管理层

  • 将生成的数据流按照一定次序和要求,进行读写管理,输出数据流。

物理层

  • 生成 MIPI 最后的信号波形。

像素数据

  • 经过图像模块处理过的数据流,或者原始图像的数据路。

传输数据

  • 经过MIPI模块切割或者加上包头包尾的数据。

控制信号

  • 模块间的控制数据流

发送端

  • 包括了 MIPI 数字部分,转接板等实现MIPI 信源传输的部分。

接收端

  • 包括了转接板和商用接收端模块,负责解析收到的 MIPI 信源。

图解如下:

  • 首先原始的图像数据会在应用层做相应的图像处理,包括白平衡、噪声去除、色彩还原等。

  • 处理过后的数据进入组包层做数据分割和重组,再传给协议层。协议层根据数据类型产生包头,根据数据内容产生构成包尾的校验序列,之后将包头、数据本身、包尾组合起来发送给通道管理模块。

  • 通道管理模块按照通道的选通情况,合理分配数据到每个通道,之后数据经过数模转换进入物理层传输,接收端在收到物理层的数据后,再按照之前的逆序解包出原始的图像数据。

mipi CSI-2的物理连接

  • 除地线外,MIPI CSI-2一般会有1对I2C通信引脚,1对MIPI差分时钟引脚和1~4对MIPI差分数据信号引脚。

    DATA 1+ / DATA 1- MIPI

  • 协议组包生成的差分模拟数据信号第二组

    DATA 2+ / DATA 2- MIPI

  • 协议组包生成的差分模拟数据信号第一组

    CLOCK+ / CLOCK- MIPI

  • 协议组包生成的差分模拟时钟信号

    SDA I2C

  • 数据信号线

    SCL I2C

  • 时钟信号线

  • 应用端完成对图像的处理后,按照协议对数据进行打包,然后通过差分信号线向接收端传输信号,差分信号线一般有一对时钟差分线和多对数据差分线,数据差分信号线的数量与需要传递胡的数据量的要求有关,数据量越大多对数据线能更容易满足链路的要求。一般情况下两百万到五百万像素的手机使用两对差分数据线,即两个数据通道
    。而当摄像头像素进一步提高到八百万甚至一千三百万时一般会使用四个数据通道,即四对差分数据线。

  • 与外部进行控制信号交互时,采用的是I2C接口,在MIPI的发送端使用的是I2C, 从端的 IP,MIPICSI-2接口的控制寄存器连接I2C的从端,这样外部接收装置可以通过I2C去配置MIPI发送端的内部寄存器,以此改变MIPI CSI-2接口内部状态机的持续时间和最后输出数据时的通道数,又或者在调试过程中读出这些寄存器,去做相应的检查,以判断发送端的工作状态,再通过接收端的现象来分析发送端是否工作在正常的状态。

mipi csi2的工作模式在这里插入图片描述

HS高速传输模式

  • 高速传输模式,信号分为差分信号,电平范围为100mv-3–mv,传输速度范围是80-1000Mbps。在该模式下传输时,当差分线正端收到1.2V信号,负端收到0v信号时,这是接收端识别为1,反之为0

LP 低功耗模式

  • 用于传输控制指令,异步传输,信号线为单端,电平范围是0-1.2V,没有用时钟线,时钟是通过两个数据线异或而来的,速度只有10Mbps。在该模式下传输时,当正端接收到300mV,负端接收到100mV时接收端识别为1,反之则识别为0。

mipi csi2数据包格式

  • MIPI CSI2是一个面向字节的,基于包的协议;它支持任意大小的数据通过短包和长包格式传输。各个包之间由EOT-LPS-SOT序列隔开,MIPI CSI2的数据包如图所示。

在这里插入图片描述

  • LLP包有两种:长包和短包。每个包的传输以SoT(start of transmission)开始,EoT(end of
    transmission)结束,中间间隙是LPS(Low Power State低功耗状态)。

    mipi csi2的长包格式

  • MIPI CSI2的长包主要有包头、数据包和包尾三部分构成。而包头又可细分为:数据标识(data
    identifier)、数据包大小(word count)和错误校验码(ECC)构成。MIPI CSI2的长包数据格式如图所示。

  • 数据标识大小为1字节,包含虚拟数据通道号[7:6]和数据类型[5:0]。

  • 数据包大小为2字节,其内容为传送数据的长度,以“字”为单位。

  • 错误校验码大小为1字节,负责对数据包的传输错误进行检查及纠错。

  • 数据包可以传送数据的大小为0~65535字节。

  • 包尾大小为2字节,是数据负荷的检查和。

    mipi csi2的短包格式

  • 与长包相比,短包没有数据包和包尾。数据标识DI中的数据类型在0x00到0x0F之间。WC字段是短包的数据域,这个数据可由用户定义。ECC是校验码,能对1bit错误进行纠错,2bit错误进行检查,如图所示。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135546.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基本粒子群算法小结及算法实例(附Matlab代码)

    基本粒子群算法小结及算法实例(附Matlab代码)1、基本粒子群算法假设在一个D维的目标搜索空间中,有N个粒子组成一个群落,其中第i个粒子表示为一个D维的向量:$$X_i=(x_{i1},x_{i2},\cdots,x_{iD}),\quadi=1,2,\cdots,N\quad\text{(1)}$$第i个粒子的“飞行”速度也是一个D维的向量,记为:$$V_i=(v_{i1},v_{i2},\cdots,v_{iD}),\quadi=1,2,\cdots,N\quad\te…

    2022年5月29日
    29
  • Kali安装教程(VMWare)「建议收藏」

    Kali安装教程(VMWare)「建议收藏」1.下载镜像及相关1.1下载镜像文件下载链接:https://www.kali.org/downloads/选择自己需要的版本下载,根据经验先下载种子文件(torrent)再用迅雷下载网速是最有

    2022年8月5日
    3
  • ue4材质节点介绍_C4D节点材质

    ue4材质节点介绍_C4D节点材质一.基础常量1.Constant快捷键:1+鼠标左键2.Constant2Vector快捷键:2+鼠标左键3.Constant3Vector快捷键:3+鼠标左键4.Constant4Vector快捷键:4+鼠标左键5.StaticBool6.TextureSample7.TestureObject8.ParticleSu…

    2022年10月5日
    0
  • 快速排序Java实现_快速排序实现java

    快速排序Java实现_快速排序实现java高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“61279345108”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放…

    2022年4月20日
    41
  • mysql主从读写分离配置(阿里云数据库主从读写分离)

    一、MySQL主备的基本原理在状态1中,客户端的读写都直接访问节点A,而节点B是A的备库,只是将A的更新都同步过来,到本地执行。这样可以保持节点B和A的数据是相同的。当需要切换的时候,就切成状态2。这时候客户端读写访问的都是节点B,而节点A是B的备库在状态1中,虽然节点B没有被直接访问,但是建议把备库节点B,设置成只读模式。有以下几个原因:1.有时候一些运营类的查询语句会被放到备库上去查,…

    2022年4月10日
    69
  • 【打一局王者荣耀掉星的时间,我制作了一款支持 重力感应 的 3D动态壁纸】

    【打一局王者荣耀掉星的时间,我制作了一款支持 重力感应 的 3D动态壁纸】正在兢兢业业的当一个打工仔,有一个小伙伴问我能不能用Unity制作3D动态壁纸。我一寻思应该问题不大,因为之前用Unity简单制作过一个PC端的桌面宠物,开启Unity背景穿透模式能有一个壁纸的效果。但是仔细一想在手机端也这样做的话好像不能直接套用…所以在网上搜索了一下有没有什么简单可行的方法。然后我发现Unity有一款专门用来做动态壁纸的插件:uLiveWallpaper所以本篇文章就来使用这款插件制作一款最基础的3D重力感应动态壁纸,下面一起看看如何制作吧~

    2022年5月25日
    146

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号