软件定义汽车是实现数字化很重要的基础。它的发展离不开计算架构,当前业内大算力平台所用的计算架构绝大多数上都是基于Arm,包括FSD、黑芝麻、地平线、英伟达以及高通等。Arm志在为汽车的研发赋能“左移”,其意更早开始软件开发,并在量产后部署更新以及增加新功能。
纵观趋势 软件定义汽车很重要 从整个汽车产业的趋势来看,汽车行业的朋友都知道车联网功能越来越普遍,自动驾驶、辅助驾驶等更先进的功能也越来越多。如何从一个交通工具变成服务的平台,也是车企对于整个未来汽车产业的期望,其中有些想法甚至渐渐都已经有落实的措施。 汽车产业的电动化趋势不可逆,这个趋势里会出现新的功能和新的想法。对于传统的汽车,要去实现这些想法,在车子里面的总体架构包括整个车子的产业链都必须要去做很结构性的改变。例如看一下汽车的电子电器架构,过去传统的分布式的架构里面有非常多的CPU或MCU去串联。现在电子电器架构里有很多新的需求,已经没有办法用这样的处理器去实现。 同时,计算从过去只有CPU,到未来用很多不同的计算资源以支持各种不同的算法。这些算法必须要在不同处理器架构上去执行,才能够产生更好的效率,比如说有些图形的处理,像GPU,或者是像神经网络的算法,必须在神经网络加速器上,或者图像信号必须要在ISP处理器上预先处理。Arm发现整个处理器的架构也会变成更多的一体化,这个是在硬件上的趋势,去实现不同计算需求。 软件部分也更复杂了,过去传统的MCU相对来的简单,未来需要实现复杂的功能,比如自动驾驶、辅助驾驶、联网等。整个软件的开发跟使用,其实非常复杂。如何去管理复杂的软件结构或者架构,就变成一个非常重要的课题。跟很多车企,特别是欧美车厂谈的过程中,大家觉得如果能够去导入一个新的开发模式,或许基本上可以去解决或者是简化整个导入的过程当中软件的复杂化,并控制复杂的过程。 同时在这个生态链里面发现,有这么多新的技术需要通过硬件和软件等导入到车子当中,对于车厂来讲实际上是非常非常大的挑战。过去通过Tier1去了解并提供一个子系统的模式,已经没有办法让车厂完全掌握这些技术。 所以可以看到从车厂开始,不断地跟第三方的公司,或者技术的提供者进行交流,Tier1也直接跑去跟半导体公司,或者是提供云服务的公司去讨论。大家可以看到整个产业链做了很大的调整。这些变化都带动了产业走向软件定义的过程。 过去这几年,很多车厂都已经渐渐地导入域控制器。如果能够去把几个相类似的功能整合在一起,用一个比较强大的芯片去执行它,或许整个软件部分复杂度能够被应对,而不需要把很多软件都散在各个小的MCU当中。目前像ADAS 域控制器或者是导航等等也非常多地应用在实际的量产当中。这部分也会造成线束的复杂度,同时在域控制器之间的关联性也没有办法去简化它。也有一些车企想说,是不是用域的架构能够缩减目前的复杂度? 如果从实际的车型来看,比如Arm看到1960年的大众甲壳虫汽车,车子里面大概有70条线,整体线束的重量大概1.2kg,长度大概82m左右。2000年左右,非常有名的一个车型第四代Golf,大概长度增加了十倍,重量的增加也大概接近十倍,而ECU数量大概差不多二十个,这个时候还算很早期的系统架构。到目前为止,如果用域架构来看,包括有ADAS功能甚至某些联网的功能在里面,现在如果要去实现一个域架构,大概需要1900条线。线束大概重30kg,长度是1700m左右,整个控制器数量大概也超过40个。 如果从这个地方再往上走,对车厂来讲这是非常痛苦而且很麻烦的事情。如果去改造架构,它大概会回到1960年代的架构,包括重量、长度、ECU数量,都会降得很低。但是每一个控制器的性能相对来讲是提高很多的,这样的设计也会让整个车厂有动力去导入。 软件复杂 如何导入 就软件来讲,汽车当中软件越来越复杂,如何能够去解决这么多复杂的功能,能够将汽车产生的数据应用其中?导入云端的架构去实现软件开发其实是一个必要的,而且是一个可行的方法。这是我们云端架构的大概想法,车端部分包含半导体、软件等等。所有这些选项、应用层级、服务都是在持续开发当中。这些应用和服务基本上在云端做开发,所以现在如果在云上面去开发并做测试,能够早于车载系统做这个,对于软件管理来讲,其实是有非常大的好处。 这个想法在其他行业都已经验证是可行的,比如有很多在手机服务当中都已经在使用。导入这个想法,除了用到这样一个基础架构,必须加上车用的特殊考量。既然这些技术已经存在,如何能够应用到整个车子上面,其实有很多工作要做。如果从过去这些传统研发方式导入到云端,导入到集中式一体设计,我想有一些因素或者有一些要求是必备的。包括5G专网这些基础的建设它必须要用,能够从云端的开发连接到汽车,整个网络的构建是非常重要的,才能去实现软件定义汽车。 除了最基本的联网基础建设以外,在云端这边开发以后,这些软件希望能够被不同汽车里面的架构使用,比如有两家公司的芯片可用,例如A公司的芯片和B公司的芯片,我们希望软件能够在A公司芯片和B公司芯片上不用做很多修改就能够去执行它。除了让计算结构集中化以外,这样的设计能够让软件的可移植性增加。未来如果软件定义汽车能够往前发扬光大,我觉得这是非常重要的特性。很多服务跟应用都必须用到数据,如何让车子数据能够标准化,而且在非常安全的结构之下,让大部分用户去使用它,我想这也是很重要的一个因素。关于其中的应用程序和服务,希望能够做一个架构考虑实时性需求的同时,每一个不同的应用程序和服务都有各自对于安全的需要。 去创造一个开发的机制,让整个软件维护也好或者是持续开发也好,都能够非常顺利并且很容易去接受第三方开发者进来参与软件定义汽车的开发当中。有了这些需求,现在除了应用程序是有车厂做贡献以外,Arm发现有很多车厂在导入软件定义汽车过程当中,有一个部分其实是最缺乏的,尤其是系统软件。经过多番研究和讨论了以后,觉得要实现这个软件,需要非常非常多的人参与在这里面。Arm提出了一个想法,希望以开放式的平台,能够让很多技术的提供者参与在里面,同时能够把汽车产业当中特殊的要求放在这样的一个架构当中。光有了这个架构还是不够的,还要真正能够把这个架构实现出来。如果它能够让很多车厂参与软件定义汽车开发,能够让更多开发者在这上面做自己的开发,这样就能去加速整个软件定义汽车的实现。 实现标准化 需多方合作 为了实现标准化,Arm也希望导入很多开放式标准,让所有人都能够分享到这样的好处。Arm在汽车半导体部分的IP比例占有率相当高,所以Arm也提出一个希望,希望能够导入开放式标准。对于未来能够去用Arm的IP的客户,他们做的芯片如果能符合开放式标准,那么这对于整个软件生态会有很大的帮助。如果去看一下整个软件定义汽车架构,Arm可以看到最底层部分有硬件,它基本上能够符合开放式标准。既然有开放式的标准,结合整个顶层硬件行为,它就能够系统地做一个标准化。 同时它会针对不同的OS,每一个不同的软件跑在图中的虚线当中,在这当中有单独的CPU来作它的计算用途,这部分就不见得一定要跑在虚拟机当中。这样的机制如果是在云端开发,完了以后,同时能够在云端的标准里,去做测试和验证。我想如果能够在这个地方完成这件事情,通过一个机制能够把所有的开发成果再做到汽车这端来。车端根据每一个不同的应用跟服务需求,去把底层相对应的软件系统、软件资源、硬体资源分配给各个不同的任务。假设如果能够完成这样的系统,对于车厂来讲,或者第三方服务开发商来讲,会变得相对容易。我想这个就是作为一个能够去实现软件定义汽车的基础。 SOAFEE是一个开放的软件框架,所以在上面任何人都可以做开发。现在SOAFEE计划到了第三个版本,目前能用得到的是它的第二个版本,它相比于第一个版本有更多的内容能够放在上面运行。目前就整个开发来讲,Arm在去年9月份发布了第一个版本出来。在去年11月份的时候,Arm就跟云端环境提供商进行联系,第一个合作的是AWS。在去年12月份的时候已经可以自动驾驶的开放式软件放在上面运行,而且已经验证可行,并在今年CES上做了实际的展示。 今年1月份,Arm同时把CPU跟GPU的能力也加进去,所以整个系统其实是越来越完整。Arm希望能够在今年的Q2和Q3时,能够让这个架构跟很多伙伴做很多实测的展示。整个项目目前的开发推广状况,可以看到包括大众汽车的软件公司CARIAD等等,有非常多的车企和Tier1一起加入进来,也有非常多第三方软件供应商。目前大概有将近20家很主要的车企和Tier1要一起加入,时间预计大概在6月份左右。此外,还有很多其他公司也在申请,所以最后大概有超过40个不同的公司,能够加入到这里面,而且他们是真正在这个项目上会有一些贡献,会提供不同的技术去完善整个架构。 为了让整个开发更容易一点,Arm也跟另一家科技公司ADLINK合作,设计了一个参考硬件平台,任何人都可以向ADLINK购买这样的平台。大家可以在这个平台上去实现目前整个的软件定义汽车的开发流程,Arm希望这样的硬件参考平台能够帮助到大家的开发。同时,Arm还有一个上车的硬件版本,能够让整个车企和Tier1能够做软件定义汽车的开发。我想整个项目其实有一个很重要的目的,就是缩短开发时间。在传统的车子里面开发来讲,从半导体开发到Tier1整合半导体,变成一个ECU 控制器,这个过程光半导体的开发差不多要两年到两年半的时间,之后ECU的开发大概还要差不多一年半左右,到真正的车厂拿到这些硬件去开发他的软件,其实那个技术已经是四年到五年之前的技术,车厂在后续开发当中其实非常痛苦。 那么以传统的做法而言,有很多半导体公司也非常痛苦,因为他们也不知道未来车厂所需要的芯片规格大概是什么样的。所以最好能在早期实现软硬件协同开发,即让车企尽早开发他们的应用和服务,同时借由这样的应用和服务,给半导体公司一个对的规格。 现在SOAFEE这个项目就能够给车厂或者Tier1提供这样的平台,能够让他们去评估应用和服务需要的计算资源,这样就能把一个比较合理的且较准确的规格给半导体公司,进而可以去让整个软硬件平行开发,缩短整体开发流程。这也就达到了整个软体定义汽车很重要的一点。