Datasheet
MMA8451Q
Sensors
Freescale Semiconductor, Inc. 41
6.7 Auto-WAKE/SLEEP Detection
The ASLP_COUNT register sets the minimum time period of inactivity required to change current ODR value from the value
specified in the DR[2:0] register to ASLP_RATE register value, provided the SLPE bit is set to a logic ‘1’ in the CTRL_REG2
register. See Table 59 for functional blocks that may be monitored for inactivity in order to trigger the “return to SLEEP” event.
D7-D0 defines the minimum duration time to change current ODR value from DR to ASLP_RATE. Time step and maximum
value depend on the ODR chosen as shown in Ta bl e 59 .
* If the FIFO_GATE bit is set to logic ‘1’, the assertion of the SRC_ASLP interrupt does not prevent
the system from transitioning to SLEEP or from WAKE mode; instead it prevents the FIFO buffer from
accepting new sample data until the host application flushes the FIFO buffer.
In order to wake the device, the desired function or functions must be enabled in CTRL_REG4 and set to WAKE to SLEEP in
CTRL_REG3. All enabled functions will still function in SLEEP mode at the SLEEP ODR. Only the functions that have been
selected for WAKE from SLEEP will WAKE the device.
MMA8451Q has four functions that can be used to keep the sensor from falling asleep; Transient, Orientation, Tap and Motion/
Freefall. One or more of these functions can be enabled. In order to WAKE the device, four functions are provided; Transient,
Orientation, Tap, and the Motion/Freefall. Note that the FIFO does not WAKE the device. The Auto-WAKE/SLEEP interrupt does
not affect the WAKE/SLEEP, nor does the data ready interrupt. The FIFO gate (bit 7) in Register 0x2C, when set, will hold the last
data in the FIFO before transitioning to a different ODR. After the buffer is flushed, it will accept new sample data at the current
ODR. See Register 0x2C for the WAKE from SLEEP bits.
If the Auto-SLEEP bit is disabled, then the device can only toggle between STANDBY and WAKE mode. If Auto-SLEEP
interrupt is enabled, transitioning from ACTIVE mode to Auto-SLEEP mode and vice versa generates an interrupt.
0x29: ASLP_COUNT Register (Read/Write)
Bit
7
Bit
6
Bit
5
Bit
4
Bit
3
Bit
2
Bit
1
Bit
0
D7 D6 D5 D4 D3 D2 D1 D0
Table 58. ASLP_COUNT Description
D[7:0] Duration value. Default value: 0000_0000.
Table 59. ASLP_COUNT Relationship with ODR
Output Data Rate
(ODR)
Duration ODR Time Step ASLP_COUNT Step
800 Hz 0 to 81s 1.25 ms 320 ms
400 Hz 0 to 81s 2.5 ms 320 ms
200 Hz 0 to 81s 5 ms 320 ms
100 Hz 0 to 81s 10 ms 320 ms
50 Hz 0 to 81s 20 ms 320 ms
12.5 Hz 0 to 81s 80 ms 320 ms
6.25 Hz 0 to 81s 160 ms 320 ms
1.56 Hz 0 to 162s 640 ms 640 ms
Table 60. SLEEP/WAKE Mode Gates and Triggers
Interrupt Source
Event restarts timer and
delays Return to SLEEP
Event will WAKE from SLEEP
FIFO_GATE Yes No
SRC_TRANS Yes Yes
SRC_LNDPRT Yes Yes
SRC_PULSE Yes Yes
SRC_FF_MT Yes Yes
SRC_ASLP No* No*
SRC_DRDY No No