【盖世直播】凌动未来陈品勋:软硬件集成带给

 硬件产品     |      2017-12-19 12:36

  大家好,今天很高兴在这里有机会跟大家分享在软件开发观点上带来的一些经验和学到的事情。这份材料是为 AGL 这个组织做的内部的简报,讲的主要是凌动使用 AGL components 的经验,内容偏技术,但是有一些很直接很直白的目的。这个是车辆架构的演进,从内燃机的发展可以知道除了内燃机还有其他的技术,是一个越来越高度复杂化、技术越来越先进,元件越来越多的状态。这和早期做不同的设备,一直到最后集成程度全功能的平台式方向非常类似,所以这也是我们产品的愿景,希望有一个 platform,可以作为几个比较关键重大的功能模块放在车里,这样的路线是我们觉得测量会演进的趋势。

  所以在车辆设计的行业里面,我们看到几个问题,功能是变复杂的,需求越来越多,车辆里面需要做很多的 customization ,可能每个人驾驶习惯、车里面的配置不太一样,这个解决方案是我们需要 unified and powerful 的平台,不但可以满足这样的功能,也可以加快软件的研发,更用更快的 interation,不像以前我们觉得车这个行业和其他消费相对缓慢的多,所以如果有 unifided code base,可以把更多新技术代入这个行业里,所以高度集成以及重新设计。

  重新设计是说我们之前这个产品东西出去就出去了,希望它不要坏掉。但是有一些车载系统,或者平台里面可以通过远程升级更新,从这样的不同的生命周期来讲,会带来很多其他新的想象,我们希望从能够升级的软件平台的方式考虑做这样的设计。

  下面说一下AGL,它是专门给车用的 Linux distribution,这是挂在 Linux 基金会下面的。这个项目使用时间非常早,很挣扎活到2014年,2014年刚好跟现在的潮流有点切合找到比较 match,在2016年的时候发行第一个版本是Agilv Abacore,AGL是固定时间的升级,6个月升级一个版本,2016年提出第一个版本,然后2016年中的时候,这个时候开始做多媒体播放、音频播放。在2017年除了提出第一个版本集成仪表、中控,开始考虑到今天在系统里提供OTA功能,考虑日后 mirroring、什么软件的框架有这样的考虑,慢慢的打磨稍微成熟一些。

  在今年3月的时候宣布搭载AGL系统的车型。到今年8月的时Daring Dab做到手机互联的方式,也考虑到实际使用上可能会碰到各种状况。UCB 是它的发行版本对自己定的称呼。

  Link Motion 相对AGL而言我们是它的 community 使用者,我们也是这个社区的贡献者,我们在 Link Motion 平台上使用的很多 open source framework 和 components,都与 AGL 有很大一部分重复,大家的元件都差不多,比如 Bluez 啊 WPA supplicant 之类。所以我们使用里面的一些技术,同时也贡献出我们在开发过程中开源的一些结果。设计的演进是 AGL 各个厂商的开发。他们因为非常新一共两年的时间,他们觉得这是一个很好的从头开始思考未来的网联车需要什么样的架构的机会和时间点,所以里面有相当新的设计架构。

  既然它是叫做AGL,不管是哪一个功能,哪一个方面尽可能的使用AGL已经用元件,第二或多或少满足GPL开源精神,所以希望各种不同的 vendors 在实现这个功能。他们在2015年峰会希望未来如果真出这个版本,不管大家用什么样的Linux操作系统都会 base on AGL。所以接下来发展中遇到的问题很明显,首先Linux没有实时操作能力,所以怎么把Linux操作系统放在一个 safety critical 环境之中有很多工作压做,今天有很多的 framework 和 components 是开源的,怎么利用开源社区的结构加快复用以及开发周期。因为不同的 prject release cycle不一样,我们明白AGL半年出一个系统,所以我们能对它有所预期。但是比如说蓝牙里面 framework 叫 Bluez,这个 release cycle 又不一样,我们在每一个版本和版本之间截取最新的功能,然后加上逐一稳定的补缀,版本出了安全性问题又能够回来针对这样解决,是在使用开源架构会常常遇到的状况。

  Linux上面相对成熟的 framework 加速整个产品化的过程,这是一个很实际的考虑,然后整合其他行业的相近标准,首先OSADL是德国主导的Linux的组织,也有自己Linux发行套间,既然大家都做一样的事情就一起合作。LTSI也是Linux旗下的工作组,做的是维护Linux的内核,以前Linux在ARM平台上,和上游Linux tree是两会事,两边是不同的分支。不同分支下维护安全性变得很棘手的问题,所以有志之士集合起来启动LTSI,固定的时间可能选定一个要做长期维护版本,这个版本之上对它做额外的 fork,从Linux LTSI出来做稳定的未来的维护。这个对于所有想要基于Linux做开发的厂商来讲是非常好的消息,所以有很多比较大的 vendors 都有参与进LTSI。AGL毕竟是Linux 基金会底下,很多程度是复用它的成果。

  提一下我们当初在做这个系统设计的时候经过三个不同版本的迭代,一开始我们很天真认为减少车里面使用的ECU,但是不怎么成功,我们第二个版本的时候考虑到经过我们一开始的规划,发现属于把 cluster 和 IVI 这两个平台运营在一起是很先进的,知道这个方向是对的。第三个版本是稳定的版本,所以稍微讲一下这个架构图。

  首先我们的平台上分两部分,是左边MCU,提供车身总线进来所有的处理,右边是Linux SOC,这条线之上是Linux内核。Linux内核之上使用了叫做 LXC 的技术,通过同一个内核运行不同的 containers,所以这三个颜色可以理解为是不同的Linux的操作系统,然后彼此之间并不会互相影响。

  首先OS是提供仪表和显示,在这之上一个是专门做所有会联网的功能叫做 Telematics Conainer。在另外有叫做IVI OS这个地方是做了娱乐还有中控的功能。这几个彼此之间的交互包含跟MCU交互都通过自己定义的叫做 Vehicle Network API实现,这个是刚才提到白名单的事情。就是今天传什么样的信息,每个信息长度是多少,里面哪一个元件可以传这样信息是预先定义的,所以不会有今天因为某一个 message 从外面被打爆了影响整个系统的状况。

  在使用AGL过程当中,软件角度来看在行业里面我们感觉到一些痛点,首先是硬件供应链太复杂,硬件多、产品多、规格多,型号我们是所有软件集成只要做一次就可以。用户体验经验不足,今天比较先进的车或者跟手机有互联系统的 user base太小了,大家都在挣扎找出什么是 killer application,今天怎么在车里面体现车机比较先进,怎么把IVI展现的淋漓尽致,这些 user search 也不够,不光今天驾驶看中控,今天副驾一些娱乐,甚至后台乘客做娱乐,那怎么定义不同位置定义使用情况,所以这个需要花时间要解决的问题。之后还有关键任务数量众多,这个很需要华时间积累的事情。最后一点是硬件整合为软件集成设置了限制,所以事实上很大一部分的限制是来自于硬件,这是我们过程当中学到的经验。

  我们的架构图在安全件上面,我们没有做到控制单元的必须要实现,然后我们考虑更好更快更高效的,事情,很多开发起来是很复杂的,复杂表示开发困难找人也困难,要实现功能也困难,就算把代码都写好,编译部署到上面也很困难,所以我们想把开发变得更高效。至于娱乐系统或者其他ADAS比较丰富的应用需要持续开发新功能,更新己有的组件,我们在娱乐以及中控方面必须加上更多好的功能。

  系统融合的障碍,一方面过多的线束,安装位置不够灵活。还有功能安全的问题这是很大的工程,另外是通讯协议栈。所谓特定软件的开发环境是像验证的标准,光编译器要经过验证,怎么样达到安全标准又能维持软件开发的快速稳定。

  这是我们提出未来的愿景,希望车里面大概三到五个功能模块可以,其中很多东西可以集成起来的,电传线控,ADAS,天线、车身控制,中间最好有一台 Motion T,完全可以对接所有车辆的功能,这是我们提出的车辆架构。

  那关于怎么符合标准,满足安全性的逻辑架构,我们可以在ADA加上逻辑,通过控制器可以达到这样的架构。一个高度集成开放的 powerful 平台,对于软件开发带来什么样的好处呢?过去不同的硬件,不同的ECU,他们都会需要一套自己的开发环境,今天A和B做的东西怎么集成,就需要找到C提供 integration 的服务。那怎么样满足这样的需求?如果有一个 common codebase,所有的开发工具都可以共用的,不管是AGL或者凌动我们做的是SDK,可以在某种程度上减低各个开发环境切换的 overhead ,从而帮助不同的元件以及不同的软件功能开发实现加快它的速度,所以可以看到有不同的 comoonents 都没有关系,今天不同平台上开发东西全部仆役集成在这里。

  Linux到现在才20年的发展时间,一开始是很苦的做学术研究、科学家,这几年看到状况有改变,尤其安卓开始占据市场份额,Linux市场出局有所改善,那怎么样利用这样的状态去融合以及降低成本,把Linux在其他消费电子产业、IOT产业得到优势再拿回来到车行业里面,这个是我们看到可以做的发展趋势。

  因为这些所有东西都是联网的,只要能够被外部 access 就有一定安全性风险,所以我们要非常小心的处理任何不管 wireless 、wire 联线状态下的安全性问题。包括最近WIFI加密WPA 2最近曝了一个底层用户,可以通过漏洞联线更多病毒软件、勒索软件,目前我们没有看到任何其他的安卓 OS提出安全性更新,谷歌自己做了,但是是8.0以后才会收到这样的更新,所以40%安卓手机、IOS都可能受到这样的KRICA漏洞的影响,这是很恐怖的事情,也需要我们特别小心的处理。

  最后的结论是,我们发现软件、硬件都在向集成化方向发展,软件的整合带给新功能的开发过程更快的速度及更低的成本。建议AGL集成3到5个典型ECU的功能做第一辆车,我们终极目标实现AGL整车。所以我们要考虑到怎么用软件更新的方式来实现各种不同的ECU,以及加新的ECU。最后AUTOSAR已成为软件集成的标准。

  任何严肃对待软件的人都会打造自己的硬件,我想这也是凌动一路走来的心历路程,谢谢大家。