1.前言
本应用指南旨在帮助开发者了解罗姆集团旗下Kionix公司的KX13x系列三轴加速度传感器搭载的独有功能——高级数据路径(Advanced Data Path,ADP)。ADP由用户可定制的频率滤波器和一个均方根(RMS)计算器组成,后者是提供所需带宽内的加速度振幅。X、Y和Z轴的16位ADP输出可以从专用输出寄存器中读取,存储在512字节的FIFO缓存中,然后被路由至Wake-Up(唤醒)和Back-to-Sleep(返回睡眠)引擎。通过设置想要的阈值振幅和计数器值,可以针对特定的动作、旋转或振动产生中断。本文将通过介绍两个简单的示例来直观地展示该新功能的优势。
图1:高级数据路径(ADP)原理示意
现实世界中的加速度信息(左)由不同频率和振幅混合而成,KX13x的ADP不仅可以捕获这些信息,而且能够输出指定频率范围内的加速度振幅(右侧列举了各种情况示例)。
2.数据流
图2所示的是一张普通数据流图。该图顶部的第一个方块是数字加速度计的传统数据路径(ConvenTIonal Data Path,CDP)。CDP包含来自MEMS的模拟输入、一个负责放大信号的模拟前端(AFE)、一个负责信号数字化的模数转换器(ADC)以及一个负责进一步处理的数字信号处理(DSP)单元。高级数据路径(ADP)包含一对高度可配置的数字滤波器——可用于低通和高通的组合滤波器,以及计算实时振幅的均方根(RMS)计算器。用户可以灵活地对ADP滤波器进行访问并设置。该滤波器可以设为Butterworth、Bessel、Chebyshev滤波器,甚至配置成自定义滤波器。ADP的输出可以存储在专用输出寄存器,也可以被路由至内置的512字节FIFO缓存,也可以两种方式同时实现。此外,ADP输出可以作为一个输入路由到内置的动作Wake-Up(唤醒)和Back-to-Sleep(返回睡眠)引擎。这些引擎可配置阈值和灵活的计数器,从而进一步限定信号。如果满足输入信号判定标准,那么器件中的中断发生器将为主机产生一个物理中断,并设置相应的状态寄存器。图2所示的是当检测到“持续了Th时间的特定振动”时产生中断的示例情况。
图2:ADP数据流
3.应用实例
3.1.机器健康状况
假设fop为机械系统(比如旋转电机)的工作频率,fe为系统的错误/故障模式频率(图3)。在此例中,fe低于fop并且在该图中显示,也就是说,由于机身松动,电机正在缓慢振动。对于传统加速度传感器,为了检测这种故障模式,人们需要用MCU/DSP进行频率分析。而MCU/DSP一直保持工作状态,会导致额外的内存空间需求以及更高的功耗。
而KX13x的ADP仅使用加速度传感器就能够检测到这种事件,而且,如果把ADP数字滤波器设置为带通或低通滤波器,让fe通过而消除fop,还能为主机MCU产生中断。
图3:正常系统动作和故障系统动作的频率分析
在图4中,请注意,ADP被配置为低通滤波器以消除fop,而且RMS计算引擎被配置为获取所需故障模式信号的绝对值。动作引擎中的信号阈值(中间波形)用于限定事件。最后,图下部的波形显示了由运动引擎生成的真实信号。检测到故障事件后,INS3寄存器中的WUFS位会被置位,而外部中断引脚(如果已配置)则产生中断信号。
图4:ADP将目标信号从原始加速度数据中分离出来,并将振幅信息传递给运动引擎
3.2.包络分析
包络分析是一种周期性振动故障检测的有效方法,比如减摩轴承失效。ADP可用于生成加速度数据的包络线(* 1)。包络波形的快速傅里叶变换(FFT)可以显示振动周期,这有助于识别系统中的缺陷部件。在该例中,ADP滤波器应配置为“带通”:同时包含振动频率和误差频率,排除直流噪声和高频噪声。
(*1)注:ADP输出是伪包络,不是希尔伯特变换结果。
图5:轴承球体故障引起的周期性振动
包络波形可以存储在KX13x的512字节缓冲区中,也可发送到主机处理器进行FFT分析。
图6:使用原始加速度数据及其包络的FFT
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)