文章目录
- 前言
- 一、软件定义汽车的驱动力
- 二、SOA架构在软件定义汽车中的作用
- 三、车载软件架构(内核、中间件、应用层)长期趋势
- 总结
前言
最早在2007年4月份的IEEE会议中提出“软件定义汽车”(SDV,Software Define Vehicle)的概念,而后于2016年被百度自动驾驶事业部总经理再次提及,随之这一概念开始在汽车行业内广为流传,并已逐步成为汽车行业对于智能汽车演进方向的共识。
一、软件定义汽车的驱动力
当然“软件定义汽车”成为多数整车厂、传统Tier1及互联网科技公司等的共识,主要原因有如下两个方面:
(1)特斯拉作为第一个吃螃蟹者,已经将“硬件为流量入口、软件为收费服务”的模式落地实现,鲶鱼效应显著。
特斯拉作为智能电动汽车的领先者,其在产业界的示范效应已不言而喻。基于现有数据闭环及软件架构,特斯拉可实现快速的软件迭代升级(OTA),进而建立软件付费模式,进一步打开盈利空间。造成的影响就是:
促使传统整车厂加速转型布局车载软件领域,软件定义汽车时代加速到来。
(2)软件才能形成差异化,以软件驱动创新,边际开发成本更低。
OEM及Tier1纷纷开启智能化转型,正如智能手机浪潮伊始之时,各个厂商争相提升摄像头、屏幕以及处理器等配置。而当硬件配置竞赛达到白热化阶段时,软件层面的竞争才更能体现出差异化的竞争力。同时,软件的边际开发成本更低,才能满足用户千人千面的需求,且完善的软件生态亦可为OEM树立更加牢固的护城河、打造差异化的品牌特征。
PS:车载领域软件研发模式大致如下三种:
A:众多传统OEM正通过成立子公司(沃尔沃、丰田、上汽、长安、一汽等);
B:成立软件研发部门(长城、大众、雷诺日产等);
C:与软件供应商合作(广汽、吉利、宝马等)。
结论:软件定义汽车已为产业界共识,鲶鱼效应下车载软件需求大幅提升
二、SOA架构在软件定义汽车中的作用
集中化的E/E架构是实现软件定义汽车的硬件基础,SOA架构则是实现软件定义汽车的软件基础。
传统的分布式E/E架构下,汽车采用的是“面向信号”的软件结构,ECU之间通过LIN/CAN等总线进行点对点通信。
ECU的信号收发关系和路由信息是静态的(已在ECU软件的编译阶段完成预设),如果要新增或升级某项功能,除了要修改与该信号相关的所有ECU软件外,还需要对总线的网关配置、节点的数量等进行修改。因此,在传统的通信及ECU软件架构设计中,通讯网络关注的重点在于各类信号能否准确、高效的在车内进行收发传导。而随着汽车智能化升级需求的快速增长,传统通讯网络及软件架构设计中扩展性差、升级和移植成本高等问题逐渐凸显
比如若想新增某项软件应用或服务,仍需要从头建立一个新的基础软件环境。为解决以上问题,汽车行业借鉴IT行业发展经验,提出SOA(面向服务)软件架构。
SOA(Service Oriented Architecture)软件架构并非一类特定的软件产品,而是一种软件架构设计的理念,其核心思想是将每个控制器的底层功能以“服务”的形式进行封装,一个服务即是一个独立可执行的软件组件,并对其赋予特定的IP地址和标准化的接口以便随时调用,最终通过对这些底层功能的自由组合,以实现某项复杂的智能化功能。
如下举例方便直观认识:
我们以新增ModelX“跳舞”功能的方式为例,具体说明SOA软件架构的优势所在。“跳舞”功能的实现包含音乐、车身、前后运动等多方面,与之对应的是座舱、车身、底盘中的多个控制器。若在传统软件架构下实现该功能,则需要对与该功能链路上所有相关的控制器软件进行重新编译,并通过LIN/CAN总线实现信号的传递。而在SOA软件架构下,我们可将各个控制器所能贡献的部分抽象为一种“服务”,如“灯光控制服务”、“语音交互服务”等,然后仅需要对“跳舞”APP进行编写,对以上基础服务予以调用,即可实现这一功能。
相较于传统软件架构,SOA软件架构在进行功能改变时仅需要更新/升级部分软件
SOA软件架构下的底层软件具备接口标准化、相互独立、松耦合三大特点。在SOA软件架构之下,各个“服务”(底层软件)具有以下三个特点:
(1)各个“服务”间具有界定清晰的功能范围,并且留予标准化的访问接口(由第三方代码编码而成),以便于其他控制器在进行功能变更或升级时进行订阅。
(2)每个服务之间相互独立且唯一,均属于汽车软件架构中的基础软件,因此若想升级或新增某项功能只需通过标准化的接口进行调用即可。
(3)具备松耦合的特性,独立于车型、硬件平台、操作系统以及编程语言。可以将传统中间件编程从业务逻辑分离,允许开发人员集中精力编写上层的应用算法,而不必将大量的时间花费在更为底层的技术实现上。
总体而言,SOA架构的本质是将原本相互分散的ECU及其对应的基础软件功能模块化、标准化,将各个应用区域相互解耦,重新部署为分层式的软件架构,从而使得汽车可以快速响应消费者需求,新增或更新各项功能,实现千人千面。
三、车载软件架构(内核、中间件、应用层)长期趋势
前文提到,在SOA软件架构设计理念之下,汽车软件架构走向分层化、模块化,使得应用层功能够在不同车型、硬件平台、操作系统上复用,并且可以通过标准化接口对应用功能进行快速迭代升级。进一步来看,我们可将软件架构按层级自下而上大致抽象为系统内核层、中间件层以及应用程序层(以上三者分类仅为粗略划分,实际在软件供应商的开发过程中并无绝对性的边界,例如应用程序供应商有时亦包含部分开发工具链,中间件供应商有时亦包含Hypervisor,系统内核供应商有时亦提供部分中间件功能等)。短期来看,若想真正在汽车上落地SOA软件架构,操作系统(此处指系统内核部分)及中间件的引入及优化将至关重要,而长期看在SOA架构构建成熟后,丰富的应用生态将具备更大的价值空间。
结论:
短期看系统内核和中间件举足轻重,长期看应用层价值量更大
总结
促使传统整车厂加速转型布局车载软件领域,软件定义汽车时代加速到来!