车汽车芯片是软件定义汽车的基础
软件正在迅速重塑汽车行业:近年来,业内的四股颠覆浪潮——自动驾驶化、网联化、电动化、共享化——全都重度依赖软件。全行业的整车厂(OEM)、供应商和初创公司无不希望自己能在这条由软件驱动的新价值链上把握住主动权。因整车功能越来越复杂,软件定义汽车的时代,汽车的软件代码量和复杂度都在快速增长。高端汽车中的代码量其实远多于PC和智能手机操作系统,据某机构统计,常见智能手机操作系统安卓的代码量为13万行,PC操作系统Windows Vista为5000万行,而一辆高端汽车的代码量可达一亿行。另外NXP官网预测,2015-2025年汽车中代码量有望呈指数级增长,其年均复合增速约为21%。俗话说得好:好马配好鞍,虽然我们整车功能越来越丰富,软件也越来越复杂,但如何保证软件安全高效可靠的运行呢?毫无疑问必须依靠越来越强大的硬件,而硬件的核心就是汽车芯片。在2021年,从事汽车行业的老铁们,不管是在Tier1还是主机厂,都明显感受到了汽车芯片短缺所带来的压力。当前全球汽车大“缺芯”,已经成为了汽车行业的现状,同时受疫情的影响,全球消费者对移动电子设备的芯片需求更甚,这也导致了汽车行业“缺芯”的加剧。随着芯片短缺和其对于智能汽车的重要性,芯片越来越成为车企的竞争筹码。此次全球汽车厂商,被“芯片”卡了脖子,各大车企也都更开始注重芯片供应安全的问题,由于芯片短缺状况持续,包括宝马、戴姆勒、本田等主要车企都相继宣布最新停工计划。为此,各大车企也都有意通过直接或者间接的与芯片厂商合作,共同开发研发车用芯片。不过在此之前,多数车企还不得不忍受“缺芯”直通。戴姆勒透露,因芯片短缺,其第二季度产量将下滑。预计全球芯片短缺局面到今年夏季可能缓解,但可能要到2022年才能完全解决。汽车芯片相关介绍
很长一段时间以来,汽车电子的发展相比IT行业要慢很多节拍,智能设备在过去的几年改变了我们的生活方式,相比之下汽车电子则显得不那么与时俱进而脱离于日常的数字生活。消费电子与汽车电子有两个很重要的区别:汽车电子在安全性和可靠性方面的严苛要求是消费电子要求无法比拟的,毕竟汽车电子是关系人身安全的大事,任何的疏忽都会造成严重的质量问题和乘客的生命财产安全,因此汽车电子不能像IT行业那样整天追求日新月异的新玩法而应将安全和可靠的目标放在首位在过去的很多年,整车功能并没有当前那么复杂,在满足功能、安全和可靠性的前提下, 8位、16位和32位的单核处理器即可满足。
但最近这些年,汽车新四化的脚步已势不可挡,也给汽车电子带来了深刻的变革,整车功能需求的增加和IT技术的渗透结合已使单核有限算力的处理器无法满足当前和未来的要求,汽车行业越来越需要性能更强的芯片来支撑。芯片是半导体元件产品的统称,又称集成电路(IC, Integrated Circuit)。汽车芯片主要分为三大类:功能芯片(MCU,MicrocontrollerUnit)、功率半导体、传感器。功能芯片:主要是指处理器和控制器芯片。车辆控制系统主要包括车身电子系统、车辆运动系统、动力总成系统、信息娱乐系统、自动驾驶系统等几大部分,这些系统下面又存在着众多子功能项,每个子功能项背后都有一个控制器,控制器内部会有一颗功能芯片。自动驾驶芯片,本质上也是功能芯片,是随着智能汽车发展产生的一种高算力芯片。目前,已商用的自动驾驶芯片基本处于高级驾驶辅助系统阶段,可实现L1-L2级辅助驾驶,部分宣称可实现L3级功能,面向L4-L5级完全自动驾驶及全自动驾驶芯片离规模化商用仍有距离。自动驾驶芯片正在成为一个多方角力的新战场,英特尔、英伟达、高通、AMD等消费电子芯片巨头,地平线、黑芝麻等创新企业,华为、百度等科技公司及以特斯拉为代表的车企都在纷纷布局。算力和能效比是自动驾驶芯片最主要的评价指标,L1-L2级需要的芯片算力小于10 TOPS,L3级需要的算力为30-60 TOPS,L4级需要的芯片算力大于100 TOPS,L5级需要的算力为500-1000 TOPS。功率半导体:主要负责功率转换,多用于电源和接口,例如电动车用的IGBT功率芯片,以及可以广泛使用在模拟电路与数字电路的场效晶体管MOSFET等。传感器:则主要用于各种雷达、安全气囊、胎压检测等。说了上面的自动驾驶芯片相关供应商,在动力域汽车电子领域,芯片供应商主要有这么几位大佬:英飞凌(Infineon)、恩智浦(NXP)、意法半导体(ST)、瑞萨(Renesas)、等。高性能芯片对多核的支持
首先汽车软件越来越需要多核处理器的支持,原因主要有如下几点。1、汽车电子电器架构和整车功能越来越复杂,需要计算能力更强大的硬件来支持越来越复杂的软件功能,随着ADAS、自动驾驶等应用场景的加入及未来域集中甚至中央计算机的E/E架构变更,多核系统的需求将更加明显。2、并行计算的需求:例如某些功能的输出计算需要多个输入要素在相同时间片内执行并在同一时刻输入到该功能模块。3、相同时间片内多个任务的串行计算需求:例如多个功能需要在相同的时间内被串行执行。
4、系统响应能力的需求:例如对于那些对时间要求特别高的中断处理需要单独在一个核上运行,而周期性任务则放到另外一个核上运行,从而提高整个系统的响应能力。
多核处理器从内核架构上主要分为:同构和异构处理器两类。
异构多核架构:MCU由多个不同架构的内核构成,例如恩智浦LPC4370(一颗CM4 Arm® Cortex®-M4 和两颗Cortex®- M0)。在异构多核处理器中,一般都会使用高配主内核+低配小内核的配置(主内核用于执行批量应用处理),较小的内核被称为协处理器(主要用于处理一些不太复杂的操作,比如持续在I/O上发送数据;因此即使有第二个内核存在,由于它的作用是支持或补充主内核,所以被称为协处理器)。另外ARM内核架构的汽车芯片将在未来智能座舱、智能驾驶等领域会得到越来越多的应用,下面是NXP的一款用于视觉处理的一款S32V芯片:
同构多核架构:即在MCU中采用多个相类似架构的内核。多个核可同步或异步运行相同代码和应用。同构多核架构中有一个锁步模式,而这个锁步模式是保证安全应用的关键。最近几年很多汽车芯片厂商都已经推出了多核处理器,以汽车动力域采用的一些主流芯片为例:
1、英飞凌(Infineon)
Infineon AURIX TC27x系列处理器具有三个32位TriCore架构内核,其具有两个支持锁步的内核(1.6P和1.6E)及一个非锁步核(1.6P)。所谓的1.6P是一种超标量核,一般TC 1.6P核的性能比TC 1.6E高出10~20%。
恩智浦MPC5777M多核处理器具有三个32位Tri-Core内核,其具有两个主频为300MHz的计算核心e200z7(一个锁步核一个非锁步核)和一个主频为200MHz的外设核e200z4。
总之各大汽车电子芯片供应商都有各自的多核系统解决方案,这里就不再累赘。最近几年越来越受到大家关注的域控制器就是希望将多个控制器的功能在一个硬件上集成实现,从而简化整车E/E架构并降低成本,下面是一个域控制器的应用示例:上图是芯驰科技的多核异构计算架构,一个芯片内集成了包括ARM Cortex -A55、PowerVR GPU、Cortex-R5、CV引擎、包处理引擎、Slim AI引擎和Voice引擎等不同的结构。可以实现在最低损耗下数据的高效沟通。另外,其在智能座舱的单芯片全系列解决方案:X9。可以打造一芯十屏的座舱驾乘体验,集成了中控娱乐导航、全液晶虚拟仪表、语音识别、副驾娱乐、独立后排娱乐、抬头显示HUD、360环视等诸多功能,其强大性能由此可见一斑。高性能芯片对信息安全的支持
安全在每个领域都是一个永恒的话题,汽车也不例外,最近几年汽车安全也越来越受到用户及开发人员的重视,安全的要素也是多方面的,例如用户可能关心在使用车机系统时的隐私安全、打开ACC等辅助驾驶功能时的人身安全等;站在攻城狮的角度则会关注和考虑整车E/E架构、硬件以及软件等方面的可靠和安全,比如硬件的EMC和随机故障、软件功能设计及控制器内部和外部的通讯安全等等。每个安全要素作为系统目标的重要组成部分只为保证整车的可靠性和安全性,从而保护用户的信息安全和人身安全。随着软件日益复杂,并且车载系统和传感器数量稳步增加,车内系统的通讯成几何增长,必须加强密码保护。这种保护可以通过经典的实时汽车开放系统架构(AUTOSAR)来实现。即便在资源稀缺的情况下,安装合适固件的硬件安全模块(HSM)也是一种永不过时的技术,它可以用来验证您的系统密码。硬件安全模块(HSM)是由一种防火墙连接到主机系统总线的独立微控制器。HSM通常有其受保护的内存(RAM),程序代码和数据的专用闪存区,及其外围设备,例如定时器、用于某些密码算法的硬件加速器或用于真随机数的发生器。它能够访问主机的所有硬件。在运行时实现系统的安全、认证启动或主机监测。专用数据闪存可以用来存储秘钥,主机系统无法随意访问。这意味着主机可以请求HSM执行加密操作,而密钥无需离开HMS。然而,在这方面,HSM的特殊优点是它是可自由编程的。作为一个独立的微控制器,HSM能够运行为当前用例优化的任何程序代码。这使得其安全性要求比简单的协处理器更高。通过HSM来管理对芯片内外设访问的权限以及通讯上的加密和解密将提高信息安全。芯驰科技的芯片内置了独立的HSM,具有独立的电源、独立的时钟和独立的外设接口,以系统中最高的功能安全标准进行设计,可以用作系列的安全控制系。高性能芯片对功能安全的支持和开发挑战
高性能多核芯片的应用一方面是为了提高计算能力,另一方面则是通过多核可实现不同ASIL等级的拆解,但在多核系统中实现ISO26262定义的功能安全却并非易事。要想在多核系统上实现一定的功能安全设计目标,会对硬件和软件两方面产生一定的影响。在硬件方面,可能就是多核处理器的锁步概念:在锁步模式下,两个核分别执行相同的代码,独立的比较器对两个核的计算结果进行比较,并在出现差异时生成一个trap。之后的处理取决于ECU的硬件条件和安全架构,其中硬件设计上必须确保在trap发生后ECU仍然处于安全状态(锁步核的增加不是提高计算能力的多核架构,而是一种保证系统安全的多核机制,个人的理解)。
而在软件方面,开发人员根据软件的可并行性和相关安全架构,将上层软件模块分配给AUTOSAR中定义的OS Application。这一分配过程对应于ISO26262中定义的"分区",且该过程能够使ECU在运行时不会引起内部区域的相互干扰。
在多核ECU中,OS Application被分配给不同的处理器内核。从开发人员的角度来看,分区的主要目的并非程序并行性或是程序安全性:首要任务是确保OS应用程序之间不受互相干扰。为此,尤其需要引入运行时监控(Runtime Monitoring)并避免对安全相关的存储器内容进行篡改。总之,高可靠高性能的汽车芯片在提供丰富外设的同时更给复杂的汽车软件开发和应用提供了根基。虽然很长一段时间,芯片核心技术被国外垄断,但我们国内的很多企业,例如地平线、芯驰科技都在研发上取得了不俗的创新和良好的市场表现,让我们有充分理由相信智能化浪潮的演进会比预期中更快更精彩。参考文献:天风证券、麦肯锡、Vector、EB等资料