传统汽车制造商似乎还没有意识到车载操作系统重要性,它能在未来商业模式中节省资金,同时也可以解决自动驾驶问题,ADAS问题和安全问题以及所有其他电气化问题。
计算平台在硬件层实现多处理器整合的同时,打破了传统汽车电子架构中基于总线和网关的物理保护屏障,使得不同安全级别的应用共享计算能力,在软件层基于自动驾驶操作系统系统软件运行具有不同功能安全及信息安全等级和实时性要求的应用软件。保证差异化功能安全和信息安全要求的同时满 足性能要求是自动驾驶操作系统系统软件设计的关键。
特斯拉在互联汽车的功能方面发挥了重要作用,可以使用iPhone打开汽车,检查汽车,查看汽车中的摄像头,一般情况下,两台不同的计算机,无法将相机连接到该手机上,它观看视频。然而,特斯拉计算机执行摄像头系统,与其他任何设备都可以形成通信,这就是操作系统的意义。
硬件虚拟化旨在解决这些问题。“假设你有一个GPU,但是它具有多个客户端操作系统-基本上是多个受保护的工作负载,它们可以占据一定比例的GPU,可以将其完全放在硬件中,以使开销降至最低,这与人们近来在CPU上所做的事情类似,一种基于时间切片的系统。使用基于软件的规则来调度不同的工作负载并相互保护。”
Cadence解决方案营销高级组总监Frank Schirrmeister指出,鉴于汽车行业正在重新考虑数据总线,因此虚拟化在当前的汽车中尤其重要。“虚拟化非常重要,尤其是在汽车中,您会遇到分区架构以及如何放置的情况。您确实需要小心,将关键方面与次要方面分开,例如音频和视频,后者对自动驾驶很重要。”
在自动驾驶汽车中,具有许多不同的分布式处理器,但并不是每个处理器都专用于特定功能。在许多情况下,这被视为冗余的一种方式,从而增加了重量和成本。但是这种方法也限制了自动驾驶汽车所需的故障转移系统的功能。
每个提供商都将为该特定处理器提供操作系统和应用程序,随着系统复杂程度的提高,所需的计算能力被集中在一台集中式计算机中。这些处理器被要求放在一起,同时又要互不干扰分开工作,不同的安全等级往往会带来很大的难度。通过虚拟化的方法,可以创建分配任务的错觉,将每个任务分开,如果某个特定任务由于软件故障而失败,那么其他所有任务都将不受影响。软件虚拟化是分隔不同软件系统并降低总体硬件成本的有效方法。
国外Imagination公司利用内置的硬件虚拟化功能,实现服务与应用程序的完全隔离,以确保在系统被入侵或数据毁损的情况下仍能保持安全,此平台最多能同时支持八个应用程序或服务运行在各自独立的容器中,汽车 OEM 厂商能任意部署并移除服务,完全不会影响其他同时运行的服务。汽车 OEM 厂商可以根据图形或运算应用程序优先设计其系统,以满足车道偏离警示、盲点侦测、以及全景环绕等 ADAS 功能。其他任务,像是信息娱乐系统和仪表板显示,能在第二个 SPU 上运行,利用优先级机制来达到系统的性能目标。
汽车虚拟化面临的挑战
目前,用于汽车应用的处理器内核发展缓慢。为了支持虚拟化,需要附加硬件功能,结合更多的软件层,这使得整体验证和功能安全合规性更加复杂。同时,如果没有标准化解决方案(例如汽车专用操作系统),该问题将变得更加困难。操作系统的任务是处理这个领域中许多独特的安全性和复杂性要求,但是要与专用操作系统相比,实现这一点要困难得多。
汽车是世界上唯一没有自己的操作系统的大批量消费设备。INTEGRITY和QNX是最著名的以汽车为中心的操作系统。还有汽车级的Linux版本,这是Linux的简化版本,所有这些都可以在虚拟系统中运行。Linux和Android之类的产品都经过了一定程度的测试,但是它们仍然是开源的,不能完全保证它们没有错误。
同时,汽车开发过程中要求将ISO26262覆盖在汽车开发的V模型上。在开发周期的每个阶段,甚至都要解决一些没有出现在开发工具中的开发步骤,并且这些步骤必须是可追溯和可测试的,虚拟化在这里也可以发挥作用。
汽车OEM厂商们正在努力磨练其软件专业知识,解决以硬件为中心的思维方式。 虚拟化,数字化和数字双胞胎确实可以为他们提供帮助,满足在物理上无法验证真实硬件上的所有内容。测试从设计到验证都是断开的,使用数字孪生和虚拟化的抽象是帮助他们突破障碍的一种方法。如果他们在整个过程中都接受这一点,将可以极大地加快和改善更多自动驾驶汽车的开发过程。
实习生招聘
NOCITCE
英特尔中国研究院 Autonomous System Lab
招聘:软件/算法开发 实习生(1名)
工作内容:
从交通视频中提取场景信息。协助研究院完成相关的算法开发,软件开发测试,操作界面设计等等工作。
技能要求:
熟悉 python/C/C++ 编程,具有一定的软件编写经验;对图像处理算法有一定了解。
学习能力强,能够自我管理,善于沟通。
时间要求:
每周3天,实习期6个月。