深度解析自动驾驶车载芯片的过去、现在和未来

理解了过去,我们就能理解现在,理解了当前的困难,我们就能预测未来…

作者 / 开拓者 出品 / 公众号“AI汽车人”(ID:aiqicheren)

01 车载芯片的发展趋势( CPU-GPU-FPGA-ASIC)

过去,汽车电子芯片以与传感器一一对应的电子控制单元(ECU)为主,主要分布与发动机等核心部件上。随着汽车传感器越来越多,传统的分布式架构逐渐落后,由中心化架构  DCU、MDC逐步替代。

当下,辅助驾驶功能渗透率越来越高,这些功能的实现需借助于摄像头、雷达等新增的传感器数据,传统CPU算力不足,这方面性能强大的GPU替代CPU。再加上辅助驾驶算法需要的训练过程,GPU+FPGA成为目前主流的解决方案。

未来,自动驾驶也将逐步完善,又会加入激光雷达的点云(三维位置数据)数据以及更多的摄像头和雷达传感器, GPU也难以胜任,ASIC性能、能耗和大规模量产成本均显著优于GPU和FPGA,定制化的ASIC芯片可在相对低水平的能耗下,ASIC专用芯片将成为主流。

02 车载芯片的过去——以 CPU为核心的ECU

  • ECU的核心CPU

ECU(Electronic Control  Unit)是电子控制单元,由CPU、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。

ECU的工作过程:传感器信号——传感器数据——驱动数据——驱动信号这样一个完整工作流程。

  • 分布式架构向多域控制器发展

汽车电子发展的初期阶段,ECU主要是用于控制发动机工作,为保证传感器ECU-控制器回路的稳定性,采用ECU与传感器一对应的分布式架构。后来随着车辆的电子化程度逐渐提高,ECU占领了整个汽车,从防抱死制动系统、4轮驱动系统、电控自动变速器、主动悬架系统、安全气囊系统,到现在逐渐延伸到了车身各类安全、网络、娱乐、传感控制系统等。

随着汽车电子化的发展,车载传感器数量越来越多,传感器与ECU一一对应使得车辆整体性下降,线路复杂性也急剧增加,此时  DCU(域控制器)和MDC(多域控制器)等更强大的中心化架构逐步替代了分布式架构。——将整车划分为动力总成,车辆安全,车身电子,智能座舱和智能驾驶等几个域,利用多核CPU/GPU芯片相对集中的去控制每个域。

进入自动驾驶时代,控制器需要接受、分析、处理的信号大量且复杂,原有的一个功能对应一个ECU的分布式计算架构或者单一分模块的域控制器已经无法适应需求,比如摄像头、毫米波雷达、激光雷达乃至 GPS和轮速传感器的数据都要在一个计算中心内进行处理以保证输出结果的对整车自动驾驶最优。

因此,自动驾驶车辆的各种数据聚集、融合处理,从而为自动驾驶的路径规划和驾驶决策提供支持的多域控制器将会是发展的趋势,奥迪与德尔福共同开发的  zFAS,即是通过一块ECU,能够接入不同传感器的信号并进行对信号进行分析和处理,最终发出控制命令。

03 车载芯片的现在——以GPU为核心的智能辅助驾驶芯片

人工智能的发展也带动了汽车智能化发展,过去的以CPU为核心的处理器越来越难以满足处理视频、图片等非结构化数据的需求,同时处理器也需要整合雷达、视频等多路数据,这些都对车载处理器的并行计算效率提出更高要求,而GPU同时处理大量简单计算任务的特性在自动驾驶领域取代CPU成为了主流方案。

  •  GPU Vs. CPU

CPU的核心数量只有几个(不超过两位数),每个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助很多复杂的计算分支。而    GPU的运算核心数量则可以多达上百个(流处理器),每个核拥有的缓存大小相对小,数字逻辑运算单元也少而简单。
CPU和GPU最大的区别是设计结构及不同结构形成的不同功能。CPU的逻辑控制功能强,可以进行复杂的逻辑运算,并且延时低,可以高效处理复杂的运算任务。而 GPU逻辑控制和缓存较少,使得每单个运算单元执行的逻辑运算复杂程度有限,但并列大量的计算单元,可以同时进行大量较简单的运算任务。

  •  GPU占据现阶段自动驾驶芯片主导地位

相比于消费电子产品的芯片,车载的智能驾驶芯片对性能和寿命要求都比较高,主要体现在以下几方面:

  1. 耗电每瓦提供的性能;
  2. 生态系统的构建,如用户群、易用性等;
  3. 满足车规级寿命要求,至少 1万小时稳定使用。

目前无论是尚未商业化生产的自动驾驶AI芯片还是已经可以量产使用的辅助驾驶芯片,由于自动驾驶算法还在快速更新迭代,对云端“训练”部分提出很高要求,既需要大规模的并行计算,又需要大数据的多线程计算,因此以  GPU+FPGA解决方案为核心;在终端的“推理”部分,核心需求是大量并行计算,从而以 GPU为核心。

04 车载芯片的未来——以 ASIC为核心的自动驾驶芯片

  • ASIC vs GPU+FPGA

GPU适用于单一指令的并行计算,而  FPGA与之相反,适用于多指令,单数据流,常用于云端的“训练”阶段。此外与 GPU对比,FPGA没有存取功能,因此速度更快,功耗低,但同时运算量不大。结合两者优势,形成GPU+FPGA的解决方案。

FPGA和ASIC的区别主要在是否可以编程。FPGA客户可根据需求编程,改变用途,但量产成本较高,适用于应用场景较多的企业、军事等用户;而ASIC已经制作完成并且只搭载一种算法和形成一种用途,首次“开模”成本高,但量产成本低,适用于场景单一的消费电子、“挖矿”等客户。目前自动驾驶算法仍在快速更迭和进化,因此大多自动驾驶芯片使用GPU+FPGA的解决方案。未来算法稳定后,ASIC将成为主流。

计算能耗比,ASIC> FPGA >GPU > CPU,究其原因,ASIC和  FPGA更接近底层 IO,同时  FPGA有冗余晶体管和连线用于编程,而  ASIC是固定算法最优化设计,因此 ASIC能耗比最高。相比前两者,GPU和CPU屏蔽底层  IO,降低了数据的迁移和运算效率,能耗比较高。同时GPU的逻辑和缓存功能简单,以并行计算为主,因此 GPU能耗比又高于CPU。

  •  ASIC是未来自动驾驶芯片的核心和趋势

结合 ASIC的优势,我们认为长远看自动驾驶的   AI芯片会以  ASIC为解决方案,主要有以下几个原因:

  1. 由于处理的传感器信息需要大量冗余,自动驾驶对终端算力要求极高,并且车速越快,对计算能力要求越高;
  2. 自动驾驶对终端计算的实时性要求极高。任何超出一定范围的延迟,都有可能造成事故,因此终端会负责自动驾驶的核心计算和决策功能;
  3. 对能效要求高,否则降低车辆续航,影响驾驶体验。高能耗同时带来的热量也会降低系统稳定性。例如下一代支持 L4的  NVIDIADrive Pegasus功耗为500瓦,只能应用于小规模的测试车;
  4. 高可靠性。真正满足车规的自动驾驶芯片需要在严寒酷暑、刮风下雨或长时间运行等恶劣条件下,都有稳定的计算表现。

综上 ASIC专用芯片几乎是自动驾驶量产芯片唯一的解决方案。由于这种芯片仅支持单一算法,对芯片设计者在算法、IC设计上都提出很高要求。

本文已注明来源和出处,版权归原作者所有,若有侵权,您可以告知我们(点击此处)

参与评论

请输入你的评论!
请在这里输入你的名字