车载电子电器架构 —— 汽车电子电气系统分解

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。

文章大体有如下内容:

1、汽车电子电气系统分解

一、 汽车电子电气系统分解

在1.4节中我们分析了汽车电子电气系统的构成。可以看出,无论从哪个视角来看,汽车电子电气系统都具有高度复杂性,属于典型的复杂系统。

电子电气架构出现的目的之一就是解决汽车电子电气系统的复杂性。车辆作为一个系统,与外部环境(人、自然环境、其他车辆等)之间有着千丝万缕的联系。在车的内部,各种部件和部件之间又有着剪不断理还乱的关系,正是这种复杂性使汽车工业区别于其他的行业,成为民用工业皇冠上的明珠。

系统分解的目的和意义

在开发复杂度较高的系统时,最困难的往往是对其进行管理。系统分解是一种应对系统复杂性的方法。由系统的定义可知,系统的复杂性由系统的三要素决定:组件、外部环境、结构关系。组件数量越多,外部环境越复杂,内部的结构关系越复杂,那么系统的复杂度也越高。对于复杂系统的设计和管理,最好的方式就是将其分解为复杂度较低的子系统,再将子系统不断分解,直到分解为可以被设计、被验证和被管理的较小的、基本独立的系统,系统分解是整个开发活动中难度最大,也是最重要的环节。

系统分解的目的是便于管理和实现功能,而从哪个视图对系统进行分解则体现了组织对各个视图内容的重视程度。

系统的分解过程也是组织内部人员分工的过程:在将大系统分解为可以被掌握和管理的小系统的同时完成组织内部的分工。从这个角度来讲,系统分解过程中既完成了系统边界的划定,也完成了个人或团队之间工作边界与职责的划定。

对于电子电气架构设计而言,系统分解是设计工作的重要前提。而系统分解中最复杂的事情可能就是划分系统边界了。曾获得麦克阿瑟天才奖的多纳拉·H.梅多斯在《系统思维》一书中说:“不存在单独的系统,世界是一个整体。如何划分系统边界取决于讨论的目的。”可以毫不夸张地说:系统分解是一门艺术,完全取决于进行分解的目的。

良好的系统分解将大大提升组织的运行效率和系统的开发效率。尽可能提高子系统的内聚程度并减少子系统之间的耦合,可以减少系统开发过程中人力资源的消耗,并能通过有效降低系统复杂度来保证系统的质量并控制开发成本。正如亚当·斯密在《国富论》中所论述的,“有了分工,同等数量的劳动者就能完成比过去多得多的工作量,其原因有三:第一,劳动者的技巧因业专而日进;第二,由一种工作转到另一种工作,通常须损失不少时间,有了分工,就可以免除这种损失;第三,许多简化劳动和缩减机械性劳动的发明,使一个人能够做许多人的工作。”

随着时代的变迁与技术的更新,各个组织对系统的分解方式也在不断进行着相应的变革。

系统分解的4个步骤与3个原则

系统包含3个主要的组成部分:组件、环境和结构关系。系统分解的本质是在不改变原始系统的现有组件、环境和结构关系的前提下将组件进行分组,形成若干较小的子系统。在系统被分解后,各个组件在形式上已经归属于新的子系统,这些子系统则归属于原来的系统。在一个组件归属于新的子系统之后,这个组件与归属于其他子系统的组件的关系将被子系统继承,原本属于组件之间的关系就变成了子系统之间的关系。各个子系统以组件的形式存在于系统中。这个过程可以理解为从天上由近及远地看一个城市:虽然城市没有变,但看到的事物已经从一个个具体的建筑物变为一个个街区了。

系统分解分为纵向分解和横向分解。纵向分解指将复杂而庞大的系统进行分层,从而使每一层可以尽量独立地开展工作,这有助于效率和质量的提升。比如将电子电气系统按照开发阶段分为需求层、系统层和部件层等,将控制器的软件分为应用层、中间件层、驱动层等。横向分解是指将同一层的组件进行拆分和分组,如将需求分解为功能性需求和性能需求,将电子电气系统层分解为车身系统、动力系统、娱乐系统等。

在这里插入图片描述

本节将详细描述系统分解的步骤和原则。

系统分解的4个步骤

将系统进行分解是一个高度复杂的工作,可以按照以下4个基本步骤依次进行。

明确对象 因为系统的分解主要是针对组件进行的,那么首先要明确的就是组件是什么。我们已经知道了,任何一个复杂系统都可以有多个视图,从每个视图看到的组件可能完全不同。对于电子电气系统来说,从逻辑视图看到的是逻辑功能,从物理视图看到的是各种部件,从过程视图看到的是开发过程中的各种阶段性工作和输出物。而且,所谓组件也完全取决于观察者的位置和角度:一个控制器既可以被继续分解为外壳、PCBA(Printed Circuit Board Assembly,印刷电路板总成)和插件等更小的部件,也可以与周边的传感器和执行器等组成一个较大的组件。

既然系统分解的目的是便于管理和开发,而且系统分解又有多个可以入手的角度,那么究竟应该从哪个视图入手对电子电气系统进行分解就取决于管理的方式和目的了。

对于以硬件系统集成为主要开发方式的车企,既然管理的主要标的物是硬件,那么从物理视图入手进行分解就是一种适合的方式,也就是将电子电气系统的所有零部件按照类别进行划分,从而得到多个子系统,比如可以分为底盘控制系统、动力控制系统等。每个子系统中的组件就是一个个控制器和相关的执行器与传感器。

如果整车厂有能力自己进行完整的上层功能逻辑设计,甚至可以深度参与到供应商的软件开发工作中,那么仅从物理层面划分系统就不够严谨了。因为在这种情况下,车企需要管理的不只是零部件,对逻辑层面也要进行深度管理。这个时候,从逻辑视图入手进行系统划分就变得很有必要了。因为逻辑子系统的组件是逻辑功能(Logical Function,LF,或称为逻辑部件,Logical Component,LC),所以从逻辑视图进行的系统划分就是将整个电子电气系统中的逻辑组件进行分类。虽然划分的结果可能还会有底盘控制系统、动力控制系统,但是它们内部的组件已经完全不同了。

电子电气系统还有一个过程视图,理论上也可以通过过程视图进行系统分解。事实上,所有整车厂早已按照开发过程将系统进行了分解,只是大家已经对这种划分习以为常,所以才察觉不到。如图1-10所示,每个按照功能属性划分的系统(动力、信息娱乐等)又被按照开发过程分为需求开发、架构设计和测试验证等更小的系统。

没有哪个车企只从单一的视图进行电子电气系统的分解,大多数都是从3个视图同时开展系统分解的。

确定层级 明确了系统分解的对象之后,要做的是确定系统分解工作的层级,也就是将一个系统分解多少次。因为系统本身没有界定层级的作用,所以界定层级就只能依靠分解者自己了。

系统之间可以是并列关系,也可以是包含关系。例如,底盘系统与车身控制系统就是并列的关系,它们之间没有重叠的部分。像车身控制系统与外灯控制系统和锁系统之间的关系就变成了包含与被包含的关系。也就是说,一个系统既可以是其他系统的组件,也可以包含多个子系统。

另外,系统之间不可以有相互重叠的部分。例如,虽然从物理视图看到的灯光控制系统和雨刮系统共用了相同的部件(组合开关),但该部件在物理系统划分中应该唯一属于某一个系统,而不能被两个系统共同包含。

一个系统的大小取决于不同的视角和目的,也取决于组织对于系统的掌控程度,以及组织内部分工的细化程度。一般来说,掌控得越详细,系统中组件的颗粒度就越小,系统内部的组件就越多。

在整车的开发管理中,大多会采用如图的整车电子电气系统分层方式,将电子电气系统分解为可以被管控的子系统,甚至物理或逻辑零部件。

在这里插入图片描述

随着智能驾驶辅助的兴起,电子电气系统需要被进一步拓展。有的车企把智能驾驶辅助相关的部件设置为一个与其他传统系统并列的系统;有的车企把智能驾驶辅助和被动安全整合到一起,统称为主被动安全;有的车企把智能驾驶辅助划归到电子电器系统中统筹管理;有的车企则将智能驾驶辅助的相关部件划分到了底盘系统中。

在逻辑视图层面,车企对智能驾驶辅助功能相关逻辑系统的划分方法同样是五花八门,有的将智能驾驶辅助功能以部件的功能划分为图像处理、雷达数据处理等逻辑子系统,有的车企按照功能类别划分为泊车辅助、行车辅助等逻辑子系统,有的则将其按照数据流向划分为感知、决策和执行等逻辑子系统。

各种划分方式无所谓好与坏,只是反映了划分时的态度与认知,并且与当时组织的机构设置、人员构成直接相关。说到底,系统是一个集合的概念,如何设置系统的边界,完全是人决定的,而不同人的认知和关注点总是差异巨大。

无论技术的发展、需求的变更,还是人员的调整,都可能导致原来的分解结果需要调整。因为系统分解的结果会反过来影响组织机构和相关人员的职责,继而对技术和需求产生影响,所以系统分解之后的持续维护和更新就变成了一项重要且持续的工作。

2.系统分解的3个原则

无论从哪个视图进行系统分解,下面列举的系统分解基本原则都是普遍适用的。

-> (1)完备性 对系统分解工作的基本要求是完备性,即不遗漏、不重叠。此原则也被称为MECE(Mutually Exclusive, Collectively Exhaustive,相互独立,完全穷尽)法则。无论哪一个视图,都需要充分识别系统中的所有组件,并让每一个组件都归属于某一个子系统,且唯一归属于这个子系统。

-> (2)可管理 分解后产生的子系统的颗粒度既不能太小也不能太大,要维持在一个可被管理的程度。如果太小,则管理成本会很高,需要大量的人力来对应。如果太大,则分解的作用就不明显了。是否可以被管理是一个相对的判断,取决于组织的人员数量和能力,没有一个绝对的标准。

-> (3)高内聚低耦合 由于被分解的系统中各个组件之间存在着各种连接关系,因此当被分解为多个子系统之后,这些子系统之间就会继承内部组件之间的连接关系,从而形成子系统之间的连接关系。这种子系统之间的连接关系导致了子系统之间的相关性。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐