软件定义汽车离不开未来的中央计算架构,二者是相辅相成的。
上图是德州仪器构思的中央计算架构,笔者设计了一个车辆中央计算架构,对于车辆计算中心选择两片英伟达的Orin,一片侧重于ADAS,命名为Orin A,一片侧重于座舱,命名为Orin B。
上图是瑞萨的中央计算架构,因为瑞萨没有最擅长的MCU,所以只画出了MCU和中央计算中心(服务器)也就是包含了AD/FAS智能驾驶服务器和IVI座舱服务器。对于Zonal模块,就是传感器、致动器加网关,交换机加MCU实际就是网关。对于那些主要是CAN网络的部分,交换机就不需要了,CAN网络没那么复杂,以太网网络的部分则需要以太网交换机。
以太网交换机选择Marvell最新的第三代符合功能安全的汽车以太网交换机88Q5112,这是一个9口以太网交换机。内部集成了6个物理层,包括3个100/10BASE-T1(S),两个1000/100BASE-T1,一个100BASE-T1/TX。可以对应5个Zonal ECU外加一个诊断OBD。诊断OBD用1000Base-T1。目前除了智能驾驶和座舱,都用不到100Mbps的带宽,Zonal主要还是车身和舒适性网络。底盘和动力传递用CAN、CAN-FD或Flexray足够了。
上图是88Q5112内部框架图,对TSN支持比较丰富,包括802.1AS-2020,802.1Qat/ Qav / Qbu / Qbv / Qci / Qcr,还有确保安全性的802.1CB。
上图为两颗Orin的摄像头输入图,Orin最多输入16lane MIPI CSI-2,此外还有C-PHY和D-PHY做虚拟通道,800万像素需要占用4lane,低于200万像素1lane即可,超过200万就需要2lane,保险起见,200万像素用2lane,所有传感器型号仅供参考。智能驾驶部分,前主摄像头可以用三颗250万像素摄像头对应短中远三个距离,或者用一颗800万像素,或者用两颗250万像素做立体双目。其余4-6颗都用250万像素或200万像素摄像头,目前对应200万像素以上的解串行芯片只有ADI的MAX9296,加串行是MAX9295,完全垄断市场。MAX9296有1.5G、3G、6G三档可调,最高可对应1600万像素输入。
电子倒车镜又叫Camera Monitor System或E-mirror,就是用屏幕代替倒车镜,也需要两路视频输入,由于显示屏小,100万像素分辨率就已足够了,这个显示屏可以添加ADAS功能,因此归到ADAS系统里。 座舱领域视频输入主要有360环视、AR导航和驾驶员监测DMS。360环视采用比较先进的200万像素摄像头,4合一输出到MAX9286。AR导航也不需要太高分辨率,130万像素就足够。DMS目前有朝高分辨率方向发展,还有导入ToF摄像头的趋势,这里暂定200万像素。 摄像头数据也可以用以太网传输,RAW10格式30fps下的200万像素摄像头码率大约是0.6Gbps,如果是RGB888格式,码率大约1.44Gbps,800万像素码率大约5.7Gbps,目前最高有对应10Gbps的以太网物理层芯片,传输800万像素完全不成问题。高分辨率摄像头一般都是RAW8或RAW10格式输出,低分辨率一般是YUV422格式输出。以太网传输的好处是可以用单对非屏蔽双绞线即可,MIPI CSI-2是需要同轴电缆传输。以太网连接器的成本也要明显低于MIPI CSI-2的连接器。以太网也方便用TSN做数据整形、流量控制等动作,连接以太网交换机路由的方式交换通信也比MIPI CSI-2更加灵活。以太网物理层芯片的成本也低于解串行芯片的成本,但高于加串行芯片的成本。以太网的缺点是调试异常复杂,调试设备价格非常昂贵,大多数工程师都不熟悉以太网的调试。 以太网也可以桥接摄像头,如Marvell的88QB5224。
如果SoC的MIPICSI-2接口用完了,但仍然必须接入摄像头,这时就可以考虑以太网桥接,如上图。88QB5224支持IEEE802.3ch标准,最高支持10G,接入4个200万或250万像素摄像头是没有问题的。
上图是激光雷达与毫米波雷达传感器输入簇。
激光雷达可能需要1-3个,1个主激光雷达,考虑到激光雷达技术进步,因此预留了足够的带宽余地,最高支持10Gbps,也就是相当于1200万像素摄像头的分辨率,当然激光雷达是3D的。目前任何类型的激光雷达1Gbps的带宽就足够。辅助激光雷达通常是补盲,分辨率很低,100Mbps的带宽就足够,角雷达一般是毫米波雷达,目前多用CAN-FD输出,不过Orin要支持CAN-FD会比较麻烦,所以就也用以太网,角雷达一般也支持以太网输出,通常带宽10Mbps就足够。4D毫米波雷达输出数据量大,用100Mbps带宽也足够。最后的控制底盘的MCU选择英飞凌最新的TCC4XX系列,带宽1Gbps足够。
Marvell的88Q4364,它和博通的BCM8989X是目前唯二支持10G 车载以太网的物理层芯片。
88Q6113是Marvell最新的第三代11口以太网交换机。
上图是88Q6113内部框架图,TSN方面支持802.1Qav/Qbv、802.1Qat、802.1AS。
上图为Orin B的视频输出簇,Orin的显示输出只有一个就是DisplayPort(DP) 1.4a,也可以配置成HDMI输出或eDP输出,不过Orin有多达7个USB输出,包括3个USB3.2和4个USB2.0,USB和DisplayPort是可以轻松转换的,再将DisplayPort转换为其他格式,目前高分辨率显示屏基本都采用DP或eDP输入,不过车载领域主要还是LVDS,发展方向是eDP输入,如目前的2K或4K车载OLED屏就是如此。这就省了不少格式转换,DP也可以转换为LVDS,如谱瑞的PS8625,最高带宽2.7Gbps,最高分辨率1920*1200,顺便说一下这就是特斯拉用的芯片。USB2.0的带宽比较低,只能做后排的小屏,分辨率大概1280*720的水平,做AR-HUD也是足够的。USB3.2是足以支持2K分辨率的。以Orin强大的GPU能力,输出5个2K屏显示应该还是比较轻松的。Orin A也需要3路视频输出,一路传输到中央显示屏CID,可以手动切换信号源,用Orin A的DP输出,另外两路就是电子倒车镜,用Orin的USB3.2输出,转换为LVDS即可。
座舱的音频部分可以参考ADI的设计,这是顶级座舱音频,还包含了主动车内降噪和路面降噪,音质要好的一个重要前提就是车内噪音要低。HeadUnit就是Orin B,老旧的MOST总线需要使用光纤,非常麻烦,已经被时代遗弃了。图上还少了一个到T-Box做E-Call的分支。
上图是座舱部分的外设,一般来说SoC的PCIe端口接蓝牙与WiFi无线模块的PCIe,不过两个Orin会占用最高等级的PCIe,此外板对板有时候也用PCIe连接,因此多设计一个PCIe转以太网的MICROCHIP的LAN7431,以太网交换机选7口的88EA6321,Orin的USB接口被占用不少,因此需要添加一个USB HUB,选MICROCHIP的USB4914,座舱的MCU还是选择瑞萨的S4或传统的RH850。USS是超声波传感器,超声波传感器一般使用DSI3总线连接,1主11从。超声波传感器系统与Orin连接可以用UART+SPI,这是比较麻烦的。
NVIDIA DRIVE 6.0的网络拓扑Safety模式
最后放上英伟达最新自动驾驶系统DRIVE 6.0的网络拓扑图以供参考。DRIVE 6.0的网络拓扑有两种,一种是BASE,另一种是Safety,上图就是Safety模式。Safety模式下以太网交换机的CPU被绕开,所以不支持OTA。同时最大MTU尺寸从16k减少到1500byte。这里的Tegra就是Orin,Aurix是英飞凌TC397T。这里的以太网交换机1是Marvell的88Q5072,以太网交换机2是88Q6113。LAN7431是Mircochip的PCIe转以太网的芯片。Safety模式为了安全,牺牲了一些交换机性能,因此多加了一个高等级以太网交换机88Q6113,实际一个88Q5072就足够。
NVIDIA DRIVE 6.0的网络拓扑Base模式
这是DRIVE6.0的网络拓扑Base模式,以太网交换机是88Q5072。Orin有两条10Gbps线路,一条连接以太网交换机,另一条就是连接到中央网关,也就是车内骨干以太网的线路。 英伟达还特别提到车载以太网TSN标准的API,包括了时间同步的802.1AS(gPTP),序列与流量整形有802.1Qav, 802.1Qbv, 802.1Qbu/802.3br,802.1CB 和802.1Qci,失效容忍的802.1Qat和802.1Qcc。 未来的中央计算架构也有点像PC机,所有的数据处理都靠一颗CPU,基础中间件AUTOSAR和在此之上的Linux、QNX、Android等操作系统构成了类似Windows的系统,对绝大多数的程序员来说,它基本是透明的,程序员只是设计应用软件。这才是真正的软件定义汽车。