0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么在汽车设计中虚拟化很重要

电子设计 来源:电子设计 作者:电子设计 2022-02-14 16:15 次阅读

本文来源:SemiEngineer
作者:ANN STEFFORA MUTSCHLER

随着汽车产业的电气化和自动化不断提高,车辆内部的ECU不断整合、有着更严格的功能安全和信息安全等要求,车辆设计越来越复杂。汽车生态系统的参与者们正以多种方式寻求虚拟化概念,以简化汽车的设计。

其中的一种方法是硬件虚拟化,将一种设备托管在一个或多个虚拟机上,这些虚拟机的行为类似于具有自己操作系统的独立计算机,并且都运行在同一个底层设备硬件上。这意味着单个GPU可以支持多个并发运行的操作系统,每个操作系统都向单个图形硬件设备提交工作负载。

从历史上看,形成这一格局的趋势之一就是隔离,车内完全独立的模块在物理上彼此分离,并且在不同的配置中。

Imagination产品管理高级主管Kristof Beets说:“我们已经看到了这种变化。有些SoC,有两个图形核心,一个用于仪表板,另一个用于驱动屏幕,它们在物理上是分开的。问题是,如果有性能上的差异,如果其中一个GPU比另一个功能弱很多,另外一个的加速效果就会弱很多,同时两者不能协同加速,这是一个大问题。此外,安装太多模块并对其进行过度的设计非常昂贵。”

Drako Motors首席执行官Dean Drako表示,汽车行业的一些活动正在进一步塑造产业格局。“首先,电气化即将到来,这需要不同的软件和不同的功能,没有一家汽车制造商真的能完全掌控。第二是向ADAS和自主车辆发展,每家OEM都在努力开发中,他们甚至还没有弄清楚要在什么操作系统上运行,他们只是想弄清楚如何让它工作。此外,汽车制造商还面临着一个巨大的问题,汽车的计算成本在总成本中所占的比例持续上升。”

1950年,电子产品仅占汽车成本的1%。如今,电子产品已占到总成本的40%。随着自动驾驶功能和安全功能的增加,以及为这些系统定制的软件开发,成本将持续上升。但企业也开始质疑,是否一切都需要独立开发,尤其是在差异化程度很低的领域。

OEM没有1000名工程师来制造、测试,并处理合规性、安全性和安全性,大多数都是希望采用合作伙伴方式共同解决难题。Drako说道:“特斯拉在联网汽车的性能方面大做文章,他们可以用iPhone打开汽车,检查汽车,查看车内的摄像头。其他OEM都无从下手,因为车里有100台电脑,每台电脑只做一件事。有一台电脑负责摄像系统,这样你在倒车时就能看到摄像机。这的确很好,但是这台电脑不能和其他任何电脑通信。当他们为OnStar安装了漂亮的空中电话调制解调器,以便在发生故障时可以通过手机获得帮助时,无法将摄像头连接到手机上,以便通过它观看视频,因为这是两台不同的计算机。OEM商非常困惑,所以这个行业需要另一种操作系统,因为特斯拉不会向其他OEM商公布自己的操作系统。”

硬件虚拟化旨在解决这些问题。“假设你有一个GPU,但它有多个客户端操作系统——受保护的工作负载,可以占据GPU的一定比例。”Beets说。“我们把它完全放在硬件上以减少开销,因为我们希望尽可能多地保留GPU负载,这样就可以很好地将其分配到不同的工作负载上,和虚拟化CPU相似。这是一种基于时间切片的系统,基本上,您可以使用GPU,并使用基于软件的规则来安排不同的工作负载,并相互保护。”

图1:汽车虚拟化模型

Cadence解决方案营销部高级集团总监Frank Schirrmeister指出,鉴于汽车行业正在按照车轮上的数据中心的思路重新思考未来的架构,虚拟化在汽车行业尤为重要。“虚拟化非常重要,尤其是在汽车领域,您面临的是分区体系结构以及放置哪些功能。你真的需要小心地把关键的方面和不那么重要的方面分开,比如音频和视频。其中一些可能会崩溃,但对于自动驾驶和此类应用相关的摄像头来说,则需要有效隔离。”

自本世纪初以来,硬件虚拟化在数据中心得到了广泛的应用,主要是为了提高服务器的利用率,因为为服务器机架供电和冷却成本高昂。通过使用hypervisor,多个任务、操作系统和应用程序可以共享同一个硬件。

Arteris IP的功能安全经理Stefano Lorenzini说:“为同一硬件创建多个虚拟实例的方法可行,实际上都有专用于特定的产品、软件或应用程序。Hypervisor是一个直接在硬件上运行的裸机操作系统,它创建了一个与运行在上面的其他应用程序或软件程序相关的中间层。因此,如果您想从上到下查看体系结构,您可以看到应用程序,然后看到Hypervisor,然后看到硬件层。虚拟机监控程序会给应用程序造成这样一种错觉,即SoC的每个资源都专用于它们。”

这也解决了自动驾驶汽车中的一个问题,在这种情况下,汽车中有许多不同的分布式处理器,但并非每一个处理器都专用于特定的功能。这被视为避免冗余的一种方式,但也会增加重量和成本,同时限制了自动驾驶车辆故障转移系统的能力。

Lorenzini说:“每个供应商都将为特定处理器提供操作系统和应用程序。你可能有几十个不同的处理器。随着系统复杂程度的增加,现在的趋势是尝试将所需的所有计算能力集中在一台集中的计算机上。然而,如果你要把它们放在一起,就要重新利用过去的应用程序、操作系统等的投资,但务必保证在同一块硬件上彼此独立工作。这就是OEM的问题所在,因为每个应用程序可能有不同的安全要求和ASIL级别。例如,您可能有一个制动系统必须是ASIL D,另一个应用程序必须是ASIL B,另一个应用程序没有ASIL等级,因为它不是安全关键。在您将所有这些应用程序放在一起的那一刻,您必须确保这些不同的软件任务之间的分离或隔离。这正是虚拟化所能做的,因为它可以创造分配任务。虚拟化将每个任务分开,例如,如果某个特定任务因软件故障而失败,则其他所有任务都不会受到影响。”

硬件虚拟化

随着这一领域工作的不断发展,工程团队有两种实现硬件虚拟化的方法—准虚拟化和全硬件虚拟化。

准虚拟化就像一个大的软件交换机,其中可能有一个GPU和一个控制该GPU的软件。在用户方面,可能会有一个大的软件切换,表示有两个应用程序,仪表板和信息娱乐系统,允许两者之间切换。

“这种方法的问题在于,你没有真正的虚拟化,因为你基本上都是用软件来做的。另一个问题是,通常只有一个驱动程序软件控制着这个GPU,所以如果其中一个应用程序行为不当,它可能会导致软件崩溃。在这样一个系统中,实际工作的风险要大得多。实际上还有更多的开销,因为它是软件,而且是手动切换。通常情况下,你会运行一个可信应用程序的框架,然后软重置硬件以清理它,以确保它没有被污染。然后运行另一个应用程序。这些类型的重置在硬件上花费了大量时间,但您必须这样做,否则来自上一个应用程序的数据可能会影响下一个应用程序。”

全硬件虚拟化将一切构建到硬件中。硬件设计中有多个软件接口,可以运行许多完全独立的驱动程序栈。每个程序相信它有自己的GPU,而且实际上也就是在和硬件对话。

一些GPU提供商,比如Imagination,使用GPU内部的一个小型固件处理器来管理这些优先级,以及充当看门狗的角色,还可以拒绝工作负载。此外,一个软件模块使用优先级方案来隔离GPU的特定子部分的工作负载,为用户细分GPU以满足灵活性的需求。

软件

虚拟化已经被证明是划分不同软件栈并降低总体硬件成本的有效方法。然而,在安全保障方面,问题仍然需要解决,特别是在汽车领域。

OneSpin Solutions的产品管理总监Shaun Giebel说:“汽车应用的处理器核心发展缓慢。为了支持虚拟化,需要额外的硬件功能。再加上更多的软件层,这使得整个验证和功能安全符合性更加复杂。某些低级软件功能验证已经在特定的安全空间中使用,增加对硬件的正式验证是对系统按预期运行、无干扰和解决关键性能瓶颈的唯一方法。”

如果没有标准化的解决方案,比如汽车专用操作系统,这个问题就会变得更加困难。在这个领域,操作系统的工作是处理许多独特的安全性、安保性和复杂性要求,但要用竞争对手的专有操作系统来实现这一点要困难得多。

“为什么汽车没有自己的操作系统?”Drako问道。“手机、游戏和笔记本电脑都有AndroidiOS,服务器也有自己的操作系统。汽车是世界上唯一没有自己操作系统的消费级设备。”

Beets同意,并建议这与认证和功能安全有关。“像Linux和Android这样的东西都经过了一定程度的测试。但是他们仍然是开源的,而且很多人都有贡献。它们也非常复杂。它们非常大,有很多行代码,所以你不能完全保证它们没有bug。在汽车领域,仪表板对用户来说非常重要,它不需要所有丰富功能,因为它基本上只是运行一个应用程序。因此,您可以使用一个更小的操作系统,它更简单,但也可以由第三方验证它是否正确,是否满足要求,并且还有一些工具可以为完成验证工作。但如果你的代码库太大,那是不可能的。”

其中最著名的汽车操作系统是INTEGRITY和QNX。还有一些Linux的汽车级版本,是Linux的简化版本。所有这些都可以在虚拟化系统中运行。

“你可以创建所有这些分离的域沙盒,每个沙盒都可以运行自己的操作系统,”Beets说。“其中一些是功能上安全的操作系统,比如Integrity。其他的可能只是标准的Android或Linux,这没关系。如果它们崩溃,它们基本上会停止提交工作,因此GPU不会从它们那里获得更多的渲染命令,这很好,因为仪表板在资源的另一个子集上运行自己的小操作系统,并且会继续运行。”

安全和虚拟模型

安全性是虚拟化可以发挥重要作用的另一个领域。

“没有信息安全,就没有功能安全,没有功能安全,就没有信息安全,”Cadence的Schirrmeister说。“二者都是齐头并进的,因为如果我没有安全措施,可能会有人闯入并使我的刹车失灵。”

“虚拟化”一词的另一面是数字孪生概念,即整个系统在模型之外虚拟化。还有一些安全特性可以从这个角度来解决,在设计流程中进一步等待。

“如果攻击者控制了系统,他们会怎么做来入侵?”Tortuga Logic的首席执行官Jason Oberg说:“如果你在一家半导体公司制造一个子系统,很难理解攻击者是如何侵入该子系统的,因为你已经走得太远了。但是从虚拟化的角度来看,假设它是一个ADAS系统,您正在尝试检测您是否会遇到一个对象,是否有人访问我系统的这一部分。可能是系统的外部输入,比如调试端口,也可能只是从另一个域访问它的某种方式,比如在你的操作系统中,从用户代码或其他方式。但是如果它进入并实际调用某个东西,它会影响ADAS系统的行为。您可以对整个行为进行建模,并且可以在整个系统级别进行建模,从硬件一直到操作系统,再到应用程序级别。”

虚拟化在这方面也有帮助。“这实际上是在考虑如何在这种环境下部署它,如果有对手试图做一些恶意的事情,他们会如何试图侵入系统?”Oberg说。“然后就是从那里展开和解开一切。通过虚拟化,您真的可以得到完整的图像。当你深入到真实的事物时,事情会变得越来越孤立。这就更难解释了。”

Synopsys验证小组的高级主管Marc Serughetti说:“虚拟化能够充分利用处理器的性能,优化架构,并解决日益增长的软件复杂性问题。它还需要新工具的加入,以加速软件开发、集成和测试。对硬件可用性的依赖会造成延迟、不确定性并限制生产力。使用虚拟原型(从虚拟硬件模拟到基于主机的执行)虚拟化硬件以实现开发目的,是尽早开始开发、部署更具生产力的调试和测试、在服务器场中扩展开发以及在任何时间、任何地点跨协作团队实现此开发的关键技术。”

还有更多的工作要做

其中ISO 26262是汽车发展方向之一。在开发周期的每一个阶段,即使开发步骤没有在车辆中完成,也必须对其进行适当的说明,并且可以跟踪和测试,虚拟化在这方面也可以发挥作用。

“特别是对于安全关键型系统,虚拟化涉及系统工程过程的每一个部分,但测试仍然是脱节的。”西门子公司Mentor集成电气解决方案组首席工程师Lance Brooks说。“由于硬件在设计周期中占据主导地位,因此在设计阶段为安全而做的测试以及类似这样的事情与流程的后期部分是脱节的。尤其是在汽车行业,它们都是以硬件为中心的。”

因此,汽车OEM正在努力磨练他们的软件专业知识。Brooks说:“他们确实在努力解决的一个问题是以硬件为中心的思维方式。虚拟化、数字化和数字孪生兄弟确实可以帮助他们,因为在实际的硬件上不可能验证一切。测试从设计到验证都是分离的,这种使用数字孪生和虚拟化的抽象是帮助他们突破这一障碍的一种方法。如果他们在整个过程中都能做到这一点,他们就会开始打破这些“筒仓”,在设计方面和另一方面进行测试。”

这将大大加快和改善更多自主汽车的开发进程。

原文链接:https://semiengineering.com/virtualization-in-the-car/
审核编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 虚拟化
    +关注

    关注

    1

    文章

    349

    浏览量

    29570
  • 汽车设计
    +关注

    关注

    1

    文章

    23

    浏览量

    10160
收藏 人收藏

    评论

    相关推荐

    为什么测量效率时功率因数很重要

    为什么测量效率时功率因数很重要? 功率因数是衡量电器或电路效率的一个重要参数。当我们测量一个电器或电路的效率时,功率因数的作用体现在以下几个方面: 1. 理解功率和效率的关系:效率是衡量能量转换
    的头像 发表于 01-19 11:47 254次阅读

    为什么血氧监测很重要?一文快速了解它的“奥秘”

    为什么血氧监测很重要?一文快速了解它的“奥秘”
    的头像 发表于 11-29 11:46 220次阅读
    为什么血氧监测<b class='flag-5'>很重要</b>?一文快速了解它的“奥秘”

    设计车载激光雷达搞清这5点很重要

    设计车载激光雷达搞清这5点很重要
    的头像 发表于 11-27 14:26 348次阅读
    设计车载激光雷达搞清这5点<b class='flag-5'>很重要</b>!

    PCB的接地为什么很重要?应该怎么做到良好的接地设计?

    PCB的接地为什么很重要?应该怎么做到良好的接地设计? PCB的接地是电子设备设计中至关重要的一部分。良好的接地设计可以确保电路板的稳定性和可靠性,同时可以降低电磁干扰(EMI)和静电放电(ESD
    的头像 发表于 11-23 10:00 808次阅读

    什么是无杂散动态范围 (SFDR)?为什么SFDR很重要

    什么是无杂散动态范围 (SFDR)?为什么SFDR很重要? 无杂散动态范围(SFDR)是指模拟信号中最大的无杂散动态范围。它是在硬件设备中测量的。它是指能够测量的模拟信号的最大幅度范围,其中没有
    的头像 发表于 10-31 09:34 4724次阅读

    参考平面很重要,为啥这里要挖掉?

    高速先生成员--姜杰 传输线结构包括信号路径和返回路径,以平面形式出现的返回路径通常被称为参考平面。不少刚接触高速信号设计的朋友会有这样的困惑:都说走线的参考平面很重要,为啥有些信号还要把途经SMD
    发表于 08-28 18:03

    一文了解新能源汽车包含多少种芯片

    一辆汽车到底需要多少个芯片? 在过去的几十年,半导体产品汽车的应用迅速扩大,汽车电子成为增
    发表于 08-25 11:32

    实时云渲染在高校虚拟仿真教学应用的优势和价值分析

    前言虚拟仿真教学系统高校教育中广泛应用,通过计算机技术和虚拟现实技术来创建仿真的环境,模拟真实场景,使学生能够虚拟
    发表于 08-22 14:52

    RFID技术(Radio Frequency Identification射频识别)未来的数字、信息、自动重要

    RFID技术(Radio Frequency Identification射频识别)未来的数字、信息、自动为何如此
    发表于 08-16 09:12

    深入了解AArch64虚拟

    来宾操作系统。类型2,托管管理程序是主机操作系统的扩展 包含在单独虚拟的来宾操作系统。有两个主要的开源管理程序,KVM和 Xen。使用该方案时,Xen是Type1 hyper
    发表于 08-02 12:52

    Arm通用中断控制器GICv3和GICv4对虚拟的支持

    本指南描述了GICv3和GICv4体系结构虚拟的支持。它涵盖了管理程序可用于生成和管理虚拟中断的控件。指南是对于任何需要了解中断控制器功能的人来说编写软件来管理
    发表于 08-02 10:43

    Armv8-R架构虚拟概念和可能性

    本指南介绍了Armv8-R架构虚拟概念和可能性。我们用四个例子来解释这些概念,其中大部分是基于汽车行业的应用程序。这些示例可以帮助您理解和熟悉
    发表于 08-02 09:27

    为什么氮化镓(GaN)很重要

    氮化镓(GaN)的重要性日益凸显,增加。因为它与传统的硅技术相比,不仅性能优异,应用范围广泛,而且还能有效减少能量损耗和空间的占用。一些研发和应用,传统硅器件能量转换方面,已经达
    发表于 06-15 15:47

    为什么从头开始为汽车应用设计IC很重要

    今天的汽车是车轮上的计算机,多个系统不断相互通信,以提供智能,使驾驶员和乘客在将驾驶员和乘客从A点带到B点时保持安全,舒适和娱乐。虽然我们还没有准备好完全欢迎道路上的全自动驾驶汽车,但我们正在
    的头像 发表于 06-12 14:25 464次阅读

    汽车性能试验VR虚拟仿真系统

    汽车性能试验是评估汽车性能的重要手段,通过对汽车各项性能进行测试,可以了解汽车的性能表现,从而指导汽车
    的头像 发表于 05-22 14:29 609次阅读