基于 x86 SoC 的车辆智能驾驶舱和ADAS设计
Posted 深圳信迈科技DSP+ARM+FPGA
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于 x86 SoC 的车辆智能驾驶舱和ADAS设计相关的知识,希望对你有一定的参考价值。
随着汽车成为软件定义的自动化领域的中心,英特尔致力于提供从汽车到云的可扩展安 全解决方案来加快从高级驾驶员辅助系统 (ADAS) 到全自动汽车为自动驾驶提供技术支持。 2016 年 3 月,英特尔斥资 153 亿美元收购了以色列高级辅助驾驶系统企业 Mobileye 。 2016 年 7 月,宝马集团与全球最大芯片制造商英特尔以及在高级驾驶辅助系统领域全球领先的 Mobileye 公司举行联合新闻发布会,宣布未来三方将基于宝马 i Vision Future Interaction 概念 车合作开发自动驾驶汽车,量产版即将在 2021 年正式推出 [2] 。英特尔作为全球最大的芯片制 造商,在数据计算和分析处理方面有着独一无二的先天优势,人工驾驶易受到外界突发状况 及自身注意力不集中的干扰而引发交通事故,自动驾驶汽车的出现将会在某种程度上降低事 故发生的概率,英特尔的数据处理能力将会对摄像头视野范围内已知的所有信息进行有效分 析,从而预测可能发生的撞击以提升自动驾驶汽车的安全性能。 2018 年 1 月,英特尔在 CES2018 上宣布,英特尔将同上汽集团以及中国导航地图公司四 维图新一起,在自动驾驶和高清地图领域展开合作。上汽集团也将基于 Mobileye 技术在中国 开发 L3 、 L4 、 L5 级自动驾驶汽车。 2018 年 5 月,英特尔首个智能网联汽车大学合作研究中心在中国启动,携手清华大学、 中国科学院自动化研究所,英特尔持续推动自动驾驶在中国的联合创新,共同加速自动驾驶 汽车相关课题的研究,为中国自动驾驶、智能网联汽车产业的研究创新提供强有力的技术支 撑,加快技术落地。 Mobileye 的技术已经集成到很多 ADAS 汽车中,例如福特、通用、奥迪、宝马、尼桑、 现代等。英特尔将把计算视觉、传感、融合、地图和驾驶决策与领先的开放平台及数据中心 以及 5G 通信技术的优势整合到一起,提供一个完整的“车到云”系统。 在现有市场车载电子方案中,某个单独的应用场景往往只有一个控制芯片来实现,这就 涉及到比较多的控制芯片单独成立很多个子系统,然后再集成一个总体的汽车平台系统,总 的电子系统非常错综复杂而且兼容性和安全性也堪忧。英特尔架构是构建智能驾驶舱和无人 驾驶解决方案的理想平台。英特尔为无人驾驶协作提供广泛的资源,包括高性能的车内计算 平台;强大的云和一整套机器学习解决方案;高带宽、低延迟的 5G 网络带宽作为连接系统; 强大的内存和 FPGA 技术;人机接口以及安全技术等。英特尔芯片的强大性能,可以轻松实 现各子系统的各项功能,能够把车载子系统高效整合成为一个有机整体系统,英特尔也不断 投资于这些新技术,以实现无人驾驶,重塑人们的驾乘体验。 汽车的智能化随着计算机技术、电子技术的飞速发展,掀起了汽车技术的一场新的革命。 智能车载终端为驾驶员提供了娱乐、通讯、上网、语音识别、手势交互、网络连接、夜视系 统、 ADAS 辅助驾驶系统、半自动驾驶、自动驾驶等为一体的多种服务,将汽车的性能大大 提高。 x86 SoC 采用虚拟化技术,以一个总的硬件平台无缝支持车载信息娱乐系统、数字仪 表、后座娱乐双屏显示以及车载导航仪等多个高清屏幕的使用和互动,使开发出高性能、低 成本的智能驾驶舱和实现自动驾驶成为可能。 越来越多的汽车一级供应商和车厂愿意投入更多的资源,开发设计功能安全级别更高的 产品去引领市场,抢占先机。 2017 年 7 月在巴塞罗那上市的新奥迪 A8 是一个强劲的信号: 它是全球首款搭载了 L3 级别自动驾驶的量产车,可在不高于 60km/h 的速度下,在法律允许 的区域内实现自动驾驶。英特尔的数据处理能力是 2018 年奥迪 A8 的高级驾驶辅助系统的一 部分。据报道,奥迪将使用英特尔可编程解决方案事业部 (PSG) 的处理器,作为高级驾驶辅助 系统的一部分,该系统将允许 L3 级自动驾驶,这是目前最先进的技术之一。英特尔在 2015 年 12 月收购了 Altera 公司,这是英特尔的一个可编程解决方案事业部。 PSG 负责英特尔的现 场可编程门阵列技术( FPGA )。 FPGA 允许在硬件和软件的编程方面有很大的灵活性,并且 经常在物联网和数据中心使用。风河,一家英特尔公司,为高度可扩展的,安全相关的电子 控制装置提供 VxWorks 的操作系统。作为底层的软件平台, VxWorks 维护和监视关键应用程 序的安全性。 智能驾驶舱系统概述 本系统采用高度集成智能驾驶舱设计,以一个主机控制多个显示屏为基础,支持汽车数 字仪表系统、数字影音娱乐系统、车载多媒体播放系统、车载导航系统和后座娱乐系统,通 过虚拟化操作系统( Hypervisor )实现多屏联动。“智能驾驶舱和高级驾驶辅助系统”以 x86 SoC 强大的计算性能进行系统整合,实现高效的汽车驾驶舱技术和降低用户总体项目成本。本系 统所采用虚拟化技术,以一个整体硬件平台无缝支持车载多个子系统,此外平台还支持 CPU 和 GPU 硬件虚拟化加速,可以提供更高的 GPU 吞吐量和更出色的 CPU 性能,用来支持多系 统并满足各种仪表和娱乐功能,主机通过 USB 、 LVDS 、 CAN 总线等不同接口与外部的 T-BOX 、 行车记录仪、多路摄像头等设备连接,实现智能驾驶的多系统智能互联互动,满足并实现不 同的功能和需求。 2.1.1 车辆智能驾驶舱功能需求分析和系统功能 智能驾驶舱和高级驾驶辅助系统总体来说是一个智能嵌入式计算机主机系统,是一个能 直接运行操作系统的软件和硬件的综合集成平台。经过深度调研市场需求,综合项目实际要 求,本智能驾驶舱车载主机系统的主要功能需求如图 2.1 所示。 本系统是高度集成的智能驾驶相关设计,用一个车载嵌入式主机控制四个显示屏为基础, 实现的系统功能有汽车数字仪表系统、数字影音娱乐系统、车载多媒体播放系统、车载导航 系统、多路摄像头输入系统和后座娱乐系统,车载主机包括主控处理器、电源管理芯片、存 储设备、输入输出控制器等。 本系统的处理器需要四核,最大单核处理器频率可达 2.4GHz , CPU 可支持低功耗的内存 LPDDR4 ,内存控制器速度需要达到 2400MT/S ,内存带宽需要达到 38.4GB/S 并可支持高速 图形和高清视频功能。在操作系统软件兼容性方面,需要能够支持车载 Linux ,车载安卓,以 及 QNX 、 Green Hill 等行业车载虚拟化操作系统。 2.1.2 系统总体硬件架构 智能驾驶舱平台嵌入式系统组件包括 CPU、存储器单元模块、显示模块、模拟输入模块、 音频模块、 CAN 总线模块、无线网络模块、 USB 接口和电源管理系统等。图 2.2 为系统总体 硬件架构功能图。 智能驾驶舱硬件主要组件实现的功能如下,其中系统 SoC 负责平台的主要控制,通过 SoC 相对应的总线接口连接其他部分子模块来实现系统具体的功能。 CPU 单元: Intel SoC A3900 系列,负责平台的主要功能实现 存储器单元: 8MB NOR Flash 、 8GB LPDDR4 SDRAM 和 64GB eMMC 存储器 显示模块:通过底板转换方案实现四个 TFT-LCD 显示屏同时显示 模拟输入模块:通过模拟信号转换方案实现多路摄像头同时工作 音频模块:通过音频总线转换方案可以实现多路音频编解码功能 CAN 总线模块:通过 MCU 实现多路 CAN 总线与车辆的数据交互 无线网络模块:通过 PCIe 总线扩展实现高速无线连接方案 电源管理单元:系统供电的管理与分配 时钟电路:由外部时钟输入,内部 PLL 倍频时钟 LCD 接口:连接不同的 LCD 显示屏 USB 接口:连接 USB 设备 智能驾驶舱与高级驾驶辅助系统介绍 高级驾驶辅助系统的开发是基于无人参与的驾驶行为。高级驾驶辅助系统由软件与硬件 组成,软硬件集成到汽车系统中,就可以执行所有的驾驶功能让车辆正常行驶。目前,全部 的自动驾驶还多处于研究开发阶段,现在市场中智能汽车采用的技术,如自适应巡航控制或 车道保持系统等,都需要驾驶员不断参与监控与处理,多处于辅助驾驶阶段。 随着高级辅助驾驶系统逐渐让位于完全高级驾驶辅助系统,汽车生产制造厂商也需要通 过创造良好的车内体验来完成过渡和取得消费者的信任。高级驾驶辅助系统将具有语音识别、 人脸识别、多屏互动和增强虚拟现实功能,与个人移动设备的连接等进一步强化智能驾驶和 自动驾驶的实现。 在国际汽车工程师学会( SAE International )的定义上来看, L0 是人工驾驶,由人类驾驶 者全权驾驶汽车; L1 是辅助驾驶,车辆对方向盘和加减速中的一项操作提供驾驶,人类驾驶 员负责其余的驾驶动作; L2 是部分自动驾驶,车辆对方向盘和加减速中的多项操作提供驾驶, 人类驾驶员负责其余的驾驶动作; L3 是有条件自动驾驶,由车辆完成绝大部分操作,人类驾 驶员需要保持注意力集中以备不时之需; L4 是高度自动驾驶,由车辆完成所有的驾驶操作, 人类驾驶员无需保持注意力,但限定道路和环境条件; L5 是完全自动驾驶,由车辆完成所有 驾驶操作,人类驾驶员无需保持注意力。 2.2.1 高级驾驶辅助系统的功能安全分析 国际标准化组织( ISO )自 2011 年 11 月发布汽车电子电气系统的功能安全国际标准 ISO26262 以来,为汽车电子电气系统的整个产品生命周期,与功能安全相关的工作流程和管 理流程提供了指导。道路车辆功能安全标准,将从产品的整个设计生命周期进行评估,从产 品需求开始,到概念设计、硬件设计、软件设计、以及最终的管理、研发、生产、测试、服 务、退市等整个生命周期都提出极其严格的要求,用来保证安全相关的电子产品的功能性失 效,将不会造成危险的发生。低等级自动驾驶水平的车辆,当道路环境过于复杂,超出车辆 处理能力或车辆本身出现故障时,需要由人类驾驶员执行对车辆的控制。如果我们的自动驾 驶车辆不能继续一段计划中的行程,它必须有能力进行安全停止,即被称作“最小风险状态” 或“回退”。这可能包括以下情况:高级驾驶辅助系统感知到故障、车辆发生碰撞、环境条件 的改变,导致在设定的设计运行环境内可能影响驾驶安全等。 随着智能汽车电子设备和系统的复杂性越来越高,包含大量的电子元器件以及系统控制 软件的开发,将要求车载备用计算系统总是在后台运行,目的是当它检测到主计算系统故障 时,控制车辆执行安全停止。高级驾驶辅助系统由三个主要子系统组成,它们都经过了严格 的测试: 1. 车辆本身,由 OEM 认证 2. 内部硬件,包括传感器、摄像头和计算机系统等部件 3. 自动驾驶软件,用于做出驾驶决策 高级驾驶辅助系统具备安全警告提醒功能,在目前的测试中,当测试车辆遇到高级驾驶 辅助系统失效时,立即提醒测试驾驶员接管车辆。 ISO26262 要求功能安全相关的产品设计, 都需要采用归纳分析方法,比如失效模式和影响分析( FMEA ),使用各种风险评估方法,如 预先危险性分析、故障树、设计失效模式以及后果分析法( DFMEA )。这个连续过程与正在 进行的工程和测试活动以及安全工程分析密切相关。 汽车安全完整性等级( ASIL )在概念设计阶段对功能安全风险的评估中得到。如果系统 的功能安全风险越大,对应的安全要求就越高,具有更高等级的 ASIL 。 ASIL 分为 A 、 B 、 C 、 D 共 4 个级别, ASIL D 为最高汽车安全完整性等级,对功能安全的要求最高。 2.2.2 智能驾驶舱系统的工作模式介绍 在实际车辆使用过程中,主控智能计算机系统会根据需要工作在各种模式下,以应对各 种各样的工作情形。智能驾驶舱系统各种工作模式切换由软件适配硬件自动来完成,硬件设 计会根据对应的信号然后切换相对应匹配的电源配置,各种工作模式介绍如图 2.3 。 系统方案介绍 随着高端汽车电子消费水平的普及,嵌入式 SoC 平台的使用越来越广泛。芯片和处理器 在汽车上的应用历史比较长,但是由于车规级应用芯片涉及车辆的安全问题,车规认证的芯 片架构与消费级同类产品有较大区别,车规应用芯片市场一直被恩智浦、飞思卡尔、英飞凌、 意法半导体、瑞萨、博世等公司所占据 [4] 。 目前市场上使用比较多的车载主控芯片主要有以下几种:高通公司的 82xA 系列,该系 列产品能将摄像头、车载雷达以及通讯模块的数据进行简单处理,从而帮助汽车实现 ADAS 功能和简单的自动辅助驾驶功能,缺点是 GPU 显示能力不足,产品线动态切换频繁;瑞萨公 司的 R-Car H4 系列,该产品主要应用在中低端组合定位、决策规划、车辆控制等场景,缺点 是产品整体性能不足,无法满足高端的车载方案,总部对中国区的业务支持有限,项目成本 较高等;另外还有英伟达( Nvidia )公司的 Paker/Ohara/Reilly 芯片系列,其芯片能够支持地 图导航、倒车影像、影音娱乐等功能,缺点是方案电源消耗比较大,车载业务经验不足,产 品成本没有优势。在综合市场需求和技术实现以及项目成本等因素,如本章 2.1 系统功能需 求分析和系统功能描述,本系统使用了集成度和性价比非常高的英特尔车载芯片 A3900 系列 作为主控芯片。 2.3.1 系统硬件介绍 本系统设计采用 Intel Apollo Lake A3900 系列芯片。 2016 年 10 月,英特尔在巴塞罗那的 物联网大会推出了 Apollo Lake A3900 系列处理器。这款专门用于汽车的处理器中集成四核的 高能效 CPU ,一款强劲的 GPU 和专用的音频、视频和图像处理器,并具备处理多传感器相 关任务的能力。 Intel A3900 系列 SoC ( Intel 内部代号 Apollo Lake 的产品线),是采用新一代 Goldmont CPU 设计的 14nm 制程产品,以最多四核心搭配 Intel 第九代 GPU 构成。相比之前 所用的 22nm Airmont 架构, Apollo Lake 不仅升级到 14nm 工艺,架构也会升级到 Goldmont , 所以新一代 Intel 的 Atom 处理器性能更强、功耗更低。其 CPU 性能提升 70% , GPU 性能提 升 190% ,其中 Atom A3900 特别针对高低温环境设计,在 -40 ° C 到 110 ° C 的标称温度下稳 定运行和使用 [5] 。 2.3.2 系统软件介绍 本系统采用未来市场中应用比较多的几种汽车操作系统如下: ( 1 ) 虚拟化操作系统 虚拟化技术经常用于提升性能、增强系统的安全性和系统资源管理等方面。目前车载设 备有很多分离的器件,比如说 T-BOX 、抬头显示( HUD )、 Infotainment 、 ADAS 、以及数字 仪表盘、中控导航系统和后座娱乐系统等很多电子设备,将这些分离的设备有效的集中在整 体单一平台系统中,用一个集中的虚拟化操作系统来有效的管理,然后再进行某个域的不同 的功能和安全的等级管理,在硬件之上,加载所谓的虚拟机,可以把单一的硬件虚拟成多个 不同的虚拟硬件。在此架构使用不同的软件或驱动来实现相对应的功能,可以极大的降低系 统的成本,也可以很好的把各个子功能模块进行统一集中管理。 (2) android 操作系统 Android 源码开放、完全免费、可以支持多种硬件平台以及包含丰富的软件模块。谷歌已 经发布了 Android P ,安卓正逐渐成为一个真正意义上支持汽车应用的嵌入式操作系统,可以 深度操控汽车的空调、 AM/FM 调频收音机、数字化仪表盘和中央触控屏幕,车内的各种应用 可以轻松实现。 目前有数款汽车已经搭载了谷歌的 Android 操作系统,这些系统其实全都是 Android 开源 项目的衍生品,谷歌公司并没参与开发。随着 Android 系统在车辆的不断普及, GOOGLE 积 极寻求将操作系统的战略从移动设备转移到汽车市场。 (3) Linux 操作系统 Linux 操作系统是 Linux Torvalds 开发的完全开源免费的多任务“宏内核 ” 操作系统,从本 质的技术定义来讲, Linux 指的是开放源代码的 Unix 类操作系统的内核。车载嵌入式 Linux OS 是对 Linux 操作系统经过小型化裁剪,根据产品需求深度定制后可以保存在存储器芯片中, 应用于特定的车载主机上的操作系统。遵循 GPL ( General Public License ,通用公共许可证) 声明,任何人都可以自由修改和传播使用。 Linux 可以支持很多的硬件平台,是一种非常好的 可靠的系统。
以上是关于基于 x86 SoC 的车辆智能驾驶舱和ADAS设计的主要内容,如果未能解决你的问题,请参考以下文章
车道线识别基于matlab hough变换道路检测直线检测含Matlab源码 2074期