二、软件+硬件皆可升级的基础
软件OTA的能力,各家主机厂目前都已经具备了,相比于传统的汽车,软件OTA在一定周期上给汽车注入了新的活力,但依然会碰到算力的天花板。汽车的机械零部件,出厂之后,其功能整个生命周期都不会发生变化,但是中央计算单元,其发展始终跟随最新的ICT技术,在车的生命周期当中,算法、芯片、通信标准等会不断的更迭换代,车的生命周期都在5年以上,但相关的ICT技术,基本2年就会有一个大变样。用户不可能像换手机去一样去换汽车,既然不能换车,为什么不能让用户可以升级中央计算单元呢?升级中央计算单元硬件,特斯拉已经在这么做了!为什么传统主机厂以前在这方面不作为呢?
还是卖硬件的老思维,一次性买卖,没有升级零部件的动力!喜欢搞各种花式车型,每个车型为了体现差异,还要改改硬件、比如多装一块屏,改改屏幕分辨率,竖屏改横屏,等等!底层车型电子电气架构还不统一,换一家厂商的零部件,信号就得重新适配!对智能化不重视,软件能力差,无能力架构跨平台的软件基础设施
以上几个原因,导致了软硬件无法形成平台化,原本羸弱的资源,全部耗散在了无限的车型适配工作当中,根本没有资源提前去研发下一代平台,如此产生恶性循环。写这段的时候,我还是有点激动,曾经加班加点,就是为了把同样的工作适配到十多款车型,毕竟也是为此耗散过青春!Tier1的朋友们倒是很开心,反正只要给钱,主机厂愿意改,他们就愿意接!
不仅要在用户看得到的功能上下功夫,还要在软件的工程能力上下功夫,重视架构设计,否则一旦历史的包袱积累到一定程度,连重构的勇气都会丧失!作为中国高科技公司的代表,连任正非都喊出了华为要加大投入,提高软件能力的口号!
如何能够做到中央计算单元的软硬皆可升级,才是真正考验软硬件架构能力的课题,特斯拉已经开了个好头,就看接下来追上去的是谁。
动力与底盘控制器、车身控制器,其核心软硬件设计目标,是要为中央计算单元提供良好的服务接口,让中央计算单元既能够灵活调用,同时也保持松耦合关系,终极目标是实现软硬件皆可升级。
三、面向服务的架构设计
在传统的离散架构下,车内的ECU通过总线相互通信,但是它们之间的信号收发关系和路由信息都是静态的,是在编译阶段写死的。各个ECU会周期性的发出各种信号,如果需要在另外一个子网当中使用,还需要网关进行转发,出于负载的考虑,网关通常不会把所有信号都转发,如果预先定义功能中,不包含某个信号,而后续又要使用,除了修改业务所在单元之外,还需要对网关的配置进行修改。
如果车辆上市后,想在某个控制器上新增功能,可以通过OTA更新该控制器的软件,但是这个功能需要的其他控制器的信号怎么解决呢?当然,也可以把所依赖的控制器都OTA一遍,但这个工作量与同时OTA的控制器的数量是指数关系,新架构上升级一个控制器,一个月就能解决的事情,在老的架构上可能需要一年。
面向服务的架构(Service-Oriented Architecture,SOA),是一种架构设计思想,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。SOA在互联网IT中有很多应用案例,和微服务的架构有相似的地方,具体可以参考SOA和微服务架构的区别。