如何实现高性能传感器融合

2022-01-19 17:28 来源:电子说

驱动传感器融合需求的主要趋势

传感器在智能移动设备、自动驾驶、智能家居设备、工业控制和机器人等应用中具有许多优势。

传感器融合是指将来自多个传感器的数据进行组合,以获得更完整、更准确的结果。通过使用多个传感设备提供的信息,可以获得更好的环境意识。这是人类传感器融合的最好例子。人们可以通过结合从各种“传感器”(眼睛、耳朵、鼻子、舌头和皮肤)收集的信息来了解我们的周围环境,从而决定如何应对各种情况。因此,传感器融合和人工智能自然同时成为关键趋势。

传感器融合的成功有三个要求:传感器的小型化,从传感器产生的数据流中提取相关信息的复杂算法,以及在可用功耗和成本预算内提供执行算法所需性能的SoC。

为了使尺寸更小、成本更低,从而适合大规模应用,传感器通常由微机电系统(MEMS)实现。因此,加速度计、陀螺仪、磁力计、相机和麦克风等微机电系统传感器可以在许多消费类设备中看到。传感器将很快出现在许多消费设备中,从而以超低功耗预算实现手势控制。雷达,当然还有摄像头,都是当今汽车应用中比较成熟的传感器,其数量也在与日俱增,而LiDAR有望应用于下一代高级驾驶员辅助系统(ADAS)。需要许多不同的传感器来获得完整和准确的结果。人体中的每一个“传感器”都有互补的优势,提供独特的信息,嵌入式系统中的传感器也是如此。以ADAS为例。雷达在不同的光线和天气条件下都很稳定。LiDAR可以提供具有良好视角分辨率的宽视场,而基于摄像头的视觉功能可以快速准确地对物体进行分类(图1)。

该复杂算法具有两个主要功能:(1)从传感器信号中提取信息,以及(2)组合来自不同传感器流的信息。根据不同的应用,性能要求会有很大的不同,算法的复杂度也会有很大的不同。只有当检测到语音命令时,始终开启的智能家居设备才会唤醒,但ADAS系统必须持续监控其环境。

复杂的算法需要能够提供执行算法所需性能的SoC。像任何设计一样,它需要满足可用功耗和面积的限制,因为这将极大地影响整体盈利能力。散热和电池容量有限是两个主要驱动因素,具体取决于应用。理想情况下,这种类型的SoC是完全可编程的,以实现最大的灵活性。算法可能在产品的生命周期中演变,传感器在其生命周期中可能需要不同的校准,如果可以通过软件区分,非常希望对产品的多个版本使用相同的Soc。

让我们看一些应用示例。目前,计步器可以安装在任何手机上。它包含许多传感器,如加速度计、陀螺仪、磁力计,有时还有压力和温度传感器(用于高度跟踪)。这些传感器的生产成本相对较低,产生的信息流恒定。处理数据并将其组合成有意义的输出需要10-50 MIPS,这种融合信息可以通过小型MCU进行处理。

对于总是在线的智能家居设备,用户可能还会看到麦克风、摄像头和雷达的组合。当用户检测到他们的存在时,这些设备可以智能地与用户交互,然后响应命令。“智能”传感器将用于限制功耗,例如,只有在检测到某张人脸后(算法简单,性能要求低),才能启动人脸识别(算法复杂,性能要求高)。随着时间的推移,要求会有很大的不同。系统必须在需要时提供峰值性能,但它需要动态管理计算资源及其消耗的功率。随着来自视觉、语音和雷达传感器的数据量不断增加,处理这些数据每秒需要数十亿次操作(GOPS)。

高效传感器融合所需的关键特性

如前所述,传感器融合包括两个主要阶段:(1)提取信息,以及(2)组合信息以获得结果。

第一阶段也可以称为传感器融合的前端。根据传感器和相关信息,采用不同的数字信号处理算法。对于语音,这可以是计算梅尔频率倒谱系数(MFCC),其应用傅立叶变换和其他各种数字信号处理器操作来从语音信号中提取频谱特征。数据将采用整数格式,可能由16位表示。

对于相机来说,它是具有图像缩放、色彩空间转换、滤波或特征检测功能的图像信号处理。这里,数据表示为像素,数据格式为8位,最多16位。

最后,对于雷达来说,这样的前端处理包括距离和速度FFT以及阈值的恒虚警率(CFAR)。由于动态范围和精度的要求,数据类型为半精度或全精度浮点。

第二阶段是信息组合(后端处理)。要使用的算法与应用密切相关。任务可以包括目标检测、识别、跟踪和预测,例如,使用卡尔曼滤波器的递归估计器。可以应用基于人工智能和线性代数运算的机器学习算法。当然,数据类型将非常依赖于算法。

由于这些特定但不同的要求,传感器融合需要满足以下关键要求的数字信号处理器(DSP)。

多功能算法和数据类型很大程度上取决于应用。因此,数字信号处理器架构必须支持丰富的指令集来高效地实现不同的算法,并特别关注快速傅立叶变换或线性代数等性能关键的操作。DSP必须支持不同精度的整数和浮点数据类型。

这类DSP需要是合格的灵活计算资源,这意味着它需要能够执行通常与DSP相关的“经典”滤波操作,以及机器学习和计算机视觉算法。

可扩展性为了避免一次性投资,可扩展性是关键。尽管对不同传感器的要求不同,但非常希望对不同设计的所有信号处理要求使用相同的参考架构,以限制系统集成并最大限度地提高整体软件开发效率。可扩展性允许设计人员选择

择配置,从而为目标应用提供最佳 PPA。

可扩展性不仅仅关乎硬件。针对特定架构进行内核优化,是软件方面的一项重大投入。重要的是,此类软件可以在这些 SoC 上重复使用,从而能够重复使用不同版本的 SoC(例如低端/中端/高端版本)。

PPA 优化就性能/功耗/面积而言,有诸多方面可进行优化。从性能开始,它关乎核心本身的循环效率(即执行特定功能所需的循环次数),以及可用的处理引擎和能够利用这些引擎的 ISA。这直接关系到对数据移动的有效支持,与数据处理并行,然后连接到一组丰富(最好是可配置的)接口,例如,将加速器和外围设备直接连接到核心,而不通过系统存储器。

DSP 的最大时钟频率体现出另一方面的性能。它决定 DSP 可以提供多少马力(以每秒周期为单位),但也影响物理 SoC 设计中时序收敛所需的工作量。

低功耗与性能效率以及仅在需要时唤醒某些内核的选项直接相关(如智能家居应用中所述:等待唤醒信息)。

最后,小面积对成本以及漏电有直接影响。

高效的软件开发软件开发必须高效,因为对于几乎所有项目来说,大笔的投资(以及相关人员)都耗费在了软件开发和测试上。这需要一个具有优化编译器的高级编程模型,以及一组丰富的库,其中包含用于滤波、转换(例如 FFT)、矢量数学、线性代数和机器学习的现成优化内核。当然,还需要驱动程序、DMA 处理程序、中断处理程序等低级模块。随着对软件的大量投资,务必要让此类软件可移植到广泛的体系架构选项中,例如,支持不同的向量长度,无需重新编码。

DesignWare ARC VPX DSP IP助力传感器融合

VPX DSP IP 是 在VLIW/SIMD 处理器系列中,适用于从永远在线设备到汽车 ADAS ,再到视觉、机器学习和高性能计算等广泛的信号处理应用。图 3 提供了概述。

VPX 系列非常适合传感器融合要求,因为它可提供可扩展性和多功能性,以实现最佳的 PPA 和软件开发效率,从而提高整体生产效率。

所有 VPX 系列产品均基于相同的 VLIW/SIMD 架构。现实中,设计人员常会遇到,在选择了某个向量长度后,却发现 PPA 的要求需要不同配置的情况。而在VPX系列产品中,客户可以根据自己的需求扩展解决方案,从 128 位到 512 位的不同矢量长度中进行自由选择,非常方便。得益于可变矢量长度 (VLA) 编程模型,代码可以在VPX系列之间迁移,因此执行起来非常容易。VLA 编程可确保软件投资的安全性,既可为当前项目提供灵活性,又可为未来项目提供可重用性。除矢量长度外,客户可以从单核、双核或四核配置中进行选择,多核配置已预先集成并准备好用于缓存一致性和共享的多通道 DMA。

除了不同的矢量长度外,每个 VPX 内核都高度可配置,从而可定制架构以获得最佳性能,同时拥有最小的面积。以不需要浮点、但极其受限于面积和功率的应用为例:使用 ARChitect 配置工具,用户可以选择不包括(标量和最多两个矢量)浮点单元。此可选单元的另一实例是专用矢量数学单元,用于非常高效地执行例如 sin(x)、cos(x)、2^x、div、sqrt、1/sqrt、log_2(x) 等操作。

如上文所解释,依传感器和应用于传感器数据的算法而定,需要不同的数据类型。VPX 支持的数据类型范围广泛,从浮点到覆盖应用(如高分辨率雷达)所需的动态范围,再到用于 AI 应用的小规模整数类型。

VPX 指令集架构 (ISA) 已调整为高效执行关键信号处理内核,例如 FFT 或矩阵操作。以 FFT 操作为例,通过矢量负载/双倍存储(指从内存传输数据达矢量长度的两倍)和专用 FFT 指令相结合,可以在软件中执行所有 FFT 操作,甚至对于多传感器雷达场景也不例外。这避免了采用专用硬件加速器而带来的成本开支,也因而实现了功率和面积的节省。

ISA 和微架构(即实施不同功能单元的方式)是实现最佳 PPA 的关键要素。但是,需要一个软件开发环境来释放硬件的功能。VPX 配有 MetaWare 工具套件,其包括优化 C++/C++ 编译器、模拟工具和复杂的调试环境。它包括一组丰富的库,可为信号处理、线性代数和机器学习提供优化的内核。这些内核是以与矢量长度无关的方式编写的,因此代码在 VPX 系列产品中都保持便携。为了支持对 AI 日益增长的需求,MetaWare 还提供 NN SDK 和先进的图形映射工具(支持 TensorFlow、Caffe、ONNX)。

VPX 系列包括为功能安全 (FuSa) 认证量身定制的 VPXxFS 变体(VPX2FS、VPX3FS 和 VPX5FS)。这些核心满足随机故障检测和系统功能安全开发流程要求,完全符合 ASIL D ISO 26262 合规性。VPXxFS DSP 集成了硬件安全功能,例如存储器和接口的 ECC 保护、安全监测器和锁步机制。一套全面的安全文档可帮助汽车设计师获得 ISO 26262 功能安全认证。此外,VPXxFS DSP 还提供“混合”选项,使用户可以在硅后软件中选择高达 ASIL D 的安全级别。

总结

传感器融合是一个快速增长的市场,已进入几乎任何应用领域。得益于低成本传感器的可用性,以及先进的算法,它可以在不同市场实现新的用户体验,包括智能移动设备、汽车、健康或工业控制。传感器融合导致不同的信号处理工作负载,因为不同的传感器需要不同的数据类型来表示数据,并且需要不同的 DSP 算法来提取与实际融合过程相关的信息。融合过程(即组合各种传感器信息流并从中产生有意义的决策)在很大程度上是特定于应用程序的。要处理这些不同的工作负载,需要一个可扩展的处理器来处理不同的数据格式和性能要求,并且需要通用和可配置的架构,包括储存器和接口,以满足 PPA 要求。DesignWare ARC VPX IP 系列是传感器融合应用的理想解决方案:其矢量长度为 128 位、256 位或 512 位,可满足各种信号处理工作负载的需求。凭借定制的指令集和专用的数学硬件引擎,它可通过无与伦比的 PPA 提供卓越的循环效率。其可变矢量长度编程模型可确保软件可在 VPX 系列的所有产品之间重复使用,从而保护这一重大投资。

延伸 · 阅读