为汽车接口、安全和计算密集型负载选择和使用FPGA

2022年02月07日 14:14    发布者:eechina
从传统上来讲,汽车中的计算任务是由微控制器单元 (MCU) 和应用处理器 (AP) 完成的。一辆普通的中档车可能包含 25 至 35 个 MCU/AP,而豪华车则可能采用 70 个或更多。越来越多的汽车需要极其复杂的密集型计算能力,用于执行高级驾驶辅助系统 (ADAS)、信息娱乐、控制、网络和安全等任务。其中许多应用涉及与人工智能 (AI) 相结合的图像和视频处理方面的机器视觉。

独立的处理器架构难以处理传感器、照相机和显示器等外围设备所需的所有电气接口和各种协议。此外,在许多情况下,这类处理器根本无法满足机器视觉和人工智能等任务的极端计算需求。

为了解决这种复杂性,汽车系统设计人员正把目光投向现场可编程门阵列 (FPGA)。这样做不是为了取代现有的 MCU/AP,而是作为它们和其他设备之间的桥梁,并通过卸载通信和其他计算密集型任务来增强 MCU/AP 的性能。

由于 FPGA 可进行编程以支持各种电气接口和协议,因此可作为 MCU/AP 和传感器、照相机、显示器之间的桥梁。此外,由于 FPGA 能够以大规模并行方式进行计算和工作,因此可以用来执行计算密集型的视觉处理和人工智能任务,从而释放主机处理器性能,用于执行其他任务。

本文将讨论现代汽车的处理要求,介绍一些可由 FPGA 处理的汽车应用。然后,以 Lattice Semiconductor 提供的一些 FPGA 为例进行介绍并展示如何用这种器件解决连接、处理和安全方面的问题。本文还将介绍相关的开发板,以帮助设计人员上手工作。

FPGA 的目标汽车应用

为了实现 ADAS 功能,今天的汽车在车身上采用了许多传感器,包括摄像头、雷达、LiDAR 和超声波探测器。在许多情况下,必须从不同的传感器获取数据并对这些数据进行预处理(消除噪音并按要求格式化),然后通过传感器融合来组合这些数据,以使由此获得的信息比通过单独使用不同传感器的数据而获得的信息更具确定性。人工智能应用多用于数据分析,做出决策并采取适当的措施。

一种相对较新的趋势是部署电子(或称“数字”)后视镜。这种情况下,会在后车窗内安装一个高分辨率广角摄像头。来自该摄像头的视频流会发送至取代了传统后视镜的数字显示屏上,从而能够更清晰地观察车辆后方,不受后座乘客的阻挡。有些情况下,由安装在两个侧后视镜上的摄像头产生的视频流可与来自后窗摄像头的视频流合并。将这三个反馈信号“拼接”在一起,在超宽的电子后视镜上产生单一图像,让驾驶员能够更好地观察车辆周围的情况。

最近的另一个趋势是部署安装在仪表板上、转向柱上的或者集成在后视镜(普通或电子)中的车内摄像头。当结合人工智能时,这些车内后视镜可用于执行众多任务,如识别不同的驾驶员并相应地调整驾驶员座椅和后视镜。除了监视驾驶员以确保他们注意道路和不打瞌睡之外,这类系统还可以检测驾驶员有无瞌睡迹象以及健康问题或痛苦表情(如癫痫或心脏病发作),然后采取适当措施。这些措施可能包括启动危险警告灯,实施刹车并将车辆导引至路边。更多的应用还包括:通过防止汽车被锁和发出闪灯信号来确保不会误将幼儿和宠物遗留在后座上无人看管,以及在乘客将手机、包或包裹等物品遗落在后座上时提醒司机。

在基于视频的应用方面,有些情况下需要将一个视频输入分成多个视频流,有些情况下则可能是根据设计要求将多个视频流汇聚成一个。

随着电动汽车 (EV) 部署的增加,需要监视和控制电机,并监视和管理充电过程以使电池寿命达到最长。

最重要的是,今天的许多汽车开始启用 5G 或 V2X 功能,其中 V2X(“车辆到任何东西”)是指车辆和任何可能影响车辆(或受车辆影响)的其他实体之间的通信,从路边基础设施到其他车辆。随之而来的就是需要安全保障,以防止黑客入侵车辆。

汽车级器件

不是所有的 FPGA 都适用于汽车应用,记住这点很重要。汽车电子委员会 (AEC) 是一个最初由克莱斯勒、福特和通用汽车在 20 世纪 90 年代成立的组织,旨在建立共同的零件鉴定和质量体系标准。最常引用的 AEC 文献之一便是 AEC-Q100——“基于故障机制的集成电路应力测试鉴定。”

IATF 16949:2016 是一项技术规范,旨在制定质量管理体系,用于规定持续改进,强调预防缺陷并减少汽车行业供应链和装配流程中的变动和浪费。IATF 16949:2016 是由国际汽车工作组 (IATF) 和 ISO 技术委员会在 ISO 9001 标准基础上制定的。

汽车市场的电子系统供应商越来越要求半导体供应商提供符合 AEC-Q100 标准的产品,并能证明其质量体系获得了 ISO/TS-16949 认证。

为工作选择正确的 FPGA

FPGA 非常灵活,但不同的器件系列会提供各种不同能力和功能组合,从而更加适合特定的任务。以嵌入式视觉应用为例,现代摄像头和显示器通常采用 MIPI 接口。MIPI CSI-2(摄像头/传感器)和 DSI(显示器)协议都采用了被称为 D-PHY 的通信物理层 (PHY)。传统的 MCU/AP 可能不支持这种接口,但一些 FPGA 会支持,如 Lattice Semiconductor 的 CrossLink-NX 嵌入式视觉和处理 FPGA。

除了每个 PHY 都支持 10 Gb/s 速率的两个加固型四通道 MIPI D-PHY 收发器外,CrossLink-NX 器件还支持 5 Gb/s PCIe、1.5 Gb/s 可编程输入/输出 (I/O) 以及1066 Mb/s 的 DDR3。这种器件还支持传统的电气接口和协议,如低压差分信号 (LVDS)、Sub-LVDS(LVDS 的降低电压版本)、Open LVDS 显示接口 (OLDI) 和串行千兆位媒体独立接口 (SGMII)。因此,这些器件可用于汇集视频流、分离视频流、运行人工智能应用,并且在执行这些任务的同时,还可以作为传统 MCU/AP 与现代传感器、显示器之间的桥梁。

希望评估 CrossLink-NX FPGA 的汽车系统开发商会发现,LIFCL-VIP-SI-EVN CrossLink-NX VIP 传感器输入板(图 1)和 LF-EVDK1-EVN 模块化嵌入式视觉套件的组合的意义重大(前者可以作为后者的输入板)。除了 CrossLink-NX FPGA 之外,传感器输入板还具有四个 1300 万像素的 Sony IMX258 CMOS MIPI 图像传感器,可支持 4K2K @ 30 帧/秒 (fps) 或 1080p @ 60 帧/秒。该板还支持通过三个独立的 PMOD 接口连接传感器。


图 1:CrossLink-NX VIP 传感器输入板可作为嵌入式视觉开发工具包的输入,它包含一个 CrossLink-NX FPGA 并支持四个 MIPI Sony IMX258 图像传感器聚合。(图片来源:Lattice Semiconductor)

对于还需要高 I/O 带宽的计算密集型应用——诸如像用于手势识别和控制、语音识别和控制、人类存在检测、乘员识别和驾驶员监控之类的 AI 应用来说,Lattice 的 ECP5 FPGA 具有高达 3.2 Gb/s 的串行器/解串器 (SERDES),为获得更高粒度而在双通道块中的每个器件都采用了多达有四个通道,具有多达 85K 的查找表 (LUT)、能为对称滤波器提供 2 倍资源改进的增强型数字信号处理 (DSP) 块,并支持减缓单粒子翻转 (SEU)。这些 FPGA 还为 LVCMOS 33/25/18/15/12、XGMII、LVTTL、LVDS、总线 LVDS、7:1 LVDS、LVPECL 和 MIPI D-PHY I/O 接口提供可编程 I/O 支持。

例如,LFE5U-85F-6BG554C 就是一种 ECP5 器件,该器件有 84,000 个逻辑元件,3.75 Mb RAM 和 259 个 I/O。同样值得关注的还有 LFE5UM-45F-VERSA-EVNG ECP5 Versa 开发套件(图 2)。该开发板采用半长 PCI Express (PCIe) 外形尺寸,设计人员可用其评估 ECP5 FPGA 的关键连接特性,包括 PCIe、千兆以太网 (GbE)、DDR3 和通用 SERDES 性能。


图 2:ECPe Versa开发套件具有半长 PCI Express 外形,设计人员可用其评估 ECP5 FPGA 的关键连接特性,包括 PCIe、GbE、DDR3 和通用 SERDES 性能。(图片来源:Lattice Semiconductor)

用 FPGA 确保汽车安全

现在,黑客造成的安全威胁在不断增加,新的违规事件持续发生。就汽车而言,网络攻击可能造成失控,导致乘客和行人伤亡,造成受攻击汽车和其他车辆损坏以及财产损失。

汽车安全解决方案的很大一部分是建立一个信任根 (RoT);也就是说,可以始终信任系统中的某个硬件资源。一种解决方案是基于 FPGA 的硬件 RoT (HRoT),如 Lattice 的MachXO3D 系列器件提供的解决方案。除了大量的 LUT 资源和 I/O 外,这些基于闪存的器件还实现了瞬时启动和热插拔功能。通用应用包括胶合逻辑、总线桥接、总线接口、电机控制、上电控制和其他控制逻辑应用。

特别值得注意的是,MachXO3D 是唯一同时具有双启动能力和少于 10K LUT 的 FPGA,该器件配备了美国国家标准和技术研究所 (NIST) 认证的不可变安全引擎。这使得 MachXO3D 可以作为汽车的 HRoT,以“系统的先开后关器件”的形式发挥作用。当系统上电时,MachXO3D 首先检查以确保其正在运行经过验证的固件。然后,该器件检查系统中其他器件的固件。如果系统中的任何组件受到攻击或损害,包括其本身,MachXO3D 都会拒绝可疑固件并使用已知的、良好的、经过认证的固件图像重新加载该组件。

对于那些有兴趣评估基于 MachXO3D 的设计的开发人员,LCMXO3D-9400HC-D-EVN MachXO3D 开发板提供了一个可扩展的原型开发平台(图 3)。该板具有一个 L-ASC10(模拟检测和控制)硬件管理器件、一个与 Arduino 和 Raspberry Pi 板搭配使用的通用 I/O 接口、两个 Hirose FX12-40 针座位置 (DNI),一个 Aardvark 针座 (DNI) 以及具有四重读取功能的 128 Mbit 串行外围接口 (SPI) 闪存。


图 3:MachXO3D 开发板具有一个 MachXO3D FPGA、一个 L-ASC10(模拟检测和控制)硬件管理器件、Arduino 和 Raspberry Pi 板支持功能、两个 Hirose FX12-40 针座位置 (DNI)、一个 Aardvark 针座以及一个用于设备编程的 USB-B 连接。(图片来源:Lattice Semiconductor)

该开发板的尺寸为 4 x 6 英寸,配备供电和编程用 USB mini-B 接口,以及支持 Arduino、Aardvark、FX12、Hirose 和 Raspberry Pi 的多个针座位置。该开发板包括一根 USB 线和一本快速入门指南。

结论

现代汽车电子需要越来越多的传感器、电气接口和协议,并对处理能力和带宽提出了相应的要求。由于增加了人工智能、机器视觉处理以及安全要求,使得在实施采用传统 MCU 或 AP 方法的解决方案时变得复杂。

如图所示,通过适当地使用 FPGA,设计人员可以增加一定的灵活性和处理能力。也就是说,可以连接完全不同的处理环境,执行传感器汇集和融合功能,解决 I/O 带宽要求,并以大规模并行的方式完成计算和运行,同时释放主处理器功能来执行其他任务。

在安全方面,具有双启动能力和 NIST 认证的不可变安全引擎的、基于闪存的 FPGA 可以作为汽车的 HRoT,并确保自身和其他器件只运行经过认证的固件,从而防止黑客通过加密技术破坏汽车系统。