自动驾驶中camera方案(二)MIPI-CSI2详解

这篇具有很好参考价值的文章主要介绍了自动驾驶中camera方案(二)MIPI-CSI2详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

为了深入的理解MIPI-CSI2接口,强烈建议阅读协议原文,我重点参考的就是协议原文:2019-09-17_19.05.53_mipi_CSI-2_specification_v3-0.pdf

1.MIPI概述

MIPI联盟是一个开放的会员制组织,CSI(Camera Serial Interface)是由MIPI联盟下Camera工作组指定的接口标准,DSI为display相关的接口标准。本文我们重点关注MIPI-CSI2协议

典型图例(D-PHY):

自动驾驶中camera方案(二)MIPI-CSI2详解

MIPI-CSI2:

CSI-2是MIPI CSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度理论高达9Gb/s(不同器件最大值不一致,IMX8系列最高1.5Gb/s per lane)

定义了摄像头外设与主机控制器之间的接口,旨在确定摄像头与主机控制器在移动应用中的标准,CSI-2定义了摄像头应用中发送方(camera)与接收方(soc)之间的数据与控制传输标准,其物理层支持DPHY与CPHY两种,我们主要以DPHY为例

D-PHY:物理层的CSI-2相机接口由一个时钟线和一个或多个数据线组成

C-PHY:物理层的CSI-2相机接口由一个或多个通道组成,每个通道同时传输时钟和数据信息

MODE:     Control/High-Speed/Escape/Ultra-Low Power State

D-PHY MIPI-CSI/MIPI-DSI的4通道框图 : 本文重点关注D-PHY

自动驾驶中camera方案(二)MIPI-CSI2详解

重点名词解释:

Lane:一种单向、点对点、2线或3线接口,用于高速串行时钟或数据传输,使用D-PHY物理层的CSI-2摄像头接口由1个时钟Lane和1/2/4个数据Lane通道

Packet:以特定方式组织起来的一组字节,用于在接口上传输数据。所有数据包都有个最少字节大小的数据。字节是数据包的基本数据单位。

Payload:仅应用程序数据,所有同步,报头,ECC和校验和和其他协议相关信息除外。这是应用程序处理器和外设之间传输的“核心”

Virtual Channel:支持多达32个外设(camera)的多个独立数据流的规范。每个外设(camera)的数据流可以是一个虚拟通道。这些数据流可能是作为连续的包进行交叉传输,每个包专用于一个特定的外设(camera)或通道。包协议包括将每个包连接到它预定的外围设备的信息(后续讲解包协议时会说明每个包header中包含相应的virtual id,和具体数据类型)

2.CSI-2分层协议

框图:

自动驾驶中camera方案(二)MIPI-CSI2详解

Application Layer:
该层主要用于不同场景对数据的处理过程,对于发送方,多为camera生成数据,对于接收方,多为SOC对数据进行处理

Protocol Layer:              organized as packets

1.Pixel/Byte Packing/Unpacking Layer:

像素/字节封装/解封装层,CSI-2规范支持不同像素格式的图像应用程序,每像素6到24位。发送方向时:在将数据发送到低层协议层之前,该层将应用层的像素打包成字节,接收方向时:在将数据发送到应用层之前,该层将来自低层协议层的字节解析为像素

2.Low Level Protocol (LLP):

低级别协议层,为串行数据传输在传输开始(SoT)和传输结束(EoT)事件之间建立位、字节级别同步以及将数据传递到下一层,最小数据大小为1个字节,详情见章节4

3.Lane Management:

lane通道管理,为了适应不同场景下对带宽的要求,CSI-2规定了Lane的数量是可拓展的。因此,在面临多Lane同时传输时,发送方需要对字节流进行公平分发(distributor),接收方则需要对多Lane数据进行合并(merger)详情见章节3

note:下面3/4/5章节会分别详细说明Lane Management/Low Level Protocol/Pixel Byte Packing Unpacking Layer

PHY Layer:

PHY层指定了传输媒介,在电气层面从串行bit流中捕捉“0”与“1”,同时生成、捕获SoT与EoT等信号

3.Multi-Lane Distribution and Merging

Distribution框图:忽略,目前不重点关注

merging框图:

自动驾驶中camera方案(二)MIPI-CSI2详解

4 lane的接收顺序:

自动驾驶中camera方案(二)MIPI-CSI2详解

note:

从上图可见,当4 Lane的时候 SoT开始信号后,csi2协议会分别等到每个lane通道8bit组成一个BYTE后,按照顺序来把每个通道上的byte按照顺序组装到packet中,后续LLP会解析相应的包 (包中的数据不是4的正式倍也不影响该协议)

4.Low Level Protocol

低级别协议(LLP)是一个基于字节数据包的协议,支持传输使用短包/长包格式的任意数据(short packet/long packet

  • 任意数据传输(负载独立)
  • 8位字节数据大小
  • 支持16个交叉的虚拟通道在相同的D-PHY link上
  • 帧开始、帧结束、行开始和行结束信息的特殊包
  • 描述应用程序特定负载数据的类型、像素深度和格式的描述数据
  • 错误检测16位校验和代码
  • 误差检测和校正的6位误差校正码(D-PHY物理层)

packet overview:

自动驾驶中camera方案(二)MIPI-CSI2详解

包协议格式:

 Long Packet Structure for D-PHY:                        data type : 0x10 - 0x17

自动驾驶中camera方案(二)MIPI-CSI2详解

note:

如上图可见Data ID中的CV(bits 7:6)和NVX(bits 7:6)用来组成4位表示16个虚拟通道,不同虚拟通道的数据包会被送到相应的通道

Short Packet Structure for D-PHY:                        data type : 0x00 - 0x0f

自动驾驶中camera方案(二)MIPI-CSI2详解

note:

如果短包用来指示帧同步信号,Data Field里面的数据是帧号

如果短包用来指示行同步信号,Data Field里面的数据是行号

虚拟通道处理:

自动驾驶中camera方案(二)MIPI-CSI2详解

 虚拟通道不同数据格式例子:

自动驾驶中camera方案(二)MIPI-CSI2详解

 Data types:

自动驾驶中camera方案(二)MIPI-CSI2详解

Packet Data Payload Size Rules:

YUV/RGB/RAW数据类型,一个long packet应该包含one line 的数据大小,所以如果是同一个虚拟通道的同一个数据类型的long packet数据应该每次都是一样的大小(某些情况下一个line的数据为了满足一些要求可能带上一些pading空白数据)

Frame Format example:

自动驾驶中camera方案(二)MIPI-CSI2详解

5.数据包细节

CSI-2 supported fromats packet data size:

自动驾驶中camera方案(二)MIPI-CSI2详解

自动驾驶中camera方案(二)MIPI-CSI2详解

带宽计算:

HTOT(1920) * VTOT(1080) * FPS(30) * Bits Per Pixel(16) / number of data lanes(4) = 1920*1080*30*16/4=248832000

因为MIPI接口是双date rate所以要除以2,248832000/2=124,416,000(HZ)文章来源地址https://www.toymoban.com/news/detail-441548.html

到了这里,关于自动驾驶中camera方案(二)MIPI-CSI2详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Carla自动驾驶仿真四:pygame渲染Camera画面及车辆控制(代码详解)

    提示:以下是本篇文章正文内容,下面案例可供参考 pygame提供了一种渲染实时视觉输出的方法,显示camera sensor的输出。我们也通过视频注入的方法将视频数据注入到控制器内部,提供视觉感知的场景,模拟真实场景进行仿真。 1、pygame安装 2、numpy安装 1、连接Carla并初始化

    2024年02月07日
    浏览(39)
  • MIPI简介(三)——CSI-2

    CSI(Camera Serial Interface)是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPI CSI第二版,是一个单或双向差分串行界面,包含时钟和数据信号。主要由应用层、协议层、物理层组成,最大支持4通道(Lane)数据传输、单线传输速度高达1Gb/s。 MIPI CSI2的分层方法有好几种,根据

    2024年02月02日
    浏览(45)
  • Linux MIPI CSI 开发指南

    1.1 文档简介 介绍 VIN(video input)驱动配置,API 接口和上层使用方法。 1.2 目标读者 camera 驱动开发、维护人员和应用开发人员。 1.3 适用范围 ​ 表 1-1: 适用产品列表 内核版本 驱动文件 Linux-4.9 drivers/media/platform/sunxi_vin/*.c Linux-5.4 drivers/media/platform/sunxi_vin/*.c 2.1 模块功能介绍

    2024年01月18日
    浏览(43)
  • MIPI CSI-2笔记(18) -- 数据格式(RAW图像数据)

            RAW6/7/8/10/12/14/16/20/24被用来传输图像传感器RAW图像数据。RAW图像数据是未经压缩过的图像数据(即Raw Bayer数据),或者是互补色数据,但RAW图像数据不限于这些数据类型。  RAW Image Data Types         6-bit Raw数据传输通过在CSI-2总线上发送像素数据实现。如下图所示(

    2024年02月06日
    浏览(58)
  • RV1126 MIPI CSI-2调试24bit RGB888格式输入

    RV1126 MIPI CSI-2调试24bit RGB888格式输入,FPGA将DVP输入的1280X800的RGB888,24bit图像数据,转换为MIPI CSI发送给RV1126。RV1126通过MIPI 接收FPGA发送来的图像。通过V4L2抓图保存。 1:RV1126 MIPI初始化。 格式为MEDIA_BUS_FMT_RGB888_1X24,分辨率1280X800。修改DTS,和内核驱动文件。修改后,注册成功

    2024年02月09日
    浏览(47)
  • FPGA解码MIPI视频:Xilinx Zynq7000中端FPGA,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持

    FPGA解码MIPI视频:Xilinx Zynq7000高端FPGA,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持 FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端

    2024年02月22日
    浏览(43)
  • Xilinx Artix7-100T低端FPGA解码MIPI视频,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持

    Xilinx Artix7-100T低端FPGA解码MIPI视频,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持 FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端的操

    2024年02月05日
    浏览(51)
  • FPGA解码 4K MIPI 视频 纯vhdl实现 CSI2 RX 采集OV13850,提供工程源码和技术支持

    FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端的操作直接吓退一大批FPGA开发者,就没人玩儿了。 本设计基于Xilinx的Kintex7开发板,采集OV13850摄像

    2024年02月13日
    浏览(81)
  • Camera | 3.瑞芯微平台MIPI摄像头常用调试命令

    瑞芯微专栏 前面2篇我们讲解了camera的一些基础概念和知识。 本文主要讲述在瑞芯微平台上摄像头开发常用的调试命令。 v4l-utils工具是由Linux维护的V4L2开发工具包。 它提供了一套用于配置V4L2子设备属性的V4L2和媒体框架相关工具,测试V4L2设备,并提供开发库,如libv4l2等等。 v4

    2023年04月25日
    浏览(64)
  • FPGA解码MIPI视频 OV5647 2line CSI2 720P分辨率采集 提供工程源码和技术支持

    FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端的操作直接吓退一大批FPGA开发者,就没人玩儿了。 本设计基于Xilinx的Kintex7开发板,采集OV5647 摄像

    2024年02月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包