自动驾驶中的 DCU、MCU、MPU、SOC 和汽车电子架构

自动驾驶中的 DCU、MCU、MPU

  • 1. 分布式电子电气架构
  • 2. 域集中电子电气架构架构
    • 2.1 通用硬件定义
  • 3. 车辆集中电子电气架构
  • 4. ADAS/AD系统方案演变进程梳理
    • 4.1 L0-L2级别的ADAS方案
    • 4.2 L2+以上级别的ADAS方案
  • 5. MCU和MPU区别
    • 5.1 MCU和MPU的区别
    • 5.2 CPU与SoC的区别
    • 5.3 举个例子

Reference:

  1. 什么是域控制器(DCU),对汽车未来电子架构有什么影响?
  2. 自动驾驶域控制器
  3. MPU和MCU的区别
  • DCU:Domain Controller Unit,域控制器
  • MCU:Micro Controller Unit,微控制单元
  • MPU:Micro Processor Unit,微处理单元

近年来,SDV(Software Define Vehicles,即软件定义汽车) 概念逐步被整车厂认知,根源在于 “汽车如何体现差异化”问题的变迁,随着电动化带来的汽车电子构架革新,汽车硬件体系将逐渐趋于一致,如何构建通用化硬件,成为实现软件软件定义汽车的前提基础。只有把硬件通用化,差异化减少,才能减少对软件适配的成本,做到真正的软件定义汽车

下图为博世2017年在一汽车会议上分享的其在整车电子电气架构方面战略图。整车电子电气架构发展分为了六个阶段:模块化阶段->功能集成阶段->中央域控制器阶段->跨域融合阶段->车载中央电脑和区域控制器->车载云计算阶段
在这里插入图片描述

1. 分布式电子电气架构

在这里插入图片描述

过去十多年的汽车智能化和信息化发展产生了一个显著结果就是 ECU 芯片使用量越来越多。从传统的引擎控制系统、安全气囊、防抱死系统、电动助力转向、车身电子稳定系统;再到智能仪表、娱乐影音系统、辅助驾驶系统;还有电动汽车上的电驱控制、电池管理系统、车载充电系统,以及蓬勃发展的车载网关、T-BOX和自动驾驶系统等等。

传统的汽车电子电气架构都是分布式的,汽车里的各个ECU都是通过CAN和LIN总线连接在一起,现代汽车里的ECU总数已经迅速增加到了几十个甚至上百个之多,整个系统复杂度越来越大,几近上限。在今天软件定义汽车和汽车智能化、网联化的发展趋势下,这种基于ECU的分布式EEA也日益暴露诸多问题和挑战。
在这里插入图片描述

2. 域集中电子电气架构架构

在这里插入图片描述
为了解决分布式EEA的这些问题,人们开始逐渐把很多功能相似、分离的ECU功能集成整合到一个比ECU性能更强的处理器硬件平台上,这就是汽车 域控制器。域控制器的出现是汽车EE架构从ECU分布式EE架构演进到域集中式EE架构的一个重要标志。
在这里插入图片描述

域控制器 是汽车每一个功能域的核心,它主要由域主控处理器操作系统应用软件及算法三部分组成。平台化、高集成度、高性能和良好的兼容性是域控制器的主要核心设计思想。依托高性能的域主控处理器、丰富的硬件接口资源以及强大的软件功能特性,域控制器能将原本需要很多颗ECU实现的核心功能集成到一起来,极大提高系统功能集成度,再加上数据交互的标准化接口,因此能极大降低这部分的开发和制造成本。

对于功能域的具体划分,各汽车主机厂家会根据自身的设计理念差异而划分成几个不同的域。比如博世划分为5个域:动力域(Power Train,安全)底盘域(Chassis,车辆运动)车身域(Body,车身电子)座舱域/智能信息域(Cockpit/Infotainment,娱乐信息)自动驾驶域(ADAS,辅助驾驶)

各个域内部的系统互联使用现如今常用的 CAN 和 FlexRay 通信总线。而不同域之间的通讯,则由更高传输性能的以太网作为主干网络承担信息交换任务。 在每个功能域中,域控制器处于绝对位置,需要强大的处理功率和超高的实时性能以及大量的通信外设来支持对应域的功能实现。域控制器为构建新一代的通用、高算力、高带宽、高安全、可重构的汽车电子电气架构,智能电动汽车的技术和产业发展提供坚实基础。

2.1 通用硬件定义

域控制器的通用型要求:

  • 相关功能集中,集成 MPU/MCU,满足域内功能运算能力要求及功能安全要求;
  • 集成标准化软件接口,如 AUTOSAR;
  • 带通讯接口,可与整车主网络直连,同时与域内执行器或传感器通过二级通讯总线进行交互,总线类型:车载以太网(TSN)、CAN、LIN、FlexRay…

目前,主流车企、零部件企业产品均按照动力、底盘、车身、座舱、自动驾驶五大域控制器推进研发和商业化落地。

在这里插入图片描述

各分开域控制器介绍可见文章:什么是域控制器(DCU),对汽车未来电子架构有什么影响?

3. 车辆集中电子电气架构

在这里插入图片描述

4. ADAS/AD系统方案演变进程梳理

4.1 L0-L2级别的ADAS方案

早期大多数L0-L2级别的ADAS系统都是基于分布式控制器架构,整个ADAS系统由4-5个ADAS子系统组成,每个子系统通常是个一体机整体方案(可以被看作是一个smart sensor),子系统独占所配置的传感器,通常相互之间是独立的。

智能前视摄像头模块(Intelligent Front Camera Module,FCM) 为例,整个子系统ECU主板上包含2颗芯片:一颗是安全核(Safety Core);另一个颗是性能核(Performance Core)。安全核一般由英飞凌TC297/397之类的MCU充当,承载控制任务,因此需要较高的功能安全等级需求;性能核通常是具有更高性能算力的多核异构MPU,会承载大量的计算任务。

下面是一个对L0-L2级别方案的总结:

  • L0级别方案:实现各种ADAS报警功能,比如:FCW、LDW、BSW、LCA等。分布式架构,通常由FCM、FCR、SRRs、AVS、APA等几大硬件模块组成。
  • L1级别方案:完成各种ADAS单纵向核单横向控制功能,比如:ACC、AEB、LKA等。也是分布式架构,硬件模块组成与L0级别方案大致相同。
  • L2级别方案:完成ADAS纵向+横向组合控制功能。比如:基于FCM+FCR融合系统,融合前向视觉感知和前雷达目标感知信息,实现TJA/ICA等功能;或者基于AVS+APA的融合系统,实现自动泊车功能。

4.2 L2+以上级别的ADAS方案

分布式架构的ADAS系统存在两个致命缺点:

  1. 各个子系统互相独立,无法做多传感器之间的深度融合。
  2. 各子系统独占所配置的传感器,因此无法实现跨多个不同子系统传感器的复杂功能。

当整车EE架构演进到域集中式EEA之后,ADAS域控制器中配置了集成度更高、算力性能更高的计算处理器平台,进而可以支撑更复杂的传感器数据融合算法,以实现更高级级别的ADAS功能,比如:HWP、AVP等。

集中式ADAS域控制器方案从最早的四芯片方案,过渡到三芯片方案,再到当前业界主流的两芯片方案,如下图所示:
在这里插入图片描述

5. MCU和MPU区别

MPU 的全称叫 Micro Processor UnitMCU 的全称是 Mirco Controller Unit。首先这两个词都有一个Micro开头,其实这就表明了这是计算/控制单元小型化后出现的技术。事实上,这是由于集成电路进步带来的计算机系统集成程度提高的结果。使得原来有多片分立的元件组成的计算机系统向高度集成化发展,多个芯片/元件的功能在向一颗芯片集中。这是一个大的技术演进的背景。核心区别其实就是 Control 和 Process。

但在技术演进过程中,出现了两种不同的需求。这两种需求就是“以软制硬”和“以硬助软”两种模式。

  • 所谓以软制硬,就是通过运行一段软件/程序来控制硬件,也就是所谓的程控。在这种使用模式中,计算机系统不承担主要的工作负载,而主要是起辅助/协调/控制作用。

    因此这种情况下集成的化的计算机系统就不太需要强大的计算/处理能力。所以对应的形态应该是运行频率低、运算能力一般,但是需要集成化程度高(使用方便)、价格低廉(辅助系统不应增加太多成本)等因素。

    由于主要完成“控制”相关的任务,所以被称为Controller。也就是根据外界的信号(刺激),产生一些响应,做一点简单的人机界面。对于这种需求,通过不需要芯片主频太高。早期8051系列主频不过10几MHz,还是12个周期执行一条指令。经过多年的“魔改”也最终达到了100MHz。其次就是处理能力不用太强,8位的MCU长期是微控制器的主流。后来16位的MCU逐步开始占领市场。而随着ARM的32位MCU的出现,采用ARM的M系列的MCU也开始逐步扩大市场。以ST、NXP公司的产品为主要代表。但是这些ARM系列MCU的主频一般也是在几十MHz到100多MHz的量级。其次由于执行的“控制相关”任务,通常不需要支持复杂的图形界面和处理能力。在MCU上完成的任务大多数是一些简单的刺激-响应式的任务,而且任务类型单一,任务执行过程简单。在这种情况下一般不需要MCU去执行功能复杂、运算量大的程序,而通常不需要运行大型操作系统来支持复杂的多任务管理。这就造成了MCU一般对于存储器的容量要求比较低。

  • 而Processor,顾名思义是处理器。处理器就是能够执行“处理”功能的器件。其实具备Processor这个单词的器件不少。比如CPU就被称为“中央处理器”,那既然有“中央”就应该有“外围”。GPU在经典的桌面计算机中就是一个典型的“外围”处理器,主要负责图形图像处理,由于图形图像显示。当然,今天由于AI的崛起,GPU变身成为了人工智能的训练神器。带“P”的还有DSP,数字信号处理器,一种专门为了数字信号处理而生的“领域专用处理器”。所以这些带P的处理器,都是要具备“处理”能力的。“处理”什么?自然是处理数据/信息了。也就是说处理器本身都需要较为强大的数据处理/计算能力。以GPU为例,正是由于它强大的并行浮点运算能力才能支持高速的图像处理,使音视频播放、多媒体技术成为可能。同样由于这样的处理能力使之在AI时代来临之时发挥巨大作用。

    以上对于处理器说了这么多,核心意思就是一个。处理器一定要处理/运算能力强,能够执行比较复杂的任务。而微处理器,其实就是微型化/集成化了的处理器。准确的说是微型化/集成化的中央处理器(CPU)。这就是把传统的CPU之外集成了原属于“芯片组”的各类接口和部分“外设”而形成的。MPU从一开始就定位了具有相当的处理和运算能力,一帮需要运行较大型的操作系统来实现复杂的任务处理。因此这就决定了MPU应该具备比较高的主频,和较为强大的运算能力。MPU很早就演进到了32位处理器,现在更是开始大力普及64位。现在MPU领导具有绝对影响力的Arm公司一开始就定位要做32位。同时MPU也一直追求实现较高的主频。早期经典的Arm 9系列MPU频率就在200MHz-400MHz。现在手机上使用的高端MPU更是到达了3GHz,和主流的桌面处理器是一个级别了。和通用的桌面处理器一样,MPU现在也普遍“多核化”。

    为了支撑MPU强大的算力,使得“物尽其用”。必然要求在MPU上运行比较复杂的、运算量大的程序和任务,通常需要有大容量的存储器来配合支撑。而大容量的存储器难以被集成到以逻辑功能为主的MPU内部,因此MPU现在要运行起来通常需要“外挂”大容量的存储器。主要是大容量的DDR存储器和FLASH。在手机领域前者被称为“运存”而后者被称为“内存”。为了支撑运行复杂操作系统和大型程序,往往还需要MPU中集成高性能的存储控制器、存储管理单元(MMU) 等一整套复杂的存储机制和硬件。

所以从形态上看,MPU由于需要运行对处理能力要求复杂大程序,一般都需要外挂存储器才能运行起来。而MCU往往只是执行刺激-响应式的过程控制和辅助,功能比较单一,仅仅需要使用片上集成的小存储器即可。这是区别MPU和MCU的重要表象,但不是核心原因。

总结一下,MPU和MCU的区别本质上是因为应用定位不同,为了满足不同的应用场景而按不同方式优化出来的两类器件。MPU注重通过较为强大的运算/处理能力,执行复杂多样的大型程序,通常需要外挂大容量的存储器。而MCU通常运行较为单一的任务,执行对于硬件设备的管理/控制功能。通常不需要很强的运算/处理能力,因此也不需要有大容量的存储器来支撑运行大程序。通常以单片集成的方式在单个芯片内部集成小容量的存储器实现系统的“单片化”。

但需要指出的是,随着技术的不断演进。以上的产品形态也会发生一系列的变化和衍生。现在NXP已经开始推出主频在1GHz,带强大运算能力的MCU。而随着3D封装、Chiplet技术的进步,把大容量存储器以先进封装的方式实现“单片集成”也正在实现。所以这种技术名词最终还是应该从他们出现的原因去理解,而不应该简单的从一些形态、架构去解释。更不应该机械的搞一些没有什么意义的“定义”,还让学生在考试的时候去回答。

5.1 MCU和MPU的区别

MCU在一块芯片中集成了整个计算机系统,可以直接加简单的外围器件(电阻,电容)就可以运行代码了。它本质上仍是一个完整的单片机,有处理器,有各种接口,所有的开发都是基于已经存在的系统架构,应用者要做的就是开发软件程序和加外部设备。

MPU如ARM的Cortex-A系列,直接放代码是运行不了的,因为它本质上只是增强版的CPU,必须添加相应的RAM和ROM。

5.2 CPU与SoC的区别

SoC可以认为是将MCU集成化与MPU强处理力各优点二合一,其中MCU是CPU集成了各类外设,MPU是增强版的CPU。目前芯片的发展方向是从CPU到SoC,现在已经没有纯粹的CPU了,都是SoC

5.3 举个例子

在这里插入图片描述上图基于J5的自动驾驶域控制器可见,包含一个 MCU 和 J5+X9 俩 SoC,而 J5 包含了八核 Arm Cortex-A55 MPU

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

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

相关文章

【STM32】软件SPI读写W25Q64芯片

目录 W25Q64模块 W25Q64芯片简介 硬件电路 W25Q64框图 Flash操作注意事项 状态寄存器 ​编辑 指令集 INSTRUCTIONS​编辑 ​编辑 SPI读写W25Q64代码 硬件接线图 MySPI.c MySPI.h W25Q64 W25Q64.c W25Q64.h main.c 测试 SPI通信(W25Q64芯片简介&am…

说说对BOM的理解(常见的BOM对象了解哪些)

文章目录 一、是什么二、window三、location四、navigator五、screen六、history 一、是什么 BOM (Browser Object Model),浏览器对象模型,提供了独立于内容与浏览器窗口进行交互的对象 其作用就是跟浏览器做一些交互效果,比如如何进行页面的后退&…

四川盐亭清代古寨重现,文物建筑保护引关注

近日,在四川盐亭的五台山深处,一处历经160余年风霜的古山寨遗迹重现天日。寨门巍峨,文字斑驳,诉说着清代同治年间的历史沧桑。然而,岁月侵蚀下,文物保护刻不容缓。温湿度波动等自然因素,对这些珍…

森林气象火险监测站

TH-SL10在广袤无垠的森林中,每一片树叶、每一缕风都蕴含着大自然的秘密。而在这片生机勃勃的绿色世界里,森林气象火险监测站就像是守护宝藏的“千里眼”和“顺风耳”,时刻警惕着潜在的危险。 一、森林气象火险监测站:实时监测的“…

生成式 AI - Diffusion 模型的数学原理(3)

来自 论文《 Denoising Diffusion Probabilistic Model》(DDPM) 论文链接: https://arxiv.org/abs/2006.11239 Hung-yi Lee 课件整理 文章目录 一、图像生成模型本质上的共同目标二、最大似然估计三、和VAE的关联四、概率计算 一、图像生成模…

GC9008 12V 全桥驱动芯片,可替代TMI8118,应用于摄像机、消费类产品上

GC9008 是一款 12V 全桥驱动芯片,为提供高性价比的方案。它能提供 0.1A 的持续输出电流。可以工作在 4.5~15V 的电源电压上。 具有 PWM(IN1/IN2)输入接口,与行业标准器件兼容.是 SOP8封装,GC9008D是DIP封装 芯片特点 ● H 桥电机…

计算机服务器中了_locked勒索病毒怎么办?Encrypted勒索病毒解密数据恢复

随着网络技术的不断发展,数字化办公已经成为企业生产运营的根本,对于企业来说,数据至关重要,但网络威胁无处不在,近期,云天数据恢复中心接到很多企业的求助,企业的计算机服务器遭到了_locked勒索…

Python 基于 AI 动物识别技术的研究与实现,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

迁移SVN和GIT的云端数据

在新服务器搭建GIT仓库 教程很多,大致的流程是: 1. 新建linux用户密码专用于git操作 2. 新建git库的存放文件夹并在此初始化git 3. 配置git库所在目录权限 *只需要有一个库和有一个用户,与在windows上建库是一样的。不需要搭建类似gitla…

stable diffusion webui学习总结(2):技巧汇总

一、脸部修复:解决在低分辨率下,脸部生成异常的问题 勾选ADetailer,会在生成图片后,用更高的分辨率,对于脸部重新生成一遍 二、高清放大:低分辨率照片提升到高分辨率,并丰富内容细节 1、先通过…

人力资源智能化管理项目(day10:首页开发以及上线部署)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/humanResourceIntelligentManagementProject 首页-基本结构和数字滚动 安装插件 npm i vue-count-to <template><div class"dashboard"><div class"container"><!-- 左侧内…

MyBatis--08--分页插件PageHelper

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.分页插件PageHelper1.1 mysql中 limit 关键字含义1.2 PageHelper 官网https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md](ht…

中国社科院与英国斯特灵大学创新与领导力博士—应该怎样选专业

现如今其实有很多人感觉只是平台成就自己&#xff0c;离开平台自己并无一技之长或过人之处。但是又不想如此安稳过日&#xff0c;一直终老。所以现在大多数人都会去想在职读个博士。 基本上都是在职博士专业为那些希望边工作边获得博士学位的在在职人员开设的&#xff0c;那么&…

uni-app使用uView打开弹出层后输入框聚焦时placeholder错位问题

这里就不放效果了&#xff0c;大概意思就是在使用uView的popus时&#xff0c;在底部弹出后&#xff0c;如果弹窗中的输入框会造成一瞬间的placeholder文字错位&#xff0c;这个问题的主要是因为uView安全区适配导致 uView相关文档 https://www.uviewui.com/components/safeAr…

Vue3

目录 一、 Vue3简介 1. 性能的提升 2. 源码的升级 3. 拥抱TypeScript 4. 新的特性 二、 创建Vue3工程 1. 基于 vue-cli 创建 2. 基于 vite 创建(推荐) 3. 一个简单的效果 三、Vue3核心语法 1. OptionsAPI 与 CompositionAPI &#xff08;1&#xff09;Options API …

UE蓝图 Set节点和源码

文章目录 Set节点说明相关源码 Set节点说明 UE蓝图中的Set节点是用于对变量进行赋值操作的重要组件。它具有多种功能和作用&#xff0c;具体如下&#xff1a; 变量赋值&#xff1a;Set节点可以用于设置不同类型的变量值&#xff0c;包括整数、浮点数、布尔值、字符串等。在游戏…

OpenAI超级视频模型Sora技术报告解读,虚拟世界涌现了

昨天白天&#xff0c;「现实不存在了」开始全网刷屏。 「我们这么快就步入下一个时代了&#xff1f;Sora简直太炸裂了」。 「这就是电影制作的未来」&#xff01; 谷歌的Gemini Pro 1.5还没出几个小时的风头&#xff0c;天一亮&#xff0c;全世界的聚光灯就集中在了OpenAI的So…

node命令yarn --version指向了java

问题描述 本地安装了java、hadoop和nodejs&#xff0c;并配置了环境变量&#xff0c;但是hadoop的bin目录下存在yarn命令&#xff0c;所以使用nodejs的yarn命令启动项目会出现找不到类&#xff0c;此时键入yarn -version也会显示java的版本。 原因分析 由于配置了hadoop环境…

使用Docker Compose搭建Redis哨兵架构

搭建Redis哨兵(sentinel) 之前我们通过深入理解REDIS哨兵原理了解了Redis哨兵(sentinel)的原理&#xff0c;今天我们手动部署一个哨兵架构。要在Docker中搭建Redis哨兵(sentinel)架构&#xff0c;需要Redis的主从实例以及哨兵实例。之前我们已经使用Docker Compose搭建Redis主…

如何一键抠图换背景?分享两个好用的抠图方法

在数字化时代&#xff0c;图片编辑已成为日常生活和工作中不可或缺的一部分。而智能抠图软件&#xff0c;作为近年来兴起的图片处理技术&#xff0c;正引领着图片编辑的新篇章。它利用先进的机器学习和图像识别技术&#xff0c;能够自动识别和分离图片中的主体&#xff0c;实现…