自动驾驶 Autopilot FSD是特斯拉最核心的应用软件。可以把其软件收入组成分为三块,具体而言: 1)Autopilot FSD(Full Self-Driving)完全自动驾驶选装包。特斯拉著名的自动驾驶的功能,也可以说是特斯拉汽车的灵魂。消费者付费激活后,可以享受到包括自动泊车、自动辅助导航驾驶、智能召唤等在内的高级自动驾驶功能,而且后续可以通过 OTA 空中软件持续升级自动驾驶能力。2020 年 7 月 1 号,其价格已经上涨至 8000 美元/套(国内 64000 元/套)。 2) OTA 付费升级。特斯拉此前对于软件的 OTA 升级基本上是以免费的形式提供的。2019年以来,特斯拉开始积极尝试 OTA 付费升级。典型案例就是“Acceleration Boost”加速性能升级包。Model 3 车主只要付费 3000 美元,即可将汽车的百公里加速性能从 4.6s 提升到4.1s。 3) 高级车联网功能。特斯拉从 2019 年 Q4 开始,首度开启车联网高级连接服务收费(9.9美元/月),车主支付了服务费后即可使用实时路况、卡拉 OK、流媒体等高级车联网功能。 其中,OTA 付费升级以及高级车联网功能两块业务是特斯拉从 2019 年开始逐步发力的软件业务。现阶段,FSD 是特斯拉最核心的应用软件,其软件收入也主要由 FSD 选装包贡献。 完全自动驾驶芯片(FSD芯片,以前的自动驾驶硬件3.0)是特斯拉设计的自动驾驶芯片,在2019年初为他们自己的汽车推出。特斯拉声称,该芯片的目标是自主4级和5级。FSD芯片采用三星的14纳米工艺技术制造,集成了3个四核Cortex-A72集群,共有12个CPU,工作频率为2.2GHz,1个Mali G71 MP12 GPU,2个神经处理单元,工作频率为2GHz,还有其他各种硬件加速器。FSD最多支持128位LPDDR4-4266内存。 安全系统 有一个安全系统,它包含了一个双核锁步CPU,对汽车执行器进行最终仲裁。这个CPU确定由FSD计算机上的两个FSD芯片产生的两个计划是否匹配,以及驱动执行器是否安全(参见§操作)。 安全系统 安全系统的设计是为了确保芯片只执行经过特斯拉加密签名的代码。 相机串行接口 FSD芯片有一个摄像机串行接口(CSI),能够从各种视频输入设备中每秒处理多达25亿个像素。 视频编码器 FSD芯片集成了一个H.265(HEVC)视频编码器,用于各种应用,如倒车摄像头显示、仪表盘和云剪辑记录。 图像信号处理器 FSD集成了一个图像信号处理器(ISP),其内部24位流水线旨在处理特斯拉汽车上配备的8个HDR传感器,能够每秒处理多达10亿个像素。ISP具有色调映射功能,使芯片能够暴露出由于明/暗点(如阴影)而产生的额外细节。此外,ISP还具有降噪功能。 神经处理单元 FSD芯片集成了两个定制设计的神经处理单元。每个NPU包含32 MiB的SRAM,旨在存储临时网络结果,减少对主存储器的数据移动。整体设计相当简单明了。每个周期,256字节的激活数据和另外128字节的权重数据从SRAM中读到MACs阵列中,在那里它们被合并。每个NPU有一个96x96的乘积阵列,总共有9,216个MAC和18,432个操作。对于FSD芯片,特斯拉使用8位乘8位的整数乘法和32位整数加法。对这两种数据类型的选择主要是由于他们努力降低功耗(例如,32位FP加法的功耗大约是32位整数加法的9倍)。在2GHz下运行,每个NPU的峰值性能为每秒36.86万亿次运算(TOPS)。每块芯片上有两个NPU,FSD芯片的综合峰值性能可达每秒73.7万亿次运算。在点乘操作之后,数据被转移到激活硬件、池化硬件,最后进入汇总结果的写缓冲器。FSD支持多种激活功能,包括整流线性单元(ReLU)、Sigmoid线性单元(SiLU)和TanH。每个周期,128字节的结果数据被写回SRAM。所有的操作都是同时和连续进行的,重复进行直到完成整个网络。 一些硬件已经被简化,这就把复杂性放到了软件上。这样做是为了降低硅的成本,以支持稍微复杂的软件。软件可以映射和分配单个SRAM库。在特斯拉的NN编译器的帮助下,还可以进行层融合,通过耦合conv-scale-act-pooling操作来实现数据重用。编译器还执行层平滑,确保一致的内存访问,添加旨在减少库冲突的通道填充,并插入DMA操作以在使用前预取数据。在代码生成过程中,权重数据被生成,代码被压缩,并生成一个CRC校验以保证可靠性。 在正常操作下,神经网络程序在启动时被加载,并在芯片通电的整个过程中保持在内存中。运行是通过设置输入缓冲区地址(如新拍摄的图像传感器照片),设置输出缓冲区地址,和权重缓冲区地址(如网络权重),设置程序地址,然后运行。NPU会异步地自行运行整个神经网络模型,直到达到停止指令,触发中断,让CPU对结果进行后处理。 FSD计算机的设计是为了加装到现有的特斯拉车型上,因此在外形尺寸和I/O方面基本相同。计算机本身正好可以放在汽车手套箱的后面。FSD计算机可以由技术人员安装在与先前的自动驾驶硬件2.5板相同的插槽中。板子本身包含了两个完全独立的FSD芯片,以及它们自己的电源子系统、DRAM和闪存,以实现完全冗余。每个芯片从自己的存储存储器启动,并运行自己的独立操作系统。在板子的右边(如下图所示)是八个摄像头的连接器。电源和控制装置在电路板的左侧。该板位于两个独立的电源上--一个用于FSD芯片,一个用于另一个。此外,一半的摄像机位于一个电源上,另一半位于第二个电源上(注意,视频输入本身是由两个芯片接收的)。冗余的设计是为了确保在一个组件,如摄像机流或电源或板上的一些其他IC坏了的情况下,整个系统可以继续正常运行。 操作 功耗 运行完整的软件堆栈,FSD计算机耗散了72W。这比之前的解决方案HW2.5所耗散的57瓦特多了大约25%。在这72瓦中,包括由NPU耗散的15瓦。与HW2.5相比,运行确切的软件堆栈和传感器,特斯拉报告说每秒的帧数提高了21倍。 |
|