文/侯哥@Roy
1.
关于SDV的话题已经讨论了很多了,虽然对SDV究竟是一个趋势,还是一种方法论、一种模式,乃至是一个技术领域等,至今还有各种讨论甚至争论的存在,但是,这些都不能阻碍大家对SDV的研究。无论SDV究竟是什么,以下的几点是已经达成共识了:
1. 软件将越来越多的影响整个汽车的产业链,最终引起整个汽车产业链的关系重构
2. 软件的比重将在整车开发中逐渐增加,并占据重要的位置
3. 汽车行业的商业模式将被软件和相关技术的应用所逐渐改变
4. 符合SDV期望的车将可以常用常新、千人千面
还有一个观点:实现了SOA(Service OrientedArchitecture,面向服务的架构)就是实现了SDV。对于这个观点我一直是持有保留态度的。
首先,SOA是一种设计理念,具体的实现方式有多种:如SOME/IP、DDS等,而且还一定会有新的技术出现。如果实现了某种技术就是实现了SDV,这就把SDV的概念搞小了。如果SDV是一个趋势的话,那么技术的发展一定是持续的推动这个趋势在前进,而技术一定会更新迭代,那么当新的技术出现的时候,难道SDV就过时了吗?
我觉得还是不要把SDV和某种具体的技术绑在一起更好一些,因为SDV的内涵远远超越了某种具体的技术,它将是整个汽车产业链格局、开发流程体系、人员和相关的技术等等的变革(相对于原来的造车模式),而且这个变革将不断深化,最终变得让所有人都目瞪口呆。
很多时候,我都在怀疑SDV是否被过度炒作了,汽车行业真的会像手机行业一样发生那么大的变化吗?可是这个世界就是这么奇怪:当大多数人都开始相信一个观点的时候,这个观点就可以变为现实。就好像股市中大多数人都相信股市会下跌的时候,股市就真的会下跌一样。
现在大家既然都相信了软件会改变整个汽车行业,那么就会不计代价的在软件上投入,从而推动这个趋势的尽快实现。就像军备竞赛一样,你如果不参与就一定会落后;而你如果参与的话,那么一定要投入巨额的资源,在大家的资源都是有限的前提下,一定会有人因为持续的投入和短时间内没有回报而坚持不下去。
关于SDV究竟是什么就不再探讨了,总之,软件在这个世界将发挥越来越重要的作用,这是毋庸置疑的。手机已经被改变,汽车正在被改变,还会有更多的东西被改变。其实现在的趋势应该叫做SDW(软件定义世界,Software Defined World),哪个行业或者事物脱离了硬件的主导,而软件起的作用越来越大,那么软件就定义了什么。
2.
现在让我们看看汽车行业会怎么被软件所改变。
一切还是从下面这张正向开发的V模型图开始,汽车的开发最初的起点还是车辆的属性和功能。现在的车与十年前的车从功能上最大的差异就是在网联和智能驾驶方面。
网联方面的功能说穿了就两大类:联网和娱乐。随着移动通信技术的不断发展,联网类的功能也越来越普及,数据量越来越大,种类也越来越丰富。而支撑这些大数据量的丰富应用的,只有两个东西:硬件(屏幕和算力)和生态。这个可以完全类比手机,手机发展的驱动力的基础其实也是硬件(屏幕和算力)和生态。在摩尔定律支撑下的硬件的快速迭代,没有不断发展的生态,就不可能有手机行业的今天。而软件则是可以发挥硬件能力的催化剂,也是构建生态的必要条件。
对于智驾类功能,无论是Level几的自动驾驶,基础也只有两个东西:硬件(传感器和算力)和算法。算法是必须借助软件才能发挥作用的,否则只是一堆写在纸上的公式而已。而算力是将各种传感器采集来的海量数据进行融合,并能在限定的时间内做出决策,从而转化为横向与纵向控制的基础。而且,车辆越智能,需要处理的数据就越多,算法也越复杂,对算力的要求也就越高。
从而,我们可以看出,车辆向智能化发展的基础还是硬件性能的提升。在同样的硬件平台下软件性能的改进提升一定是有限的。不管大家如何看待软件,软件最核心的东西还是功能与系统的设计和需求。所有的软件开发都是从需求开始的。而在整车开发中,功能才是起点,是功能的设计产生的各种需求,再加入性能要求而产生的需求才最终形成了软件开发所需要的需求。
没有需求就不会有软件,没有算力支撑的算法只能是空中楼阁。所有的软件设计最终还是要落实到零部件中的,还是要靠硬件来实现的。
虽然这么说,硬件却是大家都可以买来的,无论是各种超强算力的芯片,还是整个PCB,只要花钱,总是可以用钱来解决的,而如何让这些硬件发挥出应有的作用,却是要靠软件来解决,而软件却是不那么容易可以直接花钱解决的。
3.
谈到软件,可以有很多种分类的方法,我们这里就以AUTOSAR的一个图为例来详细的讨论一下。
直接与ECU的硬件打交道的是Basic Software,也可以称为基础软件,或者是底层软件。这一层基本不需要OEM自己来搞定,因为是可以花钱买来的,有各种NB的供应商可供选择,如:Vector,EB,ETAS,QNX等等,目前还有一些国内的公司也在大举进入。对于这个部分来说而且只要肯花钱,质量绝对是可以保证的。可是如果自己要是有特别要求的话,就不能直接买来了,一般可以选择和这些供应商定制,或者自己在上面进行二次开发。这里的“自己”这个词指ECU的Tier1 或者OEM。下面图中的Complex Drivers一般来说就属于要定制开发的部分。
另外,Basic Software中包含的范围比较广,各种诊断、网络服务等都可以被划归到这类软件中,总之,这些东西因为基本都是按照各种标准开发的,购买的性价比相对来说可以更高一些。
上面说的是Classic AUTOSAR的划分方法,下面这个图是Adaptive AUTOSAR的架构图,其实共同的特点都是底层是硬件相关层,最上面是Application层,中间是操作系统和各种系统服务。
因为Application层在最上面,我们就将其称为上层软件。这些上层软件体现的是各个主机厂自己的核心的设计,是一辆车区别于另外一辆车的根本不同,是体现每个主机厂的DNA的东西。
4.
拿特斯拉来举例。除去加速、操稳等常规性能,特斯拉在人机交互友好性方面的创新基本都是通过软件设计来实现的,很多人只看到了大屏或者取消了仪表等外在的东西,其实这些都是可以轻易抄袭的,可是那种毫无违和感与流畅的使用体验却是靠软件来实现的。而前面说过“软件最核心的东西还是功能与系统的设计和需求”,代码只不过是一种实现的手段。就像一个好的建筑一定是要首先有一个好的设计图纸和各种规范、标准,然后才是钢筋、水泥、木材等建筑材料。
自动驾驶性能也是一样,大家都可以在车上安装各种摄像头和雷达,但是能够把自动驾驶性能和功能做到这种水平的,目前好像只有特斯拉。而自动驾驶的核心还是功能的设计与算法的设计。软件只是一种实现手段。
虽然我总是说软件是一种实现手段,可是软件质量的确有高低。就好像装修房子一样,同样的设计,不同的装修队伍装出来的效果就是不一样,有些还会有质量问题。从现在的情况来看,特斯拉的装修队伍手艺还是不错的。
应用层软件可以选择的开发策略比较复杂,不同的细分领域,肯定要采取不同的策略。比如底盘控制,想重新搞一个ESP还是很难的,而且这个领域已经比较成熟了,重新来过不见得划算,到不如直接连硬件一起买来划算。而车身控制与信息娱乐领域,相对来说变化比较多,门槛也不高,还是可以自己去试一下的。
新能源领域,目前已经有很多OEM自己在搞VCU的软件了。
自动驾驶领域,想要做得好,还是需要大量的投入的。而且,这个坑很深,没有坚定的决心和充足的准备,一定要慎入。
对于想自己做软件的OEM来说,还是选择一个相对容易的领域来开始更好一些。在一个新的领域里面,还是保守一些风险更小。
5.
总结一下:
如果想做软件,一定要记住这句话:“软件最核心的东西还是功能与系统的设计和需求”(这是第三次重复了)。开始做软件之前,一定要把功能与系统设计的基础打牢,否则就只能靠所谓的敏捷开发和OTA来不断的修复BUG了。
主机厂自己做软件已经是一条看起来一定要走的路了。现在大家要思考的不是走不走这条路,而是该怎么走。究竟该怎么走?每个人的选择都可能不一样,只是有两个东西一定要先评估清楚:人+财。SDV时代的竞争其实就是“人财”的竞争。
编者简介:
原创作者:侯哥@Roy 专注汽车电子电器及架构开发
文案编辑:文昌007@Vincent 汽车信息安全从业者
联系客服