“种一棵树,最好的时间是十年前,其次是现在。”
特斯拉于去年3月份发布了基于Intel Atom(Apollo Lake)芯片的新版本多媒体控制器MCU2(MCU, Media Controller Unit),今年4月份 发布了其自研SOC(System On Chip)的Autopilot硬件HW3(FSD,Full Self Driving)以支持将来实现全自动驾驶所需要的算力。多媒体控制器MCU与Autopilot ECU共同构成了特斯拉的大脑,最新版本的两个硬件开始在今年4月份下旬生产的Model 3和5月下旬生产的Model S/X中使用。
在Model 3中,特斯拉将MCU与Autopilot ECU两个板子分为两层装进了同一个外壳中(如下图),使得原本娱乐域和自动驾驶域的两个零部件就像左脑和右脑的关系一样,物理上组合在一起形成了一个车载大脑零部件。
如上图,其中上层的板子为媒体控制器,使用Intel Atom E3950的4核2.0Ghz的x86架构处理器,运行特斯拉基于Linux开发的操作系统负责中控大屏的信息娱乐功能(特斯拉尚未根据GPL开源协议将Model 3该部分Linux修改代码开源)。
下层的板子为Autopilot ECU,HW3版本由两个特斯拉自研发的FSD芯片组成,两个SOC由两组独立电源分别供电,共享所有摄像头输入超声波雷达等传感器数据,并行计算,相互校验互为安全冗余。
FSD芯片采用三星的14nm技术制造,如下图,一个SOC中集成了:3个4核(共12核)ARM Cotex-A72架构的2.2GHz的CPU,一个1GHz的GPU,两个2GHz的NNP(神经网络处理器)。每个NNP有个96*96个MAC的矩阵,32MB SRAM,每个NNP的处理能力是 96*96*2(OPs)*2(GHz)=36.864TOPS,则单个芯片为72 TOPS,包含两个芯片的Autopilot ECU为144TOPS。
特斯拉分析,应用一个典型的使用CNN 卷积神经网络的视觉感知算法,其中99%以上的计算操作为加法与乘法运算(如下图)。NPU通过提供特定矩阵运算硬件加速指令(DMA读写,卷积/反卷积,点乘等)并将模型加载进NPU的SRAM,可以较大的优化神经网络模型应用,达到原先使用通用的GPU处理器运算速度的21倍(在解决特定问题上)。
SOC中的CPU及GPU算力将用于完成自动驾驶的总控,包括多传感器信号融合,高精度定位,路线规划,控制执行指令下发及执行结果校验等工作。
回顾过去8年,特斯拉在智能化的左脑右脑上都进行了多次迭代(如下图)。可以看出,特斯拉在MCU媒体控制器上的投入相对于Autopilot ECU会少一些,与第一版硬件时隔近6年,在NVIDIA放弃了面向智能驾驶舱的Drive CX平台后转向使用Intel的解决方案。而在Autopilot ECU方面则显得非常激进:从最初的感知由Mobileye EyeQ3负责仅实现基于规则的简单控制,进化到自研实现基于机器学习的Autopilot软件,再到应用芯片级别的硬件优化以及将来规划的全自动驾驶。
从终端用户使用体验上来看,特斯拉一直在宣传的也是它在高级辅助驾驶和自动驾驶方面的功能,与国内厂商相比并没有在车内智能语音交互方面,音乐导航服务等应用便捷性方面有太多出色的地方。在车载信息娱乐领域,得益于国内移动互联网的快速发展,国内厂商目前研发的智能驾舱体验会领先于特斯拉;而在自动驾驶领域,国内厂商相对特斯拉的硬件算力发展目前会有一到两年的差距需要追赶。
在操作系统层面上,娱乐域应用适合采用多任务分时系统(类同手机和PC上的IOS,安卓,windows等操作系统),自动驾驶领域功能适合采用实时操作系统(类比战斗机的控制系统),不同领域的问题需要针对其特点优化解决。娱乐域的操作系统方面,特斯拉2012年在车载Android尚未发展的时期选择了Linux路线无可厚非,而在当前Android Automotive发展迅猛,各家CP/SP厂商纷纷提供安卓车机版SDK或车机应用可以快速集成的环境下,Android Automotive会是目前娱乐域操作系统的主流选择。
End
推荐干货
- 从TDengine的开源说起技术选型
- 那个上传的通讯录有毒!
- 服务网格(Service Mesh)与Kubernetes的服务发现
- 琐言:团队带领者的知识覆盖模型
- [TheFamily]:避开僵尸初创公司