上篇文章NVIDIA ADAS-英伟达Orin芯片介绍讲了英伟达的芯片本篇文再展开讲下ADAS芯片的一些基础知识然后下一篇文章讲下目前主流的汽车芯片厂商产品。自动驾驶AD的使命是将人的脚纵向控制、手横向控制、眼感知和脑决策等从驾驶任务中解放出来。ADAS走向大众视线的原因ADAS相关的软硬件技术越来越成熟和稳定成本也越来越低。比如毫米波雷达跟五年前相比下降了超过50%。一些基本的ADAS功能比如自动紧急刹车AEB被纳入到了各国的汽车评测体系比如C-NCAP中这在客观上极大的推动了这些ADAS功能的普及。中低端车竞争加剧ADAS功能可以有效地提升品牌的科技感和驾车体验造成主流合资品牌和自主品牌的重点车型甚至超过了一些国际上的高端品牌。1. ADAS介绍ADAS 全称Advanced Driving Assistance System又称高级驾驶辅助系统主要依靠包括视觉摄像头、毫米波雷达、计算平台的组合来实现自动驾驶辅助功能。ADAS涉及到12门技术主要基于三种传感器——摄像头雷达激光雷达。在这12门技术中组合出了感知控制决策这自动驾驶三大模块。ADAS的历史最早可以追溯到1948年机械工程师Ralph Teetor发明了第一款“定速巡航”系统。1.1 ADAS功能分析ADAS的功能主要有主动安全功能、舒适性辅助驾驶功能、泊车辅助功能和监督/无监督自动驾驶功能等。之前文章NVIDIA ADAS-英伟达DriveOS入门提到过自动驾驶的等级如下通常L0-L2级自动驾驶习惯用ADAS表征L2级自动驾驶用ADAS/AD表征以示过渡L3-L4级自动驾驶用AD表征。1.2 ADAS系统构架环境感知感知系统依靠各种传感器包括摄像头、毫米波雷达、超声波雷达、激光雷达、高精地图/IMU/GPS等来获取汽车所处环境信息和周边车辆、行人、交通信号灯和路标等信息为汽车的综合决策提供数据支撑解决“我在哪”的核心问题。决策规划通过环境感知的结果进行数据融合结合高精地图数据确定合适的工作模型决定相应的轨迹规划方案以达到替代人类作出驾驶决策的目的将智能汽车以拟人化的方式融入整个交通流当中解决“我去哪”的核心问题。控制执行也就是对一个具体的最小决策规划结果的实际执行从而达到规划的目的。具体在车上通常体现为通过各种控制理论和算法来控制车辆的驱动、制动和转向系统从而实现车辆的横向及纵向控制使汽车精准地按照决策规划实现有效的避让、减速、车距保持、转向等动作解决“我该如何去”的核心问题。1.3 ADAS传感器介绍传感器是车辆感知系统收集环境信息、车辆自身状态信息和位置信息等的重要手段。自动驾驶车辆所配备的传感器可以分为三类车辆自身状态感知传感器简称自感知传感器自感知使用本体感应传感器来测量车辆的当前状态包括车辆的速度、加速度、横摆和转向角等。本体感应西西里通常使用预先安装的测量单元来获取信息比如里程表、惯性测量单元IMU、陀螺仪Gyroscopes和来自控制器局域网CAN总线的信息。定位传感器Localization定位传感器使用GPS等外部传感器Exteroceptive Sensor或惯性测量单元读数的航位推算进行定位可以确定车辆的全球和本地位置。车辆高精度定位通常会基于多个传感器信息的组合来进行比如GPS、IMU、里程表和摄像头等。对多个传感器的数据融合可以最大限度减少单个传感器的局限性和缺点提高定位的精度和可靠性。环境感知传感器Surrounding-sensing环境感知传感器主要有摄像头、超声波雷达、毫米波雷达和激光雷达等四种。环境感知系统依靠这些环境感知传感器来采集车辆所处环境信息数据并对其进行一系列的计算和处理从而对周围环境进行精确建模其输出结果是一个环境模型。所谓环境模型是指车辆外部物理世界的数字表示它包括道路、要避开的物体比如其它车辆、易受伤害的道路使用者等以及可驾驶的“自由空间Freespace“的表示。下表总结了ADAS系统中常见的各类传感器的特点1.4 传感器布局前向ADAS系统一般由单FCR或者单FCM组成当前主流配置是FCRFCM组成的1R1V方案能够支持到TJA/ICA的L2 ADAS单车道驾驶辅助。后续伴随视觉检测能力的提高在L0-L2级ADAS/AD定位的车型上有向单FCM发展趋势因为车道线等横向控制所需感知信息只有视觉能提供省掉雷达能降低系统成本。侧后ADAS系统一般由侧后方两个SRRs组成实现大部分侧后向ADAS功能。自动泊车系统即泊车控制器12颗超声波传感器USS组成的APA自动泊车辅助系统实现功能主要是APA和FAPA等。ADAS传感器布局中的术语简称FCMFront Camera Module前视摄像头总成有单目Mono、双目Stereo、双焦Bi-Focals和三焦Tri-Focals4种形态。FCRFront Central Radar前雷达模块有MRR (中距Mid-Range Radar) 和 LRR (长距,Long-Range Radar) 2种形态。一般1R1V方案后续会详细解释该方案中常选择MRR作为前雷达模块5R1V方案中常选择LRR作为前雷达。SRRsSide-Rear Radars侧后雷达模块左、右一般左master右slave有SRR (短距Short-Range Radar) 和MRR (中距Mid-Range Radar) 2种形态SRR常为24G毫米波MRR常为77-79G毫米波。这里SRR缩写就有两个含义可能是指侧后雷达模块也可能是指短距离毫米波雷达因此加s区分侧后雷达模块SRRs。USSUltra Sonic Sensor超声波雷达传感器。下图是L2级别ADAS/AD系统最大化的传感器架构方案——5R-12V-12USS方案。这个传感器布局架构的上限就是“坚决不上激光雷达”。只要上了激光雷达一般是前向激光雷达就到了L3级AD系统的传感器架构2. AD芯片介绍2.1 车规芯片要求车规级芯片特殊的技术和工艺要求挡住了企业进入的脚步。车规级芯片有着比消费级芯片更高的技术门槛需满足温度、振 动、电磁干扰、长使用寿命等高要求还要通过可靠性标准AEC-Q100、质量管理标准ISO/TS16949、功能安全标准ISO26262等严苛的认证流程大部分芯片企业尚不具备转型进入能力。AEC-Q100关键测试类别包括Accelerated Environment Stress 加速环境应力Accelerate Lifetime Simulation 加速寿命仿 真Packaging/Assembly 封装/组装Die Fabrication 芯片制程Electrical Verification 电气验证Defect Screening 不良品筛选Cavity Package Integrity 腔体封装完整性。ISO/TS16949:2009国内、 外各大整车厂均已要求其供应商进行ISO/TS16949:2009认证确保各供应商具有高质量的运行业绩并提供持续稳定的长期合作以实现互惠互利。因美国或欧洲的汽车零部件供应商同时向各大整车厂提供产品这就要求其必须既要满足QS9001又要满足如VDA6.1造成各供应商针对不同标准的重复认证这就急需要求出台一套国际通用的汽车行业质量体系标准以 同时满足各大整车厂要求ISO/TS16949:2009就此应运而生。随着汽车行业复杂性的日益提升人们加大了开发安全合规系统的力度。例如现代汽车使用了油门线控等线控系统。驾驶 员踩油门时踏板中的传感器将向电子控制单元发送信号。该控制单元会对多种因素进行分析如发动机转速、车辆速度及 踏板位置然后向油门传递指令。要测试和验证油门线控这类系统对汽车行业来说是个不小的挑战。ISO 26262的目标是为 所有汽车E/E系统提供统一的安全标准。ISO 26262 要求汽车原始设备制造商和供应商必须遵循并记录功能安全开发流程从开始制定规格直到量产发布以使其设备具备在商用车辆轿车内运行的资格。该标准列出了风险分类体系汽车安全完整性等级ASIL旨在降低电气电子 (E/E) 系统故障行为可能造成的危害。车规芯片可以说中国全军覆没啥牛B都没有的看下图这简直是革命还没开始同志们还需要努力!不过很多认证都是老外在做做一次认证要给老外很多钱又被割韭菜了国内还需要建立值得信赖的认证机构但是这根据国人的人情世故在国内做到公正估计比较难还有如果要把汽车卖给外国人如果其国家法规要求的认证那还是必须得去做。一步落后步步落后话语权一旦丢失就很被动只能先做一个给欧美大哥端茶倒水的勤奋小弟了。2.2 三域融合芯片之路之前的文章AUTOSAR入门-汽车电子构架演进(四) 未来已来讲到目前主要的汽车软硬件架构都是三域车控、智驾、座舱。但是统一是迟早的事情这个事情的根基就是芯片底座的提供然后软件去配合。看似很遥远国内还在用国外提供的三域技术还在开始自研三域技术的时候老外的核弹就已经来了英伟达下一代SoCThorThor的特点一是超高AI性能拥有770亿晶体 管而上一代的Orin是170亿晶体管。AI性能为2000 TFLOPSFP8。如果是INT8格式估计可以达到4000TOPS。二是支持FP8格 式英伟达、英特尔和ARM三家联合力推FP8格式标准力图打通训练与推理之间的鸿沟。三是超高CPU性能Thor的CPU可 能是ARM的服务器CPU架构V2或更先进的波塞冬平台。四是统一座舱、自动驾驶和自动泊车一颗芯片包打天下。高通Snapdragon Ride自动驾驶芯片骁龙 Ride该平台包括安全系统级芯片SoCADAS应用处理器、安全加速器自动驾驶专用加速器和自动驾驶软件栈可支持L1-L5 级别的自动驾驶安全系统级芯片SoC和安全加速器的功能安全安全等级为ASIL-D级3. 自动驾驶芯片架构分析当前主流的AI芯片主要分为三类GPU、FPGA、ASIC。GPU、FPGA均是前期较为成熟的芯片架构属于通用型芯片。ASIC 属于为AI特定场景定制的芯片。行业内已经确认CPU不适用于AI计算但是在AI应用领域也是必不可少。3.1 GPU方案GPU与CPU的架构对比CPU遵循的是冯·诺依曼架构其核心是存储程序/数据、串行顺序执行。因此CPU的架构中需要大量的空间去放置存储单 元Cache和控制单元Control相比之下计算单元ALU只占据了很小的一部分所以CPU在进行大规模并行计 算方面受到限制相对而言更擅长于处理逻辑控制。GPUGraphicsProcessing Unit即图形处理器是一种由大量运算单元组成的大规模并行计算架构早先由CPU中分出 来专门用于处理图像并行计算数据专为同时处理多重并行计算任务而设计。GPU中也包含基本的计算单元、控制单元 和存储单元但GPU的架构与CPU有很大不同其架构图如下所示。与CPU相比CPU芯片空间的不到20%是ALU而GPU芯片空间的80%以上是ALU。即GPU拥有更多的ALU用于数据并行处理。GPU并行计算加速**在深度学习中当训练的模型规模比较大时可以通过数据并行的方法来加速模型的训练数据并行可以对训练数据做切分同时采用 多个模型实例对多个分块的数据同时进行训练。GPU的另一个重要参数是浮点计算能力。浮点计数是利用浮动小数点的方式使用不同长度的二进制来表示一个数字与 之对应的是定点数。在自动驾驶算法迭代时对精度要求较高需要浮点运算支持。3.2 FPGA方案FPGAField-Programmable Gate Array即现场可编程门阵列它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的既解决了定制电路的不足又克服了原有可编程器件门电路数有限的缺点。FPGA可以被反复烧写。FPGA芯片主要由6部分完成分别为可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。目前主流的FPGA仍是基于查找表技术的已经远远超出了先 前版本的基本性能并且整合了常用功能如RAM、时钟管理和DSP的硬核ASIC型模块。FPGA的优势就是可编程用户可以根据自己的数据和算法对硬件进行更改来提供更加高效的硬件芯片支撑。FPGA具备高吞吐量、高能效以及实时处理等多项优点非常契合自动驾驶所需要的技术需求。高级辅助驾驶系统(ADAS)、 车载体验(IVE)应用的标准和要求正在快速演变系统设计人员关注的问题主要包括出色的灵活性和更快的开发周期同 时维持更高的性能功耗比。通过可重新编程的FPGA和不断增多的汽车级产品相结合支持汽车设计师满足设计要求在 不断变化的汽车行业中始终保持领先。3.3 ASIC方案ASIC就是专用芯片在命名上各个公司都会给自己专用一个命名什么什么U各种U例如地平线的BPU搞的跟CPU名字一样高大上但是其实就地平线直接用这个名字BPU别人家都不这么叫。给芯片起名各种U也可以看到文化的差异先抢命名抢占商机搞概念拉投资其实就是假大空。但是如果吹牛兑现了就厉害了可惜大多创业公司都不会成功大多都是搞投资人钱。但是老外这一套商业结构发展了几百年对其文化也影响很大。总之短期利益唯利是图。ASIC 芯片可根据终端功能不同分为TPU芯片、DPU芯片和NPU芯片等。其中TPU 为张量处理器专用于机器学习。如 Google 于 2016 年 5 月研发针对 Tensorflow 平台的可编程 AI 加速器其内部指令集在 Tensorflow 程序变化或更新算法时 可运行。DPU 即 Data Processing Unit可为数据中心等计算场景提供引擎。NPU 是神经网络处理器在电路层模拟人类神 经元和突触并用深度学习指令集直接处理大规模电子神经元和突触数据。ASIC技术路线是有限开放芯片公司需要面向与驾驶相关的主流网络、模型、算子进行开发。在相同性能下芯片的面积更小、成本更低、功耗更低。ASIC技术路线未来的潜力会很大选择ASIC路线并不意味着要对不同车型开发不同的 ASIC或进行不同的验证。因为不同车型需要实现的功能大致相同而且芯片面对模型和算子进行有限开放算法快速 迭代不会影响到芯片对上层功能的支持。车厂与芯片设计公司合作进行差异化定制或是更好的选择。因为即使是进 行差异化的定制芯片内部50%的部分也是通用的。芯片设计公司可以在原有版本的基础上进行差异化设计实现部分差异功能。另外一点只算力高并不说明自动驾驶能力高其还受软件的限制以及配合硬件的性能芯片再好主板很烂软件很烂那就发挥不出来实力。这就像苹果手机一样硬件参数不一定是最好但是整体性能没得说。俗话说缺啥炫耀啥。咱现在什么都缺那就找主要的参数使劲喊我们世界第一等大家都很好了也就没人喊了。4. AD域控制器设计4.1 基本设计流程自动驾驶芯片的设计依赖客户功能需要的多少个传感器从而去处理这些传感器的数据。按照前面对辅助驾驶功能的分类逻辑对应到传感器方案我们可以延续将域控制器的算力需求归纳成几类1V1R/1V3R/1V5R方案最少需要4-5 TOPS算力5V5R12U方案最少需要5-10 TOPS算力11V5R12U方案这就不好说了各家差异很大一般需要十几到一百多TOPS算力11V5R12激光雷达方案业内一般认为最少需要150TOPS算力常见自动驾驶芯片汇总序号公司芯片算力制程量产时间1NXPS32V41620222TITDA4VM*81620203TITDA4VH24-321620234MobileyeEyeQ5*24720215NvidiaXavier*301220206NvidiaOrin*254720227高通Snapdragon Ride Flex 系列几十至几百不等520228安霸CV22系列等效算力10-20TOPS1020199安霸CV3-AD系列等效算力500TOPS5202210安霸CV72系列多种算力5202311华为昇腾3101612201812华为昇腾9106407202213地平线J3*516202014地平线J5*12816202215地平线J6 Family数百至一千7预计202416黑芝麻A1000L1616202017黑芝麻A10004016202018黑芝麻A1000Pro10616202219寒武纪行歌SD522316不详不详20寒武纪行歌SD52264007不详21芯驰V9P2016202322零跑大华凌芯014.228202023超星未来惊蛰 R116不详不详上面提到的芯片市场应用多的有TDA4EyeQ5XavierOrinJ3和J5。自动驾驶芯片按算力分成几个市场中低算力市场十几TOPS以下主打一个性价比。主要玩家是地平线J3、黑芝麻A1000L、TDA4VM等互相有很强的可替代性基本上是杀红了眼的存在中端算力市场大几十到一百多TOPS包括地平线J5、黑芝麻A1000、高通平台系列芯片等等这个市场目前地平线J5占据了较大优势但是高通势头很猛高算力市场Nvidia Orin目前好像没什么对手。自动驾驶域控制器典型算力需求4.2 自动驾驶芯片的设计和架构自动驾驶芯片在设计的时候就要和主机厂、Tier1充分沟通一定是要站在系统的角度通盘考虑自动驾驶功能、传感器方案、整车E/E架构、软件架构、功能安全、信息安全、域控硬件设计、可测性等等之后才能形成最优设计这其中牵扯到几乎是汽车产业全方面的资源协调。这也是为什么我们经常在新闻里看到某芯片厂商、Tier1、整车厂又搞战略合作又搞联合发布等等。芯片设计是“攒局”从来都不是“单打独斗。可以说自动驾驶SoC芯片比我们现在手机里面用的芯片复杂的多手机的芯片已经卷的非常先进了而智驾芯片更是一个超级大功能更多的芯片其设计没有非常大的实力是做不到的国内没有几家是可以做出来的。这里以地平线J5为例看起来不够先进但是基本技术点有了明年应该会推出J6来说下基本的技术点系统框架图如下从上图我们可以看到地平线J5内部分成几个大块也是典型的自动驾驶芯片配置。其从左到右、从上到下依次是图像输入/输出单元CV引擎两个ISPImage Signal Processing核两个DSP核8个ARM A55核构成的CPU单元两个AI深度学习计算核心BPU视频编解码单元信息安全单元锁步核MCU构成的安全岛内存和存储单元外设接口单元其中BPU负责AI深度学习的计算A55负责一般的逻辑计算比如传感器融合MCU负责进行高功能安全等级的逻辑判断、诊断等等。再比如从TDA4VM的系统框图中也能看出它包含图像输入输出编解码单元、DSP核、用于进行深度学习的MMAMatrix Multiplication Accelerator矩阵乘法加速器, 类比于地平线的BPU、2个高性能A72核、6个R5核其中有一对锁步R5核位于安全岛、信息安全单元、内存/存储和外设接口。这类异构SoC将A核/R核/M核/DSP/深度学习加速器等等集成在一个SoC中在基本单元上是有很强共性的。4.3 AD域控制器架构一般而言一个自动驾驶域控包括以下部分自动驾驶芯片也就是AI SoC (System on Chip)它主要用来进行摄像头图像处理通过深度学习算法输出目标识别列表也可以用来实现传感器融合、轨迹预测、环境模型搭建、自车定位等功能。Safety MCU用来进行高功能安全等级的逻辑运算。一般车辆的规划与控制、通信、诊断以及域控制器的对外接口等功能会运行在MCU中。这里有人可能会问自动驾驶芯片中不是自带安全岛也就是锁步核嘛为什么还需要外置MCU诚然对于一部分应用场景而言自动驾驶芯片内置的安全岛确实够用了这就是后面会提到的域控制器“单芯片”方案但是对于复杂一些的场景内置安全岛的算力就不够了智能通过外置MCU来实现。eMMC/Nor Flash/Memory存储芯片Des视频解串芯片将摄像头的原始图像解串供自动驾驶芯片处理以太网网关芯片各种外设接口芯片、电源管理芯片PMIC等。例如实现L2高速NOA城市NOA功能的域控制器这个目前比较典型实现这一层级的功能业界普遍认为需要150T以上的算力支持。目前支持城市NOA功能的车型都配备了激光雷达这也为域控的算力提出了更高要求。双黑芝麻A1000 MCU是一个典型的架构如下图自动驾驶域控制器方案参考https://icv.51cto.com/posts/820https://pdf.dfcfw.com/pdf/H3_AP202301161582040854_1.pdf?1673982279000.pdfhttps://mp.weixin.qq.com/s/azesnti-8JVFvYHj2ZjvjQ后记本篇文章的背景和立题非常的大各个方面的介绍都是皮毛例如很多的缩写名词每一个名词展开可能都是一本书可以遇到了再去查对应的资料。整体上比较全面可以分享给同行入门阅读。软件国内发展的比较早芯片基本全靠学习老外的技术支撑显著特点就是缩写名词真的是多代码和硬件原理图的资料少边缘研发多核心海归少爱看芯片设计公众号学习的人多。做芯片研发的开会也多反正就是大部分时间浪费在了打基础建立共同语言上了。这方面的人才还是需要数十年的经验积累也足见芯片发复杂算十足的高端产业希望有一天能简化这些芯片开发流程顺便把价格打下来。“啥都懂一点啥都不精通干啥都能干干啥啥不是专业入门劝退堪称程序员杂家”。欢迎各位有自己公众号的留言申请转载纯干货持续更新可以就**分享给朋友、**点赞、收藏、在看、划线和评论交流公众号“那路谈OS与SoC嵌入式软件”欢迎关注个人文章汇总https://thatway1989.github.io
自动驾驶芯片入门-基础概念和架构
上篇文章NVIDIA ADAS-英伟达Orin芯片介绍讲了英伟达的芯片本篇文再展开讲下ADAS芯片的一些基础知识然后下一篇文章讲下目前主流的汽车芯片厂商产品。自动驾驶AD的使命是将人的脚纵向控制、手横向控制、眼感知和脑决策等从驾驶任务中解放出来。ADAS走向大众视线的原因ADAS相关的软硬件技术越来越成熟和稳定成本也越来越低。比如毫米波雷达跟五年前相比下降了超过50%。一些基本的ADAS功能比如自动紧急刹车AEB被纳入到了各国的汽车评测体系比如C-NCAP中这在客观上极大的推动了这些ADAS功能的普及。中低端车竞争加剧ADAS功能可以有效地提升品牌的科技感和驾车体验造成主流合资品牌和自主品牌的重点车型甚至超过了一些国际上的高端品牌。1. ADAS介绍ADAS 全称Advanced Driving Assistance System又称高级驾驶辅助系统主要依靠包括视觉摄像头、毫米波雷达、计算平台的组合来实现自动驾驶辅助功能。ADAS涉及到12门技术主要基于三种传感器——摄像头雷达激光雷达。在这12门技术中组合出了感知控制决策这自动驾驶三大模块。ADAS的历史最早可以追溯到1948年机械工程师Ralph Teetor发明了第一款“定速巡航”系统。1.1 ADAS功能分析ADAS的功能主要有主动安全功能、舒适性辅助驾驶功能、泊车辅助功能和监督/无监督自动驾驶功能等。之前文章NVIDIA ADAS-英伟达DriveOS入门提到过自动驾驶的等级如下通常L0-L2级自动驾驶习惯用ADAS表征L2级自动驾驶用ADAS/AD表征以示过渡L3-L4级自动驾驶用AD表征。1.2 ADAS系统构架环境感知感知系统依靠各种传感器包括摄像头、毫米波雷达、超声波雷达、激光雷达、高精地图/IMU/GPS等来获取汽车所处环境信息和周边车辆、行人、交通信号灯和路标等信息为汽车的综合决策提供数据支撑解决“我在哪”的核心问题。决策规划通过环境感知的结果进行数据融合结合高精地图数据确定合适的工作模型决定相应的轨迹规划方案以达到替代人类作出驾驶决策的目的将智能汽车以拟人化的方式融入整个交通流当中解决“我去哪”的核心问题。控制执行也就是对一个具体的最小决策规划结果的实际执行从而达到规划的目的。具体在车上通常体现为通过各种控制理论和算法来控制车辆的驱动、制动和转向系统从而实现车辆的横向及纵向控制使汽车精准地按照决策规划实现有效的避让、减速、车距保持、转向等动作解决“我该如何去”的核心问题。1.3 ADAS传感器介绍传感器是车辆感知系统收集环境信息、车辆自身状态信息和位置信息等的重要手段。自动驾驶车辆所配备的传感器可以分为三类车辆自身状态感知传感器简称自感知传感器自感知使用本体感应传感器来测量车辆的当前状态包括车辆的速度、加速度、横摆和转向角等。本体感应西西里通常使用预先安装的测量单元来获取信息比如里程表、惯性测量单元IMU、陀螺仪Gyroscopes和来自控制器局域网CAN总线的信息。定位传感器Localization定位传感器使用GPS等外部传感器Exteroceptive Sensor或惯性测量单元读数的航位推算进行定位可以确定车辆的全球和本地位置。车辆高精度定位通常会基于多个传感器信息的组合来进行比如GPS、IMU、里程表和摄像头等。对多个传感器的数据融合可以最大限度减少单个传感器的局限性和缺点提高定位的精度和可靠性。环境感知传感器Surrounding-sensing环境感知传感器主要有摄像头、超声波雷达、毫米波雷达和激光雷达等四种。环境感知系统依靠这些环境感知传感器来采集车辆所处环境信息数据并对其进行一系列的计算和处理从而对周围环境进行精确建模其输出结果是一个环境模型。所谓环境模型是指车辆外部物理世界的数字表示它包括道路、要避开的物体比如其它车辆、易受伤害的道路使用者等以及可驾驶的“自由空间Freespace“的表示。下表总结了ADAS系统中常见的各类传感器的特点1.4 传感器布局前向ADAS系统一般由单FCR或者单FCM组成当前主流配置是FCRFCM组成的1R1V方案能够支持到TJA/ICA的L2 ADAS单车道驾驶辅助。后续伴随视觉检测能力的提高在L0-L2级ADAS/AD定位的车型上有向单FCM发展趋势因为车道线等横向控制所需感知信息只有视觉能提供省掉雷达能降低系统成本。侧后ADAS系统一般由侧后方两个SRRs组成实现大部分侧后向ADAS功能。自动泊车系统即泊车控制器12颗超声波传感器USS组成的APA自动泊车辅助系统实现功能主要是APA和FAPA等。ADAS传感器布局中的术语简称FCMFront Camera Module前视摄像头总成有单目Mono、双目Stereo、双焦Bi-Focals和三焦Tri-Focals4种形态。FCRFront Central Radar前雷达模块有MRR (中距Mid-Range Radar) 和 LRR (长距,Long-Range Radar) 2种形态。一般1R1V方案后续会详细解释该方案中常选择MRR作为前雷达模块5R1V方案中常选择LRR作为前雷达。SRRsSide-Rear Radars侧后雷达模块左、右一般左master右slave有SRR (短距Short-Range Radar) 和MRR (中距Mid-Range Radar) 2种形态SRR常为24G毫米波MRR常为77-79G毫米波。这里SRR缩写就有两个含义可能是指侧后雷达模块也可能是指短距离毫米波雷达因此加s区分侧后雷达模块SRRs。USSUltra Sonic Sensor超声波雷达传感器。下图是L2级别ADAS/AD系统最大化的传感器架构方案——5R-12V-12USS方案。这个传感器布局架构的上限就是“坚决不上激光雷达”。只要上了激光雷达一般是前向激光雷达就到了L3级AD系统的传感器架构2. AD芯片介绍2.1 车规芯片要求车规级芯片特殊的技术和工艺要求挡住了企业进入的脚步。车规级芯片有着比消费级芯片更高的技术门槛需满足温度、振 动、电磁干扰、长使用寿命等高要求还要通过可靠性标准AEC-Q100、质量管理标准ISO/TS16949、功能安全标准ISO26262等严苛的认证流程大部分芯片企业尚不具备转型进入能力。AEC-Q100关键测试类别包括Accelerated Environment Stress 加速环境应力Accelerate Lifetime Simulation 加速寿命仿 真Packaging/Assembly 封装/组装Die Fabrication 芯片制程Electrical Verification 电气验证Defect Screening 不良品筛选Cavity Package Integrity 腔体封装完整性。ISO/TS16949:2009国内、 外各大整车厂均已要求其供应商进行ISO/TS16949:2009认证确保各供应商具有高质量的运行业绩并提供持续稳定的长期合作以实现互惠互利。因美国或欧洲的汽车零部件供应商同时向各大整车厂提供产品这就要求其必须既要满足QS9001又要满足如VDA6.1造成各供应商针对不同标准的重复认证这就急需要求出台一套国际通用的汽车行业质量体系标准以 同时满足各大整车厂要求ISO/TS16949:2009就此应运而生。随着汽车行业复杂性的日益提升人们加大了开发安全合规系统的力度。例如现代汽车使用了油门线控等线控系统。驾驶 员踩油门时踏板中的传感器将向电子控制单元发送信号。该控制单元会对多种因素进行分析如发动机转速、车辆速度及 踏板位置然后向油门传递指令。要测试和验证油门线控这类系统对汽车行业来说是个不小的挑战。ISO 26262的目标是为 所有汽车E/E系统提供统一的安全标准。ISO 26262 要求汽车原始设备制造商和供应商必须遵循并记录功能安全开发流程从开始制定规格直到量产发布以使其设备具备在商用车辆轿车内运行的资格。该标准列出了风险分类体系汽车安全完整性等级ASIL旨在降低电气电子 (E/E) 系统故障行为可能造成的危害。车规芯片可以说中国全军覆没啥牛B都没有的看下图这简直是革命还没开始同志们还需要努力!不过很多认证都是老外在做做一次认证要给老外很多钱又被割韭菜了国内还需要建立值得信赖的认证机构但是这根据国人的人情世故在国内做到公正估计比较难还有如果要把汽车卖给外国人如果其国家法规要求的认证那还是必须得去做。一步落后步步落后话语权一旦丢失就很被动只能先做一个给欧美大哥端茶倒水的勤奋小弟了。2.2 三域融合芯片之路之前的文章AUTOSAR入门-汽车电子构架演进(四) 未来已来讲到目前主要的汽车软硬件架构都是三域车控、智驾、座舱。但是统一是迟早的事情这个事情的根基就是芯片底座的提供然后软件去配合。看似很遥远国内还在用国外提供的三域技术还在开始自研三域技术的时候老外的核弹就已经来了英伟达下一代SoCThorThor的特点一是超高AI性能拥有770亿晶体 管而上一代的Orin是170亿晶体管。AI性能为2000 TFLOPSFP8。如果是INT8格式估计可以达到4000TOPS。二是支持FP8格 式英伟达、英特尔和ARM三家联合力推FP8格式标准力图打通训练与推理之间的鸿沟。三是超高CPU性能Thor的CPU可 能是ARM的服务器CPU架构V2或更先进的波塞冬平台。四是统一座舱、自动驾驶和自动泊车一颗芯片包打天下。高通Snapdragon Ride自动驾驶芯片骁龙 Ride该平台包括安全系统级芯片SoCADAS应用处理器、安全加速器自动驾驶专用加速器和自动驾驶软件栈可支持L1-L5 级别的自动驾驶安全系统级芯片SoC和安全加速器的功能安全安全等级为ASIL-D级3. 自动驾驶芯片架构分析当前主流的AI芯片主要分为三类GPU、FPGA、ASIC。GPU、FPGA均是前期较为成熟的芯片架构属于通用型芯片。ASIC 属于为AI特定场景定制的芯片。行业内已经确认CPU不适用于AI计算但是在AI应用领域也是必不可少。3.1 GPU方案GPU与CPU的架构对比CPU遵循的是冯·诺依曼架构其核心是存储程序/数据、串行顺序执行。因此CPU的架构中需要大量的空间去放置存储单 元Cache和控制单元Control相比之下计算单元ALU只占据了很小的一部分所以CPU在进行大规模并行计 算方面受到限制相对而言更擅长于处理逻辑控制。GPUGraphicsProcessing Unit即图形处理器是一种由大量运算单元组成的大规模并行计算架构早先由CPU中分出 来专门用于处理图像并行计算数据专为同时处理多重并行计算任务而设计。GPU中也包含基本的计算单元、控制单元 和存储单元但GPU的架构与CPU有很大不同其架构图如下所示。与CPU相比CPU芯片空间的不到20%是ALU而GPU芯片空间的80%以上是ALU。即GPU拥有更多的ALU用于数据并行处理。GPU并行计算加速**在深度学习中当训练的模型规模比较大时可以通过数据并行的方法来加速模型的训练数据并行可以对训练数据做切分同时采用 多个模型实例对多个分块的数据同时进行训练。GPU的另一个重要参数是浮点计算能力。浮点计数是利用浮动小数点的方式使用不同长度的二进制来表示一个数字与 之对应的是定点数。在自动驾驶算法迭代时对精度要求较高需要浮点运算支持。3.2 FPGA方案FPGAField-Programmable Gate Array即现场可编程门阵列它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的既解决了定制电路的不足又克服了原有可编程器件门电路数有限的缺点。FPGA可以被反复烧写。FPGA芯片主要由6部分完成分别为可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。目前主流的FPGA仍是基于查找表技术的已经远远超出了先 前版本的基本性能并且整合了常用功能如RAM、时钟管理和DSP的硬核ASIC型模块。FPGA的优势就是可编程用户可以根据自己的数据和算法对硬件进行更改来提供更加高效的硬件芯片支撑。FPGA具备高吞吐量、高能效以及实时处理等多项优点非常契合自动驾驶所需要的技术需求。高级辅助驾驶系统(ADAS)、 车载体验(IVE)应用的标准和要求正在快速演变系统设计人员关注的问题主要包括出色的灵活性和更快的开发周期同 时维持更高的性能功耗比。通过可重新编程的FPGA和不断增多的汽车级产品相结合支持汽车设计师满足设计要求在 不断变化的汽车行业中始终保持领先。3.3 ASIC方案ASIC就是专用芯片在命名上各个公司都会给自己专用一个命名什么什么U各种U例如地平线的BPU搞的跟CPU名字一样高大上但是其实就地平线直接用这个名字BPU别人家都不这么叫。给芯片起名各种U也可以看到文化的差异先抢命名抢占商机搞概念拉投资其实就是假大空。但是如果吹牛兑现了就厉害了可惜大多创业公司都不会成功大多都是搞投资人钱。但是老外这一套商业结构发展了几百年对其文化也影响很大。总之短期利益唯利是图。ASIC 芯片可根据终端功能不同分为TPU芯片、DPU芯片和NPU芯片等。其中TPU 为张量处理器专用于机器学习。如 Google 于 2016 年 5 月研发针对 Tensorflow 平台的可编程 AI 加速器其内部指令集在 Tensorflow 程序变化或更新算法时 可运行。DPU 即 Data Processing Unit可为数据中心等计算场景提供引擎。NPU 是神经网络处理器在电路层模拟人类神 经元和突触并用深度学习指令集直接处理大规模电子神经元和突触数据。ASIC技术路线是有限开放芯片公司需要面向与驾驶相关的主流网络、模型、算子进行开发。在相同性能下芯片的面积更小、成本更低、功耗更低。ASIC技术路线未来的潜力会很大选择ASIC路线并不意味着要对不同车型开发不同的 ASIC或进行不同的验证。因为不同车型需要实现的功能大致相同而且芯片面对模型和算子进行有限开放算法快速 迭代不会影响到芯片对上层功能的支持。车厂与芯片设计公司合作进行差异化定制或是更好的选择。因为即使是进 行差异化的定制芯片内部50%的部分也是通用的。芯片设计公司可以在原有版本的基础上进行差异化设计实现部分差异功能。另外一点只算力高并不说明自动驾驶能力高其还受软件的限制以及配合硬件的性能芯片再好主板很烂软件很烂那就发挥不出来实力。这就像苹果手机一样硬件参数不一定是最好但是整体性能没得说。俗话说缺啥炫耀啥。咱现在什么都缺那就找主要的参数使劲喊我们世界第一等大家都很好了也就没人喊了。4. AD域控制器设计4.1 基本设计流程自动驾驶芯片的设计依赖客户功能需要的多少个传感器从而去处理这些传感器的数据。按照前面对辅助驾驶功能的分类逻辑对应到传感器方案我们可以延续将域控制器的算力需求归纳成几类1V1R/1V3R/1V5R方案最少需要4-5 TOPS算力5V5R12U方案最少需要5-10 TOPS算力11V5R12U方案这就不好说了各家差异很大一般需要十几到一百多TOPS算力11V5R12激光雷达方案业内一般认为最少需要150TOPS算力常见自动驾驶芯片汇总序号公司芯片算力制程量产时间1NXPS32V41620222TITDA4VM*81620203TITDA4VH24-321620234MobileyeEyeQ5*24720215NvidiaXavier*301220206NvidiaOrin*254720227高通Snapdragon Ride Flex 系列几十至几百不等520228安霸CV22系列等效算力10-20TOPS1020199安霸CV3-AD系列等效算力500TOPS5202210安霸CV72系列多种算力5202311华为昇腾3101612201812华为昇腾9106407202213地平线J3*516202014地平线J5*12816202215地平线J6 Family数百至一千7预计202416黑芝麻A1000L1616202017黑芝麻A10004016202018黑芝麻A1000Pro10616202219寒武纪行歌SD522316不详不详20寒武纪行歌SD52264007不详21芯驰V9P2016202322零跑大华凌芯014.228202023超星未来惊蛰 R116不详不详上面提到的芯片市场应用多的有TDA4EyeQ5XavierOrinJ3和J5。自动驾驶芯片按算力分成几个市场中低算力市场十几TOPS以下主打一个性价比。主要玩家是地平线J3、黑芝麻A1000L、TDA4VM等互相有很强的可替代性基本上是杀红了眼的存在中端算力市场大几十到一百多TOPS包括地平线J5、黑芝麻A1000、高通平台系列芯片等等这个市场目前地平线J5占据了较大优势但是高通势头很猛高算力市场Nvidia Orin目前好像没什么对手。自动驾驶域控制器典型算力需求4.2 自动驾驶芯片的设计和架构自动驾驶芯片在设计的时候就要和主机厂、Tier1充分沟通一定是要站在系统的角度通盘考虑自动驾驶功能、传感器方案、整车E/E架构、软件架构、功能安全、信息安全、域控硬件设计、可测性等等之后才能形成最优设计这其中牵扯到几乎是汽车产业全方面的资源协调。这也是为什么我们经常在新闻里看到某芯片厂商、Tier1、整车厂又搞战略合作又搞联合发布等等。芯片设计是“攒局”从来都不是“单打独斗。可以说自动驾驶SoC芯片比我们现在手机里面用的芯片复杂的多手机的芯片已经卷的非常先进了而智驾芯片更是一个超级大功能更多的芯片其设计没有非常大的实力是做不到的国内没有几家是可以做出来的。这里以地平线J5为例看起来不够先进但是基本技术点有了明年应该会推出J6来说下基本的技术点系统框架图如下从上图我们可以看到地平线J5内部分成几个大块也是典型的自动驾驶芯片配置。其从左到右、从上到下依次是图像输入/输出单元CV引擎两个ISPImage Signal Processing核两个DSP核8个ARM A55核构成的CPU单元两个AI深度学习计算核心BPU视频编解码单元信息安全单元锁步核MCU构成的安全岛内存和存储单元外设接口单元其中BPU负责AI深度学习的计算A55负责一般的逻辑计算比如传感器融合MCU负责进行高功能安全等级的逻辑判断、诊断等等。再比如从TDA4VM的系统框图中也能看出它包含图像输入输出编解码单元、DSP核、用于进行深度学习的MMAMatrix Multiplication Accelerator矩阵乘法加速器, 类比于地平线的BPU、2个高性能A72核、6个R5核其中有一对锁步R5核位于安全岛、信息安全单元、内存/存储和外设接口。这类异构SoC将A核/R核/M核/DSP/深度学习加速器等等集成在一个SoC中在基本单元上是有很强共性的。4.3 AD域控制器架构一般而言一个自动驾驶域控包括以下部分自动驾驶芯片也就是AI SoC (System on Chip)它主要用来进行摄像头图像处理通过深度学习算法输出目标识别列表也可以用来实现传感器融合、轨迹预测、环境模型搭建、自车定位等功能。Safety MCU用来进行高功能安全等级的逻辑运算。一般车辆的规划与控制、通信、诊断以及域控制器的对外接口等功能会运行在MCU中。这里有人可能会问自动驾驶芯片中不是自带安全岛也就是锁步核嘛为什么还需要外置MCU诚然对于一部分应用场景而言自动驾驶芯片内置的安全岛确实够用了这就是后面会提到的域控制器“单芯片”方案但是对于复杂一些的场景内置安全岛的算力就不够了智能通过外置MCU来实现。eMMC/Nor Flash/Memory存储芯片Des视频解串芯片将摄像头的原始图像解串供自动驾驶芯片处理以太网网关芯片各种外设接口芯片、电源管理芯片PMIC等。例如实现L2高速NOA城市NOA功能的域控制器这个目前比较典型实现这一层级的功能业界普遍认为需要150T以上的算力支持。目前支持城市NOA功能的车型都配备了激光雷达这也为域控的算力提出了更高要求。双黑芝麻A1000 MCU是一个典型的架构如下图自动驾驶域控制器方案参考https://icv.51cto.com/posts/820https://pdf.dfcfw.com/pdf/H3_AP202301161582040854_1.pdf?1673982279000.pdfhttps://mp.weixin.qq.com/s/azesnti-8JVFvYHj2ZjvjQ后记本篇文章的背景和立题非常的大各个方面的介绍都是皮毛例如很多的缩写名词每一个名词展开可能都是一本书可以遇到了再去查对应的资料。整体上比较全面可以分享给同行入门阅读。软件国内发展的比较早芯片基本全靠学习老外的技术支撑显著特点就是缩写名词真的是多代码和硬件原理图的资料少边缘研发多核心海归少爱看芯片设计公众号学习的人多。做芯片研发的开会也多反正就是大部分时间浪费在了打基础建立共同语言上了。这方面的人才还是需要数十年的经验积累也足见芯片发复杂算十足的高端产业希望有一天能简化这些芯片开发流程顺便把价格打下来。“啥都懂一点啥都不精通干啥都能干干啥啥不是专业入门劝退堪称程序员杂家”。欢迎各位有自己公众号的留言申请转载纯干货持续更新可以就**分享给朋友、**点赞、收藏、在看、划线和评论交流公众号“那路谈OS与SoC嵌入式软件”欢迎关注个人文章汇总https://thatway1989.github.io