车载SerDes历史和发展概述

news2024/10/10 13:40:14

1. 场景起源

1.1 原始时代:

在古老的很久很久以前,摄像头和显示屏等接口是多种多样的,丰富多彩的。大家各凭本事,各显神通,在各种地盘上成立各种帮派。比如CVBS、DVP、AHD、USB。
在这里插入图片描述

  • CVBS,包括后面的AHD,模拟信号传输。分辨率在480p或者720p。
  • DVP是并行数据接口,一般是BT656/BT1120,拥有多根数据线。传输时钟在几十兆,传输速率较低,分辨率一般在720p,不超过1080p。以下为BT656/BT1120时序示意图:
    [图片]

1.2 MIPI

随着性能的提升,像素也在不断加大,低速接口终究是会被淘汰,高速接口也面临降本增效的阶段了。
MIPI (Mobile Industry Processor Interface)联盟的出现,促使单一的接口技术逐渐成为主流。那个百家争鸣的时代,一去不返了。
MIPI将物理层和协议层分离,同样的协议层可以搭不同的物理层,使接口更加灵活,满足各个场景需求。
[图片]

1.3 长距离传输和Serdes

MIPI最初是针对移动设备场景的,受环境和线路影响,CDPHY的物理线路长度一般在十几厘米以内,并不适用于长距离的信号传输。
很久以来,长距离传输使用CVBS,USB,或者直接用网线,来将远处的数据接入设备。比如台式机广泛使用USB的电脑摄像头UVC,只需要插入USB口,就可以直接通过USB设备,将摄像头数据采集到电脑。还有安防监控领域,使用网线通过网络协议传输视频数据。在车载监控领域,直接使用CVBS/AHD的模拟信号传输数据,这种方式最大支持720P的分辨率。如果数据量继续加大,分辨率和帧率继续提高,便只能另想办法。这就是目前桥接芯片的主要目的。
SERDES,即 Serializer / Deserializer,广泛应用于高速数据传输场景。将并行数据转化为串行数据,通过高速差分信号实现高速通信。
[图片]

在车载视频场景下,Serdes起到中继和路由的功能。一般需要分别用到Serializer / Deserializer两颗芯片,实现数据的中转传输。
[图片]

2. 车载视频场景介绍

目前车载Serdes领域,不同的厂商可能使用不同的通信方式,市场占有率最高的是美信和TI。
[图片]
在这里插入图片描述

3. GSML和MAX96722概述

GSML分为GSML1和GSML2. 总体上说功能是一样的,就是中继信号、路由信号这两个,只是速率和灵活性上的提升。
GSML通过桥接的方式,在摄像头和SOC端架起桥梁,实现长距离传输。同时,可以使用多对一或则一对多的信号路由,比如将多个摄像头的图像分别或者拼接后传输到一路,也可以将某一路图像发送到多个接受端。
MAX96722是美信的一款解串器,支持四路GMSL2到4路MIPI-CSI2的数据桥接,兼容GMSL1。

3.1 视频管道

GSML的数据通过视频管道video pipe的方式组织起来,在Serdes两端单向传输。video pipe相当于CSI中的虚拟通道,用来标记不用的视频流。比如摄像头1的图像在管道1传输动,摄像头2的数据管道在管道2传输。可以将不同的管道输出到任意指定的输出端口,实现路由。
在这里插入图片描述

在这里插入图片描述其中,GMSL1只支持输入端到定向管道,每个链接只能选择一路数据进入。GMSL2可以支持自由映射。MAX96722最多支持8个管道,在GMSL1只会用到4个管道,但是在GMSL2可以用8个管道实现4路2DOL HDR的数据传输。

3.2 设备控制

GMSL支持设备控制数据透传。由于远端设备没有直接接入SOC,因此无法通过SOC直接控制。GMSL可以直接将解串器收到的I2C信号,通过GMSL直接传输到串行器。每个通道支持两个额外的通道将I2C/UART/GPIO控制透传到远端设备,每个GMSL通道可以单独配置。

  • I2C/UART
    MAX96722有三个I2C接口,都可以访问自己和远程的设备寄存器,一般使用一个作为主接口控制MAX96722,另外两个可以用来透传到串行器端。
    每一个GMSL2链接都提供了专用的控制通道,可以独立地分配给任何一个I2C端口。I2C端口可以通过这个GMSL2提供的通道,来访问远端的串行器和外围设备。
    此外,每一个GMSL2链接还提供了一对额外的透传隧道,以供远端的外围设备通讯。对于给定的GMSL2链接,透传隧道可以分配给2组I2C/UART接口,只要该接口没有被分配给控制通道。
    [图片]

远端的串行器只能通过GSML2链接的控制通道访问,由于控制通道只支持一个端口,因此同一时间只能支持一个I2C接口的访问。默认是I2C接口0路由到远端的串行器,剩下两个没被分配的端口,可以通过GMSL2的透传隧道进行远端的外围设备访问。
GMSL1不支持透传通道,因此只能通过控制通道访问远端的串行器和外围设备。
I2C接口除非被禁用,否则都可以访问MAX96722本地解串器的寄存器,不能被断开。所以三个I2C接口永远都可以访问MAX96722自己的寄存器。

  • GPIO
    当本地的指定IO发生变化时,GMSL2链接可以创建一个GPIO的通讯数据包,把本地的IO变化透传到远端,这个操作是双向的。默认GPI和GPO是一一对应的,但是可以通过配置修改,一个GPI也可以映射到对端的多个GPO。GPIO的状态,通过两端的I2C都可以访问。
    GPI有两种传输方式:
    • 延时补偿delay-compensated
      当远端需要精确同步时,就用延时补偿,这时候延时时间是精确的固定值,会增加延时但是抖动和扭曲减少。
    • 和非延时补偿non-delay-compensated。
      当需要最小延时时,使用非延时补偿模式,这时候GPI的变化会尽快地通过链接上可用的带宽同步给对端,对于快速中断响应应当使用这个模式。

3.3 其它功能

MAX96722支持额外的一些功能配置。

  • 视频拼接
    可以将图像横向或者纵向拼接成一副整图,然后进行传输。
    在这里插入图片描述

  • VPG
    支持生成棋盘图和色条

  • 水印
    包含两个水印生成器,可以为两路信号提供水印功能,以检测冻帧现象。

  • 时序侦测
    检测信号的起始,通过pin输出帧同步和行同步信号。

  • CRC/ECC保护

4. MIPI APHY

最初MIPI设定的场景是在移动领域,但随着应用的扩展,其它领域的兼容需求也逐渐变强。在车载领域下,MIPI的物理层并不满足长距离的传输。所以MIPI提出了新的物理层,这就是APHY。APHY可以提供长达15米的通讯距离,和15-48Gbps的传输速率。
同时,MIPI还有意取代当前市场纷乱昂贵的Serdes方案,实现图像广播、合并,配合MIPI CSE协议层进行数据加密、校验、防攻击篡改等安全性功能。
在这里插入图片描述
如上图,APHY的方案为了兼容多种场景和不同的成本方案,提供了不同的框架支持。比如不支持MIPI CSE协议的旧系统,外挂APHY Serdes转C/D_PHY的系统,以及最终直接支持APHY不需要Serdes的集成芯片和摄像头模组。

目前,支持APHY的模组和Serdes正在逐步推向市场,是否可以进一步形成车载视频传输的主流方案,我们拭目以待。

5. 参考文档:

GMSL2_Customers_MAX96722_MAX96722B DS & Reg Doc (rev1)
mipi_CSE_specification_v2-0
一文读懂SerDes技术-CSDN博客
max96714资料解读-CSDN博客
汽车以太网发明人押宝SerDes!

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

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

相关文章

【puppeteer】wvp-puppeteer制作 过程

、 制作 docker build -t dxw-pupet4 -f .\dockerfile2 . docker run -itd --name dxw4 -p 35105:35105 dxw-pupet4 推送到私库 docker tag dxw-pupet4:latest dualvenregistry:5000/wvp-puppeteer:v1.0 docker push dualvenregistry:5000/wvp-puppeteer:v1.0 重启桌面上…

2024.10.9 QT事件

1.思维导图 2.一个圆形根据wsad上下左右移动&#xff0c;超出界限则不移动。鼠标点击和双击事件测试。 1.main.cpp #include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);MainWindow w;w.show();re…

JAVA《接口》

文章目录 一、接口是什么&#xff1f;1.1 接口的概念1.2 接口与类的相似点和区别1.3 接口的特性 二、接口的使用2.1 接口的实现2.2 实现多个接口2.3 接口之间的扩展(继承) 三、接口的使用实例3.1 Comparable接口3.2 Comparator接口3.3 Clonable接口3.3.1 使用Clonable接口3.3.2…

Linux——cp-mv-rm命令

cp命令 复制文件 cp test01.txt test02.txt 复制文件夹 cp -r hsy01 hsy02 mv命令 移动文件/文件夹 rm命令 删除文件 rm test.txt 删除文件夹&#xff08;目录 rm -r hsy01 通配符 * 匹配任意内容 注意* 位置 强制删除-f root超级管理员

数字化转型的深度解析:塑造未来企业的关键策略

在当今技术飞速发展的背景下&#xff0c;数字化转型&#xff08;_Digital Transformation_&#xff09;已成为企业保持竞争力的必要手段。随着云计算、物联网&#xff08;IoT&#xff09;、大数据和人工智能等技术的不断成熟&#xff0c;企业通过数字化手段优化业务流程、提升客…

ESXI 的下载 2024 版

ESXI 的下载 前言 最近收到了部分小伙伴的反馈&#xff0c;VMware 的下载官网上 ESXI 自动跳转进入了 BroadCom 的支持页面&#xff0c;难以找到 ESXI 的官方资源&#xff0c;这里我将为大家做出下载的相关指引。 ESXI 下载指引 跳转进入 BroadCom 的支持页面 &#x1f449; …

Python | Leetcode Python题解之第467题环绕字符串中唯一的子字符串

题目&#xff1a; 题解&#xff1a; class Solution:def findSubstringInWraproundString(self, p: str) -> int:dp defaultdict(int)k 0for i, ch in enumerate(p):if i > 0 and (ord(ch) - ord(p[i - 1])) % 26 1: # 字符之差为 1 或 -25k 1else:k 1dp[ch] max…

Web Service Sender ParseError Invalid byte 1 of 1-byte UTF-8 sequence

说明 发送webservice报错 Invalid UTF-8 start byte 0xfc when using Web Service Sender Web Service Sender error ERROR MESSAGE: Error creating web service dispatch com.sun.xml.ws.streaming.XMLStreamReaderException: XML reader error: javax.xml.stream.XMLStream…

k8s之ingress-nginx-controller安装

作者&#xff1a;程序那点事儿 日期&#xff1a;2024/01/30 01:25 要在master节点上安装 helm repo add ingress-nginx Welcome - Ingress-Nginx Controller helm search repo ingress-nginx helm pull ingress-nginx/ingress-nginx --version 4.4.2 mv ingress-nginx-4.4.…

为Floorp浏览器添加搜索引擎及搜索栏相关设置. 2024-10-08

Floorp浏览器开源项目地址: https://github.com/floorp-Projects/floorp/ 以下内容同样适用于firefox和大部分基于firefox的桌面版浏览器 1.第一步 为Floorp浏览器添加搜索栏 (1.工具栏空白处 次键选择 定制工具栏 (2. 把 搜索框 拖动至工具栏 2.添加搜索引擎 以添加 搜狗搜索…

Ubuntu 18.04安装storcli查看阵列信息

rootCeph03:/opt/MegaRAID/storcli# cat /etc/issue Ubuntu 18.04.5 LTS \n \l 准备好storcli的安装包 解压 解压之后可以看到 根据系统版本选择 把storcli_1.18.11_all.deb包传到服务器 使用命令dpkg -I storcli_1.18.11_all.deb ./storcli64 show ./storcli64 /c1 show …

Acwing 贪心算法遗留

1.Huffman树 Acwing 148.合并果子 实现思路&#xff1a;构建一颗哈夫曼树&#xff0c;求最短带权路径长度&#xff08;树中所有的叶结点的权值乘上其到根结点的路径长度&#xff09; 每次选择重量最小的两堆进行合并使用小根堆存储每一堆果子&#xff0c;每次两次弹出堆顶元…

ML 系列:机器学习和深度学习的深层次总结( 15) — KNN — 第 1 部分

一、说明 K-最近邻 (KNN) 算法是一种流行的监督机器学习算法&#xff0c;用于分类和回归任务。它是非参数惰性学习算法的一个典型例子。KNN 被认为是一种惰性学习算法&#xff0c;因为它在训练阶段不对底层数据分布做出任何假设&#xff0c;也不从训练数据中学习特定模型。相反…

uniapp开发 使用vscode代替hbuilderx开发工具

前言&#xff1a;最近接手了一个uniapp项目&#xff0c;很久没有使用hbuilderx了&#xff0c;用着实在难受&#xff0c;并且还总报奇奇怪怪的错误&#xff0c;首次运行要下载很多插件&#xff0c;搜索文件也用不习惯&#xff0c;加上很多鼠标操作&#xff0c;实在是太影响开发效…

【MATLAB源码-第241期】基于simulink的异步buck降压电路仿真,输出UL IL UR以及PWM波形。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 Buck变换器是一种直流降压转换器&#xff0c;旨在将较高的输入电压转换为较低的输出电压&#xff0c;并广泛应用于各种电源管理系统中。图中的Buck变换器模型通过一系列的电力电子元件和控制信号实现降压功能。 首先&#xf…

QT:“提升为“使用(自定义控件)

目录 一.步骤与作用 1.步骤 2.作用 二.使用 1.mainwindow.ui ->拖一个 Push Button 控件到画布->右击Push Button弹出对话框->单击"提升为" 2.输入提升类名称MyButton->点击添加 3.选择基类名称为QPushButton,点击提升 4.新建MyButton文件 5.在…

《Java基础》变量和数据类型

综述 在开始学习变量之前&#xff0c;我们思考一下为什么需要使用变量。 首先我们从小开始学习加法减法的时候&#xff0c;后来我们再学更难的东西就是代数&#xff0c;其中的x和y是我们要求解的内容&#xff0c;这些内容就是变量。 变量是人的思维的提升&#xff0c;没有变量…

无人机侦测:手提式无线电侦测设备技术详解

手提式无线电侦测设备在无人机侦测中扮演着重要角色&#xff0c;它主要通过侦测无人机与遥控器或地面站之间的无线电信号来实现对无人机的监测和定位。以下是对手提式无线电侦测设备技术的详细解析&#xff1a; 一、技术原理 手提式无线电侦测设备通过无线电侦测技术&#xf…

vue基础(总结很详细)

vue 基础 1. vue 是什么&#xff1f; Vue.js &#xff08;读音 /vju ː /, 类似于 view &#xff09; 是一套构建用户界面的渐进式框架。 Vue 只关注视图层&#xff0c; 采用自底向上增量开发的设计。 Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图…

Day2 IDEA

使用IDEA开发第一个程序 代码结构&#xff1a;Project - Module - Package - Class 作用&#xff1a;便于管理代码 例如&#xff1a; 创建一个空工程 创建module模块 创建package&#xff0c;一般以公司域名倒写技术名称 例如&#xff1a;com.test.hello 创建类 class He…