自动驾驶汽车在运行的时候需要车辆作出的每一个指令都正确,要从根本上减少事故的发生。
汽车电子发展初期以分布式 ECU(离散电子控制单元) 架构为主流,芯片与传感器一一对应。ECU 由 CPU、存储器(ROM、RAM)、输入/ 输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。
ECU 主要是用于控制发动机工作,开始只有汽车发动机的排气管(氧传感器)、气缸(爆震传感器)、水温传感器等核心部件才会放置传感器,随着车辆的电子化程度逐渐提高,ECU 占领了整个汽车,从防抱死制动系统、4 轮驱动系统、电控自动变速器、主动悬架系统、安全气囊系统,到现在逐渐延伸到了车身各类安全、网络、娱乐、传感控制系统等。
随着汽车电子化程度不断提升,传感器增多、线路复杂度增大,中心化架构 DCU(集中式的域控制器)、MDC 逐步成为了发展趋势。
DCU需承担多传感器融合、定位、路径规划、决策控制、无线通讯、高速通讯的计算。在集中式与混合式架构中,DCU还需承担全部或部分传感器的数据处理。由于需要完成大量运算,DCU一般都要匹配一个核心运算力强的处理器,也就是芯片,以提供自动驾驶不同级别算力的支持。算力越高,支持的功能也就越多。
GPU(Graphics Processing Unit,图形处理单元),随着汽车辅助驾驶功能渗透率越来越高,传统CPU算力不足,越来越难以满足处理视频、图片等非结构化数据的需求,而GPU同时处理大量简单计算任务的特性在自动驾驶领域取代CPU成为了主流方案。
CPU 更擅于计算复杂繁琐的大型计算任务,而 GPU 则可以高效的同时处理大量的简单计算任务。
GPU 通用性强、速度快、效率高,特别适合用在深度学习训练方面,但是性能功耗比较低。
FPGA(Field Programmable Gate Array)——现场可编程门阵列,是指一种通过软件手段更改、配置器件内部连接结构和逻辑单元,完成既定设计功能的数字集成电路。顾名思义,其内部的硬件资源都是一些呈阵列排列的、功能可配置的基本逻辑单元,以及连接方式可配置的硬件连线。简单来说就是一个可以通过编程来改变内部结构的芯片。
FPGA 具有低能耗、高性能以及可编程等特性,相对于 CPU 与 GPU 有明显的性能或者能耗优势,但对使用者要求高。
从ADAS向自动驾驶进化的过程中,激光雷达点云数据以及大量传感器加入到系统中,需要接受、分析、处理的信号大量且复杂,定制化的ASIC芯片可在相对低水平的能耗下,将车载信息的数据处理速度提升更快,并且性能、能耗和大规模量产成本均显著优于GPU和FPGA,随着自动驾驶的定制化需求提升,定制化ASIC专用芯片将成为主流。
ASIC 可以更有针对性地进行硬件层次的优化,从而获得更好的性能、功耗比。但是ASIC 芯片的设计和制造需要大量的资金、较长的研发周期和工程周期,而且深度学习算法仍在快速发展,若深度学习算法发生大的变化,FPGA 能很快改变架构,适应最新的变化,ASIC 类芯片一旦定制则难于进行修改。
当前阶段,GPU 配合 CPU 仍然是 AI 芯片的主流,而后随着视觉、语音、深度学习的算法在 FPGA以及 ASIC芯片上的不断优化,此两者也将逐步占有更多的市场份额,从而与GPU达成长期共存的局面。
GPU适用于单一指令的并行计算,而FPGA与之相反,适用于多指令,单数据流,常用于云端的“训练”阶段。此外与GPU对比,FPGA没有存取功能,因此速度更快,功耗低,但同时运算量不大。结合两者优势,形成GPU+FPGA的解决方案。
FPGA虽然优势极为明显,然而却有致命缺点。那就是与GPU相比,FPGA都是硬线设计,die面积大,成本高,加上应用面窄,出货量低进而导致性价比太低。GPU的通用性很强,产品IP可以复用,等于出货量很高,所以性价比很高。
FPGA和ASIC的区别主要在是否可以编程。FPGA客户可根据需求编程,改变用途,但量产成本较高,适用于应用场景较多的企业、军事等用户;而ASIC已经制作完成并且只搭载一种算法和形成一种用途,首次“开模”成本高,但量产成本低,适用于场景单一的消费电子、“挖矿”等客户。目前自动驾驶算法仍在快速更迭和进化,因此大多自动驾驶芯片使用GPU+FPGA的解决方案。未来算法稳定后,ASIC将成为主流。
计算能耗比,ASIC FPGA GPU CPU,究其原因,ASIC和FPGA更接近底层IO,同时 FPGA有冗余晶体管和连线用于编程,而ASIC是固定算法最优化设计,因此ASIC能耗比最高。相比前两者,GPU和CPU屏蔽底层IO,降低了数据的迁移和运算效率,能耗比较高。同时GPU的逻辑和缓存功能简单,以并行计算为主,因此GPU能耗比又高于CPU。
自动驾驶领域首先要保证的是安全,其次才是智能。在无人车环境感知问题中,必须要知道自动驾驶车辆与目标间的距离、方位角,目标移动的速度,目标位置按时间序列的的预测(目标追踪)。
想要在短时间内完成这两项任务,并非易事,所以自动驾驶汽车需要一个非常强大的计算平台实时分析、处理海量的数据,并且进行复杂的逻辑运算。
图像识别是自动驾驶芯片计算力消耗最大的部分,通常核心的算法都是基于CNN的,也就是基于卷积的。卷积是什么?如果纯粹从算法的角度,卷积就是乘积累加算法,即MAC(Multiply Accumulate)。
芯片的技术壁垒与投资极高,汽车芯片领域一直是汽车传统半导体厂家的领地,即使是Intel、高通也久攻不下,只能采用收购的方式寻求质的突破。对于创业公司甚至国内半导体商来说这个领域想要有所突破更是具有极大的挑战。
NVIDIA 在自动驾驶领域的成就正是得益于他们在 GPU 领域内的深耕,
英伟达在推出的自动驾驶平台Drive PX系列,曾是整车厂、Tier 1、科技公司选择的主流计算解决方案
Intel 在 ADAS 处理器上的布局已经完善,包括 Mobileye 的 ADAS 视觉处理,利用 Altera 的 FPGA 处理,以及英特尔自身的至强等型号的处理器,可以形成自动驾驶整个硬件超级中央控制的解决方案。
英特尔通过三轮高达百亿美元的收购,拥有了Mobileye的EyeQ系列芯片(ASIC)、Altera的FPGA芯片、Movidius的视觉处理单元VPU。举个例子,在英特尔提供的整套解决方案中,EyeQ可以负责视觉数据处理,Altera的FPGA芯片CycloneV负责毫米波雷达与激光雷达的数据处理,“杀手锏”CPU凌动Atom负责处理其他数据任务。
高通在汽车产业的布局不仅限于其擅长的通讯领域,在ADAS与座舱娱乐域其820A也表现不俗。在2019年CES展上展出了其基于骁龙芯片打造的可扩展自动驾驶平台--DriveAutomotive,可供汽车厂商根据自己的需求添加模组。
Tesla不仅仅是造车,其自动驾驶芯片FSD,未来会搭载在特斯拉AutopilotHardware平台上。从硬件集成的角度来说,特斯拉完成了从芯片到板级集成、系统集成、再到整车的集成,打通自动驾驶产业链布局。
特斯拉的这颗芯片,是一种特殊类型的AI处理器,可以支持人工神经网络(ANN),也就是我们常听到的机器学习(ML)或深度学习(DL)。最近有哪些PG电子的热门玩法?它们有什么独特之处?最近有哪些PG电子的热门玩法?它们有什么独特之处?