0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用 ARC VPX 嵌入式DSP IP实现高性能传感器融合

842221752 来源:电子发烧友网 作者:陈泳诗 2023-01-31 11:03 次阅读

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

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

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

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

为了让尺寸更小,同时成本更低,以适用于大规模应用,传感器通常通过微机电系统 (MEMS) 来实现。因此,在许多消费设备中,都可以看到加速度计、陀螺仪、磁力计等MEMS传感器,以及摄像头和麦克风的身影。雷达传感器很快就会亮相于众多的消费类设备,从而以超低功耗预算实现手势控制。雷达,当然还有摄像头,是当今汽车应用中颇为成熟的传感器,其数量逐代增加,而 LiDAR 有望在下一代先进驾驶辅助系统 (ADAS) 中实现应用。需要多个不同的传感器才能获得完整准确的结果。

人体中的每个“传感器”具有互补优势并提供独特的信息,而嵌入式系统中的传感器也必须如此。以 ADAS 为例,雷达在不同光线和天气条件下性能稳健,LiDAR 可提供具有良好视角分辨率的广阔视野,而基于摄像头的视觉功能则可对物体实现快速准确的分类(图 1)。

pYYBAGPYiE2AA7rWAAVni86JC34370.png

图 1:ADAS 系统中的多个不同传感器


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

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

让我们看看几个应用示例。目前,任何一款手机中可能都安装有计步器。它包含多个传感器,例如加速度计、陀螺仪、磁力计,有时还有压力和温度传感器(用于海拔跟踪)。这些传感器的生产成本相对低廉,而且生成的信息流是恒定的。需要 10-50 MIPS 来处理数据,并将其合并为有意义的输出,此类融合信息通过小型 MCU 处理即可。

对于始终在线的智能家居设备,用户可能还会看到麦克风、摄像头和雷达的组合。这些设备可以在检测到用户存在时与用户进行智能交互,然后响应命令。“智能”传感器将用于限制功耗,例如仅在检测到某个面部(简单算法、低性能要求)之后,才进行启动面部识别(复杂算法、高性能要求)。计算要求会随着时间的推移而出现巨大的差异。该系统必须在有需要时提供峰值性能,但需要动态地管理计算资源及其消耗的功率。随着来自视觉、语音和雷达传感器的数据量增加,处理数据需要数十亿次操作/秒 (GOPS)。

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

如前所述,传感器融合包含两个主要阶段:(1) 提取信息,(2) 结合信息以得出结果。这在图 2 中加以说明。

poYBAGPYiFiAC2eDAAGra38xcSQ121.png

图 2:传感器融合处理链


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

对于摄像头,它是具有图像缩放、色彩空间转换、过滤或特征检测等功能的图像信号处理。此处数据表示为像素,数据格式为 8 比特,最多 16 比特。 最后,对于雷达,此类前端处理包括范围和速度 FFT 以及用于阈值的恒定虚警率 (CFAR)。由于动态范围和精度要求,数据类型为半精度或全精度浮点。 第二阶段是信息结合(后端处理)。要使用的算法与应用息息相关。任务可以包括对象检测、识别、跟踪以及预测,例如,使用卡尔曼滤波的递归估计器。可以应用基于 AI 的机器学习算法以及线性代数操作。当然,数据类型将非常依赖于算法。

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

多功能性

算法和数据类型在很大程度上取决于应用。因此,DSP 架构必须支持丰富的指令集,以便高效实现不同的算法,并特别关注 FFT 或线性代数等性能关键型操作。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 提供了概述。

pYYBAGPYiGKAZNplAAHf_2hxP8o951.png

图 3:DesignWare ARC VPX DSP IP 块状图


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)。

pYYBAGPYiG2ADF8qAAPMVZAbNmY163.png

图 4:随 MetaWare 一起提供的库,针对 VPX 进行了优化


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 系列的所有产品之间重复使用,从而保护这一重大投资。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2550

    文章

    51000

    浏览量

    752962
  • 嵌入式
    +关注

    关注

    5082

    文章

    19100

    浏览量

    304654
收藏 人收藏

    评论

    相关推荐

    【「嵌入式系统设计与实现」阅读体验】+ 学习一个STM32的案例

    。案例还使用了温湿度传感器和人体感应传感器。 作品详细设计了分拣的机械结构。这个嵌入式比赛比较喜欢学生进行动手制作,包括自制开发板或机械结构。如果用现成的开发板,只做算法实现,一般得
    发表于 12-06 22:22

    嵌入式超火的方向有哪些?

    广泛的应用前景。 3.智慧城市 嵌入式技术在智慧城市中的应用中也十分重要。智慧城市中需要大量的传感器、控制和其他设备来实现对城市环境、交通、公共安全等方向的监测和管理。 例如,利用
    发表于 11-21 15:49

    为何嵌入式控制首选ARMxy?深度解析

    嵌入式ARM控制是一种基于ARM架构的嵌入式系统控制,广泛应用于各种嵌入式系统中,包括工业物联网关、边缘计算网关、智慧城市、智能设备、工
    的头像 发表于 09-21 10:09 297次阅读
    为何<b class='flag-5'>嵌入式</b>控制<b class='flag-5'>器</b>首选ARMxy?深度解析

    嵌入式热门领域有哪些?

    通过物联网连接各种物理设备和传感器,促使它们之间实现信息的交换和数据的共享。从智能家居到智能城市,物联网的应用不断扩展,为嵌入式系统工程师带来了广泛的就业机会和发展前景。 自动驾驶 自动驾驶技术作为
    发表于 07-16 09:23

    嵌入式系统怎么学?

    嵌入式系统之间或与外部设备的数据通信。 7、传感器和执行:了解各种传感器(如温度传感器、加速度传感器
    发表于 07-02 10:10

    如何提升嵌入式编程能力?

    代码以提高性能,包括减少内存使用、提高处理速度等。 16. 调试技巧:掌握嵌入式系统的调试技巧,包括使用调试、日志记录和性能分析工具。 17. 参加竞赛和挑战:参加编程竞赛或黑客马拉
    发表于 06-21 10:01

    简谈Xilinx Zynq-7000嵌入式系统设计与实现

    今天给大侠带来简谈Xilinx Zynq-7000嵌入式系统设计与实现,话不多说,上货。 Xilinx的ZYNQ系列FPGA是二种看上去对立面的思想的融合,ARM处理的串行执
    发表于 05-08 16:23

    dsp嵌入式微处理器的一种设备吗 ARM嵌入式微处理器有何特点?

    DSP(Digital Signal Processor)不是一种嵌入式微处理器的设备。DSP是一种专门用于数字信号处理的微处理,它具有高性能
    的头像 发表于 04-21 09:37 964次阅读

    dsp嵌入式微处理器的区别和联系

    是一种专门用于数字信号处理(Digital Signal Processing)的处理。数字信号处理是一种通过对数字信号进行算法运算来处理和分析信号的技术。DSP广泛应用于音频、视频、通信等领域,如音频信号的降噪、音频编解码、实时图像处理等。
    的头像 发表于 04-21 09:35 962次阅读

    嵌入式热门发展方向有哪些?

    嵌入式人工智能可以运用机器学习技术对图像、视频进行高精度解析,从而实现图像识别、视频剪辑、视频智能关联应用等。在传感器网络系统中,嵌入式人工智能主要是将人工智能技术应用于
    发表于 04-11 14:17

    简谈Xilinx Zynq-7000嵌入式系统设计与实现

    今天给大侠带来简谈Xilinx Zynq-7000嵌入式系统设计与实现,话不多说,上货。 Xilinx的ZYNQ系列FPGA是二种看上去对立面的思想的融合,ARM处理的串行执
    发表于 04-10 16:00

    Cadence扩充Tensilica IP产品阵容,强化汽车传感器融合计算能力

    全球电子设计自动化和半导体IP解决方案的领先企业楷登电子(Cadence)近日宣布,其进一步扩展了Tensilica IP产品系列,以满足汽车行业中日益增长的传感器融合应用计算需求。新
    的头像 发表于 03-14 11:38 864次阅读

    嵌入式工控机性能特点 嵌入式工控机应用场景

    嵌入式工控机性能特点 嵌入式工控机应用场景 嵌入式工控机是一种专门设计用于工业控制系统的计算机设备。它具有与传统计算机不同的性能特点,并且在
    的头像 发表于 02-04 11:35 671次阅读

    嵌入式学习步骤

    语言编写。但是,有些嵌入式系统也使用其他编程语言,例如Python或Java。 (3).了解硬件:深入了解您要控制的硬件设备的功能和特性。您需要了解嵌入式系统的处理、内存、I/O端口、传感器
    发表于 02-02 15:24

    嵌入式霍尔效应传感器IC FD2157H一般说明

    电子发烧友网站提供《嵌入式霍尔效应传感器IC FD2157H一般说明》资料免费下载
    发表于 01-10 16:45 0次下载