【自动驾驶汽车通讯协议】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 -…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
