1、什么是SOASOA(面向服务的架构)可以理解为一种架构设计方法,它是将一个系统所具有的能力抽象成可调用的并具有标准接口的服务,从而可以通过调用服务或者调用多个服务的组合来满足系统的业务需求。SOA并不是某一种具体的技术实现,而是一种系统架构的设计思想。SOA的提出是为了解决随着面临的问题越来越复杂,软件系统变得难以维护、难以扩展、容易出错等问题。SOA也是一种软件架构设计方案,它用以组织和运用分散在系统不同部分的能力(capabilities)。能力与运用能力,概念上有所差别。需求与能力可以独立于 SOA 而存在。在SOA架构中,服务是更高效地利用现有能力满足需求的一种手段,这也是SOA的意义。2、为什么汽车上要应用SOASOA在IT领域已经存在很久,究竟是什么原因促使SOA应用在汽车上呢?对于任何一个系统来说,外部对系统的“需求”和系统本身具备的“能力”是决定如何设计系统的2个最关键的因素。能力越强则可以满足更多的需求,但能力越强也意味着需要耗费更多的资源。资源从来都是有限和稀缺的,但需求却不断地增加和快速地变化。有限的资源和能力与无限的需求之间的矛盾是系统设计面临的最大挑战。对于任何一个盈利性组织来讲,在设计开发汽车电气系统时,如何用相同的能力满足更多的需求,如何用更少的能力满足相同的需求,如何用现有的能力更快速地、更好地满足不断增长的复杂多变的需求,这是促使SOA设计思想和设计方法应用在汽车上的最本质原因。3、如何实现SOA1)汽车EEA的发展使SOA具备了初步的应用条件汽车EEA从分布式逐步向集中式发展。从整车厂的角度,这种趋势背后的最大驱动力也是为了更好地解决能力与需求的结合和匹配问题。所谓分布式EEA,可以理解为汽车电气系统的软硬件资源和能力是分散的,分散在不同的供应商手中。ECU的软硬件开发全部由供应商完成,整车厂主要负责提出设计需求和测试验证。分布式EEA导致的ECU软硬件资源和能力的浪费是显而易见的。不同的供应商负责不同的ECU开发,整车数十个ECU分别负责实现特定的软硬件功能,然后通过硬线信号或者网络信号进行交互,这种信息交互方式也被称为面向信号的通信。受限于研发周期、项目资源、技术发展(芯片算力、操作系统、软件架构等)、供应商能力以及整车厂能力等众多因素,由分布式EEA走向集中式EEA必然是一个渐进的过程,一般会经历以下几个阶段:1)在局部子系统做一些简单的物理集成。例如,在三电系统,将DCDC和OBC整合为一个ECU,外壳和接插件可以共用(资源的利用率得到提升),但内部还是两个独立的控制器,分别具有各自的PCB和软硬件资源。2)在局部子系统做一些功能集成。例如,在车身控制系统,将BCM、PEPS、TPMS实现的功能通过一个ECU来实现。外壳、接插件、PCB可以共用,软硬件资源也可以部分共享,相对于物理集成,功能集成进一步提高了资源的利用率。3)将某个功能域的大部分或全部功能通过域控制单元进行集中控制。比较典型的功能域划分方式将整车分为5个域:动力域、底盘域、车身控制域、智能座舱域和智能驾驶域(包括ADAS和AD)。4)功能域的进一步融合,整车由几个核心计算单元进行集中控制。例如,特斯拉的整车电气系统主要由autopilot+MCU(智能驾驶+多媒体)、左车身控制和右车身控制三个核心计算单元进行集中控制。华为的智能驾驶、智能座舱和整车控制器三个核心计算单元。5)终极EEA形态:整车电气系统由一个中央计算单元进行集中控制。目前大部分整车厂量产车型的EEA处于第1和第2个阶段,少部分处于第3阶段或第4阶段。前2个阶段从本质上讲还是处于分布式EEA阶段,因为无论是物理集成还是功能集成,都仅仅是在局部功能实现上减少ECU的数量,实现功能所需的软硬件资源还是以ECU为核心进行设计。从第3阶段开始,EEA才算是进入了集中式控制阶段。分布式与集中式控制的本质区别在于,分布式阶段的整车功能是围绕一个个ECU作为主体进行设计的,而集中式阶段则需要从子系统甚至整车的软硬件资源所具备的不同能力的角度,对功能实现进行分层设计,核心思想是不同的层面具备不同的能力,其主要目的是软硬件资源和能力的解耦。可以粗略地将整车软硬件资源所具备的能力分为3类:计算能力、通用控制能力和感知执行能力,并将这3种能力分别对应到计算层、通用控制层和感知执行层。在第3阶段,将某个功能域的计算能力集中到DCU(域控制单元)中,通用控制和感知执行能力由各个功能域中的下层ECU实现。在第4和第5阶段,将整车的计算能力集中到几个核心计算单元或者唯一的中央计算单元中。通用控制能力则分布在整车不同区域的ZCU(区域控制单元)中,从某个区域的范围看,通用控制能力则集中在特定区域的某个ZCU中。感知执行能力只有特定类型的传感器和执行器才具备,只能分布于整车各个传感器和执行器中。在SOA架构中,服务是更高效地利用现有能力满足需求的一种手段,而汽车电气系统的所具备的最基础的能力是由所具备的传感器和执行器的类型和数量决定的,也可以理解为由最底层的硬件资源所决定的,因此在汽车上应用SOA的一个重要前提是实现业务需求与硬件资源的解耦。当EEA发展到第3阶段时,即引入DCU集中控制某个功能域时,汽车上开始具备了实现SOA的条件。DCU的芯片算力、操作系统以及软件架构可以满足业务需求与硬件资源解耦的需求,即有能力通过一套基础软件框架去实现SOA的设计思想,从而将底层的硬件资源具备的能力抽象为一种服务供外部使用,并能够支持一系列的服务管理功能(服务定位、服务发现,服务调用等)。此外,DCU必须支持基于IP协议的车载以太网通信,因为目前支持SOA的主流中间件,例如,SOME/IP等,都是基于IP协议通信的。未完待续。。。