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

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

3天内不再提示

新型惯性传感器模块LSM6DSOX的应用案例及优势

牵手一起梦 来源:电子产品世界 作者:电子产品世界 2020-01-25 17:17 次阅读

在过去的十年中,物联网应用规模呈指数增长。大多数物联网应用都涉及在可能没有电源的位置测量物理数值。 增装电源线通常是行不通的,因此,电池是首选供电方案,并且无线数据传输是必选。物联网相关应用至少需要一个传感器获取数据和一个传输媒介发送数据。电源需要给数据传输媒介和传感器供电。在设计这种类应用时,需要在这个方面做出权衡和取舍:是最大限度延长电池续航时间还是提高数据传输频率?

应用设计者可用一个在市场上有售的重要工具来解决这个折衷难题。这个工具是一个精密的计算单元,可以执行参数测量和数据传输任务,效果和能效都很好,这样的计算单元通常是针对低功耗设计的通用微控制器。对于低功耗应用,无线数据传输比其它处理任务更重要,因此,物联网应用设计策略是,如果其它处理任务允许降低通信速度,则可以将计算单元转移到物联网端。

本文旨在于介绍创新传感器在降低产品功耗方面取得的新进展。意法半导体的新型惯性模块LSM6DSOX允许将算法处理过程全部或部分移至传感器的定制低功耗环境。这种方法具有广泛的可配置性,保证广泛的应用范围。本文结构如下:第一章介绍一个创新的嵌入式算法,并结合应用案例说明其优势。然后用两个章节专门介绍机器学习处理。最后一章介绍一个好用的定制支持软件,用户可以根据需求快速配置软件,创建新应用。

嵌入式算法方案

如前一章所述,简单的物联网应用模型包括发射器/接收器、计算单元、执行器或传感器和电池。

智能手环为例,智能手环能够识别用户活动,并输出相关活动数据:用户步行多远,乘车多长时间等。当然,智能手环应具有翻腕显示日期和时间的功能。蓝牙低功耗系统芯片是执行传输和控制的关键组件。该解决方案嵌入了完整的蓝牙网络处理器和运行应用程序的应用处理器。应用处理器包括低功耗微控制器、用户程序NVM存储器,数据存储器、编程存储器(NVM镜像)以及通信接口(SPI,I²C等)。从下面给出的系统示例可以大致估算出该解决方案的功率预算。这款内置微控制器的“智能”蓝牙模块通常具有不同的功耗模式,下面列出了最常见的模式:

睡眠模式:此模式用于关闭大多数内部模块或使其处于低功耗状态,最大程度地降低功耗。从此模式返回到正常工作模式需要一些时间(0.5-2 ms)。该模式电流消耗在0.5-2 µA之间。

微控制器工作模式:射频发射器/接收器关闭,微控制器正常工作。 此模式的电流消耗在1-3 mA之间。

射频收发模式:设备处于通信连接状态,功耗为3-20 mA。

我们讨论一下智能手环检测用户活动的用例。假设智能蓝牙模块中的微控制器通过I2C/SPI接口连接惯性模块,传感器数据输出数据速率配置为25Hz。每当嵌入式16 MHz时钟域生成样本时,微控制器就会退出睡眠模式,读取传感器数据并执行活动识别算法。高质量的活动识别算法用例平均需要4 ms的处理时间。蓝牙传输是间歇性的,取决于用户要求(一天一次)。

新型惯性传感器模块LSM6DSOX的应用案例及优势

图1:微控制器从睡眠到唤醒的时序

图1显示了微控制器运行算法时的占空比时序。Tstart是微控制器的唤醒时间,Talgo是算法的执行时间,Todr是传感器两次读取操作的间隔。

下面是总平均电流ITOT的基本计算公式,其中包含各种主要电流消耗参数:

ITOT = IBUS + ISLEEP + falgo * IUCORE * ( Tstart/2 + Talgo )

IBUS 是接口总线读取操作消耗的电流;SPI总线的读取电流应小于1 µA,I²C总线约在2-5 µA之间。射频是间歇性传输,所以功耗可以忽略不计。考虑到每个参数取值取其声明范围的中间值,最后得到的ITOT为230 µA。

嵌入式算法是经过重新配置的可以实现“活动识别”,工作电流小于8 µA。这里所说的嵌入式算法与在微控制器上运行的算法在性能和质量上完全相同。嵌入式解决方案的显著优势是在传感器内部生成可用数据,因此不存在IBUS功耗。此外,嵌入式解决方案完全没有微控制器安全退出睡眠状态所需的Tstart时间,当Tstart和IBUS两项参数均为零时,ITOT估算值是200 µA,这意味着,使用相同公式falgo*IUCORE*Talgo计算,算法从微控制器迁移到传感器使功耗降至二十五分之一。

因为意法半导体软件库和客户需求是已知的,并且是合并在一起的,所以,我们的策略是收集最常见的用例,然后将其分为两类。第一类是由非常适合使用有限状态机的算法组成,第二类基于需要统计分析(基于模式分析)并且可以通过决策网(树)有效实现的应用。针对这两大类应用,我们开发出一个覆盖现有算法的“元命令”集,并确保算法具有广泛的可重新配置性,以处理新的自定义需求。最后一步是算法分析,目的是找到最佳的低功耗且有效的算法定制逻辑。在不影响算法性能的情况下,按照特定应用需求简化算法。下面的两个章节介绍这两个模块和元数据。

机器学处理(MLP)

有限状态机是利用本身固有的演绎推理特性:从假设开始,检验达到特定逻辑状态的概率。对于运动检测算法,演绎推理是确定一系列事件是否满足“规则”。这种方法适用于大多数手势检测算法,当然,不能全部适用。例如,手机举起到放下的手势算法可以完全基于以下事实:手机加速度计检测到的重力主要是在同一个轴上,并在一个时间序列后,检测到的重力方向将会变成相反方向。修改一些参数就可以更改手势定义,这些参数包括轴定义、阈值和序列持续时间。步行检测等运动算法几乎不可能通过简单的状态机来定义,因为变量数量会急剧增加,传感器定位、频率、地形和个人行为导致感应信号变化很大。从上一个示例中,可以得出一个更具一般性的概念:虽然手机举起到放下的手势统计方差在一个人群中是较明显的,但是可以进行演绎推理应用设计;而步行动作会引起广泛的统计方差,演绎推理方法应该弃用,而采用归纳推理方法。

机器学习处理的基本原理是允许在芯片上执行数据驱动型算法,开发从输入模式构建模型的能力。在过去的十年中,互联网和物联网爆炸式增长,大量信息产生。 随着数据量急剧增加,数据管理工具也被开发出来,使数据开始有应用价值。MLP解决方案被认为是适合在惯性传感器上执行数据驱动算法。MLP具有很高的可重新配置性,在惯性传感器领域达到了预期效果,可以在超低功耗环境执行算法,适用于耗电量大的产品,例如,物联网算法。

数据挖掘是机器学习的一个重要分支:“数据挖掘是一个综合机器学习、模式识别和统计学的跨学科领域,其目的是发现知识。

数据挖掘工具最后生成一个决策树,应用设计是从一个数据模式集合开始,以在MLP内核上加载决策树结束。用户可以用支持软件管理整个应用设计过程,我们将在下一章介绍支持软件,本章介绍MLP内核背后的基本模块。

图4是机器学习处理内核的整体结构图。

图4:MLP内核整体结构图

从图中不难看出软件层和硬件层之间的边界。该应用设计从传感器数据模式开始,模式是描述MLP内核在运行时必须理解的知识。以活动识别算法为例,MLP从涉及要识别的活动(步行,跑步,运动的车辆,无运动等)的模式开始运行,目的是直接从传感器数据推出当前活动的结果。最多可以将3个传感器的数据配置为算法输入。陀螺仪和加速度计模块位于传感器内部,外部传感器(例如磁力计)的数据可以通过嵌入式I2C控制器读取。输入传感器数据由物理传感器的轴和数值组成(表VI。)。

表I. MLP的输入类型

新型惯性传感器模块LSM6DSOX的应用案例及优势

要想调理输入数据,还有多个可配置滤波器可用,如下表所示(表VII)。

表II. 内核中的滤波器类型

新型惯性传感器模块LSM6DSOX的应用案例及优势

原始数据和过滤数据都可以设为特征模块的输入,特征模块执行数据的统计计算,输出可以配置成多达19个不同的统计特征。表VIII中列出了可用特征。主要特征集分为触发式和窗口式两类,前者是按照特征事件计算的结果,后者是按照固定时窗间隔统计的结果。尽管所有特征计算结果可以是窗口式或触发式特征集,取决于用户配置,但只有这些特征的子集才可以生成触发信号。

表III:MLP内核的统计特征

新型惯性传感器模块LSM6DSOX的应用案例及优势

时钟特征是

在特征配置结束时,软件工具(下一章介绍)输出一个配置文件和一个ARFF文件。配置文件安装在惯性单元上用于配置MLP,ARFF文件用于数据挖掘工具,是与MLP处理器芯片匹配的。数据挖掘工具组建ARFF文件,针对特定应用案例优化(或“确定”)选择最佳的特征集,并输出决策树及相关统计性能。

在数据挖掘工具处理和反馈后,可以重新处理数据并优化特征集。

当统计性能符合期望时,可以通过意法半导体软件工具生成的配置文件将决策树加载到MLP内核上。

支持软件

意法半导体开发出一个使基于统计学/机器学习的方法适合编程的工具,有了这个工具,设备配置过程变得轻松快捷。

这个机器学习处理配置工具是一个扩展版的Unico GUI图形用户界面软件(意法半导体所有MEMS传感器演示板通用)。Unico软件连接基于STM32微控制器的主板,实现MEMS传感器与PC GUI之间的通信。该软件以图形和数字形式显示传感器输出,并允许用户保存或全面管理来自设备的数据。

Unico软件允许访问MEMS传感器寄存器,可以快速配置寄存器,并可以直接在设备上轻松测试配置。可以将当前寄存器的配置保存为文本文件,并可以从现有文件中加载配置。这样,可以在几秒钟内重新设置传感器。

基于统计/机器学习的算法要求收集数据日志。使用Unico GUI可以做到这一点。每个数据日志都必须关联预期结果(例如,静止,步行,跑步等)。该工具收集这些数据模式用于计算某些特征。

新型惯性传感器模块LSM6DSOX的应用案例及优势

图8:数据模式表

该工具可为原始数据选择滤波器,选择用过滤数据计算哪些特征,计算结果特征将是决策树的属性。几个步骤后,该工具将生成一个属性关系文件(ARFF)。

新型惯性传感器模块LSM6DSOX的应用案例及优势

图9:配置表

ARFF文件是决策树生成过程的入口。决策树可以由不同的机器学习工具生成。 怀卡托大学开发的软件Weka能够从属性关系文件开始生成决策树。Weka工具可以评估哪些属性适合决策树。通过更改Weka中所有可用参数,可以实现不同的决策树配置。

新型惯性传感器模块LSM6DSOX的应用案例及优势

图10:在Weka里的属性视图

新型惯性传感器模块LSM6DSOX的应用案例及优势

图6:Weka中的决策树生成

在决策树生成后,可以将其上传到意法半导体的软件工具,完成MEMS传感器的寄存器配置。

通过访问传感器寄存器,Unico GUI可以读取决策树输出状态。

应用案例

从第二部分介绍的示例开始,我们做了一些电流消耗测量,选择了一个活动识别算法作为示例。该算法的性能在模式数据库中经过明确评估,而且在普通通用微控制器上运行时电流消耗约为数百微安。利用上一章介绍的支持软件,可以轻松地配置MLP内核,运行该活动识别算法。

表IV:电流要求

新型惯性传感器模块LSM6DSOX的应用案例及优势

表IX 总结了在Cortex-M3 上运行活动识别算法的电流要求,以及在LSM6DSOx MLP上运行同一算法增加的电流需求。

结论

世界网络化程度越来越高:联网设备可以交换大量数据。物联网应用依赖于三个关键模块:感知、智能和通信。本文介绍了一种高度可配置的嵌入在惯性传感器中的数字模块。数字模块为传感器增加了智能,可以大幅降低系统级能耗。为了快速开发应用原型,随硬件一起提供了数字模块配置支持软件。上一章的应用案例清楚地表明,数字模块可大幅降低电流消耗。智能传感器是赋能电池续航能力至关重要的新应用的关键技术。

责任编辑:gt

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

    关注

    184

    文章

    17504

    浏览量

    249311
  • 传感器
    +关注

    关注

    2547

    文章

    50525

    浏览量

    751435
  • 物联网
    +关注

    关注

    2902

    文章

    44170

    浏览量

    370708
收藏 人收藏

    评论

    相关推荐

    怎样去设计一种基于LSM6DSOX运动传感器的机器学习电路?

    如何使用STMicroelectronics推出的智能运动传感器?怎样去设计一种基于LSM6DSOX运动传感器的机器学习电路?
    发表于 07-02 06:25

    lsm6dsox的ODR是否有可接受的偏差标准?

    lsm6dsox 配置为 1667Hz ODR。我测量了 9 个传感器的“数据就绪中断”间隔。它在 1629.69 和 1683.57Hz 之间。我想知道是否有可接受的偏差标准?
    发表于 12-09 07:14

    怎样使用LSM6DSOX低级驱动程序读取传感器数据呢

    我正在使用带有 STEVAL-MKI197V1 的 NUCLEO-L476RG,以 SPI 模式连接,没有任何扩展板。我的设置有效:我成功使用 LSM6DSOX 低级驱动程序读取传感器数据。但是我
    发表于 12-22 07:35

    lsm6dsox从机使用SPI通信可以吗

    大家好,我们在传感器中配置了加速度计正常模式下面的配置 - 加速度计正常模式电源模式 - 正常模式G 系列 - 16 克网上争议解决208HZCTRL8_XL (0x00)CTRL6_C (0x10
    发表于 12-23 07:38

    请问在哪可以找到LSM6DSO32和LSM6DSOX的驱动程序呢

    我正在寻找 LSM6DSO32X 的驱动程序。在示例代码中,我找到了 LSM6DSO32 和 LSM6DSOX 的驱动程序,它们相似但不完全相同。它们在某个地方可用吗?
    发表于 12-26 08:23

    如何使用LSM6DSOX进行倾斜检测?

    我正在使用内置倾斜功能的 LSM6DSOX。目前它给出了沿 3 轴倾斜的结果。有没有办法将它限制在一个轴上?
    发表于 01-12 06:09

    lsm6dsox如何以轮询方式读取数据?

    支持团队。的在我的项目中,我想尽快从 lsm6dsox 读取加速度和角速率。在轮询模式示例中,lsm6dsox_xl_flag_data_ready_get 函数在
    发表于 01-16 07:05

    如何轻松进行lsm6dso和lsm6dsox软件检测?

    我们为我们的开发使用两种类型的传感器lsm6dso 和 lsm6dsox。有必要检测传感器 SW 的类型(无需打开设备)。这很困难,因为地址(我们使用 i2c)是相同的,
    发表于 02-03 11:24

    LSM6DSOX嵌入式有限状态机的使用和配置的信息

    本文档旨在提供有关 ST 的 LSM6DSOX 嵌入式有限状态机的使用和配置的信息。LSM6DSOX 可配置为由用户定义的运动模式激活中断信号生成。为此,最多可以为运动检测独立编程 16 组嵌入式有限状态机
    发表于 09-06 06:36

    LSM6DSOX FSM手势识别基础示例

    最新的A+G系列芯片支持通过内嵌的 FSM功能实现一系列手势识别本文档以LSM6DSOX 为例介绍了配置要求以及FSM的实现流程
    发表于 09-06 08:05

    LSM6DSOX嵌入式有限状态机的使用和配置的信息

    本文档旨在提供有关 ST 的 LSM6DSOX 嵌入式有限状态机的使用和配置的信息。LSM6DSOX 可配置为由用户定义的运动模式激活中断信号生成。为此,最多可以为运动检测独立编程 16 组嵌入式有限状态机。
    发表于 09-13 07:33

    LSM6DSOX嵌入式有限状态机的使用和配置

    电子发烧友网站提供《LSM6DSOX嵌入式有限状态机的使用和配置.pdf》资料免费下载
    发表于 07-31 10:55 4次下载
    <b class='flag-5'>LSM6DSOX</b>嵌入式有限状态机的使用和配置

    基于LSM6DSOX的FSM状态机的腕部动作识别

    电子发烧友网站提供《基于LSM6DSOX的FSM状态机的腕部动作识别.pdf》资料免费下载
    发表于 07-31 10:23 0次下载
    基于<b class='flag-5'>LSM6DSOX</b>的FSM状态机的腕部动作识别

    LSM6DSOX MLC状态识别

    电子发烧友网站提供《LSM6DSOX MLC状态识别.pdf》资料免费下载
    发表于 07-31 15:14 0次下载
    <b class='flag-5'>LSM6DSOX</b> MLC状态识别

    LSM6DSOX FSM手势识别基础示例

    电子发烧友网站提供《LSM6DSOX FSM手势识别基础示例.pdf》资料免费下载
    发表于 07-31 15:16 2次下载
    <b class='flag-5'>LSM6DSOX</b> FSM手势识别基础示例