AN-1427
APPLICATION NOTEOne Technology Way • P.O. Box 9106 • Norwood, MA 02062-9106, U.S.A. • Tel: 781.329.4700 • Fax: 781.461.3113 • www.analog.com

SensorStrobe, Ultra Low Power, Time Synchronized, Sensor Data Sampling in the
ADuCM3027/ADuCM3029
INTRODUCTION

The SensorStrobe addresses the issues of the traditional
software approach due to the following reasons:Precise sampling of sensors synchronized to an accurate timebase is a requirement in a variety of wireless sensor network
applications, such as structural health monitoring, wearable
devices, and environment sensing. The sampling of sensor data
is dictated by the microcontroller unit (MCU). In the traditional
approach, the software on the MCU generates a general-purpose
input/output (GPIO) pulse, triggering the sensors at specificintervals to collect sensor data.

•••

The SensorStrobe works in hibernate mode, resulting in a
>10× reduction in the current consumption.
No software intervention is required after setup.
The pulse triggering mechanism is independent of thesoftware execution, generating continuous triggers (and no
drift) even during software execution.

This application note uses an example setup consisting of the
ADuCM3027/ADuCM3029 MCUs connected to the ADXL363
accelerometer to prove the >10× reduction in current consumption,
while acquiring the sample data using the SensorStrobe
mechanism. This reduction is evident when using the
SensorStrobe mechanism compared to a non SensorStrobe
software approach. Note that throughout this application note,
multifunction pins, such as XINT0_WAKE2/GPIO13, arereferred to either by the entire pin name or by a single functionof the pin, for example, XINT0_WAKE2, when only thatfunction is relevant.

The traditional approach has two issues. The approach involves
considerable software overhead, which increases current
consumption. The triggering of a pulse depends on the softwareof the MCU and, thus, can drift as time progresses.
This application note describes SensorStrobe®, a mechanism
from Analog Devices, Inc., that recognizes low power, consistent,
and synchronized data acquisition from sensors.

ADuCM3027/
ADuCM3029

ADXL363
SENSOR SAMPLE TRIGGER PULSE

RTC1_SS1

INT2

MCU WAKE-UP PULSEXINT0_WAKE2

INT1

15018-001

SPI

Figure 1. ADuCM3027/ADuCM3029 and ADXL363 Connection Diagram

Rev. A | Page 1 of 12

AN-1427

Application Note

TABLE OF CONTENTS
Introduction ...................................................................................... 1

The ADXL363 FIFO Read......................................................... 10

Revision History ............................................................................... 2

System Power Analysis .................................................................. 11

SensorStrobe Overview.................................................................... 3

Power Measurement .................................................................. 11

Features of the ADXL363 ............................................................ 3

Conclusion....................................................................................... 12

System Description ........................................................................... 5

Structural Health Monitoring (SHM) ..................................... 12Interface Between the MCU and the ADXL363 .......................... 5

Healthcare Monitoring .............................................................. 12

Data Transfer Sequence ............................................................... 6

Environmental Sensing.............................................................. 12

Software Overview ........................................................................... 7
Source Snippets ............................................................................. 8

REVISION HISTORY
6/2018—Rev. 0 to Rev. A
Changes to System Description Section, Figure 3, and Table 1.. 5
Deleted Figure 8; Renumbered Sequentially ............................... 11
Changes to Power Measurement Section .................................... 12
3/2017—Revision 0: Initial Version

Rev. A | Page 2 of 12

Application Note

AN-1427

SENSORSTROBE OVERVIEWThe ADXL363 has a 512 sample, first in, first out (FIFO) buffer
to store sensor data. This large FIFO saves power at the systemlevel. The MCU can be in hibernate mode while the ADXL363
autonomously records data in the FIFO buffer.

SensorStrobe is a mechanism for sampling sensors in an
efficient, low power, intrinsically synchronized manner.
The ADuCM3027/ADuCM3029 support this mechanism.
SensorStrobe can be used in the active, Flexi™ and hibernate
power modes of the ADuCM3027/ADuCM3029.
The SensorStrobe mechanism allows the ADuCM3027/
ADuCM3029 to be in hibernate mode (750 nA), while thesensors collect data at periodic intervals.
The SensorStrobe mechanism is combined with the external
trigger feature of the ADXL363 to collect the sensor data at thelowest possible power consumption.
SensorStrobe is an alarm function of the real-time clock (RTC)
in the ADuCM3027/ADuCM3029. In this mechanism, the
ADuCM3027/ADuCM3029 provide an external trigger for the
ADXL363 accelerometer. The trigger is on the SPI1_CS1/
SYS_CLKOUT/GPIO43/RTC1_SS1 (RTC SensorStrobe) pin
and is a one-cycle, high pulse of the low frequency clock source(32 kHz) driven out through a single GPIO on the ADuCM3027/
ADuCM3029. This pulse is periodic, ensuring no time variability
in the sensor sampling with a high degree of configurability forthe periodicity.

FEATURES OF THE ADXL363
The ADXL363 is an ultra low power, three sensor device
combining a 3-axis microelectromechanical systems (MEMS)
accelerometer, a temperature sensor, and an analog-to-digitalconverter (ADC) input for synchronized conversions of externalsignals.

The ADXL363 is configured in the external trigger mode. The
ADuCM3027/ADuCM3029 generate these trigger pulses on the
SPI1_CS1/SYS_CLKOUT/GPIO43/RTC1_SS1 pin. On eachtrigger, the ADXL363 collects and stores the data to the FIFO
(up to 512 samples of two bytes each) buffer.
The ADXL363 is programmed to interrupt and wake up the
MCU when the FIFO buffer reaches a watermark of 480 samplesof two bytes each. Using the watermark feature leaves room in
the FIFO buffer for more samples to be taken while the MCU
wakes and begins draining the FIFO buffer.
The ADXL363 supports register read and write access over theserial peripheral interface (SPI). The access can be a single byteor multiple bytes. The FIFO buffer implementation is forconsecutive samples to be read continuously via a multibyte
read of unlimited length. Thus, one FIFO buffer read
instruction can drain the entire contents of the FIFO buffer.
In other accelerometers, each read instruction retrieves only asingle sample. In addition, the ADXL363 FIFO buffer can be
drained using the ADuCM3027/ADuCM3029 direct memory
access (DMA) controller.
The ADuCM3027/ADuCM3029 efficiently communicate with
the ADXL363 using the read command mode in the SPI, which
reduces the overall system power by lowering SPI protocol
overhead.

Rev. A | Page 3 of 12

AN-1427

Application Note

POWER UPCONFIGURE RTC FOR SensorStrobe
ENTER HIBERNATE MODE

PULSE ON RTC1_SS1
COLLECTSENSORDATA

PULSE ON RTC1_SS1

COLLECTSENSORDATA

PULSE ON RTC1_SS1
ADuCM3027/
ADuCM3029
IN HIBERNATE
MODE

COLLECTSENSORDATA

FIFO WATERMARKREACHED,
INTERRUPT MCUINTERRUPT MCUINITIATE READ COMMAND MODE ON

ACTIVEOR
Flexi™
MODE

DATA TRANSFERPULSE ON RTC1_SS1

ADuCM3027/
ADuCM3029
IN HIBERNATE
MODE

COLLECTSENSORDATA
PULSE ON RTC1_SS1
COLLECTSENSORDATA
PULSE ON RTC1_SS1

ADXL363

ADuCM3027/
ADuCM3029

Figure 2. Data Sequence Diagram

Rev. A | Page 4 of 12

15018-002

COLLECTSENSOR
DATA

Application Note

AN-1427

SYSTEM DESCRIPTION
An example system was built to demonstrate the benefits ofusing the SensorStrobe. This system consists of an EV-COGAD3029LZ connected with a multimeter. These systemcomponents connect in series to measure the system current
consumption.
+

MULTIMETER–

The ADXL363 is configured for measurement mode and tointerrupt the MCU when the FIFO watermark is reached. The
ADXL363 configuration is further described in the Software
Overview section.
The SensorStrobe mechanism on the ADuCM3027/ADuCM3029
is enabled, and the ADuCM3027/ADuCM3029 are placed inhibernate mode. The trigger pulse is generated at 128 Hz.

TH2

On every pulse, the ADXL363 takes a sample and stores the sample
in the FIFO buffer. When the FIFO upper watermark is reached,
the ADXL363 interrupts the ADuCM3027/ADuCM3029 via the
XINT0_WAKE2/GPIO13 pin.

GPIO28

ADuCM3029

INTERFACE BETWEEN THE MCU AND THE ADXL363

RTC1_SS1

VDDI/OINT1

ADXL36315018-003

SPI

EV-COG-AD3029LZ

Figure 3. System Connection for Current Measurement

The ADuCM3027/ADuCM3029 use the read mode feature to
drain the entire FIFO in a single command, minimizing the SPI
protocol overhead. The DMA controller can drain the FIFO
buffer, further reducing the active time and system current
consumption of the MCU.
SensorStrobe enables the ADuCM3027/ADuCM3029 togenerate trigger pulses on the SPI1_CS1/SYS_CLKOUT/
GPIO43/RTC_SS1 pin, even in hibernate mode. The
configuration of the pulse generation is in the RTC1 registers
and GPIO pin multiplexing.
In Flexi mode, DMA can transfer SPI data, further reducing thepower consumption of the system.

Table 1. Interface Connection Between the ADuCM3027/ADuCM3029 MCUs and the ADXL363 on EV-COG-AD3029LZ
MCU
SPI1_MOSI/GPIO23
SPI1_MISO/GPIO24
SPI1_CLK/GPIO22
SPI0_CS1/SYS_CLKIN/SPI1_CS3/GPIO26
SPI1_CS1/SYS_CLKOUT/GPIO43/RTC1_SS1
XINT0_WAKE2/GPIO13
GPIO28ADXL363
MOSI
MISO
SCLK
CS
INT2
INT1
VDDI/O

Description
SPI data (from the MCU to the ADXL363.
SPI data (from the ADXL363 to the MCU).
SPI clock.
SPI chip select.
RTC_SS1.
The ADXL363 uses the INT1 pin to wake up the MCU from hibernate mode.
Power up the ADXL363 using GPIO.

Rev. A | Page 5 of 12

AN-1427

Application Note

DATA TRANSFER SEQUENCE
The sensor data collection by the MCU occurs in two phases.
Figure 4 and Figure 5 show the activity of the signals during
these phases.

First, the SPI1_CS1/SYS_CLKOUT/GPIO43/RTC1_SS1 pin
acts as an external trigger for the ADXL363 to collect samples in
the FIFO buffer. Second, the ADXL363 FIFO buffer reads thecontents over the SPI.
NO SPI CLOCK

SPI1_SCLK

RTC1_SS1
GENERATED AT
128Hz

XINT0_WAKE2

15018-004

RTC1_SS1

INT1 LINE NOTASSERTED BY ADXL363

Figure 4. Phase 1—Data Acquisition Phase: RTC_SS1 Triggers to ADXL363
INT1 LINE ASSERTEDBY ADXL363
XINT0_WAKE2SPI CLOCKSPI1_SCLKNO RTC1_SS1
PULSE
RTC1_SS1

DATA READ
ON MISO

SPI1_MISO

15018-005

SPI1_CS3

SPI1_MOSI

Figure 5. Phase 2—Data Transfer to the MCU: Reading the ADXL363 FIFO over the SPI

Rev. A | Page 6 of 12

Application Note

AN-1427

SOFTWARE OVERVIEWThis section describes the software flow in the example system.
POWER-ON RESETINITIALIZE SPISET UP XINT0_WAKE2/GPIO13
AS INTERRUPTCONFIGURE REAL-TIME CLOCKAS SENSORSTROBE OUTPUTENTER HIBERNATE MODE

15018-006

CONFIGURE ADXL363 (OVER SPI)

Figure 6. Initialization and Configuration Steps
INTERRUPTFROM
ADXL363

WAKE FROMHIBERNATE MODE

READ ADXL363 FIFO USING SPI READ
COMMAND MODE

ENTER HIBERNATE MODE

15018-007

PROCESS THE DATA

Figure 7. FIFO Read Over SPI (Using the Read Command): Reading Data from the ADXL363

Rev. A | Page 7 of 12

AN-1427

Application Note

SOURCE SNIPPETS

pREG_<module>_<name> is the board support package
method of referring the register. The same register in the
ADuCM302x Ultra Low Power ARM Cortex-M3 MCU with
Integrated Power Management Hardware Reference is referred to
as <module>_<name>.

The reference source snippets for configuration and reading
data are given in this section.

RTC Configuration for SensorStrobe#define PRD_VAL 255
void SensorStrobe_Cfg(){// SensorStrobe Pin Mux*pREG_GPIO2_CFG |= (0x3 << BITP_GPIO_CFG_PIN11);// Reset the RTC counter
while(*pREG_RTC1_SR1 & 0x0180); //wait until sync
*pREG_RTC1_SR0 = 0xFF;*pREG_RTC1_CR0 = 0;
while(!(*pREG_RTC1_SR0 & 0x0080 )); //wait for sync// SensorStrobe configuration// Initial trigger and auto reload value = 255 RTC counts// RTC runs at 32KHz ideally, 1 RTC count = 30.7us
while(*pREG_RTC1_SR5 != 0);*pREG_RTC1_SS1ARL = PRD_VAL;// SensorStrobe to be triggered after 255 RTC counts*pREG_RTC1_CR4SS = (1 << 9); //Enable Autoreload*pREG_RTC1_SS1 = PRD_VAL; // Initial Compare Value// Enable SensorStrobe*pREG_RTC1_CR3SS = 1;
while(*pREG_RTC1_SR4 != 0x77FF);// Initialize the counter value to zero
while(*pREG_RTC1_SR1 & 0x0600);*pREG_RTC1_CNT0 = 0;
*pREG_RTC1_CNT1 = 0;
while(!(*pREG_RTC1_SR0 & 0x0400));// Enable (start) the counter
while(*pREG_RTC1_SR1 & 0x0180); //wait until sync
*pREG_RTC1_SR0 = 0xFF;*pREG_RTC1_CR0 = 1;
while(!(*pREG_RTC1_SR0 & 0x0080)); //wait for sync
return;}Rev. A | Page 8 of 12

Application Note

AN-1427

Configuration of the ADXL363
During the initialization phase, the ADXL363 is configured by
the ADuCM3027/ADuCM3029 through the SPI. Every SPI
transaction during the configuration consists of 2-byte transfersfrom the ADuCM3027/ADuCM3029. The first byte indicates
the ADXL363 register address, and the second byte indicatesthe value to be written to the register.

The adxl_configure function highlights the register writes
required to configure the ADXL363, as used in thedemonstration application. See the adxl_configure section forthe code.
Refer to the ADXL363 data sheet for information on theregisters and settings.

The steps are shown in the following code snippet of theadxl_write_reg function. See the adxl_write_reg section forthe code.

adxl_write_reg
void adxl_write_reg (unsigned char reg, unsigned char data){
adxl_access(1);//Enable chipselectspi_byte_tx(0x0A);//Enable write

spi_byte_tx(reg);//Write register

spi_byte_tx(data);//Write data

adxl_access(0);//Disable chipselect}adxl_configure
void adxl_configure(){// Softresetadxl_write_reg (0x1F,0x52);// Activity configuration
adxl_write_reg (0x27,0x35);// FIFO configuration
adxl_write_reg (0x28,0x00);
adxl_write_reg (0x28,0xFF);// FIFO samples configuration
adxl_write_reg (0x29,0xDF);// FIFO_watermark int
adxl_write_reg (0x2A,0x84);// Filter control
adxl_write_reg (0x2C,0x08);// Power control
adxl_write_reg (0x2D,0x06);}

Rev. A | Page 9 of 12

AN-1427

Application Note

THE ADXL363 FIFO READ
When the ADXL363 reaches the FIFO watermark (960 bytes),
an interrupt is triggered to wake the MCU, which drains the
ADXL363 FIFO via the SPI.
void ReadFifo_adxl(){
int j=0;// SPI2 configuration*pREG_SPI2_CTL = 0x0803;// Number of bytes to read*pREG_SPI2_CNT = 960;
*pREG_SPI2_IEN = 7;// Enable Read command mode
*pREG_SPI2_RD_CTL = 1;// Enable ADXl Chipselectadxl_access(1);// Flush out Rx FIFO
while(*pREG_SPI2_FIFO_STAT & 0xF00)*pREG_SPI2_RX;// 0x0D written to kickstart the FIFO read from ADXL363*pREG_SPI2_TX = 0x0D;// Dummy read*pREG_SPI2_RX;// Number of samples
while(j < 120){if(*pREG_SPI2_STAT & BITM_SPI_STAT_RXIRQ){*pREG_SPI2_STAT |= BITM_SPI_STAT_RXIRQ;
i=0;
while(i<8){*(data_ref + (8 * j) + i) =*pREG_SPI2_RX;
i++ ; }j++;}}adxl_access(0);// Reset SPI*pREG_SPI2_RD_CTL = 0;
*pREG_SPI2_IEN = 0;
*pREG_SPI2_CTL = 0x0843;}

Rev. A | Page 10 of 12

Application Note

AN-1427

SYSTEM POWER ANALYSIS

•
•
•

4.0
3.5

Sampling and storing raw sensor data to the FIFO bufferwhen triggered by the ADuCM3027/ADuCM3029.
Responding to SPI communication from the hostprocessor.
Interrupting and waking up the host processor as the FIFO
buffer fills.

3.0
2.5
2.0
1.5
1.0
0.5
AVERAGE ~4.2µA
0

TIME (Seconds)

POWER MEASUREMENT

Figure 8. Power Measurement with SensorStrobe

Power Measurement Without SensorStrobe

3.
4.
5.

Load the application code into the MCU.
Connect the positive terminal of the multimeter to the left
pin of TH2 on the EV-COG-AD3029LZ.
Connect the other end of the multimeter to the right pin of
TH2 on the EV-COG-AD3029LZ.
Click the RESET button on the board.
Monitor the current consumption on the multimeter.

Table 2 shows the current consumption of both the ADuCM3027/
ADuCM3029 and the ADXL363 in the different power modes
used in this application note.
Figure 8 and Figure 9 show the difference in power
consumption during the sensor data collection, with andwithout the SensorStrobe mechanism, respectively. All themeasurements are performed on the ADuCM3027/ADuCM3029
EV-COG-AD3029LZ.

Figure 9 shows the current profile of the sample acquisition
system when not using SensorStrobe. In the absence of theSensorStrobe mechanism, the host processor generates thetrigger pulses by waking up on an RTC interrupt and toggling a
GPIO pin. The average current measured is approximately 75 µA.
5.0
4.5
4.0
3.5

IBAT (mA)

The following steps describe how to monitor the current
consumption of the system:
1.
2.

15018-009

The ADXL363 sensor is responsible for the following:

4.5

3.0
AVERAGE ~75µA

2.5
2.0
1.5
1.0
0.5
0

Power Measurement with SensorStrobe
Figure 8 shows the current profile of the demonstration system
when using SensorStrobe methodology. SensorStrobe enables

TIME (Seconds)

15018-010

•
•

5.0

0
0.032
0.063
0.095
0.126
0.158
0.189
0.221
0.253
0.284
0.316
0.347
0.379
0.410
0.442
0.473
0.505
0.536
0.568
0.599
0.631
0.662
0.694
0.725
0.757
0.788
0.820
0.851
0.883
0.915
0.946
0.978
1.011

•

Switching between power modes (for example, active andhibernate modes, as required).
Configuring the RTC to generate sample trigger pulses to
the ADXL363.
Controlling SPI communication with the ADXL363.
Storing the raw data from the ADXL363 (processing ortransmitting resultant data is not implemented in thesystem described in this application note).

0
0.032
0.063
0.095
0.126
0.158
0.189
0.221
0.253
0.284
0.316
0.347
0.379
0.410
0.442
0.473
0.505
0.536
0.568
0.599
0.631
0.662
0.694
0.725
0.757
0.788
0.820
0.851
0.883
0.915
0.946
0.978

•

the host processor to remain in hibernate mode while
generating trigger pulses driving the sensor to capture and store
data samples. The average current measured is approximately
4.2 µA.

IBAT (mA)The ADuCM3027/ADuCM3029 host processor is responsible
for the following:

Figure 9. Power Measurement Without SensorStrobe

Table 2. Power Consumption of the ADuCM3027/ADuCM3029 and the ADXL363
Device
ADuCM3027/
ADuCM3029

ADXL363

Mode
Hibernate mode

Current Consumption
750 nA

Flexi mode

300 µA

Active mode
Normal mode

30 µA/MHz
1.8 µA

Description
Power of core and peripherals gated with 8 kB random access memory (RAM)is retained and the low frequency crystal enabled.
The core is clock gated, but the remainder of the system is active. DMA
transfers can continue between peripherals and memory.
Full system is active.
Measurement mode.

Rev. A | Page 11 of 12

AN-1427

Application Note

CONCLUSION
With the SensorStrobe mechanism, the current consumption of
a sensor sample acquisition system reduces drastically. In thedemonstration system explained in this application note, theaverage current consumption reduces from 75 µA to 4.2 µA.
The SensorStrobe mechanism of the ADuCM3027/ADuCM3029
helps designers leverage the low power feature of the ADXL363,
which results in a reduction of >10× in current consumption.
The SensorStrobe mechanism of the ADuCM3027/ADuCM3029
benefits an ultra low power system by reducing the overall
current consumption, which extends the battery life of thesystem. Some of the applications that can leverage this benefit
are mentioned in Structural Health Monitoring (SHM) section,
the Healthcare Monitoring section, and the Environmental
Sensing section.

STRUCTURAL HEALTH MONITORING (SHM)
Sensor nodes in SHM are often deployed in unpowered
structures such as bridges, towers, or geographically remotelocations. Periodic battery replacement is a hindrance andincreases the lifetime maintenance cost. A sensor node with alonger battery life reduces maintenance costs considerably.

HEALTHCARE MONITORING
Healthcare monitoring applications involve monitoring the body
position measurement, the location of the person, and the vital
signs of the patient. These monitoring devices are usually wearable
or implant devices. Reducing the system current consumption
increases the battery health of these devices.

ENVIRONMENTAL SENSING
Various environmental sensing applications, such as air
pollution monitoring, forest fire detection, and landslide
detection, require sensor node deployment in remote areas.
These remote areas are often not line powered. Extending thebattery life of these nodes reduces maintenance cost.

©2017–2018 Analog Devices, Inc. All rights reserved. Trademarks andregistered trademarks are the property of their respective owners.
AN15018-0-6/18(A)Rev. A | Page 12 of 12