×
模拟电路设计 > 详情

ADuCM3027/ADuCM3029中的SensorStrobe、超低功耗、时间同步传感器数据采样

发布时间:2022-05-16 发布时间:
|

简介

与一个精确时间同步的传感器精密采样,是建筑健康监控、可穿戴式设备、环境检测等各类无线传感器网络应用的要求。传感器数据采样由微控制器单元(MCU)支配。传统方法是利用MCU上的软件产生通用输入/输出(GPIO)脉冲,然后以特定间隔触发传感器收集数据。

传统方法有两个问题。一是涉及到相当大的软件开销,这会提高功耗。二是脉冲触发取决于MCU软件,因此可能随着时间推移而发生漂移。

本应用笔记介绍ADI公司的SensorStrobe™机制,利用它可实现低功耗、一致、同步的传感器数据采集。

ADuCM3027/ADuCM3029具备SensorStrobe机制。此机制支持与ADuCM3027/ADuCM3029MCU相连的传感器实现时间同步的数据采样。

SensorStrobe解决了传统软件方法的问题,理由如下:

•工作在休眠模式,功耗降低10倍以上。

•设置之后无需软件干预。

•脉冲触发机制独立于软件执行,即使在软件执行期间也能产生连续触发脉冲(且无漂移)。

本应用笔记使用一个示例设置,其中ADuCM3027/ADuCM3029MCU连接到ADXL363加速度计,以证明利用SensorStrobe机制采集样本数据时功耗降低超过10倍。将SensorStrobe机制与非SensorStrobe的软件方法进行比较,这一降幅是很明显的。

图1.ADuCM3027/ADuCM3029和ADXL363连接图

目录

简介1

修订历史2

SensorStrobe概述3

ADXL363特性3

系统描述5

MCU和ADXL363之间的接口5

数据传输序列6

软件概述7

源代码片段8

ADXL363FIFO读操作10

系统功耗分析11

功耗测量11

结语13

结构健康监控(SHM)13

医疗保健监护13

环境检测13

修订历史

2017年3月—修订版0:初始版

SENSORSTROBE概述

SensorStrobe是一种以高效率、低功耗、内在同步的方式进行传感器采样的机制。ADuCM3027/ADuCM3029支持这种机制。SensorStrobe可以在ADuCM3027/ADuCM3029的活动、灵活(Flexi™)和休眠三种功耗模式下使用。

SensorStrobe机制允许ADuCM3027/ADuCM3029处于休眠模式(750nA),同时传感器以固定间隔周期性收集数据。

SensorStrobe机制与ADXL363的外部触发特性相结合,以最低可能功耗收集传感器数据。

SensorStrobe是ADuCM3027/ADuCM3029中的实时时钟(RTC)的一种报警功能。通过此机制,ADuCM3027/ADuCM3029为ADXL363加速度计提供外部触发信号。触发信号位于RTC1_SS1(RTCSensorStrobe)引脚上,是通过ADuCM3027/ADuCM3029上的单一GPIO驱动出来的低频时钟源(32kHz)的单周期、高电平脉冲。此脉冲是周期性的,确保传感器采样时间无变化,而其周期具有高度可配置性。

ADXL363特性

ADXL363是一款超低功耗、三传感器器件,集三轴微机电系统(MEMS)加速度计、温度传感器和模数转换器(ADC)输入于一体,用于同步采样外部信号。

ADXL363有一个512样本先进先出(FIFO)缓冲器用以存储传感器数据。这种大FIFO可节省系统功耗。在ADXL363将数据自主记录到FIFO缓冲器的同时,MCU可以处于休眠模式。

ADXL363配置为外部触发模式。ADuCM3027/ADuCM3029在RTC_SS引脚上产生这些触发脉冲。每个触发脉冲到来时,ADXL363便收集并存储数据到FIFO(最多512个样本,每样本两个字节)缓冲器中。

对ADXL363进行编程,当FIFO缓冲器达到480样本(每样本两个字节)的水印时,它便中断并唤醒MCU。使用水印特性可以让FIFO留下余地以供接收更多样本,与此同时,MCU唤醒并开始清空FIFO缓冲器。

ADXL363支持通过串行外设接口(SPI)进行寄存器读写访问。访问可以是单字节或多字节访问。实现FIFO缓冲器的目的是通过不限长度的多字节读取来连续读取连贯的样本。因此,一个FIFO缓冲器读指令便可清空FIFO缓冲器的全部内容。

而在其他加速度计中,每个读指令只能检索到一个样本。此外,ADXL363FIFO缓冲器还可以利用ADuCM3027/ADuCM3029直接存储器访问(DMA)控制器清空。

利用SPI接口的读命令模式,ADuCM3027/ADuCM3029与ADXL363高效通信,通过减少SPI协议开销来降低系统整体功耗。

图2.数据序列图

系统描述

我们构建了一个示例系统来说明使用SensorStrobe的优点。此系统包括一个EVAL-ADuCM3029EZ-KIT万用表和电流源表。这些系统器件串联起来测量系统电流消耗。

图3.电流测量的系统连接

MCU和ADXL363之间的接口

一步说明。

使能ADuCM3027/ADuCM3029的SensorStrobe机制,并将ADuCM3027/ADuCM3029置于休眠模式。触发脉冲以128Hz速率产生。

每收到一个脉冲,ADXL363便获取样本并将其存储在FIFO缓冲器中。当达到FIFO上水印时,ADXL363便通过SYS_WAKE3(P2_01)引脚中断ADuCM3027/ADuCM3029。

ADuCM3027/ADuCM3029利用读模式特性通过单个命令清空整个FIFO,使SPI协议开销最小。DMA控制器可以清空FIFO缓冲器,进一步降低MCU的工作时间和系统电流消耗。

通过SensorStrobe,ADuCM3027/ADuCM3029即便在休眠模式下也能在GPIO43引脚上产生触发脉冲。脉冲产生配置取决于RTC1寄存器和GPIO引脚复用。

在灵活模式下,DMA可以传输SPI数据,进一步降低系统功耗。

数据传输序列

MCU收集传感器数据分两个阶段进行。图4和图5显示了这些阶段中的信号活动情况。

首先,RTC1_SS1引脚充当外部触发信号,ADXL363收集样本并存储到FIFO缓冲器中。然后,ADXL363FIFO缓冲器通过SPI读取内容。

图4.第一阶段——数据采集阶段:RTC_SS触发ADXL363

图5.第二阶段——数据传输至MCU:通过SPI读取ADXL363FIFO



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
PFC控制电路IR1150S应用图解