自动驾驶中的 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣题目训练(15)

2024年2月8日力扣题目训练 2024年2月8日力扣题目训练507. 完美数520. 检测大写字母521. 最长特殊序列 Ⅰ221. 最大正方形237. 删除链表中的节点115. 不同的子序列 2024年2月8日力扣题目训练 2024年2月8日第十五天编程训练,今天主要是进行一些题训练,包括…

基于Robei EDA--实现串口数据包接收

一、定义串口传输协议帧 控制字的数据大小为一字节,定义帧头为(0xFE 0xDF)帧尾为(0xEF) 模块框图 内模块:串口接收,output:8位data 串口命令:对单字节数据接收进行缓存…

去掉图片水印但是不伤原图?看完这些方法就知道了

小伙伴们,你们是不是经常在网上找一些好看的图片作为壁纸呢?有时候会遇到一些带着平台水印的图片,是不是觉得不太美观呢?别着急,其实我们可以使用一些去水印软件来将这些水印去除掉,让图片更加美观。那么&a…

贝塞尔曲线

一条 n n n 次贝塞尔曲线可以表示为 C ( u ) ∑ i 0 n B i , n ( u ) P i , 0 ≤ u ≤ 1 (1) \pmb C(u)\sum_{i0}^nB_{i,n}(u)\pmb{P_i},\quad 0\leq u\leq1\tag{1} C(u)i0∑n​Bi,n​(u)Pi​,0≤u≤1(1) 其中,基函数(也称为混合函数) {…

电商行业的机遇在哪?致淘宝平台API数据接口

在电商行业蓬勃发展的今天,我们不得不提及淘宝这个伟大的平台。它不仅为亿万用户提供了便捷的购物体验,更为无数的商家创造了一个财富的聚集地。而如今,随着技术的不断进步,淘宝开放了其强大的API接口,为广大开发者带来…

【开工大吉】推荐4款开源美观的WPF UI组件库

前言 经常有小伙伴在技术群里提问:WPF有什么好用的UI组件库?,今天大姚给大家推荐4款开源、美观的WPF UI组件库。 WPF介绍 WPF 是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的 Windows 应用。它提供了灵活的布局、数据绑定、样式…

git分布式版本控制工具基本操作

Windows操作 1.1 git基本操作 1.设置用户签名 git config user.name xx git config user.email xxb163.com2.初始化本地库 git init3.查看本地库状态 git status4.添加暂存区 git add 文件名称 git add *5.提交本地库 git commit -m "描述信息" 文件6.查看版本…

基于SFLA算法的神经网络优化matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 SFLA的基本原理 4.2 神经网络优化 5.完整程序 1.程序功能描述 基于SFLA算法的神经网络优化。通过混合蛙跳算法,对神经网络的训练进行优化,优化目标位神经网络的…

springboot200个人博客系统的设计与实现

基于spring boot的个人博客系统的设计与实现 摘 要 随着国内市场经济这几十年来的蓬勃发展,突然遇到了从国外传入国内的互联网技术,互联网产业从开始的群众不信任,到现在的离不开,中间经历了很多挫折。本次开发的个人博客系统&a…

Day21--learning English

一、积累 1.stipulate 2.brutal 3.tatter 4.thermal 5.turnstile 6.tickle 7.patsy 8.extinguisher 9.leave well enough alone 10.tangle 11.twirl 12.despise 13.Hang out 14.crisp 15.dye 16.cement 17.stationery 18.sophisticated 19.gradient 20.funeral 二、练习 1.牛…

面试经典150题——螺旋矩阵

"The harder the conflict, the more glorious the triumph." - Thomas Paine 1. 题目描述 2. 题目分析与解析 2.1 思路一 看到题目,先仔细观察矩阵,题目要求我们给出顺时针遍历的结果即可,我们根据矩阵可以看出,首…

开源软件:推动软件行业繁荣的力量

文章目录 📑引言开源软件的优势分析开放性与透明度低成本与灵活性创新与协作 开源软件对软件行业的影响推动技术创新和进步促进软件行业的合作与交流培养人才和提高技能促进软件行业的可持续发展 结语 📑引言 随着信息技术的飞速发展,软件已经…

Java Remote Debug(远程调试)

【华邦云使用过】&#xff1a; -agentlib:jdwptransportdt_socket,address9090,servery,suspendn SpringBoot远程Debug步骤 配置Maven 首先在Maven的pom.xml中配置好如下信息&#xff1a; <project> ... <build> ... <plugins> ... <plugin> &…

机器学习 | 实现图像加密解密与数字水印处理

目录 实现窗口可视化 数字图像加密 窗口布局设置 基于混沌Logistic的图像加密 基于三重DES的图像加密 数字图像解密 窗口布局设置 基于混沌Logistic的图像解密 基于三重DES的图像解密 基于LSB的数字水印提取 窗口布局设置 水印的嵌入与提取 实现窗口可视化 这里…

【力扣 - 环形链表】

题目描述 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&a…

Chrome浏览器安装Axure-Chrome-Extension插件

Chrome浏览器打开Axure生成的HTML静态文件页面时&#xff0c;会显示如下图AXURE RP EXTENSION FOR CHROME&#xff0c;这是因为Chrome浏览器没有安装Axure插件Axure-Chrome-Extension导致的。 解决方法&#xff1a; 插件下载地址&#xff1a;https://download.csdn.net/downlo…

传日本软银CEO拟筹资成立AI芯片公司 | 百能云芯

据美国财经媒体报道&#xff0c;日本软体银行集团执行长孙正义计划筹资1,000亿美元&#xff0c;以成立一家人工智能&#xff08;AI&#xff09;芯片公司&#xff0c;这一举措旨在与英伟达&#xff08;Nvidia&#xff09;等现有市场领导者竞争。 计划的核心目标是通过新公司供应…

C语言系列-预定义符号#define定义宏#define定义宏

&#x1f308;个人主页: 会编辑的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” 目录 预定义符号 #define定义常量 #define定义宏 预定义符号 C语言设置了一些预定义符号&#xff0c;可以直接使用&#xff0c;预定义符号也是在预处理期间处理的。 __FILE__ /…

SG7050VAN晶体振荡器规格书

SG7050VAN 晶振是EPSON/爱普生的一款额定频率73.5 MHz to 700 MHz的石英晶体振荡器&#xff0c;4脚贴片&#xff0c;7050封装常规有源晶振&#xff0c;具有小尺寸&#xff0c;高稳定性。该款有源晶体振荡器&#xff0c;可以在B : -20 C to 70 C / G : -40 C to 85 C C的温度内稳…

在UE5中使用体积材质

在平时使用UE的材质设置时&#xff0c;经常会看见Material Domain Volume类型&#xff0c;但是却很少使用。其实该类型可以配合体积雾使用&#xff0c;并制作体积效果以弥补自带雾参数的不足。 操作流程 首先找到场景中的ExponentialHeightFog组件&#xff0c;开启体积雾Volu…