NXP i.MX8系列平台开发讲解 - 4.2.3 摄像头篇(三) - 摄像头MIPI 接口

news2024/11/27 22:19:52

专栏文章目录传送门:返回专栏目录

Hi, 我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】


文章目录

关注+星号公众号,不容错过精彩

图片

作者:HywelStar

1. 概述

MIPI是Mobile Industry Processor Interface的缩写。MIPI联盟是一个开放的会员制组织。2003年7月,由美国德州仪器、意法半导体、英国ARM和芬兰诺基亚4家公司共同成立。MIPI联盟旨在推进手机应用处理器接口的标准化。MIPI联盟鼓励所有手机行业内的公司加入,包括:手机设备制造商、半导体厂商、软件厂商、系统供应商、外围设备制造商、知识产权提供商、其他公司。

其中比较成熟的有MIPI CSI和MIPI DSI。CSI主要用于摄像头接口,而DSI则用于显示屏接口

根据官网提到,MIPI 联盟规范满足六种设备接口需求:physical layer, multimedia, chip-to-chip/interprocessor communications (IPC), device control and data management, system debugging, and software integration.

每个规范都进一步优化,主要解决以下基本性能特性:

  • 低功耗以延长电池寿命

  • 高带宽,以支持功能丰富的数据密集型应用程序

  • 低电磁干扰 (EMI),可最大限度地减少无线电和设备子系统之间的干扰。

图片

2. MIPI 框架

MIPI 工作小组开发很多内容,但是主要领域包含这些:

  • Multimedia

  • Control/Data

  • Chip-to-Chip Inter Process Communications

  • Debug/Trace

图片

  • 从以上四个方面可以看到用途非常广泛:

图片

  • Control & Data Specifications(控制和数据规范)
  • Multimedia Specifications(多媒体规格)

    从应用层该部分包括Camera,Display, Storage, Memory,Audio/Voice

    图片

    从底层至应用层,都已经规范化了这些接口,可以看到关于物理层的支持接口,协议层,再到应用层。

    DSI:Display Serial Interface,用于显示屏与主处理器之间的高速串行接口;

    CSI:Camera Serial Interface,用于摄像头模块与主处理器之间的高速串行接口;

    DCS:Display Command Set,是用于显示屏控制的命令集。

    D-PHY:是MIPI接口的物理层规范,主要用于DSI和CSI接口

    C-PHY:另一种MIPI接口的物理层规范,主要用于高分辨率摄像头和显示屏;

    A-PHY:用于汽车应用的高速接口规范;

    M-PHY:是一种通用的高速物理层接口,适用于多种应用场景,如存储、通信和显示等。

  • Chip-to-Chip Communications (芯片到芯片通信)
  • IoT Device Diagram (IoT 设备图)

3. CSI-2

MIPI CSI-2 最初于 2005 年推出,是世界上实现最广泛的嵌入式摄像头和成像接口。它因其易用性和支持广泛的高性能应用程序(包括 1080p、4K、8K 及以上视频以及高分辨率摄影)而得到广泛采用。®

设计人员应该能够放心地将 MIPI CSI-2 用于各种应用领域中的任何单摄像头或多摄像头实现,例如移动设备、增强现实和虚拟现实、无人机、物联网 (IoT)、医疗设备、工业系统、汽车以及平板电脑、笔记本电脑和一体机等客户端设备。

特点:

  • 高性能

  • 低功耗

  • 低电磁干扰 (EMI)

3.1 CSI-2 物理连接

根据官方介绍,CSI-2 已经定义了两个高速数据接口,一个是发射器,一个是接收器,摄像头这边作为CSI发送端,SoC 作为CSI 接收端。

一般会有多对差分数据信号线,一对差分时钟信号和一对I2C通信引脚。

图片

对于这个差分信号线,也就是通常看到的line数,这个对于调试软件中需要设定,一般有4line, 6 line等情况。对于这种高清摄像头一般都需要使用到四4line,4组差分对,满足信号传输。

3.2 CSI-2 层次结构

对于CSI-2 分层,根据MIPI联盟规范,从上到下可以分为:应用层,组包/解包层,底层协议层,通道管理层和物理层。

图片

从图中可以得到:

应用层:主要作为处理图像数据或者各种算法,比如常用到的白平衡,噪声去除等

组包/解包:主要将数据打包成字节格式,比如将RGB数据转成字节流;

底层协议包:将字节流数据加上一些包头数据进行传输;

通道管理层:管道数据传输通道;

物理层:转换成电信号传输;

整理来说将整个传输从底层到应用都已经规划好,用户只需要去使用既可以。

4. CSI-2 LLP

LLP层通常会处理两种格式的包(Packet):长包(Long Packet)和短包(Short Packet)。无论哪一种包,LLP层都会根据CSI-2协议的规定,给它们添加包头(Packet Header, PH)和包尾(Packet Footer, PF),并作为有效数据在HS模式下传输。

关于Low Protocol 的概述和协议,可以具体查看文档《mipi_CSI-2_specification_v2-1-2018.pdf》截图部分:

图片

5. 总结

本章节大概讲述关于MIPI 相关知识,重点提到CSI-2 部分,很多都是关于协议上面的内容,对于一些具体的组包解包,虚拟通道,通道管理等内容都属于协议上的规范,想要更多了解规范上的支持可以查阅,发送“MIPI”到后台 获取到相关PDF。对于这些知识只需要大概一个认识,对于开发过程中很多都已经有非常成熟的应用。

参考:

https://blog.csdn.net/kouxi1/article/details/126787264

https://www.mipi.org/specifications/csi-2

https://www.mipi.org/system-diagrams

https://caxapa.ru/thumbs/799244/MIPI_Alliance_Specification_for_Camera_S.pdf

https://files.chinaaet.com/files/blog/2019/20171110/1000019445-6364593011828743047249885.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2192540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文阅读:InternVL v1.5| How Far Are We to GPT-4V? 通过开源模型缩小与商业多模式模型的差距

论文地址:https://arxiv.org/abs/2404.16821 Demo: https://internvl.opengvlab.com Model:https://huggingface.co/OpenGVLab/InternVL-Chat-V1-5 公开时间:2024年4月29日 InternVL1.5,是一个开源的多模态大型语言模…

【无人机设计与控制】基于matlab的无人机FMCW(频率调制连续波)毫米波高度计雷达仿真

摘要 本文介绍了一种基于FMCW(频率调制连续波)雷达技术的无人机毫米波高度计的仿真。FMCW雷达通过测量发射信号与回波信号之间的频差来确定目标的距离和速度。在本项目中,我们使用MATLAB仿真无人机毫米波雷达的性能,展示其在不同…

TS1 order set分析

如下图,所示为TS1 order序列。该序列有16个symbol组成。 常见的symbol有,PAD和COM等。PAD是K symbol,还有D symbol。下文先给出COM symbol的解读。读协议文档可知COM常被称为K28.5。K是symbol的类型,注意symbol是编码过的数据。K…

六、Java 基础语法(下)

一、变量 1、变量的定义与使用 变量就是内存中的存储空间,空间中存储着经常发生改变的数据变量定义格式: 数据类型 变量名 数据值使用时根据变量名使用举例如下,上面是代码,下面是输出 2、变量的注意事项 变量名不允许重复…

Dyna-slam复现(保姆级详细图文版,百分百成功)

因最近论文要和这些算法做对比,故配置了一下,在此记录 因为是老的算法,cuda版本现在的显卡都不能使用,所以笔者找的电脑是华硕飞行堡垒17年的电脑,1080的显卡 深度学习及maskrcnn配置 先将dyna-slam git下来,终端执行 git clone https://github.com/BertaBescos/Dyna…

Arduino UNO R3自学笔记21 之 Arduino电机的闭环控制

注意:学习和写作过程中,部分资料搜集于互联网,如有侵权请联系删除。 前言:上篇写了电机速度测定,这篇主要是讲测定出的速度用于反馈,使得实际速度快速响应到需要的速度。 1.控制系统介绍 分2大类&#x…

ECML PKDD 2024 | 时空数据(Spatial-Temporal)和时间序列(Time series)论文总结

ECML PKDD 2024于9月9号-9月13号在立陶宛维尔纽斯举行(Vilnius) 本文总结了ECML PKDD 2024有关时空数据(spatial-temporal data)的相关论文,主要包含交通预测,预训练,迁移学习等内容&#xff0…

latex本地运行(MiKTeX+VScode)-20241006

1、安装 LaTex 主流的分发版本应该就是 TeXLive 和 MikTeX 了,这里使用 MikTex(只有几百M)—— TeXLive 太大了、默认安装全部包,可选自选部分安装单实在有些许麻烦,MikTeX 则方便得多,需要的时候可以自动安装全部包 点击跳转到 MiKTeX 官网,直接下载即可:不用担心什…

jQuery——事件委托

1、事件委托(委派/代理): 将多个子元素的事件监听委托给父辈元素处理监听回调是加在了父辈元素上当操作任何一个子元素 时,事件会冒泡到父辈元素父辈元素不会直接处理事件,而是根据 event.target 得到发生事件的子元素,通过这个子元素调用事…

微信第三方开放平台接入本地消息事件接口报错问题java.security.InvalidKeyException: Illegal key size

先看报错: java.security.InvalidKeyException: Illegal key sizeat javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1039)at javax.crypto.Cipher.implInit(Cipher.java:805)at javax.crypto.Cipher.chooseProvider(Cipher.java:864)at javax.crypto.Cipher.in…

Spring MVC__@RequestMapping注解、获取请求参数、域对象共享数据、视图、Restful

目录 一、RequestMapping注解1、RequestMapping注解的功能2、RequestMapping注解的位置3、RequestMapping注解的value属性4、RequestMapping注解的method属性5、RequestMapping注解的params属性(了解)6、RequestMapping注解的headers属性(了解…

登 Nature 子刊!论文一作详解蛋白质语言模型的小样本学习方法,解决湿实验数据匮乏难题

在「Meet AI4S」系列直播第三期中,我们有幸邀请到了上海交通大学自然科学研究院 & 上海国家应用数学中心博士后周子宜, 他所在的上海交通大学洪亮课题组研究方向主要为 AI 蛋白和药物设计、分子生物物理。该课题组研究成果颇丰,截止目前共…

小程序图片资源等使用阿里服务链接更新问题

同名更换图片,小程序无需发版本更新,存在图片缓存问题解决方法 修改Cache-Control参数即可

一个真实可用的登录界面!

需要工具: MySQL数据库、vscode上的php插件PHP Server等 项目结构: login | --backend | --database.sql |--login.php |--welcome.php |--index.html |--script.js |--style.css 项目开展 index.html: 首先需要一个静态网页&#x…

双十一适合买什么东西?数码好物推荐指南!

​临近双十一,我猜很多朋友已经为双11做好了准备,打算开启买买买的节奏了!都想着趁着双十一把平时因为价格太贵舍不得下单的东西彻底拿下!作为一名数码博主,每年双11的时候都会疯狂囤很多物品,所以今天就跟…

创始人模式--格雷厄姆

以下是 Paul Graham 的文章《创始人模式》的翻译: 创始人模式 2024 年 9 月 上周在一个 Y Combinator 的活动中,Brian Chesky 做了一个演讲,在场的每个人都会记住。我之后与大多数创始人交谈时,他们都说这是他们听过的最好的演…

pytorch基础:模型的权值初始化与损失函数

文章目录 一、权值初始化1.2Kaiming初始化1.4 十种权重初始化方法 2.损失函数2.1损失函数初步介绍2.2交叉熵损失CrossEntropyLoss 2.3 剩余的17种损失函数介绍 一、权值初始化 在搭建好网络模型之后,一个重要的步骤就是对网络模型中的权值进行初始化。适当的权值初…

SpringBoot框架在明星周边销售网站中的应用

3系统分析 3.1可行性分析 通过对本星之语明星周边产品销售网站实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本星之语明星周边产品销售网站采用JAVA作为开发语…

国庆期间不停歇—学习ROS2第四天

1.现在终端中创建文件 其次在该文件目录下打开,最后在VS中 创建两个文件夹,最后一个是src 在终端中创建pkg, ros2 pkg create demo_python_topic --build-type ament_python --dependencies rclpy example_interfaces --license Apache-2.0…

[C#]使用纯opencvsharp部署yolov11-onnx图像分类模型

【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 使用纯OpenCvSharp部署YOLOv11-ONNX图像分类模型是一项复杂的任务,但可以通过以下步骤实现: 准备环境:首先,确保开发环境已安装OpenCvSharp和必…