下一代MachXO3D FPGA 让汽车更安全

发布者:SparkStar22最新更新时间:2020-11-02 关键字:MachXO3D  FPGA  MCU  MPU 手机看文章 扫描二维码
随时随地手机看文章

我们生活在一个高度互连的世界,很容易受到各种来源的网络攻击。仅 2018 年,硬件攻击让超过 30 亿系统暴露在数据盗窃、非法操作和其它安全隐患中 1。

 

在汽车领域,如今的智能联网汽车则加剧了这类安全问题。若网络攻击造成汽车失控不仅会对目标车辆中的人员造成伤害,更有可能危及附近的车辆、行人和财产。

 

因此,汽车的设计人员和厂商正极力寻找保障系统安全之道。正如本文所述,解决方法之一是采用莱迪思半导体的 MachXO3D™ FPGA。

 

老式汽车时代已经过去


汽车市场在不断演变,近些年来的变化尤其剧烈,变化速度极快。

 

以微处理器单元(MPU)和微控制器单元(MCU)为主的计算器件在 20 世纪七八十年代晚期开始应用于汽车。起初,这些芯片用作复杂的引擎控制系统,只在高端车辆中使用。到九十年代中期,所有的汽车都拥有处理器来监控传感器、控制引擎以及管理各种车辆系统之间的交互。

 

到 2020 年,一辆普通的车约有 50 个计算单元,而一辆高端汽车的计算单元可达 100 多个。如今的汽车不仅装备了 GPS、蓝牙、Wi-Fi、移动数据通信,还拥有道路偏离和碰撞预警等高端安全系统。许多汽车应用都采用了传感器聚合来实现拥有人工智能和机器学习功能的雷达、激光雷达和机器视觉系统。一些汽车还能一键停车,诸如此类的功能越来越多。

 

人们对电动车非常有兴趣。世界上主要的汽车厂商都在大力投资电动汽车。此外,人们对氢燃料汽车也抱有极大热情,目前至少有三款此类车型面世,还有几家公司也正在研发新的车型。

 

感觉不够安全?


除了拥有 50-100 多个计算单元外,如今的汽车与外界的连接也越来越多。在该语境下,“连接”指车辆能与自身之外的其他系统进行双向通信。这让车辆能够与内外部的设备分享网络连接和数据。

 

通用汽车是首家将互连特性推向市场的汽车制造商,1996 年推出了 OnStar 系统。2001 年又推出了远程诊断功能。2003 年,互连汽车服务包括了汽车健康报告、逐向道路导航和网络访问设备。2007 年又推出了 Telematics 服务。到了 2017 年,车队运营商开始见证预测性智能功能的首次部署。

 

在软件环境下,“攻击面”是指未经授权的用户可以输入数据或从环境提取数据的所有切入点的总和。问题在于,拥有 50-100 多个计算单元的联网汽车会为黑客和恶意攻击者提供很大的攻击面。


根据美国国家标准和技术研究院,安全解决方案的主要考虑是建立可信根:

 

现代计算设备由多层抽象的各类硬件、固件和软件组件组成。当前,许多安全和保护机制都植根于软件中,而软件与所有底层组件都必须可靠才能保障安全。由于安全机制依赖这些组件,因而组件上任何一个漏洞都可能损害这些机制的可靠度。将安全机制建立在可信根,则可以更大程度上保证安全。可信根是高度可靠的硬件、固件和软件组件,它们可以执行特定的、至关重要的安全功能。由于可信根本身受到信任,因此必须在设计时确保它们的安全。许多可信根都是在硬件中实现的,因此恶意软件无法篡改其提供的功能。可信根为建立安全和信任提供了坚实的基础。

 

不受保护的系统可能导致数据和设计盗窃、产品克隆和过度生产。更糟的是,安全性能不够完善的系统很容易遭到设备篡改和劫持。

 

市场上的 FPGA 厂商数量很少,且大多数主要专注提供超多资源、功能和高性能的器件。这些器件主要用于大型通信基础设施、服务器农场和数据中心等。相比之下,莱迪思半导体是唯一一家专注中小型 FPGA 的厂商,这类器件非常适合许多汽车应用。此外,莱迪思还提供市场上仅有的小于 10K 查找表且拥有 NIST 认证的、不可更改安全引擎的 FPGA。

 

MachXO3 FPGA 系列 FPGA 介绍


莱迪思提供各类 FPGA 技术。一款非常适合部署在汽车应用中的 FPGA 就是 MachXO 系列。

 

初代 MachXO 系列于 2005 年上市。2010 年又推出了 MachXO2/ZE™系列,随后 2013 年和 2019 年又分别推出了 MachXO3L/LF™和 MachXO3D™系列。在产品的发展历程中,每一代新产品不仅继承了前代专为客户需求打造的特性,还对资源和功能进行了拓展。

 

与前几代 MachXO FPGA 产品类似,MachXO3™器件拥有低功耗特性、大量 LUT 资源以及大量输入 / 输出(I/O)。此外,还器件还支持瞬时启动和热插拔功能,拥有后台可编程内部闪存配置存储器,支持现场逻辑更新。因而 MachXO3 器件是粘合逻辑、总线桥接、总线接口、马达控制、上电控制以及其他各类控制逻辑应用的理想选择。此外,由于 MachXO3 FPGA 拥有数百个 I/O,因此也非常适合需要通用 I/O 扩展、接口桥接和上电管理等功能的各类应用。

 

图 1. MachXO3 FPGA 占据平台控制主导地位,是系统最先上电,最后断电的器件。


MachXO3LF 系列器件拥有最多 9400 个 LUT 和 384 个 I/O,可提供各类设计场景所需的各种功能。该系列器件可选 3.3/2.5 V 或低功耗 1.2 V 内核,提供多个 I/O bank(最多 6 个),支持热插拔以及各种信号标准和电压、可对每个引脚进行编程。-40°C 至+125°C 的拓展温度(结温)范围可应对严酷的汽车环境, AEC-Q100 Grade 2 认证确保了该器件满足现有的汽车质量行业标准。

 

除了提供基于闪存的配置存储器之外,MachXO3LF 系列还提供多达 448 Kb 的用户闪存(UFM)。此外, 在上电时,配置数据将从闪存配置存储器复制到基于 SRAM 的配置单元中(不要与用户 SRAM 存储器的存储模块混淆)。该操作以大规模并行方式执行,不到 5 毫秒即可完成。这种方法的巨大优势在于,将新配置加载到闪存配置存储器中时,器件可以使用其基于 SRAM 的配置继续运行。新配置加载完毕后,可以在程序控制下暂停器件运行,锁定输出,将新配置复制到 SRAM 配置单元中,然后释放器件继续运行。.

 

随着工艺制程的不断发展,集成电路的结构越来越小,而影响当今所有电子设备的一个共同问题就是辐射。常见的一种由于辐射引发的效应就是单粒子翻转(SEU),即高能放射性粒子撞击电路中的敏感节点,从而改变其状态。例如,寄存器位或存储单元从 0 翻转到 1 或从 1 到 0。由于 SEU 可以纠正,因此被视为“软错误”。FPGA 由于有配置单元的缘故,其 SEU 问题不可小觑。

 

毫无疑问,汽车应用的安全性能至关重要。为应对辐射效应以及电气噪声环境(如汽车上的电气噪声)MachXO3LF 系列支持软错误检测(SED)、软错误校正(SEC)和软错误注入(SEI)。

 

图 2. MachXO3LF 的简化框图,展示了软错误检测和校正过程


SED 模块是构建在芯片上的硬核,它可以计算 SRAM 配置位的循环冗余校验(CRC),将计算出的 CRC 与当前配置相关的现有 CRC 进行比较,在出现不匹配时标记错误。在可编程逻辑中实现的 SEC 软核会响应该标记,触发后台的重新配置核,调用存储在配置闪存中的初始配置来更新 SRAM 配置单元(重新配置不会中断任何未受影响的进程)。

 

最后,用户可以使用 SEI 功能,在不修改 CRC 的情况下,通过 JTAG、I2C 或 SPI 直接将错误注入目标 SRAM 配置单元来模拟软错误事件。

 

MachXO3D FPGA 系列简介


汽车行业目前正采取类似服务器行业的安全策略,包括供应链安全、安全启动(确保固件启动的代码是受信任的)和平台固件保护恢复(PFR)。

 

如前所述,MachXO3LF 汽车 FPGA 作为业界领先的可编程逻辑器件,能够灵活部署可靠的汽车应用。MachXO3D 汽车器件不仅大大提升了闪存容量(最高 2693 Kb UFM),还新增了硬件安全特性,为汽车系统带来符合 NIST 标准的安全性能。实际上,MachXO3D 是 10 K LUT 以下唯一一款拥有 NIST 认证的不可更改的安全引擎的器件。

 

MachXO3D 作为硬件可信根是系统最先上电、最后断电的器件,此外,它的不可更改的安全引擎还能实现 ECDSA、ECIES、AES、SHA、HMAC、TRNG、唯一安全 ID 和公钥 / 私钥生成等预验证的加密功能。不可更改的安全引擎以及莱迪思最新发布的固件安全解决方案集合——Lattice SentryTM 均能在产品的整个生命周期内保障安全,包括器件制造和运输、平台制造、安装、运行直至报废。它还提供数据安全、设备安全、数据验证、设计安全和品牌保护,全面防止各类威胁,保障系统安全。

 

图 3. MachXO3D 安全控制 FPGA 是系统最先上电、最后断电的可信根可编程逻辑器件

 

根据 NIST SP 800 193 标准的定义,平台固件保护恢复(PFR)包括了保护、检测和恢复三部分。保护是指保护平台固件和关键数据不受损坏,确保固件更新的可靠性和完整性。检测包括在系统首次上电时加密检测受损的平台固件和关键数据以及跟进在系统更新。恢复则包括执行可信的恢复进程,将受损平台固件和关键数据恢复到之前的状态。

 

MachXO3D 器件提供安全双引导等功能,完全满足 PFR 的要求。MachXO3D 的可编程逻辑、不可更改的安全引擎和安全的双引导配置模块,在设计实施过程中提供足够的灵活性,且能在部署系统后实现安全更新。除了本身提供硬件可信根外,片上逻辑的使用还极大地减少了网络攻击的攻击面。

 

图 4. MachXO3D 的双引导功能完全满足 NIST 平台固件保护恢复标准的要求


MachXO3D 采用自我检测、自我恢复和自我保护功能,实现安全的实时系统更新,进一步满足 NIST PFR 的要求。自我检测时,安全引擎会在启动前使用安全存储在芯片上的公钥对现有的片上配置镜像进行身份验证。自我保护是指如果新下载的镜像身份验证失败,则安全引擎会自动还原到现有已经过验证的“黄金镜像”。自我保护时,除了防止器件使用受损的镜像进行自我配置之外,可编程逻辑还控制来自编程端口的访问,该锁定策略可确保每个闪存存储具有单独的访问权限,并且当新的镜像文件处于传输状态(加载到配置闪存的过程中)时,安全引擎会阻断所有来自配置端口的攻击。

 

典型应用案例


以下展示了 MachXO3 和 MachXO3D 在汽车中的三种常见应用案例:电池管理、可信根和基于硬件的安全启动。

 

电池管理:如今包括电动车在内的大多数系统都有多节电池。电池组中的每节电池都需要充电到合适电量来确保电池的使用寿命。过充或充电不足都有可能缩短电池寿命。

 

电池管理系统执行各种任务,包括防止电池在不安全的环境下运行、监视电池状态、计算辅助数据并上报该数据。


基于 MachXO3 的电池管理系统(BMS)是一个控制器,监控充电和放电过程,实现智能的电池单元平衡,保证每个电池单元的充电均衡。此外,BMS 还提供实时电池信息,例如电池的充电状态(SOC) 和健康状态(SOH),从而协助车辆的应用处理器(AP)向驾驶员提供最新信息。

 

图 5. 基于 MachXO3 的电池管理系统

 

使用 MachXO3D FPGA 来实现 BMS 能为系统提供额外的安全性能,防止对智能电池的入侵导致电池突破安全极限,对电池或者车辆造成永久性破坏或严重故障。

 

信任链 / 可信根:硬件可信根是保护整个汽车系统(包括所有引擎控制单元)的信任链中的首个环节。

 

从组件供应商开始,汽车系统供应链还包括 Tier 2 系统开发人员、Tier 1 系统集成商、OEM 汽车制造商、分销和运输、经销商以及最终客户。在整个供应链中,入侵系统的攻击点有许多,有可能在这些环节加载损坏的固件。

 

Lattice SupplyGuard™供应链安全服务为客户提供工厂锁定的 IC。这些 IC 只能使用特定客户开发、签名、加密的配置位流进行编程。

 

图 6. 基于 MachXO3D 的供应链 / 可信根

 

此外,MachXO3D FPGA 的双引导功能支持密钥加密和以及系统可默认设置、高度安全的黄金镜像。系统上电时,瞬时启动的 MachXO3D、黄金镜像和莱迪思 SupplyGuard 三者共同提供了端到端的供应链保护。

 

基于硬件的安全启动:MachXO3D FPGA 是汽车系统中首个上电的器件,也是最后断电的器件。系统上电后,MachXO3D 会自我检查以确保只运行经过身份验证的固件。MachXO3D 还检查系统中其他器件的相关固件。

 

图 7. 基于 MachXO3D 的安全启动


MachXO3D FPGA 的硬件安全配置模块符合 NIST SP 800 193 平台固件保护恢复(PFR)标准,在出现恶意攻击时,能够保护、检测自身并恢复到完好状态。此外,可编程架构的的大规模并行处理能力让 MachXO3D 能够同时保护、检测和恢复多个平台固件。

 

结论


MachXO3 FPGA 基于闪存的配置提供了“瞬时启动”功能,使其成为平台上首个上电、最后断电的器件,并在系统控制和电源管理功能市场中占据主导地位。

 

汽车应用的安全性是第一位的。为应对辐射效应以及电气噪声环境(如汽车上的电气噪声),MachXO3LF 系列支持软错误检测(SED)、软错误校正(SEC)和软错误注入(SEI)。

 

MachXO3D 汽车器件不仅大大提升了闪存容量(最高 2693 kb UFM),还新增了硬件安全特性,为汽车系统带来符合 NIST 标准的安全性能。

 

MachXO3D FPGA 通过硬件可信根功能增强了安全性。OEM 和汽车制造商可以通过 MachXO3D FPGA 为所有系统组件轻松实现可靠、全面、灵活的基于硬件的安全机制。MachXO3D FPGA 可以在系统运行时进行保护、检测并从未经授权的固件访问中恢复自身和其他组件。此外,MachXO3D FPGA 可以和 SupplyGuard 服务共同保护系统在生命周期的各个阶段(从制造到报废)免受恶意活动的损害。

 

下一代 MachXO3D FPGA 让汽车更安全 WP0027C


除安全领域外,由于 FPGA 拥有全面的并行处理能力,因此成为实现各种先进的驾驶辅助系统(帮助驾驶员实现驾驶和停车功能的电子系统)的理想之选。许多 ADAS 系统都需要实时响应,MCU 太慢,而定制的 SoC 开发昂贵且费时。此外,SoC 的硬件加速器算法实际上是“冻结在芯片中”,这在各类标准和协议不断发展并不断变化时代无疑是不合适的。理想的解决方案是使用 FPGA,它具有极高的灵活性,并且可以重新配置来适应不断发展的标准、协议和功能要求。

 

MachXO3D FPGA 为当今日益复杂和互连的汽车应用提供了功能和安全性的完美结合。

 

参考资料


1 https://www.technologyreview.com/2018/01/05/146411/at-least-3-billion-computer-chips-have-the- spectre-security-hole/


2 预计 2021 年一季度实现全面认证


关键字:MachXO3D  FPGA  MCU  MPU 引用地址:下一代MachXO3D FPGA 让汽车更安全

上一篇:技术文章—简化汽车和工业领域的功能安全认证
下一篇:智能座舱要将车内安全保护推倒重来,这事靠谱吗?

推荐阅读最新更新时间:2024-11-01 06:29

单片机汇编实验八:查表+串口通信
实验要求:P1口的P1.0~P1.8分别接8个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L4,L5亮,第二秒钟L3,L6亮,第三秒钟L2,L7亮,第四秒L1,L8亮,第五秒L2,L7亮,第六秒L3,L6亮,第七秒L4,L5亮,第八秒L1,L2,L7,L8亮,第九秒L3,L4,L5,L6亮,第十秒全亮,第十一秒全灭。然后再从头循环。以键盘作为外部中断输入信号,有键按下时,将当前LED状态送PC机显示。 //This is the nineth_5 program of homework //This is made by WQ Data:2013/3/18/ ORG 0000H AJMP MAI
[单片机]
微芯继续生产100%兼容NXP停产MCU的8051 80C51单片机
全球领先的整合单片机、模拟器件和闪存专利解决方案的供应商——Microchip Technology Inc.(美国微芯科技公司)宣布,将继续生产传统8051/80C51 MCU,为大多数近期被恩智浦(NXP)列入“停产”(EOL)通告的MCU提供引脚对引脚兼容的替代产品。这包括NXP停产的P89LV51RB2/C2/D2和P89V51RB2/C2/D2 80C51 8位单片机系列的直接替代产品。Microchip于2010年4月收购Silicon Storage Technology, Inc.(SST)时纳入了传统80C51 MCU业务,并一直给予支持。 Microchip副总裁Randy Drwinga表示:“长期以来,M
[单片机]
用成型滤波器组提高测距精度的一种方法
  在许多 测距 系统中,用户端接收到基站发送的帧信号后,便以该帧中特定的位置(称为帧参考时标)为基准发送“回复帧"给基站。基站收到回复帧后,提取它的帧参考时标,并以其作为测距的依据。   通常用户端的系统时钟精度较低(本文提到的系统时钟均指用户端的系统时钟),因此接收到的帧参考时标会存在误差。在用户端经过计算估计出帧参考时标的误差,再用该误差调整发送回复帧的时刻,可实现精确测距。因此测距精度取决于两个因素:帧参考时标误差的估计精度和回复帧发送时刻的调整精度。本文主要讨论如何提高回复帧发送时刻的调整精度。回复帧是由基带码组成的,因此下文中讲的发送时刻的调整均指基带码发送时刻的调整。   发送时刻的调整精度是由发送时刻的调整
[测试测量]
MSP430G2553单片机使用printf函数进行串口打印输出
以前在使用keil编写51单片机程序的时候,经常使用printf函数打印输出一些关键的过程数据到电脑,方便监控程序的运行状况。最近使用IAR for MSP430 调试 MSP430G2553 程序的时候,发现了一些小问题,MSP430G2553单片机并没有按照我的预期输出数据到电脑。 带着疑惑我查看了keil的帮助文件里面的printf函数说明,原来printf函数最终是调用putchar函数来实现打印输出字符的。 putchar,该函数将制定的表达式的值所对应的字符输出到标准输出终端上。表达式可以是字符型或整型,它每次只能输出一个字符。我们来看keil标准函数库里的putchar函数的函数体。 根据说明提示,我在
[单片机]
MSP430G2553<font color='red'>单片机</font>使用printf函数进行串口打印输出
89C52单片机通过LCD1602显示任意长度字符串
1,开发板:89C52RC开发板。 2,开发环境:Keil uv4 打算通过89C52在LCD1602上面显示任意长度的字符串,因为该显示屏只能显示两行,每行只能显示16个英文字符,所以打算写个函数,实现在需要显示超过16个字符的时候,能够从液晶屏右边向左边移动显示文字,网上好像没有相关资料,于是只能自力更生,调试了几个小时,终于搞定了 void main() { uchar i; P0 = 0; P1 = 0; lcd_init(); lcd_clear(); while(1) { lcd_clear(); lcd_write_string(6, 0, 123456789abcdefghijklmn
[单片机]
89C52<font color='red'>单片机</font>通过LCD1602显示任意长度字符串
51单片机项目设计:基于超声波的车库停车系统、车位检测
一、设计要求: 毕业设计原题: 本设计主要用于室内停车场中,利用51单片机或者嵌入式系统,结合超声波传感器,检测车位是否有车辆停入,并将车位占用情况,以LED模块形式进行实时显示,还可以将剩余车位数显示出来。 利用超声波传感器,检测车位占用情况,并计算该区域剩余车位。我们假设一个区域内有4个车位,用超声波检测,发现占用车位相应位置的数码灯点亮,同时显示: 剩余“2”个车位。 每个车位上,相距一定距离,安装一个超声波传感器,可以防止误判。剩余车位也就是在LED的旁边,辅助给出这个区域剩余的车位数,而不是整个停车场中总的剩余车位数。 led是显示模块这个系统做的是停车场面对面各2个车位每个车位上安装一个传感器超声波测距
[单片机]
51<font color='red'>单片机</font>项目设计:基于超声波的车库停车系统、车位检测
基于FPGA的三相SPWM的设计及其优化
目前,变频调速一般采用微处理器和专用芯片来实现。但是普通的专用芯片运算速度受微处理器系统时钟影响,且开发周期长,硬件调试不方便 。随着微电子技术和EDA软件的发展,出现的FPGA几乎克服了所有这些不足,所以本设计采用了FPGA方案。 三相SPWM的产生一般可以通过三相相位上互差120°的正弦波与三角波比较来实现。三相正弦表可以由三个独立的相位互差120°的正弦表组成,这在设计思路上是简单的,但实际中却有很大的浪费。 目前有人采用了分时复用的方法来减少三相正弦表所占用的逻辑门 。从正弦波的波形可以看出,正弦波具有很好的对称性,还能对正弦表再进行优化。 因此,本文提出了利用分时复用以及正弦波的对称性,对三相正
[嵌入式]
基于<font color='red'>FPGA</font>的三相SPWM的设计及其优化
电加热炉温度单片机控制系统
0 引 言 电加热炉随着科学技术的发展和工业生产水平的提高,已经在冶金、化工、机械等各类工业控制中得到了广泛应用,并且在国民经济中占有举足轻重的地位。对于这样一个具有非线性、大滞后、大惯性、时变性、升温单向性等特点的控制对象,很难用数学方法建立精确的数学模型,因此用传统的控制理论和方法很难达到好的控制效果。 单片机以其高可靠性、高性能价格比、控制方便简单和灵活性大等优点,在工业控制系统、智能化仪器仪表等诸多领域得到广泛应用。采用单片机进行炉温控制,可以提高控制质量和自动化水平。 1 单片机炉温控制系统结构 本系统的单片机炉温控制系统结构主要由单片机控制器、可控硅输出部分、热电偶传感器、温度变送器以及被控对象组成。如图1所
[应用]
小广播
最新汽车电子文章
换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved