【自动驾驶汽车通讯协议】GMSL通信技术以及加串器(Serializer)解串器(Deserializer)介绍
文章目录
- 0. 前言
- 1. GMSL技术概述
- 2. 为什么需要SerDes?
- 3. GMSL技术特点
- 4.自动驾驶汽车中的应用
- 5. 结论
0. 前言
按照国际惯例,首先声明:本文只是我自己学习的理解,虽然参考了他人的宝贵见解及成果,但是内容可能存在不准确的地方。如果发现文中错误,希望批评指正,共同进步。
随着自动驾驶技术和驾驶辅助系统(ADAS)的快速发展,车载摄像头成为了必不可少的传感器,这对车载数据传输提出了很高的要求。为了应对这一挑战,吉比特多媒体串行链路(GMSL, Gigabit Multimedia Serial Link)作为一种高速、长距离的串行通信技术应运而生。本文将详细介绍GMSL技术的工作原理及其在汽车领域的应用。
1. GMSL技术概述
GMSL技术是一种专为多媒体数据传输设计的串行链路技术,它能够在长距离上传输高清视频、音频和控制信号等大量数据,同时保持较低的功耗和电磁干扰(EMI)。GMSL技术的核心组件包括串行器(Ser)和解串器(Des),它们共同构成了SerDes(Serializer/Deserializer)系统,负责将并行数据转换为串行数据,并在接收端将串行数据恢复为并行数据。
GMSL SerDes解决方案示意图如下:
2. 为什么需要SerDes?
在GMSL多媒体数据传输中,SerDes(串行器/解串器)的核心任务是数据的串行化与解串行化:
- 串行化:在发送端,SerDes将来自源设备(例如摄像头)的并行数据流(例如视频)转换成高速串行数据流,以便通过单个或少量物理线路进行传输。
- 解串行化:在接收端,SerDes将接收到的串行数据流重新转换回并行数据流(例如视频),供目标设备(例如屏幕)处理。
具体来说,串行化有以下好处:
- 减少布线复杂性和成本
- 在传统的并行总线系统中,每条数据线都需要单独的导线,随着数据通道数量的增加,线束变得非常复杂且昂贵。
- SerDes通过将并行数据转换为高速串行数据流,大大减少了所需的物理线路数量,从而降低了线束的成本和重量。
- 提高传输速率
- SerDes能够支持非常高的数据传输速率,这对于高清视频传输尤其重要。
- 改善信号质量
- 高速并行总线容易受到信号完整性和电磁干扰的影响。
- 通过使用SerDes技术,可以在更长的距离上传输高质量的信号,同时减少信号衰减和干扰。
- 节省空间
- 使用SerDes技术可以减少所需的电缆数量和体积,从而节省空间并减轻重量。
- 提高灵活性
- SerDes技术使得GMSL可以支持多种不同类型的连接介质,包括同轴电缆和屏蔽双绞线(STP)。
- 这种灵活性允许制造商根据具体应用选择最合适的线缆类型,从而优化性能和成本。
- 功耗和散热
- SerDes技术有助于降低功耗和减少发热,这对于汽车电子系统来说是非常重要的因素。
- SerDes技术有助于降低功耗和减少发热,这对于汽车电子系统来说是非常重要的因素。
简而言之,SerDes在GMSL多媒体数据传输中的主要任务是确保数据能够高效、准确且可靠地从发送端传输到接收端,同时最小化信号质量和传输距离带来的影响。这对于实现在汽车和其他应用环境中高速、长距离的多媒体数据传输至关重要。
3. GMSL技术特点
GMSL技术具有以下几个显著特点:
- 高速率:GMSL1 支持的数据传输速率通常为 3Gbps 或更低。GMSL2 是第二代技术,它提升了数据传输带宽至 6Gbps,可以轻松传输 800 万像素(4K/30fps)的视频流数据;
- 远距离:支持最长15米的屏蔽双绞线(STP)或同轴电缆传输,这对于车辆内部的布局来说是非常有利的;
- 抗干扰性强:采用了串行传输方式,大大减少了线束的数量,满足严格的EMC要求,内置扩频功能以改善链路的电磁兼容性;
- 支持多种数据类型:不仅可以传输视频和音频信号,还能传输控制信号,适合于多媒体系统的集成;
- 功能安全:GMSL支持ASIL B级别的功能安全认证,适用于自动驾驶汽车相关的应用。
4.自动驾驶汽车中的应用
下面以美信公司的MAX967XX GMSL/SerDes产品为例,说明 GMSL/SerDes在ADAS中的应用。
上图是GMSL/SerDes应用在ADAS系统中Camera视频数据传输的示例,该产品系统具有以下特征:
-
控制通道错误检测和重传
- 确保配置链接时的100%准确性
- 可靠的通信,用于通过控制链路访问的外围设备
-
交叉开关
- 并行输入到并行输出
- 为一个主机板启用不同的摄像头模块
- 为多个主机板启用一个摄像头模块
-
减少EMI/EMC
- 可编程输出扩频谱
- 将输入时钟传播到解串器的能力
- 高免疫力模式,以承受控制通道的EMC容忍度
-
增强电缆驱动
- 50Ω同轴或100Ω屏蔽双绞线
- 可编程预加重和去加重允许全速15米电缆
- 可用的线路故障监控
-
视窗宽度监视器和自适应均衡化
- 内置长电缆均衡器
- 视窗宽度监视器可以触发均衡器重新调整
-
最高可达1.74Gbps的灵活数据输入
- 12.5MHz至87MHz的14位输入+ HSYNC和VSYNC
- 36.66MHz至116MHz的12位输入+ HSYNC和VSYNC
-
符合AEC-Q100资格
-
专用帧同步GPO
5. 结论
GMSL/SerDes技术凭借其高速率、远距离传输能力和强大的抗干扰性,成为了汽车行业中多媒体数据传输的理想解决方案。随着自动驾驶技术的进步,GMSL/SerDes技术将继续发挥重要作用,推动汽车电子系统向着更高性能和更高效的方向发展。
相关文章:

【自动驾驶汽车通讯协议】GMSL通信技术以及加串器(Serializer)解串器(Deserializer)介绍
文章目录 0. 前言1. GMSL技术概述2. 为什么需要SerDes?3. GMSL技术特点4.自动驾驶汽车中的应用5. 结论 0. 前言 按照国际惯例,首先声明:本文只是我自己学习的理解,虽然参考了他人的宝贵见解及成果,但是内容可能存在不准…...

Uiautomator2与weditor配置一直报错咋办
作者在配置这两个的时候绞尽脑汁了,u2的init总是报错并且无法自动在手机上安装atx,weditor可以打开但是只要对元素操作或者任意操作就会让你去重新init,搞得作者焦头烂额,而且网上各种各样的报错信息眼花缭乱,作者几乎…...

Java后端面试题:MySQL篇
目录 MySQL基础部分 1. SELECT语句完整的执行顺序是什么? 2. 说一说内连接和外连接。 3. 请说说数据库三大范式。 4. 请你说说视图的作用,视图可以更改么? 架构 5. 请你说一说MySQL架构。 6. 请你说说一条SQL语句的执行过程ÿ…...

# Excel 操作大全
Excel 操作大全 文章目录 Excel 操作大全单元格文本换行计算SUM 单元格 文本换行 设置自动换行,在文本前面使用 AltEnter键即可换行文本前面可以输入空格实现段前缩进的效果 计算SUM 求和函数...

javascript中快速获取最大值和最小值
在 ES6 中,你可以使用 Math.max 和 Math.min 函数来获取一组数字中的最大值和最小值。这两个函数都接受一个可变数量的参数,并返回这些参数中的最大值或最小值。 以下是一个示例: const numbers [1, 2, 3, 4, 5];const max Math.max(...n…...

git merge啥意思
git merge 是 Git 中的一个命令,用于将一个分支的更改合并到另一个分支中。当你在一个项目中有多个开发人员同时工作,或者你在不同的特性分支上开发新功能时,git merge 命令就非常有用。它可以帮助你将不同分支上的更改整合在一起。 git mer…...

Web编程---Servlet技术
文章目录 一、目的二、原理三、过程1. TestServlet02文件演示效果2. TestServlet03文件演示效果3. TestServlet04与TestServlet05文件演示效果4. 控制台展示生命周期过程 四、代码web.xml文件TestServlet02.java文件TestServlet03.java文件TestServlet04.java文件TestServlet05…...

【cocos creator】输入框滑动条联动小组建
滑动条滑动输入框内容会改变 输入框输入,滑动条位置改变 const { ccclass, property } cc._decorator;ccclass() export default class SliderEnter extends cc.Component {property({ type: cc.Float, displayName: "最大值", tooltip: "" }…...

Flink时间窗口程序骨架结构
前言 Flink 作业的基本骨架结构包含三部分:创建执行环境、定义数据处理逻辑、提交并执行Flink作业。 日常大部分 Flink 作业是基于时间窗口计算模型的,同样的,开发一个Flink时间窗口作业也有一套基本的骨架结构,了解这套结构有助…...

计算机视觉之可做什么
1、计算机视觉的应用 计算机视觉在我们生活中已经有了很广泛的应用,在我们可见、不可见;可感知、不可感知的地方,深深地影响了我们的生活、生产方式。 日常生活:美颜相机、火车站刷脸进站、线上办理业务的身份认证、自动驾驶等等…...

观察者模式的思考
观察者模式由来 观察者模式(Observer Pattern)是一种行为型设计模式,它的起源可以追溯到20世纪90年代初,由设计模式四人帮(Erich Gamma, Richard Helm, Ralph Johnson 和 John Vlissides)在其著作《设计模…...

ORACLE SELECT INTO 赋值为空,抛出 NO DATA FOUND 异常
例子: DECLARE ORDER_NUM VARCHAR2(20); BEGIN SELECT S.ORDER_NUM INTO ORDER_NUM FROM SALES_ORDER S WHERE S.ID122344; DBMS_OUTPUT.PUT_LINE(单号: || ORDER_NUM); END; 在查询结果为空的情况下,以上代码会报错:未找到任何数据 解决方…...

GPT提示词
参考 提示词大全: GPT提示词大全(中英文双语)持续更新 提示词.com...

Redis协议详解及其异步应用
目录 一、Redis Pipeline(管道)概述优点使用场景工作原理Pipeline 的基本操作步骤C 示例(使用 [hiredis](https://github.com/redis/hiredis) 库) 二、Redis 事务概述事务的前提事务特征(ACID 分析)WATCH 命…...

LeetCode213:打家劫舍II
题目链接:213. 打家劫舍 II - 力扣(LeetCode) 代码如下 class Solution { public:int rob(vector<int>& nums) {if(nums.size() 0) return 0;if(nums.size() 1) return nums[0];if(nums.size() 2) return max(nums[0…...

linux一二三章那些是重点呢
第一章 静态库动态库的区别 什么是库 库文件是计算机上的一类文件,可以简单的把库文件看成一种代码仓库,它提供给使用者一些可以直接 拿来用的变量、函数或类。 如何制作 静态动态库 静态库: GCC 进行链接时,会把静态库中代码打…...

C语言中的程序入口:超越main函数的探索
在C语言中,尽管main函数是标准程序的默认入口点,但借助编译器特性和链接器选项,我们可以指定其他函数作为程序的入口。GCC编译器通过-e选项,允许我们将任何符合签名的函数作为程序的入口。这一特性可以用于特定的实验需求、特定系…...

《面试之MQ篇》
《面试之MQ篇》 1. 为什么要使用MQ 首先,面试官问的第一个问题或者说是逼问的一个问题:“为什么要使用MQ”其实面试官问这个问题就是想考察你MQ的特性,这个时候呢,我们必须要答出三点:解耦、异步、削峰。 1. 解耦 1. 传统系统…...

Git 分支操作-开发规范
一、背景 在实际开发中,一般在主分支的基础上单独创建一个新的分支进行开发,最后合并到master分支,而不是直接在master分支进行开发。 二、新建分支 1、初始状态,local为本地分支,remote为远程分支 2、单击 “Remot…...

JSONArray根据指定字段去重
JSONArray dataList new JSONArray();这儿省略dataList 加数据的过程 dataList new JSONArray(dataList.stream().distinct().collect(Collectors.toList())); Set<String> timestamps new HashSet<>();根据时间字段去重 dataList dataList.stream().map(obj -…...

线程有哪几种状态? 分别说明从一种状态到另一种状态转变有哪些方式?
在 Java 中,线程的生命周期管理通过不同的状态来跟踪。一个线程在其生命周期中可以处于多种状态,不同的状态之间会通过特定的事件发生转变。以下是 Java 线程的几种状态及其之间的转移方式: 1. 线程的状态 1.1 NEW(新建状态&…...

自注意力机制self-attention中的KV 缓存
在自注意力机制中,KV 缓存(Key-Value Caching)主要用于加速模型在推理阶段的计算,尤其是在处理长序列或者生成任务(如文本生成)时,这种缓存机制可以显著提高效率。 1. KV 缓存的背景 在 Trans…...

前端库--nanoid(轻量级的uuid)
文章目录 定义:生成方式:现实使用:NanoID 只有 108 个字节那么大NanoID更安全NanoID它既快速又紧凑 使用步骤1.安装nanoid包2.引入使用3.使用4.自定义字母 定义: UUID 是 通用唯一识别码(Universally Unique Identifierÿ…...

计算机基础-什么是网络端口?
网络端口可以想象成一个大型公寓楼的邮箱。每个公寓楼(这里指的是一个计算机或服务器)有很多个邮箱(即网络端口),每个邮箱都有一个独一无二的编号(端口号)。当一封信(网络数据包&…...

力扣动态规划基础版(斐波那契类型)
70. 爬楼梯https://leetcode.cn/problems/climbing-stairs/ 70.爬楼梯 方法一 动态规划 考虑转移方程和边界条件: f(x) f(x -1) f(x - 2);f(1) 1;f&…...

Java重修笔记 InetAddress 类和 Socket 类
InetAddress 类相关方法 1. 获取本机 InetAddress 对象:getLocalHost public static InetAddress getLocalHost() throws UnknownHostException 返回值:本地主机的名字和地址 异常:UnknownHostException - 如果本地主机名无法解析成地址 2…...

秋招突击——8/6——万得数据面试总结
文章目录 引言正文面经整理一1、讲一下java的多态,重载,重写的概念,区别2、说一下Java的数组,链表的结构,优缺点3、创建java线程的方式有哪些,具体说说4、创建线程池呢、每个参数的意义5、通过那几种方式保…...

STM32定时器
目录 STM32定时器概述 STM32基本定时器 基本定时器的功能 STM32基本定时器的寄存器 STM32通用定时器 STM32定时器HAL库函数 STM32定时器概述 从本质上讲定时器就是“数字电路”课程中学过的计数器(Counter),它像“闹钟”一样忠实地为处…...

第七课 Vue中的v-for遍历指令
Vue中的v-for遍历指令 v-for用于对象遍历(数组/JSON),渲染数据列表 基础示例: <div id"app"><ul><li v-for"val in arr">{{val}}</li></ul></div><script>new V…...

【NTN 卫星通信】卫星通信的专利
1 概述 好久没有看书了,最近买了本讲低轨卫星专利的书,也可以说是一个分析报告。推荐给喜欢的朋友。 2 书籍截图 图1 封面 图2 波音低轨卫星专利演进 图3 低轨卫星关键技术专利发展阶段 图4 第一页 3 参考文献 产业专利分析报告–低轨卫星通信技术...