摘要
2.域集中电子电气架构架构
2.1通用硬件定义
3.车辆集中电子电气架构
4.ADAS/AD系统方案演变进程梳理
4.1L0-L2级别的ADAS方案
4.2L2+以上级别的ADAS方案
5.MCU和MPU区别
5.1MCU和MPU的区别
5.2CPU与SoC的区别
5.3举个例子
Reference:
自动驾驶域控制器
MPU和MCU的区别
DCU:Domain Controller Unit,域控制器
MCU:Micro Controller Unit,微控制单元
MPU:Micro Processor Unit,微处理单元
近年来,SDV(Software Define Vehicles,即软件定义汽车)概念逐步被整车厂认知,根源在于“汽车如何体现差异化”问题的变迁,随着电动化带来的汽车电子构架革新,汽车硬件体系将逐渐趋于一致,如何构建通用化硬件,成为实现软件软件定义汽车的前提基础。只有把硬件通用化,差异化减少,才能减少对软件适配的成本,做到真正的软件定义汽车。
下图为博世2017年在一汽车会议上分享的其在整车电子电气架构方面战略图。整车电子电气架构发展分为了六个阶段:模块化阶段->功能集成阶段->中央域控制器阶段->跨域融合阶段->车载中央电脑和区域控制器->车载云计算阶段。
1.分布式电子电气架构
传统的汽车电子电气架构都是分布式的,汽车里的各个ECU都是通过CAN和LIN总线连接在一起,现代汽车里的ECU总数已经迅速增加到了几十个甚至上百个之多,整个系统复杂度越来越大,几近上限。在今天软件定义汽车和汽车智能化、网联化的发展趋势下,这种基于ECU的分布式EEA也日益暴露诸多问题和挑战。
2.域集中电子电气架构
为了解决分布式EEA的这些问题,人们开始逐渐把很多功能相似、分离的ECU功能集成整合到一个比ECU性能更强的处理器硬件平台上,这就是汽车 域控制器。域控制器的出现是汽车EE架构从ECU分布式EE架构演进到域集中式EE架构的一个重要标志。
为了解决分布式EEA的这些问题,人们开始逐渐把很多功能相似、分离的ECU功能集成整合到一个比ECU性能更强的处理器硬件平台上,这就是汽车 域控制器。域控制器的出现是汽车EE架构从ECU分布式EE架构演进到域集中式EE架构的一个重要标志。
对于功能域的具体划分,各汽车主机厂家会根据自身的设计理念差异而划分成几个不同的域。比如博世划分为5个域:动力域(Power Train,安全)、底盘域(Chassis,车辆运动)、车身域(Body,车身电子)、座舱域/智能信息域(Cockpit/Infotainment,娱乐信息)、自动驾驶域(ADAS,辅助驾驶)。
2.1通用硬件定义
域控制器的通用型要求:
相关功能集中,集成MPU/MCU,满足域内功能运算能力要求及功能安全要求;
集成标准化软件接口,如AUTOSAR;
带通讯接口,可与整车主网络直连,同时与域内执行器或传感器通过二级通讯总线进行交互,总线类型:车载以太网(TSN)、CAN、LIN、FlexRay…
目前,主流车企、零部件企业产品均按照动力、底盘、车身、座舱、自动驾驶五大域控制器推进研发和商业化落地。
3.车辆集中电子电气架构
4.ADAS/AD系统方案演变进程梳理
4.1L0-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.2L2+以上级别的ADAS方案
分布式架构的ADAS系统存在两个致命缺点:
各个子系统互相独立,无法做多传感器之间的深度融合。
各子系统独占所配置的传感器,因此无法实现跨多个不同子系统传感器的复杂功能。
当整车EE架构演进到域集中式EEA之后,ADAS域控制器中配置了集成度更高、算力性能更高的计算处理器平台,进而可以支撑更复杂的传感器数据融合算法,以实现更高级级别的ADAS功能,比如:HWP、AVP等。
5.MCU和MPU区别
MPU的全称叫Micro Processor Unit,MCU的全称是 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一般对于存储器的容量要求比较低。
以上对于处理器说了这么多,核心意思就是一个。处理器一定要处理/运算能力强,能够执行比较复杂的任务。而微处理器,其实就是微型化/集成化了的处理器。准确的说是微型化/集成化的中央处理器(CPU)。这就是把传统的CPU之外集成了原属于“芯片组”的各类接口和部分“外设”而形成的。MPU从一开始就定位了具有相当的处理和运算能力,一帮需要运行较大型的操作系统来实现复杂的任务处理。因此这就决定了MPU应该具备比较高的主频,和较为强大的运算能力。MPU很早就演进到了32位处理器,现在更是开始大力普及64位。现在MPU领导具有绝对影响力的Arm公司一开始就定位要做32位。同时MPU也一直追求实现较高的主频。早期经典的Arm9系列MPU频率就在200MHz-400MHz。现在手机上使用的高端MPU更是到达了3GHz,和主流的桌面处理器是一个级别了。和通用的桌面处理器一样,MPU现在也普遍“多核化”。
为了支撑MPU强大的算力,使得“物尽其用”。必然要求在MPU上运行比较复杂的、运算量大的程序和任务,通常需要有大容量的存储器来配合支撑。而大容量的存储器难以被集成到以逻辑功能为主的MPU内部,因此MPU现在要运行起来通常需要“外挂”大容量的存储器。主要是大容量的DDR存储器和FLASH。在手机领域前者被称为“运存”而后者被称为“内存”。为了支撑运行复杂操作系统和大型程序,往往还需要MPU中集成高性能的存储控制器、存储管理单元(MMU))等一整套复杂的存储机制和硬件。
总结一下,MPU和MCU的区别本质上是因为应用定位不同,为了满足不同的应用场景而按不同方式优化出来的两类器件。MPU注重通过较为强大的运算/处理能力,执行复杂多样的大型程序,通常需要外挂大容量的存储器。而MCU通常运行较为单一的任务,执行对于硬件设备的管理/控制功能。通常不需要很强的运算/处理能力,因此也不需要有大容量的存储器来支撑运行大程序。通常以单片集成的方式在单个芯片内部集成小容量的存储器实现系统的“单片化”。
但需要指出的是,随着技术的不断演进。以上的产品形态也会发生一系列的变化和衍生。现在NXP已经开始推出主频在1GHz,带强大运算能力的MCU。而随着3D封装、Chiplet技术的进步,把大容量存储器以先进封装的方式实现“单片集成”也正在实现。所以这种技术名词最终还是应该从他们出现的原因去理解,而不应该简单的从一些形态、架构去解释。更不应该机械的搞一些没有什么意义的“定义”,还让学生在考试的时候去回答。
MCU在一块芯片中集成了整个计算机系统,可以直接加简单的外围器件(电阻,电容)就可以运行代码了。它本质上仍是一个完整的单片机,有处理器,有各种接口,所有的开发都是基于已经存在的系统架构,应用者要做的就是开发软件程序和加外部设备。
MPU如ARM的Cortex-A系列,直接放代码是运行不了的,因为它本质上只是增强版的CPU,必须添加相应的RAM和ROM。
5.2CPU与SoC的区别
SoC可以认为是将MCU集成化与MPU强处理力各优点二合一,其中MCU是CPU集成了各类外设,MPU是增强版的CPU。目前芯片的发展方向是从CPU到SoC,现在已经没有纯粹的CPU了,都是SoC。
我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>