基于intel soc+fpga智能驾驶舱和高级驾驶辅助系统软件设计(三)

虚拟化操作系统介绍
车载平台有逐渐融合的趋势,车载 SoC 的计算性能和应用快速增长,面临着多种应用在
多个显示子系统融合在一起的问题,这就要求平台运行多个操作系统。虚拟化( Virtualization
技术飞速发展,系统虚拟化是虚拟化技术中的一种,随着目前 CPU 技术和性能的极大发展,
虚拟化技术真正商用的时机已经到来。系统虚拟化是指将一台物理计算机系统虚拟化为一台
或多台虚拟计算机系统。每个虚拟计算机系统(简称虚拟机)都拥有自己的虚拟硬件(比如
CPU 、内存和设备等),来提供一个独立的虚拟机运行环境。通过模拟虚拟化层,虚拟机中的
操作系统认为自己仍然是独占一个系统在运行。每个虚拟机中的操作系统可以完全不同,并
且执行环境是完全独立的。系统虚拟化的架构如图 4.1 所示。
基于intel soc+fpga智能驾驶舱和高级驾驶辅助系统软件设计(三)_第1张图片
在虚拟环境中,物理资源称为宿主( Host ),虚拟出来的资源称为客户( Guest )。比如说,
把一个物理计算机虚拟成多个虚拟计算机,那么这个物理计算机被称为宿主机( Host Machine ),
在其之上运行的虚拟机被称为客户机( Guest Machine )。宿主机上运行的操作系统称为宿主机
操作系统( Host OS ),那虚拟机中运行的操作系统被称为客户机操作系统( Guest OS )。
4.1.1 车载虚拟化系统架构
一般虚拟化系统由三个部分组成:硬件、虚拟机监控器和虚拟机。通过在硬件底层处理
器上构建一个虚拟层,实现信息娱乐系统、仪表屏系统等多操作系统的同时、独立运行,从
而维护整个汽车系统的安全 [14] 。当娱乐系统的应用出现问题时,不会影响仪表系统的应用的
正常运行。能够满足不同需求、有着不同安全要求的软件能够实现共存共用。同时通过虚拟
技术,不同功能系统、软件之间能够图像、驱动器共享,实现中控屏、仪表屏、后座娱乐屏、
HUD 投影屏之间的无缝互动、信息融合。图 4.2 描述了本系统虚拟化操作系统总体架构框图。
基于intel soc+fpga智能驾驶舱和高级驾驶辅助系统软件设计(三)_第2张图片

通常来说,虚拟机监控器( VMM )对物理资源的虚拟要归纳三个主要任务:处理器( CPU
虚拟化、内存虚拟化和 I/O 虚拟化。虚拟机是由虚拟处理器、虚拟内存和虚拟 I/O 设备等组
成。 VMM 的主要功能就是基于物理资源来创建相对应的虚拟资源,组成虚拟机,为客户机
操作系统提供虚拟的平台。
处理器虚拟化就需要实现多操作系统共享 CPU ,对 CPU 的分配是可配置的,通过灵活的
配置手段,实现虚拟 CPU 和硬件 CPU 的不同映射,满足实际 CPU 的分配需求。也解决了在
不同架构 CPU 间通信的问题。内存虚拟化就可以实现各虚拟节点间的内存高效共享,做到合
理的资源分配。 I/O 虚拟化解决了外围设备虚拟化的问题,根据实现应用,对外围设备作虚拟
化与共享处理,包括音频、视频、输入视频解码、存储设备、 USB 设备等。
本车载虚拟化操作系统能够提供非常好的硬件资源共享的支持,包括数字仪表盘、车载
娱乐系统、后座娱乐系统。在车载领域,有较多的图像处理的共享,摄像头收集的各类图像
需要及时的共享在不同的显示终端,以及音频资源等外设的共享,不同的显示终端播放不同
的节目源。考虑到整体系统的安全问题, IVI RSE 系统分别作为隔离的虚拟机运行。
4.1.2 系统虚拟化的应用
虚拟化技术经过很多年的飞速发展,市场中已出现了很多比较成熟的产品,从最早期的
服务器、桌面、工业、消费电子到现在的智能汽车等领域。比如说 Xen 是一款比较成熟的典
型的商业化产品应用,它基于 GPL 授权方式的开源虚拟机软件。
人机交互( HMI Human-Machine Interface Technologies ):该系统能够实现人与车之间的
交互,车主可通过该系统把握车辆信息并对车辆实施控制。输入端多样交互方式 + 输出端多屏
融合与个性化 UI 带来全新交互体验。
目前以按钮与触屏为主的输入方式造成驾驶者注意力分散,智能驾驶人机交互实现触摸、
语音控制、手势控制等多样化交互方式结合。智能驾驶人机交互综合采用语音控制、手势控
制等多样化的技术手段,给予驾驶者更好的交互体验 [15] 。智能驾驶人机交互通过中控屏幕、
液晶仪表和抬头显示多屏结合,以及个性化的用户界面( UI )设计,为驾驶者提供清晰的信
息提示。
目前,汽车中控屏、仪表盘显然已经不再拘泥于车辆基本数据显示,逐渐朝向智能化、
数字化转变,集成车辆状态、路况信息、车载导航设置、汽车控制等多重功能,驾驶者面对
驾驶过程中需要处理的大量的信息。本系统主控显示界面,拨打电话为最高优先等级,导航
界面拨打电话时,可以单独增加通话窗口,不退出导航界面。这就要求系统软件的操作系统,
通过虚拟化技术,可以轻松实现一屏多任务显示。
智能驾驶人机交互采用大尺寸、高清车载显示终端,并将中控屏幕、液晶仪表和 HUD
多屏结合,搭配个性化 UI 界面设计,实现信息分块分类,整合并分析多个信息流,将需要的
信息以最佳方式呈现给驾驶员,带来直觉化交互体验。图 4.3 描述了车载系统虚拟化的应用
情况。
基于intel soc+fpga智能驾驶舱和高级驾驶辅助系统软件设计(三)_第3张图片

 

 

在本车载的虚拟化技术方案中, Hypervisor 直接跑在 A3900 芯片上,为 Service OS 创造
了第一个虚拟环境,然后启动 Guest OS Service OS 以系统最高优先级的虚拟机运行,以满
足时间对敏感需求和系统服务质量的要求。 Service OS 运行本地设备驱动程序来管理硬件,
I/O 设备支持单独拿出来放在 OS 里是因为很多应用需要 I/O 资源的共享。 Service OS 会支
持数字仪表盘, ADAS 的显示功能做在 ADAS VM 里, Android OS 、中控系统和后座娱乐
系统都有单独的虚拟机。

 

你可能感兴趣的:(Intel+FPGA,自动驾驶,fpga开发,intel,软件设计,智能驾舱)