本文来自半导体行业观察,作者/杜芹。
在自动驾驶领域,大算力芯片的角逐似乎已经暂告一段落,目前主流的国内外几家芯片厂商都已经拿出了百TOPS级别大算力的自动驾驶芯片产品。接下来的重点是量产上车的比拼,如何让自家的芯片真正上车,好用,易用,且被长久认可,发挥各芯片厂商“软”实力的时候到了。
自动驾驶硬核“舞台”已搭好,
谁来唱戏?
如果我们把自动驾驶当做一台戏,那么芯片就是舞台,芯片的边界决定了舞台的大小。所以我们看到现在各大自动驾驶芯片供应商都在追逐大算力。过去几年,单车的算力需求从几T、几百T已经逐渐跃升到千T的量级,算力成为自动驾驶最核心的动力。在算力角逐时代下,国外厂商英伟达的Orin芯片、高通骁龙Ride、Mobileye的EyeQ,国内黑芝麻智能华山系列A1000等百TOPS级别的大算力自动驾驶芯片纷纷在这几年扎堆儿亮相。
既如此,自动驾驶的舞台已经搭好,那么接下来谁来唱戏呢?答案是软件。随着汽车不断向智能化、网联化方向发展,以单片机为核心的传统分布式电子电气架构(EE架构)正在向域控制器架构演进,最终形式将是中央计算平台架构。在这样的趋势下,我们发现,除了在自动驾驶芯片算力这一硬件上的通用性要求之外,汽车行业另外一个很大的变化是,供应商、原始设备制造商和新进入者等都开始向软件生态过渡。
我们正在进入一个软件定义汽车的时代,向域控制器架构的演进也为软件定义汽车提供了一条很好的路径。新计算平台的出现,将改变汽车市场长期以来“重硬轻软”的局面,重塑软件价值体系,软件逐渐占据重要地位。同时,如同当年手机从功能机向智能机的演变,汽车产业链也在经历从“纯硬件”向“硬件+软件服务”的盈利模式转变的过程。
汽车中所用的软件,过往大多是由专门的软件企业如IBM、Oracle、东软、中科创达等来提供。但是随着以前定位为Tier 2的芯片厂商现在逐渐开始转向Tier 1.5,如今他们不仅提供芯片等硬件,也陆续推出了自己的软件平台。
软件定义汽车,起点是软件,软件平台主要包括操作系统、应用层算法、中间件等。其中操作系统的核心功能是任务调度、设备管理以及将数据从外部传感器传输到芯片中进行后续处理,常用的内核有VxWorks、Unix(IOS)、Linux、QNX;应用程序算法主要负责处理数据;中间件是介于上层应用和底层系统之间的一套软件框架,负责标准化软件接口。
在自动驾驶芯片供应商中,英伟达针对智能驾驶推出了Drive OS操作系统、DriveWorks中间件、DRIVE AV等等;Mobileye则为其EyeQ芯片推出了EyeQ Kit软件开发套件;在软硬结合方面,国内自动驾驶芯片厂商也丝毫不示弱,如黑芝麻智能从一开始走的就是软硬结合路线,目前已发布了山海™人工智能开发平台,内置50多种AI参考模型库转换用例,还有瀚海中间件平台,完全对标国际大厂,在国内处于领先地位。并且黑芝麻智能还与AUTOSAR经典平台软件、嵌入式汽车软件BlackBerry等展开支持与合作。
软件定义汽车时代下,开发工具链是否完善是体现自动驾驶芯片易用性的重要指标,只有软硬件完全解耦,才能激发整个产业链的创造力和协同创新的活力。软件也将成为自动驾驶这个舞台上唱戏的一员。接下来我们就以软件平台中的中间件来加以重点着墨,为何英伟达和黑芝麻智能都选择推出了自家的中间件平台,中间件主要用来解决什么问题?其在汽车芯片中所起的作用又是什么?
中间件之于汽车芯片的意义
其实,中间件是一个比较宽泛的概念,基本上处于操作系统之上,应用之下的都可以叫中间件,中间件可提供一系列丰富的组件和接口,应用程序可以借助此层提供的接口,访问操作系统提供的服务。中间件包含很多种,如通信中间件、调度中间件等等。目前大众的V-Charge项目、奥迪A8等汽车厂商都搭载和部署了高性能的通信中间件,来实现可靠、实时的数据通信。
在智能驾驶领域,中间件的功能涉及到通信、模块升级、任务调度、执行管理等多个维度。软件定义汽车的安全性在很大程度上取决于中间件和底层网络处理器,两者相互协同才能实现分布式进程之间的可靠的实时数据通信。
现在的自动驾驶芯片一般是集成了AI计算、图像处理GPU、音频处理DSP、深度学习加速单元NPU、信息安全和功能安全等功能的SoC芯片系统,其复杂度越来越高。所以就需要中间件来对传感器、计算平台等资源进行抽象化处理,对算法、子系统、功能采取模块化的管理,通过提供的统一接口,让开发人员能够专注于各自业务层面的开发。提升系统开发的效率,简化软件部署。
一款芯片研发出来是重要的一步,但好用、易用、能够释放出更多的性能才是芯片上车的下一步。自动驾驶是一个跨学科的、软硬件高度协同优化的系统,芯片能力、中间件能力、算法能力、应用能力都是自动驾驶芯片厂商极其重要的组成部分。
所以为了能更好的释放自家芯片的性能,就出现了自动驾驶芯片厂商躬身自研中间件这样的软件的现象,而且从企业人才的配比上也可见一斑。目前国内外芯片厂商雇佣软件人才的占比也越来越高。在整个汽车芯片的产业链中,从芯片研发、量产、做成域控器、做成主板再到整车的应用,软、硬件人才配比基本在4:1~5:1之间,甚至达到6:1。
与此同时,中间件也是一个很大的市场,据《鲲鹏计算产业发展白皮书》预测,到2023年全球中间件市场空间434亿美元,5年复合增长率10.3%,中国中间件市场空间13.6亿美元,5年复合增长率15.7%。
再亮“软”实力,黑芝麻智能推出
瀚海自动驾驶中间件平台
作为自动驾驶芯片领域的重要参赛选手,2020年黑芝麻智能发布了单颗芯片算力58-116 TOPS的华山二号A1000,目前A1000系列芯片已处于量产状态,预计今年上车。
为了加快华山系列芯片的落地时间,减少部署成本,黑芝麻智能基于华山系列芯片推出了瀚海自动驾驶中间件平台。据黑芝麻智能指出,相比AP、ROS之类的中间件产品,瀚海自动驾驶中间件的有两大显著优点:一是对A1000系列的芯片进行了深度优化,在提供全面功能集成的同时,也能高效发挥黑芝麻智能SoC的性能和特性;二是能让内外部的客户专注在自身应用和算法开发迭代方面。
那么瀚海自动驾驶中间件是如何做到的呢?据黑芝麻智能介绍,它是一款智能驾驶平台SDK开发包,包含Target(SoC)SDK、X86(Host主机)端SDK、Target(MCU)端SDK,可以支持车端、路端及各种智能驾驶和车路协同场景开发。
其中,Target(SoC)SDK提供在SoC上的运行时环境和主机端的编译环境,实现了异构计算单元实时任务调度器、传感器接入与管理服务SensorManager、高精度时间同步服务、多传感器融合服务和ADS诊断服务。BST ADS-Platform所有服务和任务节点的通信都基于BST ADS-COM通信中间件,可以在进程内/进程间/异构计算单元间/跨主机间实现高性能DDS通信,同时可以兼容CyberRT、ROS等中间件生态;
X86(Host主机)端SDK包含用于车路协同路侧场景的多传感器标定工具,用于数据录制、回放、可视化、实时分析的数据编排工具,任务调度、资源监控与可视化的流程编排工具、用于多传感器融合算法调试、验证和可视化的传感器融合集成开发平台。为了与SoC端进行DDS通信互联,X86 SDK中提供了DDS环境与二次开发接口;
Target(MCU)端SDK面向ASIL-D MCU计算平台,提供MCU端的二次开发SDK包,支持SOME/IP、PTP时间同步(IEEE 1588v2)、UDS on CAN诊断协议和日志系统。此外,Target端SDK中提供了轻量级DDS框架XRCE-DDS,可与X86和BST SoC实现DDS通信。
在实际部署应用中,瀚海自动驾驶中间件平台能允许通信组件在芯片的不同进程之间通过零拷贝的方式进行数据传递,极大地降低了内存和系统带宽的占用;再者,该中间件还允许芯片与芯片之间进行通信;并且瀚海将传感器进行抽象化,通过标准数据结构实现软硬件解耦;时间同步中间件可以通过调用华山系列芯片的硬件同步机制实现亚微秒级的时间同步。此外,执行管理相关组件提供一系列的诊断机制框架及操作系统的实时性增强,从而提升诊断鲁棒性、减少线程间切换开销。
所以综合来看,黑芝麻智能的瀚海自动驾驶中间件一方面有利于芯片自身的性能释放,同时,也减少客户上层应用的开发工作量,加快完成部署。值得一提的是,瀚海自动驾驶中间件平台尽可能地让相同产品能在不同车型上重复利用,以及让不同Tier1的产品实现相互兼容,从而大幅度地减少开发成本。
瀚海自动驾驶中间件的发布将成为黑芝麻智能自动驾驶平台矩阵中很重要的一部分,也将为其量产上车铺路。瀚海自动驾驶中间件的发布将成为黑芝麻智能自动驾驶平台矩阵中很重要的一部分,也将为其量产上车铺路。不过需要清楚的一点是,黑芝麻智能的自动驾驶芯片本身是开放的,瀚海中间件的推出是为了帮助客户能够更快地使用芯片,芯片也是可以支持和适配其它中间件平台的。
结语
自动驾驶的路很长,从自动驾驶概念诞生,到供应链企业研发出芯片,再到量产,最后上车,需要产业链层层配合,才能最终全面开花,平稳上路。如今来到自动驾驶芯片进入量产决赛的关键时间节点,以软件为中心的战略将成为自动驾驶芯片厂商角逐的另一个战场,软件特性正成为汽车行业关键的购买因素和差异化因素,如中间件这样的承上启下的软件将是未来自动驾驶方案中不可或缺的一环。软件的能力也将在几年内使汽车芯片行业的参与者脱颖而出,为其在价值链上开辟新机遇,并带来巨大的上升潜力。