查看: 2438|回复: 0

[分享] LPC55S69 + PowerQuad第1部分:工业物联网和智能计量的出色解...

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32003
    最后登录
    2024-4-9
    发表于 2020-8-14 10:40:05 | 显示全部楼层 |阅读模式
    LPC55S69 + PowerQuad第1部分:工业物联网和智能计量的出色解决方案

    翻译自:Eli Hughes

    LPC55S69中有一个功能强大的协处理器,称为“ PowerQuad”。在本文中,我们将介绍PowerQuad和一些有趣的用例。在接下来的几周中,我们将研究如何使用“迷你猴子”板在PowerQuad中使用一些不同的处理元素。
    1.png
    图1:恩智浦PowerQuad信号处理引擎


    PowerQuad是专用硬件单元,与LPC55S69内部的主要Cortex M33内核并行运行。通过使用PowerQuad与主CPU并行工作,可以实现复杂的信号处理算法,同时使主CPU可以执行其他任务,例如通信和IO。这是分布式传感器系统和工业物联网(IIOT)中非常重要的用例。在接下来的几周中,我将展示在各种应用程序中使用PowerQuad的一些实际方面。我觉得这非常适合许多紧密嵌入式应用,这些应用需要将通用处理,IO和专用信号处理结合在一起,同时保持非常低的有功功率分布。

    嵌入式系统,传感器和信号处理

    在开始之前,我认为复习一些概念并解释为什么PowerQuad的某些功能有用是有帮助的。即使许多工程师可能已经在大学或大学中学习了数字信号处理(DSP),但通常与真正的硬件和代码之间的联系很少。 DSP的许多介绍都是从正式的解释开始的(即繁重的数学!)。虽然这种形式主义对于开发基础算法很重要,但在尝试使某些事情可行时很容易迷失方向。例如,快速傅立叶变换是许多DSP应用程序的核心算法之一。如果您曾经使用过的只是数学形式主义,那么可能很难理解如何在黑盒级软件中使用它。能够将形式化与实际应用程序联系在一起,才是真正的魔术!在这些即将发表的文章中,我将分解代码中实际发生的事情,因此使用PowerQuad硬件要容易一些。

    对于绝大多数的传感器和工业物联网应用,我们遇到了“时间序列”数据。就时间序列而言,我们的意思是我们以固定的间隔进行某种测量并将记录的数据放入存储桶中。我们可能会在每次输入一个样本时处理该数据,或者等待我们的存储桶填满一个级别,然后再处理信息。这里的一个关键功能是我们可以以固定速率捕获一些测量值(温度,压力,电压水平)。我们最终得到的是跨越一定时间量的数据集。我们在测量“幅度”上没有无限的分辨率,也不能无限快地进行测量。例如,如果我们随时间获取电压读数,则我们的“步长”大小可能为1毫秒,振幅的分辨率为1毫伏。应用程序的速度和精确度的详细信息。
    2.png
    图2:时间序列卡通


    在图3中,请注意,“点”未连接以指示我们有一组离散数据。很多时候,我们填充图表上的点之间的空间以更好地可视化信号,但是我们需要处理的是离散的数据桶。

    让我们看一下在“迷你猴子”上使用LPC55S69的示例。 Mini-Monkey电路具有通过I2S接口连接到MCU的数字麦克风,以及通过SPI进行的240x240像素显示连接。使用显示器,我们可以可视化时间序列(我的声音)。作为演示,我通过I2S接口从麦克风中抓取了256个样本的存储桶,并将原始时间序列数据呈现在显示器上。迷你猴子(Knowles Acoustic SPH0645LM4H-B)上的麦克风设置为以32KHz的速率输出数据。该设备的幅度分辨率为18位。由于我的OLED屏幕高度为240像素,因此我将样本的振幅除以适合它们。

    我要做的就是将数据收集到“缓冲区”中,然后在屏幕上连续显示信息。这是可视化正在发生的事情的简单方法。现在,您可以使用其他采样方法来代替使用麦克风来测量声压。速度测量,电压信号等。时间序列数据集是您的起点。现在是时候开始用数字做一些了,这就是PowerQuad可以提供帮助的地方。大多数信号处理算法都归结为对数据数组进行简单,重复的操作。几乎所有东西都可以归结为乘法和加法。这就是为什么您可能听说过很多有关DSP引擎中的乘法和累加单元(MAC)的原因。这是协处理器的理想用例。


    PowerQuad的核心具有处理最常见的“构建块”的逻辑。有时,当您具有时间序列时,您会以保留所有“时间信息”的方式处理数据。这意味着,从“信号处理黑匣子”中获取信息仍然是与某个时间块相关的一组数据点。它们可能只是以某种方式被过滤或修改。例如,也许您有一个想要消除60Hz噪声的信号。您可能考虑使用数字FIR或IIR滤波器。其他时候,您将数据“转换”为与其他事物“相关”的信息,例如速率或“频率”。我们将在以后的文章中探讨这两种应用程序,但是PowerQuad会针对这两种用例提供​​帮助。

    LPC55S69 PowerQuad应用-机器状态监控

    LPC55S69可以通过多个接口引入时序数据。在本文中,我通过数字音频端口(I2S)上的数字MEMs麦克风测量了声压。您也可以使用模数转换器进行测量。例如,我为去年制造的ADXL1001BCPZ加速度计有一个小分线板:
    3.png
    图4:ADXL1001BCPZ加速度计板(左)


    该ADXL1001BCPZ是高带宽加速度计,适用于机器监控和振动分析应用。许多常见的MEMS加速度计没有足够高的带宽来捕获振动系统中的所有动态信息。 ADXL1001的-3dB带宽可扩展至11KHZ,非常适合振动问题。用于简单的运动检测和定向的低成本加速度计具有非常低的带宽,可能无法捕获振动应用中正在寻找的动态。此外,许多可以在多轴上测量的MEMs设备在所有轴上的带宽和噪声性能并不相同。我们可以使用LPC55S69中的内部ADC随时间推移对加速度计进行采样,并建立一个时间序列以了解某些物体是如何振动的。麦克风可以拾取在空中传播的声音,而加速度计可以用来理解通过物理结构传播的声音。使用信号处理技术,我们甚至可以结合来自多个传感器的信息(以不同的方式测量同一件事)来更好地理解问题。

    在我长大的地方,有许多经验丰富的汽车修理工可以迅速发现问题,甚至无需打开引擎盖。调试问题的第一种方法是开车开车或启动电动机并“收听”。这些人中有许多受过良好训练,只需听一听就能确切地知道问题所在。所有机械系统都会振动。它们的振动方式取决于其尺寸,形状,材料特性和操作条件。这些机械振动耦合到空气中,我们可以“听到”正在发生的事情。如果您对机械系统有某种情况的了解,您就会知道系统正常运行时*应该*发出什么声音。如果组件开始出现故障,则机械系统会发生变化,并且振动会有所不同。由于系统的“边界条件”发生了变化,因此声音的性质也会发生变化。我们可以用传感器(例如,加速度计)对机器进行检测,并捕获时间序列。使用一些数学(DSP)和我们对系统应该如何运行的先验知识,可以在故障发生之前进行预测。

    大型且昂贵的机电设备驱动着我们的全球行业。奥利奥饼干和卫生纸等所有我们认为对生命至关重要的物品都是在大型工厂中生产的,这些工厂都进行了大型,高价值的工序。自动化高价值机器的测量和分析是绝对有意义的,因为计划外停机所节省的资金令人难以置信。 LPC55S69可以包装在狭窄的空间内,消耗的功率很少,并且能够在传感器上进行一级数据缩减,因此非常适合许多“智能传感器”应用。 LPC55S69无需从系统传输大量数据,而是可以进行大量信号处理,以将复杂的时间序列减少为可在企业级别进行分析以确定是否会发生故障的其他指标。具有PowerQuad的LPC55S69非常适合工业IOT。

    LPC55S69 PowerQuad应用-电力线通信和计量

    LPC55S69 PowerQuad的一个完全不同但有趣的用例是电力线通信(PLC)。在许多传感器应用程序中,您需要发送和接收数据,但是您只能访问DC或AC电源线。您家中连接的许多新型智能电表都采用了这项技术。 PLC使用诸如正交频分复用(OFDM)之类的复杂技术在电力线上传输数据。 OFDM是一种有趣的技术,它使您可以跨多个频带(并行)在通信信道上发送数据位。它可以容忍噪声,因为您可以通过使用许多并行通道/频带(每个频带包含缓慢移动的数据)来实现高比特率。

    任何OFDM解决方案的核心要求是能够在输入的时间序列上实时计算快速傅立叶变换(FFT)。如果您可以有效地计算FFT,则可以在系统的发送端和接收端直接对数据进行编码/解码。使用FFT的bin,使用实部和虚部(幅度和相位)对数据进行编码,以构成数据“字”的位。在“ bin”中对数据进行编码后,就可以使用逆FFT来获取时间信号以输出到数模转换器。解码实质上是在信号开始时弄清楚,然后使用FFT来获取“ bin”。一旦有了频率槽,就可以查看幅度/相位信息以重建数据字。
    4.png
    5.png
    图5:OFDM时间序列,频域符号频谱和QAM符号。

    LPC55S69非常简化了OFDM过程,但是诸如PowerQuad之类的加速器是使其工作的关键要素。LPC55S69非常适合该特定应用,因为该算法的大多数复杂性都可以使用PowerQuad实现,而无需花费计算资源 (例如Cortex M33)来实现您的计量和测量应用程序。 所有这些都可以在小包装中消耗很少的有功电能的情况下完成。 一次,您将需要一块耗电的IC来执行此过程。


    翻译有问题的地方还请小伙伴们指出,谢谢!
    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-20 12:52 , Processed in 0.120068 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表