技术栈
车载电子电器架构 —— 车载芯片技术简介
车载诊断技术
2023-10-15 11:16
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。
老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:
屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。
电子电器架构现阶段是多域融合方案居多,这样就要求对芯片硬件的选型尤为谨慎和重要。
基于上述内容,本文主要分享如下内容:
-> 1、国内本土化芯片发展现况
-> 2、车载芯片关键硬件技术
一、国内本土化芯片发展现况
随着国产化的推进,ADAS 和 DMS 功能渗透率和级别的不断提高,传感器数量和算力要求也随之提升,并直接刺激车载 AI 芯片的量价齐升。国内各芯片厂商积极推出了各自的车载芯片产品,详情如下:
-> 地平线通过以 "算法 + 芯片 + 工具链" 为基础技术平台的芯片,提供智能驾驶解决方案,赋能智能物联网。地平线作为二级供应商,负责基础技术平台的搭建和完善。产品线包括2019年推出的 Journey,2020年推出的Journey3和2021年推出的 Journey5,覆盖了从 L2 的辅助驾驶、智能座舱的人机交互、到接近L2+的辅助驾驶和自主泊车。另外Journey5对标特斯拉的 FSD,面向高等级的自动驾驶,采用基于中央电子电气架构,即中央车载计算机架构的芯片。
-> 芯驰推出的车规级计算芯片。包括智能座舱芯片X9系列、智能网关芯片G9系列、智能驾驶芯片V9系列以及控制MCU E3 系列。智能座舱芯片X9系列处理器是专为新一代汽车电子座舱设计的车规级汽车芯片,集成了高性能CPU、GPU、AI加速器,以及视频处理器,一颗芯片支持多达十个高清显示屏,能够满足新一代汽车电子座舱应用对强大的计算能力、丰富的多媒体性能等日益增长的需求。
-> 芯旺微推出的汽车 MCU 芯片。MCU 芯片是汽车智能化和电气化的关键芯片,具备不可替代的作用。MCU 产品在技术路线上整体分为两类,一类是基于 ARM 标准IP内核或者是RISC-V内核进行MCU产品设计,这一类芯片企业居多;另一类是采用自研处理器内核进行 MCU 产品设计。芯旺微电子基于自研的 KungFu32 内核,设计符合 ISO26262 标准的汽车 MCU 芯片,目标定位在包括车身控制、域控、底盘动力控制等汽车控制器模块上,目前已经成功量产出 KF32A14x 系列、KF32A15x 系列等多款 32 位汽车 MCU 产品。
二、关键硬件技术
1、硬件加速技术
随着汽车功能不断丰富和升级,其对应的软件实现开销也越来越大,但由于技术和成本等因素的限制,控制器核心 CPU 升级进程无法快速提升,软件加速算法也不能改变计算量巨大这一本质,因此大规模的硬件加速得到了广泛的运用。
硬件加速技术,是通过把计算量非常大的工作分配给专门的硬件来处理,以减轻 CPU 的工作量。随着硬件的更新换代,硬件逐步具备了很多固定的高级功能,简单来说硬件已经具备处理部分 CPU 繁杂简单工作项的能力,从而提高执行效率,减轻 CPU 工作量。
硬件加速技术的核心是硬件加速器,硬件加速器有助于创建紧密集成的定制处理器,实现更低的功耗、更低的延迟、数据重用和数据局部性。当前硬件加速器主要特点如下:
-> AI 加速器IPs
硬件加速器广泛应用于人工智能芯片中,用于分割和加速处理数据密集型任务,如计算机视觉和深度学习,用于训练和推理应用,针对于深度学习网络的结构,加速神经网络的运转。
-> 硬件体系结构
人工智能加速器是在边缘、数据中心或两者之间的某个地方执行加速,其基本前提是处理算法的速度比以往任何时候都要快,同时尽可能少用电。AI 加速器可以在 ASIC、GPU、FPGA、DSP 或这些设备的混合版本中执行这些任务。
人工智能加速器架构的关键在于保证人工智能任务可以大规模并行,此外,人工智能加速器与多核实现交织在一起,这突出了人工智能加速器架构体系的重要性。
-> 可编程性
在人工智能算法设计中有很多动态变量,因此,软件算法的变化比人工智能芯片的设计和制造速度更快,这就是硬件加速器面临的一个关键挑战。因此,硬件加速器中必须有某种可编程性,使设计者能够适应不断变化的需求。同时,硬件加速器的可编程特性带来的设计灵活性也允许设计人员处理各种各样的人工智能工作负载和神经网络拓扑。
2. 硬件加密技术
随着汽车智能化、网联化程度的加深,远程攻击、恶意控制甚至入网车辆被操控等安全隐患也日益明显,如何保障智能车辆安全,成为汽车智能化发展的重要环节。硬件安全芯片成为抵御攻击、保障智能网联汽车安全可控的载体,通过硬件安全芯片强化智能网联汽车安全防护已成为重要方向。当前相关企业已研发出硬件安全模块(HSM,Hardware Security Module),HSM将加密算法、访问控制、完整性检查嵌入到汽车控制系统,以加强ECU的安全性,提升安全级别。硬件防护主要提供的安全功能包括:安全引导、安全调试、安全通信、安全存储、完整性监测、信道防护、硬件快速加密、设备识别、消息认证、执行隔离等,这些措施可有效地加强汽车 ECU 的安全性。
芯片安全在信息安全保护产业过程中发挥了不小的作用,安全的芯片就是可信任平台模块,是一个可独立进行密钥生成、加解密的装置,内部拥有独立的处理器和存储单元,用安全的芯片进行加密,密钥被存储在硬件中,避免密码被破解。芯片安全可从两个维度考虑:
-> 一个维度是芯片自身的安全防护能力,比如能抵抗物理侵入式、半侵入式物理攻击,能检测和防御故障注入攻击,以及耳濡目染的侧信道攻击。物理破坏需要较强的专业能力,比如借助专用的测试仪器,以及可以近距离接触的物理设备;
-> 另外一个维度是基于芯片的安全服务,比如芯片直接固化的密码类算法、密钥管理机制、真随机数生成器、PUF 等机制。
作为硬件加密的关键部件,在芯片设计阶段就需要考虑加密算法的安全性和独立性。密码域有多个真随机数发生器,可支持国家密码加密算法,常用的国密加密算法可以分成三类:对称加密算法(SM2)、非对称加密算法(SM3)和哈希算法(SM4),可同步传输加密的数据,采用软、硬件结合方式,将加密算法代码嵌入到芯片中运行。在软件实际运行过程中,通过调用函数方式运行加密算法程序段,获得运行结果,并以此结果作为用户程序进一步运行的输入数据。而加密芯片中的程序是无法被读取或者拷贝的,从根本上杜绝了程序被破解的可能,保障数据的安全性,同时会进行入侵检测和芯片的完整性检测,以防止恶意读取或者篡改数据,保障整个芯片的安全。
常见加密算法如下:
1、对称加密算
加密和解密使用相同密钥的加密算法。优点:在于加解密的高速度、加密效率高和使用长密钥时的难破解性。缺点:密钥的管理和分发非常困难,不够安全。
2、非对称加密算法
指加密和解密使用不同密钥的加密算法,也称为公私钥加密。优点:安全性更高,公钥是公开的,密钥是自己保存的, 不需要将私钥给别人。缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。
3、哈希算法
Hash 也称散列、哈希,就是把任意长度的输入,通过Hash算法变成固定长度的输出。这个映射的规则就是对应的Hash算法,常用在不可还原的密码存储、信息完整性校验等。
优点:插入和查找速度快,时间复杂度为O;缺点:扩展性差,需要提前预测数据量的大小;不能有序遍历数据。
在汽车行业,由于汽车芯片设计门槛高,研发周期长,资金投入多,很少有支持国密算法的汽车芯片,尤其是像汽车网关处理器这样的高可靠的 MCU。MCU 的硬件加密技术一般基于HSM模块实现,HSM模块是MCU上专门用于实现加解密算法的一个外设,是实现MCU的信息安全主要关键模块,通过 HSM,可实现不同类型的加密标准,如SM2/3/4/9 标准。它包含一个独立的 CPU,专门用来进行加解密运算,还有一些针对特定算法(如对称算法、非对称算法、SHA-256 等)的硬件加速器。
随着技术的发展,在未来的汽车架构中,很多电子模块的功能将向域控制器集中和转移,车载以太网作为骨干网,需提供高速车内通信,这就需要引入新的信息安全方法,即下一代硬件安全模块 HSM,且因下一代 HSM 可将多应用程序功能与实时通信结合在一起,HSM 正在成为电子模块的中心组件。HSM结构框图如图
3、功能安全支持
功能安全是汽车研发中的关键要素之一,功能安全的标准不仅用于辅助驾驶,也应用于车辆的动态控制和涉及安全工程领域的主动安全系统。
在开发过程中,针对应用场景以及芯片的安全目标,进行针对性的安全机制设计来提升诊断覆盖率。在 MCU 系统中,针对功能安全提升诊断覆盖率的常规技术方案如下(不代表全部):
内核锁步
内核锁步(Lockstep)是实现高诊断覆盖度(检测错误发生的能力)的一种方法。两个core同时运行相同的代码,并周期性比较两个 core 的计算结果,若相同,则继续运行,否则,重新运行产生不同结果的代码再检查或重启。该技术可以保持 2 个 CPU 指令的精确同步,在一个时钟周期内执行相同的指令,一旦发现任何错误,系统可以立即实现纠错或重启。锁步模块的框图如图:
锁步模块不仅需具备锁步监控功能,还需要具备锁步自检功能,通过锁步自检功能可以检查锁步模块本身是否存在功能性失效问题。
锁步模块不仅需具备锁步监控功能,还需要具备锁步自检功能,通过锁步自检功能可以检查锁步模块本身是否存在功能性失效问题。
系统控制单元 (SCU)
系统控制单元由一组子模块构成,用于控制各种系统功能,包括:复位控制单元、安全看门狗、CPU看门狗、外部触发单元、紧急停止模块、陷阱处理单元、LBIST 控制模块以及部分系统控制相关寄存器组等。这些子系统共享一个总线接口,系统控制单元是实现芯片功能安全目标的关键模块。
时钟监控
时钟监控模块是对MCU系统使用的外部时钟进行监控,通常采用一个内部低频时钟进行驱动(32KHz内部低频时钟),时钟故障检测模块通过使用内部时钟清除内部检测时钟的采样值的方式,来监控外部时钟的工作。
电源管理控制模块(PMS)
PMS 在 MCU 中实现了片上线性和可切换模式的稳压器,从而实现了单源电源概念。PMS 模块是系统实现超低功耗性能的关键模块之一,也是低功耗电路优化的核心模块之一。PMS 模块还需要具备功能安全机制,来保障系统电源的安全性。
芯片行业竞争的最终意义在于软件生态的竞争,智能设备在硬件上会逐渐趋同,差异化主要体现在软件层面,在软件定义汽车的趋势下,芯片和操作系统成为底层的数字基座,越来越受到整个行业的重视。衡量芯片的价值,在于在芯片之上是不是能够充分的去施展软件的魅力,因此培养起相应的软件生态,或者说融入主流的软件生态,才是决定这个芯片能走多远的关键。芯片的用户是软件,芯片性能的优劣由软件决定,同时还需要足够的软件丰富度,一个繁荣的软件是对芯片最好的支持!
搁笔分享完毕!
愿你我相信时间的力量
做一个长期主义者!
后端
ci/cd
架构
autosar
上一篇:
SpringBoot日志文件
下一篇:
React组件 -- 文字省略提示
相关推荐
hlsd#
43 分钟前
go mod 依赖管理
开发语言
·
后端
·
golang
陈大爷(有低保)
1 小时前
三层架构和MVC以及它们的融合
后端
·
mvc
亦世凡华、
1 小时前
【启程Golang之旅】从零开始构建可扩展的微服务架构
开发语言
·
经验分享
·
后端
·
golang
河西石头
1 小时前
一步一步从asp.net core mvc中访问asp.net core WebApi
后端
·
asp.net
·
mvc
·
.net core访问api
·
httpclient的使用
2401_85743969
1 小时前
SpringBoot框架在资产管理中的应用
java
·
spring boot
·
后端
怀旧666
1 小时前
spring boot 项目配置https服务
java
·
spring boot
·
后端
·
学习
·
个人开发
·
1024程序员节
洛卡卡了
1 小时前
从单层到 MVC,再到 DDD:架构演进的思考与实践
架构
·
mvc
阿华的代码王国
1 小时前
【SpringMVC】——Cookie和Session机制
java
·
后端
·
spring
·
cookie
·
session
·
会话
小码编匠
2 小时前
领域驱动设计(DDD)要点及C#示例
后端
·
c#
·
领域驱动设计
德育处主任Pro
2 小时前
『Django』APIView基于类的用法
后端
·
python
·
django
热门推荐
01
如何才能让手机厂商主动拥抱华为,接入鸿蒙系统?
02
【HarmonyOS】HUAWEI DevEco Studio 下载地址汇总
03
组基轨迹建模 GBTM的介绍与实现(Stata 或 R)
04
基于YOLOv10深度学习的CT扫描图像肾结石智能检测系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测
05
RAG 实践- Ollama+RagFlow 部署本地知识库
06
【经验分享】Ubuntu22.04安装微信(linux官方版)
07
Macbook pro M1 安装Ubuntu教程
08
【Java】Ruoyi-Vue-Plus 整合 文件分片上传至 minio、阿里云、七牛云等OSS-【后端篇】
09
Windows10安装PCL1.14.0及点云配准
10
文件或文件夹名称中有空格如何批量去除