关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯
系统设计其实本身不是一门科学,而是精妙至极的应用工程。但是,有精深科学素养的人或是组织,有较高的可能性会做出更厉害的系统设计。比如达文西在500年前就发明了直升机,这种发明是基于系统设计的功底,及相比同期科学家理解更加深刻的科学原理(伯努利原理)。
然而,在达文西的那个年代,纵然他有那本事与想法设计出直升机,卻沒有足够的平台支援他开发,很多配套的基本技术都尚未成熟。这种与现实背离到一定程度的系统设计,可以说是系统设计的「不能」:它超越时代太多,以至于无法实现。伟大的系统设计,或大或小,都面临过这种「不能」的窘境。当初贾伯斯要开发第一代iPhone时,面临的系统设计瓶颈就是可行的触碰屏幕方案;特斯拉早期全心致力于电动车开发,面临的系统设计困难就是电池与电机的成熟度问题。划时代的产品通常都与当下能达成的系统设计能力有关:Porsche的911与一般车辆或跑车有何不同?答案就在它独特的系统设计:后置发动机。早期的后置发动机是个缺点,但带来了不一样的驾驭感受。然而经过了几十年的系统设计演化:如加入了后轮转向;利用水平对卧发动机设计降低重心位置……等等,后置的911成为了一款杀弯神器,能够用更低的马力输出叫板超跑的性能。现今特斯拉达成的一些系统设计方案,也成为各家仿效的样板,其中的EE架构更是如此。透过高度的集成性,来达成降低成本与减少开发接口复杂性的目标。这是一种系统设计的颠覆,颠覆掉过去几十年间OEM大量仰赖供应商所形成的盘根错节分布式开发。回归中央集权,也代表OEM的系统设计规划能力,知识经验累积,与话语权都得同步提升到一个新境界。总结一下,系统设计的「不能」,主要来自于与现实的脱节;而系统设计的「能」,则是带来时代与环境的技术迭代。系统设计是个威力巨大的武器,若握在有想法的人或组织手上,便会产生许许多多的杀手级产品。在国内的汽车业环境里,系统工程师常常是一个比较鸡肋的存在:一不写代码;二不画PCB,这样的工程角色似乎对开发提供的帮助不大。甚至在笔者的一些项目经验里,会发现公司指派相当资浅的人来担任系统工程师的角色。
然而,系统设计的基础本质是应用科学,所以一个好的系统工程师必定会对当下技术的沿革比较清楚,如最新的机构设计与功能;最新可以用的接口与特性;最新的控制算法……对这些新技术的广泛与深入了解,才能为系统设计架构师提供充足的弹药。好的系统设计,必定会有一到多个solution;好的系统架构师,也必定会知道这些solution是啥,以及这些solution带来的后果为何。既然solution才是系统设计的核心,而非function本身。我们或许可以下一个结论:系统设计的两个可能方向是:科技发展先提供了solution,再由系统架构师找到了这个solution的使用方式,用于合适的use-case (如早期GPU与ADAS的关系);或是系统架构师定义了function与架构要素特性后,再推导发明出合适的solution(如过往Bosch发明开发出了发动机的点火线圈) 这里也就得提到了汽车业二阶供应商的重要性:若说过去的世界一阶供应商是在定义及集成系统;二阶供应就是在供应各种solution building block。没有好的二阶供应商支撑(如uC; SoC…etc),无法为系统迭代提供源源不绝的solution开发及创新能力,再棒的系统设计都是白搭。或许这也是为何Tesla要把SoC的设计能力建立起来,它也想要保证能够一直把最有竞争力及最合适自己系统架构的solution控制在自己手上。越是积极投入在创新性的系统设计上,就会越发让人了解自己的不足,与对世界认知的不够深刻。我打赌,现在世界开始流行的L4自动驾驶不装方向盘与油门制动,待一旦开始跟真实世界密切互动后,我们肯定又会发现一些我们原本不知道的事:诸如对人类行为假设的错误;或任何跟其他车辆运动有关的议题。一个真正完备的系统设计,除了有严谨自上至下宰制思维,也必然有广阔地自下而上资讯采集系统,才能双向打通并凝成够牢固的系统级产品。谈到自下而上的突变式系统设计,就不得不谈软件定义汽车时代的显学:Service-Oriented Architecture(SOA),基于服务的架构。终于到了今天的主角——SOA。SOA在汽车业上开发应用的美妙之处,在于我们已经具备了所有能用的HW solution:所以它是一个完全着重在软件solution及应用想法上的技术。而这些提前具备的底层硬件能力,原本是为了某个自上至下定义好的系统功能服务,但透过SOA技术的支撑,其他原本没有被定义好的系统功能,也能透过自下而上的方式整合突显出来。SOA是IT业的产物,那个世界没有太多高深的系统设计需求,一切就是求快跟方便。但SOA一旦撞上了讲究系统设计的汽车业,或许会跟美学撞上了科技于是诞生了iPhone一般,出现令人耳目一新的变种。系统设计与SOA相同的地方,都在于讲究体现出来的功能或效果。但差异之处在于:系统设计必须考虑许多不同的集成要素(如机构;电控;硬件与软件),而SOA需要考虑的集成要素只有各层级的功能(或服务)而已。这种情况下,笔者认为SOA的最大价值在于把SoSE(System of Systems Engineering)的架构彻底在汽车业应用开来。 在汽车业的这个年代谈SOA,确实挺有意思,若是在10年前来谈,SOA能突变出来的新系统功能或许不会太多:因为底层能力带来的变化性不会很大。 在笔者刚于汽车业服务的时候,我们描述整车的行为常称其为“功能”;一段时日之后,它又被称作“特征”(feature):不管是功能还是特征,它们多半是自上至下的方式被定义出来。然而,就在这两年,专业术语又变成了“服务”(service) 笔者可以试着简单类比下这几个上位的设计概念彼此间有何不同:若我们把“人”作为一个完整系统来说,它的规格书里面可能会定有以下几种内容:1、系统功能:两双可以自由三百六十度移动与伸缩的手,每双手的五根手指也能自由活动收缩2、系统特征:系统可以从事所需的搬运与精密控制活动3、系统服务:任何透过手的使用能达成的技能,如:打篮球(运球;投篮)打网球(握拍)弹钢琴……等等 由上方的类比介绍,我们可以粗略窥见以下特性:“系统功能”通常与系统配置的硬件强绑定(如透过发动机或电机提供扭矩);“系统特征”则定义系统透过硬件与软件协力工作能做到的事(如车辆的自动纵向控制);“系统服务”则是彼此独立能轻易解耦的完整行为,通常是叠加在“系统功能”与“系统特征”之上,可增可减并且增减过程不会互相影响的高级行为(彼此低耦合),称之为“服务”。 SOA的奥妙之处,在于把汽车平台当作一个系统,并由这个系统上所具备的根本硬件能力为“系统功能”基础,来叠出一个又一个不同的增值服务。笔者开章就提到,SOA的赋能若是在10年前出现或许没有多大意义的主要原因:就是今日我们若把汽车作为一个系统,这个系统已经具备了充分的视觉功能(摄像头);触觉功能(Lidar/ Radar点云);感觉功能(温度与雨滴传感器);听觉功能(麦克风);思考功能(算力平台);沟通功能(V2X,音响;喇叭);移动功能(纵向/横向)……它能够实现的事情实在比手机系统多太多。 如果我们拿打篮球这件事来类比:上帝给我们创造手并不是为了让我们打篮球,但我们在具备“手”这种基本功能后,又发现结合“脚”的基本功能,我们便能开始延伸学习“打篮球”这件事。 当然打篮球这件事能够真正实现,还依赖于我们定义了篮球的规格;篮球框的规格;篮球场的规格以及游戏规则。这在汽车领域的SOA也是相同的,未来若是汽车世界衍生出很牛的服务,除了服务调度到更多的车辆本质功能,也很大概率会依赖于对外在环境的适当定义来妥善发挥这个“增值服务”的价值。 传统汽车或复杂系统的设计,主要是自上至下,但今日软件定义汽车及SOA时代的来临,意味着系统设计也可以自下而上!关键在于这个设计能不能让系统实现特定的目标。关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯【免责声明】文章为作者独立观点,不代表旺材汽车电子立场。如因作品内容、版权等存在问题,请于本文刊发30日内联系旺材汽车电子进行删除或洽谈版权使用事宜。