随着消费者对汽车的需求越来越多,比如联网功能、高品质人机界面功能、自动辅助驾驶功能,以及电力系统性能提升等。这些复杂的功能和服务已经没有办法由传统分散式ECU及MCU系统架构来完成,因此在硬件方面,集中式计算平台将会是未来的主流。同时,随着实现这些复杂功能的软件越来越复杂,利用云原生技术去改进软件的开发、构建、管理、更新的效率会变得越来越重要,因为软件开发和维护的成本会变得非常高。
此外,从汽车产业链的角度来看,如上所述,不管是汽车硬件还是软件都在变得越来越复杂,因此对于车厂和tier1来说,只有掌握更多的软件与硬件技术才能满足市场的需求,从而创造自己的价值。于是他们不断加大软件方面的投入,甚至去主导IC的设计。但是,经过一段时间后,我们会发现,车厂和tier1在软硬件方面的投入其实是有共集的,这样不免降低整个产业投资的效率。
“如果能够有一个统一的软件定义汽车平台作为大家开发的基础,让大家在这个统一的平台上去进行差异化功能和服务的开发,将会使所有产业链中的企业和用户受益。”这是汽车产业链的共同需求,也是Arm发布全新的软件架构SOAFEE的主要原因。
SOAFEE是什么?
在解释SOAFEE是什么前,我们先来了解一下软件定义汽车的基本条件,大抵可以概括为以下4条。
第一点:软件必须要具备可移植性,也就是说一份软件要能够在不同的硬件当中去执行。
第二点:软件必须以云端的技术来开发构建和升级,让整个软件的开发和维护成本能够降到最低。
第三点:由于汽车产业里面的一些特殊的要求,所以软件定义汽车的软件必须能够处理实时性、功能安全以及保密的要求。
第四点:软件必须要符合开放式的架构,因为开放式的标准才能创造更大的生态系统。
SOAFEE就是一套能够满足以上条件,并能为软件定义汽车打下基础的一套软件架构。从字面的意思来看,SOAFEE是英文Scalable Open Architecture For Embedded Edge的缩写,中文译为面向嵌入式边缘的可扩展开放架构。
SOAFEE包括两个部分:第一,它是一个软件架构,该架构将通过扩增既有的云端技术,来实现汽车产业对于实时性及功能安全的特殊要求。值得强调的是,它也是一个开源的参考实现。同时SOAFEE是以Arm Project Cassini中的SystemReady 开放标准为基础,来实现底层硬件的抽象化。
SOAFEE有什么用?
对车厂及一级供应商来说,采用SOAFEE后的软件开发成本会大幅降低,同时,通过售后不断地推出创新的服务,可以为车厂创造新的营收来源。报告显示,软件定义的实现可为车厂创造每台车多达2600-7500美金的额外利润。对IC设计及软件供应商而言,他们可以更好地实现产品的差异化,同时软件定义也会让更多的云端应用开发者加入汽车创新的行列。最后,消费者也会更满意定制化的汽车功能及使用体验。
从技术的角度来看,SOAFEE是以云原生(cloud-native) 的概念为基础来满足软件定义汽车的需求的,那什么是云原生呢?
首先,在汽车端的最底层是硬件计算平台,在此之上是固件 (firmware),作为系统软件与硬件之间的接口。而在系统软件之上包括各种的应用及服务,分别在各自独立的环境中运行,这个环境我们称为容器(container)。在以云原生 (cloud-native) 为概念运行的系统中,这些container是在云端的环境中开发、测试及验证,然后,再经由一个编排器(Orchestrator)的软件模块,配置适当的软硬件资源给每一个container中的应用与服务,使它们能够在汽车中执行它们的工作,同时在云端另一个CI/CD (持续集成 / 持续交付) 的模块将负责管理,应用及服务的更新。
而SOAFEE就是以SystemReady的开放标准来统一硬件及固件与系统软件的接口达到第一层的抽像化,同时以管理程序 (hypervisor) 来管理不同操作系统之间共享资源的问题,以container run time及HAL(硬件抽像层,Hardware Abstraction Layer)作为另一个层级的抽像化。在云端,SOAFEE不只会去构建相同的软件环境,同时也会构建虚拟的硬件环境 Virtual ECU,以确保云端与终端间的一致性。SOAFEE的另一个重要的贡献,就是将编排器 (orchestrator) 改进成为能够处理功能安全及实时需求的软件模块。
SOAFEE有何特色?
众所周知,对比自动驾驶L2+,L3主要是在安全冗余方面做了很多功课。而SOAFEE作为面向未来的架构设计,安全问题是重中之重,也是其产品特色之一。
对于SOAFEE架构解决方案,或者是软件定义汽车架构来讲,为什么要把每一个应用和服务放在容器环境中,因为利用容器的特性,就可以针对每个容器去配置不同的软件跟硬件资源,比如说,如果把自动驾驶的功能跟服务放在独立的容器当中,通过编排器 (Orchestrator),就可以配置能够满足最高等级功能安全的硬件和软件环境,来为这个容器服务。但另外一个容器,比如说导航,它其实不需要最高等级,因为如果这样功耗会非常大,而且会有应用的冗余设计,所以我们针对这样的容器配置不需要最高级的功能安全,一般也不需要用分核锁步(split-lock)这样的机制去支持这个容器。所以,不同的容器当中会有不同的功能安全需求,这样就能建构一个具灵活度的基础,同时能让编排器 (orchestrator)配置适当的软硬件环境来满足这些不同需求的容器要求,从而达到整个系统功能安全的目的。
如何尝鲜SOAFEE?
SOAFEE是由Arm以及汽车产业的领导厂商共同提出的,目前SOAFEE的第一个版本已经开放下载,这个版本包含了启动云原生 (cloud-native) 的所有基本模块。同时,Arm也成立了专家小组,而且这个专家小组的会员在不断的增加中。
此外,为了让更多的开发者能够加入SOAFEE的行列,Arm与Ampere、ADLink(凌华科技)合作,设计了具备拓展功能的高性能硬件参考平台,该平台是由一套开发者工作站和车载产品组成,现已开放预订,并预计将于 2021 年第 4 季度上市。
其中一个是工程开发平台 ADLink AVA Developer Platform,另一个是可以联结车载系统的实车测试用平台ADLink AVA-AP1。二者都具备三个高速的扩充接口,用来增加不同目地的处理器,例如GPU或ML加速器等。
通过SOAFEE与硬件参考平台的结合,开发者可以在这个系统中开发及测试各种应用及服务,例如座舱系统、驾驶辅助系统,甚至高等级自动驾驶系统。
写在最后
在汽车领域,软件定义的功能将提供安全的、新的车载体验和功能,以满足消费者的需求和预期,更重要的是,它将为汽车制造商、一级供应商、软件厂商、云服务提供商开启新的收入来源以及与客户互动的机会。