从TeslaAP2.0/2.5运算单元看未来无人驾驶域控制器的设计趋势自动驾驶hmi

先看一组图片,这是目前几乎所有主机厂和无人驾驶新兴团队的标准配置:

杂乱不堪的后备箱

那么通常情况下,这里面会有哪些东西呢?业内通常的标配就是工控电脑(GPU运算卡、CAN卡)、UPS电源/稳压电源、交换机、低压电源分配器、GNSS/IMU模块、车辆控制单元(通常是dSPACEMicroAutobox)、散热及冷却机构等。如果采用了一些特定的传感器,则还会有独立的工控机、融合器、接口和电源模块等。再加上互联的线缆、高低压电缆以及HMI和调试用的接口,其规模不亚于一个小型企业的机房。

一、NVIDIADrivePX2

首先分析的是DrivePX2AutoChauffeur开发板,这是NVIDIADrive系列目前公开的最新的一代产品:

NVIDIA的Drive系列

虽然基于Xavier的下一代SoC已经公开,但是依据N家的产品节奏,保守估计明年Q2才有机会看到车载级的产品和开发板公开发售。

NVIDIA的DrivePX2版本

而在DrivePX2中,AutoChauffeur是一个定义面向L3的版本,其运算部分的配置是双ParkerSoC外加双MXM3.1接口的Pascal架构独立运算单元,而更低一些的AutoCruiser是单颗ParkerSoC,更高一级的FullAutonomy是由两个AutoChauffeur组成。AutoChauffeur和AutoCruiser都采用了Infineon的TriCoreAURIXTC297作为ASIL-D的功能安全控制单元。

DrivePX2AutoChauffeur区别

实际上,AutoChauffeur也有至少两个不同的版本,其区别在于Parker之间的互联模式,其中一个采用Altera的CycloneVFPGA+ARMSoC和以太网互联,而另一个则是采用了PLX的PEX8724非透明PCIe交换芯片和以太网互联。

DrivePX2AutoChauffeur框图

正面

背面

12路FHD摄像头,在PX2上采用了Maixm定制的GMSL-CSI2转换芯片,这是一颗非公开物料。

话说回来,在目前传感器大都具备一定的算法处理能力,能做到结果输出。如果不是极端的成本优化和控制需求,是否需要重度依赖CUDA、OpenCL和各种CV加速呢?

二、TeslaAutopilot2.0

简而言之,AutoPilot2.0基本等同于AutoChauffeur的一半,或者AutoCruiser加上一块Pascal独立运算单元,同时增加了GNSS接收芯片。而AutoPilot2.5则是AutoChauffeur去掉一块Pascal独立运算单元,另一个则从MXM插卡变成板载,增加了一套基于Intel芯片和NXPMCU的仪表/导航板的整合系统,同时将TBOX和GNSS接收整合在板。

Autopilot2.0外观,双风扇

风扇下面的散热片

Autopilot2.0主板正面

Autopilot2.0主板背面

和DrivePX2AutoChauffeur对比,Autopilot2.0去掉了PEXPCIe交换芯片,增加了UbloxNEO-M8LGNSS接收芯片,将Maxim的GMSL摄像头接口换成了TI的FlatLinkIII芯片,从12路GMSL变成6路LVDS,保留两路GMSL视频输出和一路HUD输出。增加了一路22W单声道ClassD功放和一颗立体声Codec,9路CAN总线,其中有4路没有焊接收发器。保留了三路以太网,其中一路没有焊接,另外两路也没有采用BroadRReach,而是标准AVB,采用散热片加双风扇风冷散热。

简单列举一下主要芯片的型号:

1、NVIDIA“PARKER”P94W97.01PTA795SA-A2,ParkerSoC主控,内置了256CUDA单元,4核A5764位ARM和2核丹佛64位ARM

2、四颗SamsungDRAMK4F8E3S4HBMHCJ

3、NVIDIAGP106-505-KC的MXM插卡,4GBGDDR显存,预留4个焊盘,最大可以到8GB,属于GP106系列去掉显示部分的运算卡,有1280个CUDA运算单元

4、INFINEONTriCoreAUTRIXTC297TX-128ASIL-DMCU

5、UBloxNEO-M8LGNSS接收模块

6、ToshibaeMMC和SpansionNORFlash

7、Marvell88EA1512AVB/以太网收发器

8、Marvell88EA63217口AVB交换芯片

9、MaximMAX9260GMSL显示输出

10、TIDS90UB964LVDS摄像头输入

结合对DriveWorks的实际应用和性能评测,Autopilot2.0这样的硬件架构,到底能完成几级的自动驾驶呢?在此,做一些分析和分解。

AP2.0接口分析

而GPU则是256+1280个CUDA单元,以6个摄像头的配置,4个作为环视和SFM,两个前视用于车道线、行人/目标检测、交通标识检测以及前向空间(FreeSpace)的检测,按DriveWorks提供的代码和资源占用情况,其能力是不太够满足同时运算的要求。

SFM先放到一边,车道线、目标和交通标识检测大概要占用90%左右的GPU,而对这些目标做标记、编号以及识别则需要40%左右的GPU,可能的做法是对场景进行进一步分解,不追踪和识别全部的目标,这里就是Tesla量产Autopilot和NVIDIADrive开发平台的重要差别,但无论如何,1536个CUDA即使是为运算优化的GP106-505,我们判断单纯依靠Autopilot的运算能力是否能达到完整的L3还是有些困难的。

板载的NEO-M8LGNSS接收芯片,则是一个单频多模2.5米CEP自动驾驶精度的模块,即使配合IMU,单独来说应该也还达不到高精度定位导航要求的精度和可靠性。

三、TeslaAutopilot2.5

对于TeslaAutopilot2.5,新悦内部一直称之为AP3或者APNextGen,拿到这个单元时,我们并不知道其具体的车型,但是按照架构和形态猜测,应该是用在Model3上。国外包括Tesla官方论坛内称之为Autopilot2.5。

Autopilot2.5外形,水冷

Autopilot2.5外壳分解

之所以我们分析认为AP2.5是给Model3使用的,是因为这个单元正反面一共有两块板,一块和AP2.0类似,但是多了一个Parker的自动驾驶控制板,另外一块是基于Intel一颗保密型号的芯片加上SPC5748GMCU,并且带有TelitModem和LG的BT/WLAN模块及8声道ClassSB-I的数字功放。

从Model3来看,其取消了仪表,将信息娱乐系统和仪表做到了一起,那么SPC5748G则是处理功能安全的MCU,也就是仪表系统可靠性的保证。而Intel的SoC则是做信息娱乐导航或者一些数据处理。这两块电路板的单元内部并没有物理连接,只是共用了水冷散热部分,以及整合到同一个金属外壳之中,不计散热部分,其主体部分体积并没有比AP2.0大太多。

AP2.5多角度视图

下面逐一分析自动驾驶部分的主板和信息娱乐部分的主板:

AP2.5自动驾驶主板正面

AP2.5自动驾驶主板背面

接口部分,因为AP2.5(或许是因为我们拿到的并非Release版本)标注了所有接口的功能,所以不用想AP2.0去推测。按照接口标注,该主板支持如下接口:

1、GPS天线

2、REARCAM后摄像头

3、SELFIE内置驾驶员摄像头

4、MAINCAM前置主摄像头

5、REPEATER两路转发

6、B-PILLARB柱两路摄像头

7、FISHEYENARROW两路窄幅鱼眼摄像头

8、一系列IO,CAN和电源

9、单路以太网

10、USB

11、MCU外接口

主要芯片如下:

1、两颗NVIDIA“PARKER”PC5S58H.S8PTA795SA-A2,ParkerSoC主控,内置了256CUDA单元,4核A5764位ARM和2核丹佛64位ARM

2、六颗SamsungDRAMK4F8E3S4HBMHCJ,其中四颗给A,两颗给B

3、NVIDIAGP106-510-KC的板载芯片,4GBGDDR显存,应该是AP2.0的改进型号

6、一颗ToshibaeMMC给A和SpansionNORFlash两颗,AB各一颗

7、Marvell88AE1512AVB/以太网收发器

9、三颗TIDS90UB964LVDS摄像头输入

10、一颗TIDS90UB954LVDS摄像头输入

11、和AP2.0一样的TAS5421单声道数字功放和TLV320AIC3104立体声Codec;

12、FTDI1647-C串口转USB调试芯片

13、CAN收发器若干

取消了明显的显示输出部分,是否交给信息娱乐主板来处理呢?

AP2.5信息娱乐主板正面

AP2.5信息娱乐主板背面

接口部分:

1、FTDIUSB调试

2、WLAN天线

3、BT天线

4、LTEUSB调试

5、CAMIN摄像头入

6、CAMOUT摄像头出

7、BMP调试口

8、BMPLPC调试口,谈到LPC(LowPinCount),基本可以认为那个INTEL的芯片是x86系列。

9、PMIC调试接口

10、GSM开关

11、BROADREACH网口

12、CAN/POWER接口

13、ETHERNET网口

14、AUDIO接口

15、USB接口

而主要芯片如下:

1、一个带有4G内存的INTELCONFIDENTIAL的模块

2、模块附近有一个NORFlash和一片eMMC,可以理解为BIOS/EFI和硬盘

3、NXPSPC5748GSMMJ6一颗

4、LGInnotekB216CBT/WLAN模块

5、Marvell88EA63217口AVB交换芯片

6、TIDS90UB949串行化和TIDS90UB940解串芯片各一颗

7、还有一颗未知厂牌的WQ1214CS芯片

8、两颗STTDA7802Class-SB-I数字功放,每颗包含四路28瓦标称72瓦峰值。一共8路

9、一颗TJA1059,一颗TJA1043

10、以及一个类似MiniPCIE的4G模块插槽

从音频配置和SPC5748G以及接口配置来看,这基本就是信息娱乐系统单元没跑了,但是为何上面没有明显的显示接口?难道Model3的液晶屏当中,还像之前的ModelS和ModelX一样用一套Tegra3来做显示?

前面提到,AP2.0是Parker+Pascal,而AP2.5在自动驾驶部分则是双Parker+Pascal,实际上按我们的理解,Parker本身的CPU处理能力之前就有剩余,而256个CUDA的增加又能带来什么改变呢?据我们分析,实际上这能带来非常多的好处,用一颗独立的Parker,能够处理一些关联度不高的任务,避免和主要的运算任务做竞争,减少了切换和资源调度的开销。这应该是Tesla从实际应用角度出发做的一个改进。

ModelS的显示单元,T301应是Tegra3的车规版本

回到AP2.5,刚才提到,信息系统主板上有一个Modem插槽,这个Modem长啥样呢?

AP2.5的Modem模块

此模块采用了Telit的LE940B6-NA车规通信模组,并有一颗88EA1512网络芯片,从外壳结构来看,这个模块可以支持热插拔。在这块,Tesla的工程师应该是经过考虑的。首先,USB虽然可以热插拔,但是整体来说不如以太网可靠。而且采用AVB的以太网,可以灵活配置网关和其他车内模块的可访问性。

上一代信息娱乐系统中,采用的则应该是USB链接。

上一代信息娱乐系统的通信模块,整合LEA-6RGPS和一颗非常特别的Gyro

继续回到AP2.5信息娱乐主板,该主板上有SIM卡和TF卡插槽,SIM卡从ICCID来看应该是美国某运营商的卡,而TF卡中只有一个分区,里面存储了一些Log,并没有地图和其他数据。

当然,分析还在继续,我们有一些有意思的“跨界工具”,例如……

修手机必备良品

写到这里,我想说,无论对PX2还是AP2.0或者2.5进行分析,都肯定会有一些偏颇,毕竟不是原始设计,但是这样的对标分析,结合芯片行业的从业经历,多少能得到不少有用的信息。

Tesla的几代产品从PCB工艺角度来说,都相当不错,全部都是12层盲埋孔,很多连接器和芯片都是定制型号,例如MXM,Tesla设计的是带锁扣和托架的,连接相当稳固,这样的连接器在zFAS一代Prototype上也能看到。

而从接口的角度来看,Tesla大量采用了AVB和LVDS(包括FPDLink3和GMSL等),但是也依然保留了CAN、LIN等,作为市面上为数不多大规模量产的自动驾驶控制单元,不管其无人驾驶实际执行效果如何,这一系列控制单元无论从设计还是制造工艺,都堪称是完美的艺术品。

四、从WiseADCU谈无人驾驶域控的设计

未来的无人驾驶域控制器,其设计理念应该是前述的“高可靠、高性能、低成本、低功耗、小体积”的高度整合软硬件平台,而芯片企业、算法团队、零部件企业和主机厂之间所存在的鸿沟需要进一步的填补。

首先,从目前公开的各种自动驾驶和无人驾驶系统架构来看,环境感知和融合发展非常迅速,但是大家都忽视了车辆本身的运动控制和线控之间的差别。不止一次在非常专业的会议和组织,听到了“车辆动力学模型和仿真是不必要的”“环境感知融合后给出引导曲线,线控按此执行即可”这样的论断,实际上这还只是实验室阶段的无人驾驶。

而新悦智行作为吉大汽车工程学院的产业化落地团队,我们深刻认知到,简单地把车辆作为一个质心固定的刚体,是非常浅薄的理解。车身姿态和运动状况是一个层面,环境传感器是一个层面,车辆本身的能力也是一个非常重要的层面,如果不把执行器的“能力”和车辆的状态考虑在决策条件之中,是无法完成精准可靠的自动驾驶系统的,更无法满足“安全和舒适”这两个自动驾驶和无人驾驶的基本需求。

新悦智行的WiseADCU-L4v1

其次,未来无人驾驶域控的软硬件架构应该充分而科学的整体规划,从系统架构上可分为两个主要派系,也就是域控强算法和域控弱算法。其区别非常类似分布式运算和虚拟化集中运算的差异。

强算法的域控能够降低前端传感器的复杂度和成本,更加高效地利用域控的运算资源和能力,对各种原始数据的融合更加合理,还能让物理架构更加清晰。其缺点或者说挑战也非常明显:

1、多种算法的理解、整合、优化和资源的合理分配及调度,非常考验系统架构师的设计能力以及工程师团队的实现能力;

2、比起ASIC处理特定的运算和数据,用CPU和GPGPU做运算,未必是最优的情况;

3、原始数据(RAWData)对带宽和实时性的要求都更加严苛;

4、系统复杂度的增加,提高了出错的几率和影响程度,原本单一传感器的故障,可能会在此放大成整体系统的故障。

板载MobileyeEyeQ3芯片的AudizFAS(非第一代)

考虑到这样的问题,可以考虑设计可扩展架构,例如新悦的WiseADCU加入了FPGA单元,对传感器的前端数据处理和数据通路可以进行灵活配置,对于车辆状态和姿态等数据做了统一的协议和数据接口。同时兼容原始数据和结果数据的处理,前端传感器除了提供检测结果数据,同时提供一份原始数据,而WiseADCU根据原始数据取出一些特定信息进行融合及权重的分配,而不需要涉及非常专业的算法,结合所处“域控”的地位所能采集的几乎全部数据,形成合理的“环感-车辆-权重-融合-决策-执行”的大闭环。

新悦智行WiseADCU硬件框图

WiseADCU硬件架构基于以上理念设计,新悦智行CTO李林峰则调用了其武汉海微科技核心汽车电子团队平均十年以上的硬件和驱动工程师共同参与,和新悦的工程师一起完成了理念到实际产品的转化。从第一版的情况来看,只有30多个MinorBugs,对于一个600多元器件、9000多焊盘的复杂系统来说,非常不易。

基于新悦智行WiseADCU域控所做的网络架构

从一些细分领域来看:

网络架构,基于AVB演进的TSN将会是重要的架构,但是不能因为有了TSN就放弃CAN/LIN,对于一些成熟和简单的场景,CAN/LIN无论成本还是可靠性,都是有保障的。

新悦智行WiseADOF系统架构

操作系统,Drive系列开发工具的UbuntuLinux及其内核都需要做深入的改造和优化,相信Tesla做了并且一直在做这个工作。首先,不能完全否定Linux的可靠性,很多人一谈到Linux就认为其不如某些商用实时系统可靠,从宏观的层面来说,Linux系统内核发展到4.x版本,其代码的庞大程度确实超过某些特定的商用实时系统,但是从微观角度来看,单纯的内核,如果不考虑驱动、文件系统和协议栈这些的话,其实大家都差不太多。

信息安全、传感器本身的安全、传输层的安全以及系统的安全等都需要综合考虑,作为一个1997年开始涉足网络安全和嵌入系统的老司机,听过一句话非常经典“堡垒往往是从内部被攻破的”。这是一个系统工程,后面可以单独弄一系列长篇大论。

总的来说,未来无人驾驶域控,要有好的整体架构设计、完整细致的框图以及有实战经验的团队,满怀敬畏,开放心态,跨界交流和实力团队的务实工作才能设计和落地深度跨界的产品并保持其不断的延续和演进。

雷锋网推荐阅读:曾经想“开启无人驾驶上帝视角”的两人,刚刚展出了新能源整车+L3自动驾驶平台|CESAsia2017

THE END
1.汽车网关与网关控制器网关控制器(Gateway Controller)则是指控制网关工作的控制器。网关控制器通常负责管理和控制网关的工作,包括数据的接收、处理、转发和过滤等。网关控制器还可以对网关进行配置和管理,以满足不同的通信需求。 在汽车上,网关控制器通常布置在汽车的电控单元(ECU)内部或者单独的网关模块中。具体的布置位置可能因车型和设计https://www.dongchedi.com/article/7305224793542951451
2.汽车总线概述接下来,让我们一起了解一下汽车电子中两大硬件ECU和网关的基本原理。 ECU基础原理 汽车电子控制系统分为硬件和软件两部分:硬件由电子控制单元(ECU—Electronic Control Unit)及其接口、执行机构、传感器等组成;软件存储在ECU中,支配电控系统完成数据采集、计算处理、输出控制、系统监控与自诊断等。 https://www.eet-china.com/mp/a127637.html
3.汽车全车网关控制与信息娱乐系统陕西交通职业技术学院汽车网关控制器则是整车电子电气架构中的核心部件,是整车网络的数据交互枢纽,以其高速率、多通道、安全可靠等突出优势在技术变革中起到至关重要的作用。《汽车全车网关控制与信息娱乐系统》课程将带您探究典型的CAN、LIN、MOST、FlexRay等不同网络总线系统的工作原理、触摸控制单元、参透网络奥秘、遨游车载网络世界!让https://www.xuetangx.com/course/scct5607nril/16909707
4.卡车零部件百强产品汇总之三:德国大陆商用车轮胎轮胎汽车控制单元将所有信息集中起来以提供所需扭矩要求,无论这些信息来自驾驶员、各个系统(如传动系统)还是ACC传感器。根据所有这些信息,所需扭矩被计算出来并通过CAN总线传送至发动机的喷油系统电子部件。同样的方法也被用于控制卡车的各种制动系统,整合管理。 ●驾驶室和舒适性:具体产品包括仪表和电子网关 http://www.360che.com/news/130912/27512.html
5.汽车电子(一)整车CAN网络介绍整车信号如下图, 车上某个智能硬件上的ECU(智能电子控制单元) 由于车上ECU太多, 每种ECU作用各不相同, 信号传输速率(波特率)也不一致. 为了更加方便管理这些ECU, 我们把以上各类ECU按其功能/波特率分别布置在5条CAN总线上. ? CAN网关 CAN网关或叫汽车网关,因为网关不仅处理CAN网络,还处理LIN网络. https://blog.csdn.net/Ciellee/article/details/96146539
6.瑞萨(Renesas)RH850/U2A汽车控制MCU,赋能未来出行此外,在入门级/商用车辆中,VCU还可以充当中央计算/网关,瑞萨的RH850/U2A汽车控制MCU,具有足够的性能扩展空间,多核架构符合功能安全性(FuSA)ASIL-B、ASIL-D标准。 瑞萨车辆控制单元方案系统框图 RH850/U2A可以为系统带来以下优势:将无线通信板(REIN-WCB-V1)添加到解决方案中,实现联网车辆技术,包括4G/GPS/Wi-Fihttps://www.cmalls.net/news/15232.html
7.智猩猩3. 长城汽车- GEEP4.0架构 1)硬件平台方面:GEEP4.0架构由中央计算平台(CCU)、智能座舱模块(HUT)、智能驾驶模块(ICU),以及3个区域控制器(VIU_L 、VIU_R以及VIU_F)组成。 中央计算单元CCU的主要职责是把辅助自动驾驶、动力、底盘、车身、空调、车身状态以及模式管理等各个域的功能做集中的处理,在高阶自动驾驶配置https://course.zhidx.com/download/detail/OGFiNmIxMDM3MWNiODMxYzIxYjM=
8.迈腾P068A主继电器打开过早故障解析车辆行驶中受到颠簸,破损的电线与车身钢板接触造成对地短路,熔丝SC11熔断,导致网关控制单元等得不到正极供电而不工作。在诊断中,必须借助电路图思考线束布线位置,找到电线与车身的短路点,不断提升维修线束的经验,可以在维修过程中减少时间、提高效率。 以上内容由58汽车提供。如有任何买车、用车、养车、玩车相关问题,https://m.58che.com/qa/5-6070718.html
9.汽车CAN总线系统故障诊断技术浅析该故障现象很象防盗报警系统起动了,但是防盗报警灯却始终没有点亮,连接诊断仪,无法重新对防盗系统进行匹配,在发动机控制单元能读到2 个故障码,分别是18056 表示动力系统数据总线通讯失败,17978 表示发动机控制单元被防盗控制单元闭锁.在中央仪表控制单元和网关控制器内也存有01312 号故障码,表示动力系统数据总线有故障或https://www.sh-yuy.com/news/3643.html
10.英恒科技控股有限公司Automotive Electronic(汽车电子) Automotive Electronic Components(汽车电子系统中的部件) Automotive Functional Safety(汽车功能安全) Automotive Information Security(汽车信息安全) AUTOSAR C Central Gateway(中央网关) Connected Vehicle Gateway Control Unit(汽车高级网关控制单元) https://intron-tech.com/sc/bus_glossary.php