【相机方案】智能驾驶的域控采用的“串行器和解串器”方案的总结(持续更新),SerDes,GMSL

本文主要是介绍【相机方案】智能驾驶的域控采用的“串行器和解串器”方案的总结(持续更新),SerDes,GMSL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SerDes是Serializer/Deserializer的缩写,即串行器和解串器。由于同轴线的传输延迟几乎可以忽略不计(ns级别),相当于将原来只能短距离传输的高速并行信号(MIPI/I2C/CLK等)的传输距离延长,真正做到高带宽、低延迟、长距离的数据传输。

  • SerDes的串行-解串可以通过数模电路或者FPGA来实现。
  • 在商用领域,出于性价比的考量,往往会使用独立IC芯片来实现这个功能,GMSL是SerDes的一种。GMSL就是由Maxim公司开发的一系列串行-解串芯片的集合。
  • GMSL适用于视频、音频和控制信号的传输,使用50Ω同轴电缆或100Ω屏蔽双绞线电缆,传输距离可达15m或更长。目前基于GMSL架构的通信协议最高可实现单通道6Gbps的速率(参考USB3.0仅有2.5Gbps)

在这里插入图片描述

文章目录

  • 产品发展
  • 1 Jetson Xavier平台
  • 2 PC电脑/工控机
  • 3 DRIVE Xavier
  • 4 TDA4 GMSL1 自主域控 MAX9286与MAX96705
  • 5 寒武纪行歌 SD5223C 开发板 max96712
  • 6 orin
  • 参考

产品发展

GMSL技术经历了很长的发展时间,第一代的GMSL从2003年开始,最高支持3Gbps的传输速率,足够传输1百万-3百万像素(1080p/30fps)的视频流数据。从2017年之后,GMSL2代技术出现,传输带宽已经提升至6Gbps,可轻松传输8百万像素(4K/30fps)的视频流数据。
在这里插入图片描述
Maxim目前同时提供两代的GMSL产品,分别是GMSL1以及GMSL2,其中部分GMSL2产品兼容GMSL1。目前常见的GMSL串行-解串芯片如表1所示。其中兼容GMSL1/2的器件,既可以接入GMSL1也可以接入GMSL2。例如:

a) MAX9296解串器,既可以接入MAX96701(GMSL1)也可以接入MAX96717(GMSL2);

b) MAX9295A串行器,既可以接入MAX9286(GMSL1),也可以接入MAX96712(GMSL2);

串行器解串器
GMSL1MAX96701/MAX96715MAX9286
12bit DVP IN 1 SIO OUT@1.76Gbps4IN 1OUT@MIPI 1.5Gbps
GMSL1/2 兼容MAX9295AMAX9296MAX96722
4-MIPI IN 1 SIO OUT@6Gbps2IN 2OUT@MIPI 2.5Gbps4IN 1OUT@MIPI 2.5Gbps
GMSL2MAX96717/MAX96717FMAX96712
4-MIPI IN 1 SIO OUT@6Gbps/3Gbps4IN 1OUT@MIPI 2.5Gbps

1 Jetson Xavier平台

以Jetson Xavier为代表的Arm架构下的SoC系统,通常没有直接的GMSL接口,而是提供MIPI信号接口,因此需要通过外挂解串板的方式来实现,以下方的配置为例介绍。

硬件连接方式如图4所示,摄像头包含Sensor(IMX390)和串行器(MAX9295),两路摄像头通过GMSL Link同轴线(Coax Cable)连接到转接板(MAX9296 Deserializer Board),转接板再通过排线(MIPI White Cable)接入到Jetson Xavier开发板的CSI Port。
在这里插入图片描述
硬件架构如图5所示:

  • Sensor(IMX390)接口为MIPI-CSI,数据格式为1080p/30fps/RAW12
  • 每路摄像头搭配1个MAX9295串行器(Serializer)
  • 两路GMSL Link共同连接到解串器MAX9296
  • MAX9296解串器接入到Jetson的CSI port(以Port A为例)

在这里插入图片描述
驱动层的结构如图6所示,驱动最上层是v4l2的架构,是Linux系统下的通用相机驱动框架。中间层是sensor驱动,用于控制视频流的开关、设置图像参数等。最底层是MAX9295/9296的驱动,负责拉通数据链路。

在这里插入图片描述
Sensor驱动程序会在设备启动(Device boot)的时候,配置串行器-解串器的参数,建立起数据链路(data streaming pipeline)。一旦数据链路建立起来后,就可以分别对串行器、解串器、Sensor配置寄存器参数,控制它们的工作模式,或进行数据流的开关操作等。

2 PC电脑/工控机

PC/工控机主要运行在x86平台,这类系统通常接口有:USB/以太网/PCIE等。USB3.0的传输带宽在1Gbps – 2.5Gbps左右,以太网的带宽在100Mbps – 1000Mbps之间,PCIE的带宽高于10Gbps。

如表2所示,1M(100万像素) - 8M(8百万像素)摄像头的数据传输带宽在655Mbps – 4.4Gbps。从带宽的限制来看,USB3.0最高只能支持到2M,以太网最高支持到1M,只有PCIE可以满足所有的传输需求。

像素传输带宽USB3.0Ethernet (以太网)PCIE
1M655Mbps
2M1.3Gbps×
8M4.4Gbps××

表2 不同接口的传输带宽

PCIE 其工作原理如下:

  1. 摄像头(Sensor+Serdes)的图像数据通过GMSL同轴连接线传输到采集卡的解串芯片(DeSerdes, MAX9296)上

  2. 解串芯片将数据通过MIPI/IIC传输到FPGA,FPGA解析数据流

  3. FPGA通过PCIE将数据存放至DDR4内存中

  4. 调用SDK获取内存数据

在这里插入图片描述

3 DRIVE Xavier

https://docs.nvidia.com/drive/driveworks-3.5/supported_sensors.html
在这里插入图片描述

在这里插入图片描述

使用 Entron 的F001A100BM0A,这是侧向2MP的相机

在这里插入图片描述
在这里插入图片描述

4 TDA4 GMSL1 自主域控 MAX9286与MAX96705

在这里插入图片描述

5 寒武纪行歌 SD5223C 开发板 max96712

在这里插入图片描述

GMSL1方案: 3Gbps
串行器解串器max96705和max96712,gms1通信,HIM参数的互相之间的设置;

在这里插入图片描述
GMSL2方案: 6Gbps
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

6 orin

https://developer.nvidia.cn/drive/ecosystem-orin
在这里插入图片描述

2MP
AR0233 H100 RAW 数量:4

8MP
AR0820 H120Y RAW 数量:2
AR0820 H30 RAW 数量:1

参考

https://zhuanlan.zhihu.com/p/497871767?utm_id=0
http://www.360doc.com/content/23/1122/19/40892371_1104930953.shtml

这篇关于【相机方案】智能驾驶的域控采用的“串行器和解串器”方案的总结(持续更新),SerDes,GMSL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/885847

相关文章

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Vue中动态权限到按钮的完整实现方案详解

《Vue中动态权限到按钮的完整实现方案详解》这篇文章主要为大家详细介绍了Vue如何在现有方案的基础上加入对路由的增、删、改、查权限控制,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、数据库设计扩展1.1 修改路由表(routes)1.2 修改角色与路由权限表(role_routes)二、后端接口设计

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo