Document Number: MMA68xx
Rev. 5, 03/2012
Freescale Semiconductor
Data Sheet: Technical Data
© 2010-2012 Freescale Semiconductor, Inc. All rights reserved.
Dual-Axis SPI Inertial Sensor
MMA68xx, a SafeAssure solution, is a SPI-based, 2-axis, medium-g, over-
damped lateral accelerometer designed for use in auto motive airbag systems.
Features
±20g to ±120g full-scale range , independently specified for each axis
3.3V or 5V single supply operation
SPI-compatible serial interface
10-bit digital signed or unsigned SPI data output
Independent programmable arming functions for each axis
Twelve low-pass filter options, ranging from 50 Hz to 1000 Hz
Optional offset cancellation with > 6s averaging period and < 0.25 LSB/s slew
rate
Pb-Free 16-Pin QFN-6 by 6 Package
Referenced Documents
AECQ100, Revision G, dated May 14, 2007 (http://www.aecouncil.com/)
ORDERING INFORMATION
Device X-Axis
Range Y-Axis
Range Shipping
MMA6811BKW ±60g ±25g Tubes
MMA6813BKW ±50g ±50g Tubes
MMA6821BKW ±120g ±25g Tubes
MMA6823BKW ±120g ±60g Tubes
MMA6825BKW ±100g ±100g Tubes
MMA6826BKW ±60g ±60g Tubes
MMA6827BKW ±120g ±120g Tubes
MMA6811BKWR2 ±60g ±25g Tape & Reel
MMA6813BKWR2 ±50g ±50g Tape & Reel
MMA6821BKWR2 ±120g ±25g Tape & Reel
MMA6823BKWR2 ±120g ±60g Tape & Reel
MMA6825BKWR2 ±100g ±100g Tape & Reel
MMA6826BKWR2 ±60g ±60g Tape & Reel
MMA6827BKWR2 ±120g ±120g Tape & Reel
MMA68xx
16 LEAD QFN
6 mm by 6 mm
CASE 2086-01
Pin Connections
Bottom View
V
REGA
V
SS
N/C
V
SSA
N/C
V
SSA
TEST/V
PP
MISO
MOSI
SCLK
V
CC
V
SS
V
REG
ARM_X/PCM_X
1
2
3
4
5 6 7 8
12
11
10
9
16 15 14 13
CS
ARM_Y/PCM_Y
17
Top View
Sensors
2Freescale Semiconductor, Inc.
MMA68xx
Application Diagram
Figure 1. Application Diagram
Device Orientation
Figure 2. Device Orientation Diagram
Table 1. External Component Recommen dations
Ref Des Type Description Purpose
C1 Ceramic 0.1 μF, 10%, 10V Minimum, X7R VCC Power Supply Decoupling
C2 Ceramic 1 μF, 10%, 10V Minimum, X7R Voltage Regulator Output Capacitor (CREG)
C3 Ceramic 1 μF, 10%, 10V Minimum, X7R Voltage Regulator Output Capacitor (CREGA)
C3C1 C2
VCC
MMA68xx
VCC
VREG
VREGA
VSS
VPP/TEST
CS
SCLK
ARM_X
ARM_Y
CS_A
SCLK1
MOSI1
Main MCU
MISO1
CS_D
SCLK2
MOSI2
MISO2
CS
SCLK
MOSI
MISO
Deployment IC
DEPLOY_EN1
VSSA
DEPLOY_EN2
MOSI
MISO
X: 0g
Y: -1g
EARTH GROUND
X: +1g
Y: 0g
X: 0g
Y: +1g
X: -1g
Y: 0g
X: 0g
Y: 0g
X: 0g
Y: 0g
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
Sensors
Freescale Semiconductor, Inc. 3
MMA68xx
Internal Block Diagram
Figure 3. Block Diagram
SINC Filter
ΣΔ
Converter
Compensation
Low-Pass Filter
Oscillator
8 MHz
1 MHz
1 MHz Regulator
Digital
X-Axis g-Cell
Over-Damped
ARM_Y
Y-Axis g-Cell
Over-Damped
SINC Filter Compensation
Low-Pass Filter Cancellation
Offset ARM_X
VREGA VREG
Monitoring
Clock
VREGA
VREG VCC
IIR
IIR
Cancellation
Offset
VPP
VCC
VREG
VSS
VREGA
VSSA
ARM_Y
ARM_X
CS
SCLK
MOSI
MISO
Y-Axis Register
Array
Generation
Clock CRC
Generation
Clock CRC
SPI
Y-Axis
I/O
SPI
Mismatch
SPI
X-Axis Register
Array
Verification
Clock & bias
Generator
ΣΔ
Converter
Clock & bias
Generator
SPI
X-Axis
OTP
Array Memory
Analog
Regulator
Self
Test Voltage
Monitoring
Linear
Interpolation
Linear
Interpolation
Output
Scaling
Output
Scaling
Offset
Monitor
Offset
Monitor
Sensors
4Freescale Semiconductor, Inc.
MMA68xx
1 Pin Connections
Figure 4. 16-Pin QFN Package, Top View
Table 2. Pin Description
Pin Pin
Name Formal Name Definition
1 VREGA Analog
Supply This pin is connected to the power supply for the internal analog circuitry. An external capacitor must be
connected between this pin and VSSA. Reference Figure 1.
2 VSS Digital GND This pin is the power supply return node for the digital circuitry.
3 VREG Digital
Supply This pin is connected to the power supply for the internal digital circuitry. An external capacitor must be
connected between this pin and VSS. Refer ence Figure 1.
4 VSS Digital GND This pin is the power supply return node for the digital circuitry.
5ARM_Y/
PCM_Y Y-Axis
Arm Output /
PCM Output
The function of this pin is configurable via the DEVCFG register as described in Section 3.1.6.5. When the
arming output is selected, ARM_Y can be configured as an open drain, active low output with a pullup current;
or an open drain, active high output with a pulldown current. Alternatively, this pin can be configured as a digital
output with PCM signal proportional to the Y axis acceleration data. Reference Section 3.8.9 and Section
3.8.9.1. If unused, this pin must be left unconnected.
6ARM_X/
PCM_X X-Axis
Arm Output /
PCM Output
The function of this pin is configurable via the DEVCFG register as described in Section 3.1.6.5. When the
arming output is selected, ARM_X can be configured as an open drain, active low output with a pullup current;
or an open drain, active high output with a pulldown current. Alternatively, this pin can be configured as a digital
output with a PCM signal proportional to th e X-axis acceleration data. Reference Section 3.8.9 and Section
3.8.9.1. If unused, this pin must be left unconnected.
7TEST/
VPP
Programming
Voltage This pin provides the power for factory programming of the OTP registers. This pin must be connected to VSS
in the application.
8MISO SPI Data Out This pin functions as the serial data output for the SPI port.
9 VCC Supply This pin supplies power to the device. An external capacitor must be connected between this pin and VSS.
Reference Figure 1.
10 SCLK SPI Clock This input pin provides the serial clock to the SPI port. An internal pulldown device is connected to this pin.
11 MOSI SPI Data In This pin functions as the serial data input to the SPI port. An internal pulldown device is connected to this pin.
12 CS Chip Select This input pin provides the chip select for the SPI port. An internal pullup device is connected to this pin.
13 VSSA Analog GND This pin is the power supply return node for analog circuitry.
14 N/C No Connect No Connection
15 N/C No Connect No Connection
16 VSSA Analog GND This pin is the power supply return node for analog circuitry.
17 PAD Die Attach Pad This pin is the die attach flag, and is internally connected to VSS.
Corner
Pads Corner Pads The corner pads are internally connected to VSS.
V
REGA
V
SS
N/C
V
SSA
N/C
V
SSA
TEST/V
PP
MISO
MOSI
SCLK
V
CC
V
SS
V
REG
ARM_X/PCM_X
1
2
3
4
5 6 7 8
12
11
10
9
16 15 14 13
CS
ARM_Y/PCM_Y
17
Sensors
Freescale Semiconductor, Inc. 5
MMA68xx
2 Electrical Characteristics
2.1 Maximum Rati ngs
Maximum ratings are the extreme limits to which the device can be exposed without permanently damaging it.
2.2 Operating Range
The operating ratings are the limits normally expected in the application and define the range of operation.
# Rating Symbol Value Unit
1Supply Voltage VCC -0.3 to +7.0 V (3)
2CREG, CREGA VREG -0.3 to +3.0 V (3)
3SCLK, CS, MOSI,VPP/TEST VIN -0.3 to VCC + 0.3 V (3)
4ARM_X, ARM_Y VIN -0.3 to VCC + 0.3 V (3)
5MISO (high impedance state) VIN -0.3 to VCC + 0.3 V (3)
6Acceleration without hitting internal g-cell stops ggcell_Clip ±500 g (3, 18)
7Accelerat i on wit h ou t satu r a ti o n o f inte r n al circuitry gADC_Clip ±375 g (3)
8Powered Shock (six sides, 0.5 ms duration) gpms ±1500 g (5, 18)
9Unpowered Shock (six sides, 0.5 ms duration) gshock ±2000 g (5, 18)
10 Drop Shock (to concrete surface) hDROP 1.2 m (5)
11
12
13
Electrostatic Discharge
Human Body Model (HBM)
Charge Device Model (CDM)
Machine Model (MM)
VESD
VESD
VESD
±2000
±750
±200
V
V
V
(5)
(5)
(5)
14 Storage Temperature Range Tstg -40 to +125 °C (5)
15 Thermal Resistance - Junction to Case θJC 2.5 °C/W (14)
# Characteristic Symbol Min Typ Max Units
16
17
Supply Voltage
Standard Operating Voltage, 3.3V
Standard Operating Voltage, 5.0V VCC VL
+3.135 VTYP
+3.3
+5.0
VH
+5.25 V
V(15)
(15)
18 Operating Ambient Temperature Range
Verified by 100% Final Test TATL
-40 TH
+105 C (1)
19 Power-on Ramp Rate (VCC)V
CC_r 0.000033 3300 V/μs (19)
Sensors
6Freescale Semiconductor, Inc.
MMA68xx
2.3 Electrical Characteristics - Power Supply and I/O
VL (VCC - VSS) VH, TL TA TH, |ΔTA| < 25 K/min unless otherwise specified
# Characteristic Symbol Min Typ Max Units
20 Supply Current * IDD 4.0 9.0 mA (1)
21
22
23
24
25
26
27
28
Power Supply Monitor Thresholds (See Figure 8)
VCC Undervoltage (Falling)
VREG Undervoltage (Falling)
VREG Overvoltage (Rising)
VREGA Undervoltage (Falling)
VREGA Overvoltage (Rising)
Power Supply Monitor Hysteresis
VCC Undervoltage (Falling)
VREG Undervoltage, VREG Overvoltage
VREGA Undervoltage, VREGA Overvoltage
*
*
*
*
*
VCC_UV_f
VREG_UV_f
VREG_OV_r
VREGA_UV_f
VREGA_OV_r
VHYST
VHYST
VHYST
2.74
2.10
2.65
2.20
2.65
65
20
20
100
100
100
3.02
2.25
2.85
2.35
2.85
110
210
150
V
V
V
V
V
mV
mV
mV
(3, 6)
(3, 6)
(3, 6)
(3, 6)
(3, 6)
(3)
(3)
(3)
29
30
31
Power Supply RESET Thresholds
(See Figure 5, and Figure 8)
VREG Undervoltage RESET (Falling)
VREG Undervoltage RESET (Rising)
VREG RESET Hysteresis
*
*VREG_UVR_f
VREG_UVR_r
VHYST
1.764
1.876
80
2.024
2.152
140
V
V
mV
(3, 6)
(3, 6)
(3)
32
33
Internally Regulated Voltages
VREG
VREGA *
*VREG
VREGA 2.42
2.42 2.50
2.50 2.58
2.58 V
V(1, 3)
(1, 3)
34
35
Extern al F i lter Capacitor (CREG, CREGA)
Value
ESR (including interconnect resistance) CREG
ESR 700
1000
1500
400 nF
mΩ(19)
(19)
36
37
Power Supply Coupling
50 kHz fn 300 kHz
4 MHz fn 100 MHz
0.004
0.004 LSB/mv
LSB/mv (19)
(19)
38
39
Output High Voltage (MISO, PCM_X, PCM_Y)
3.15V (VCC - VSS) 3.45V (ILoad = -1 mA)
4.75V (VCC - VSS) 5.25V (ILoad = -1 mA) *
*VOH_3
VOH_5 VCC - 0.2
VCC - 0.4
V
V(2,3)
(2,3)
40
41
Output Low Voltage (MISO, PCM _ X , PC M _ Y )
3.15V (VCC - VSS) 3.45V (ILoad = 1 mA)
4.75V (VCC - VSS) 5.25V (ILoad = 1 mA) *
*VOL_3
VOL_5
0.2
0.4 V
V(2, 3)
(2, 3)
42
43
Open Drain Output High Voltage (ARM_X, ARM_Y)
3.15V (VCC - VSS) 3.45V (IARM = -1 mA)
4.75V (VCC - VSS) 5.25V (IARM = -1 mA) *
*VODH_3
VODH_5 VCC - 0.2
VCC - 0.4
V
V(2, 3)
(2, 3)
44
45
Open Drain Output Pulldown Current (ARM_X, ARM_Y)
3.15V (VCC - VSS) 3.45V (VARM = 1.5 V)
4.75V (VCC - VSS) 5.25V (VARM = 1.5 V) *
*IODPD_3
IODPD_5 50
50
100
100 μA
μA(2, 3)
(2,3)
46
47
Open Drain Output Low Voltage (ARM_X, ARM_Y)
3.15V (VCC - VSS) 3.45V (IARM = 1 mA)
4.75V (VCC - VSS) 5.25V (IARM = 1 mA) *
*VODH_3
VODH_5
0.2
0.4 V
V(2, 3)
(2, 3)
48
49
Open Drain Output Pullup Current (ARM_X, ARM_Y)
3.15V (VCC - VSS) 3.45V (VARM = 1.5 V)
4.75V (VCC - VSS) 5.25V (VARM = 1.5 V) *
*IODPU_3
IODPU_5 -100
-100
-50
-50 μA
μA(2, 3)
(2, 3)
50 Input High Voltage CS, SCLK, MOSI * VIH 2.0 ⎯⎯V(3, 6)
51 Input Low Voltage CS, SCLK, MOSI * VIL ⎯⎯1.0 V (3, 6)
52 Input Voltage Hysteresis CS, SCLK * VI_HYST 0.125 0.500 V (19)
53
54
Input Current
High (at VIH) (S CLK, MOSI)
Low (at VIL) (CS) *
*IIH
IIL -260
30 -50
50 -30
260 μA
μA(2, 3)
(2, 3)
Sensors
Freescale Semiconductor, Inc. 7
MMA68xx
2.4 Electrical Characteristics - Sensor and Signal Chain
VL (VCC - VSS) VH, TL TA TH, |ΔTA| < 25 K/min unless otherwise specified
# Characteristic Symbol Min Typ Max Units
55
56
57
58
X-Axis Digital Sensitivity (SPI, 10-bit Output)
50g (MMA6813)
60g (MMA6811, MMA6826)
100g (MMA6825)
120g (MMA6821, MMA6823)
*
*
*
*
SENS
SENS
SENS
SENS
9.766
8.192
4.883
4.096
LSB/g
LSB/g
LSB/g
LSB/g
(1, 9)
(1, 9)
(1, 9)
(1, 9)
59
60
61
62
Y-Axis Digital Sensitivity (SPI, 10-bit Output)
25g (MMA6811, MMA6821)
50g (MMA6813QR)
60g (MMA6823, MMA6826)
100g (MMA6825)
*
*
*
*
SENS
SENS
SENS
SENS
20.479
9.766
8.192
4.883
LSB/g
LSB/g
LSB/g
LSB/g
(1, 9)
(1, 9)
(1, 9)
(1, 9)
63
64
65
Sensitivity Error
TA = 25°C
-40°C TA 105°C
-40°C TA 105°C,VCC_UV_f VCC - VSS VL
*
*ΔSENS
ΔSENS
ΔSENS
-4
-5
-5
+4
+5
+5
%
%
%
(1)
(1)
(3)
66
67
68
69
Offset at 0g (No Offset Cancellation)
10-bits, unsigned
10-bits, signed
10-bits, unsigned, VCC_UV_f VCC - VSS VL
10-bits, signed, VCC_UV_f VCC - VSS VL
*
*OFFSET
OFFSET
OFFSET
OFFSET
452
-60
452
-60
512
0
512
0
572
+60
572
+60
LSB
LSB
LSB
LSB
(1)
(1)
(3)
(3)
70
71
Offset Monitor Thresholds
Positive Threshold (10 -bits, unsigned)
Negative Threshold (10-bits, unsigned) OFFTHRPOS
OFFTHRNEG
612
412
LSB
LSB (7)
(7)
72
73
74
75
Range of Output (SPI , 10-bits unsigned)
Normal
Fault Response Code
Unused Codes
Unused Codes
RANGE
FAULT
UNUSED
UNUSED
32
1
993
0
992
31
1023
LSB
LSB
LSB
LSB
(7)
(7)
(7)
(7)
76
77
78
79
Range of Output (SPI , 10-bits, signed)
Normal
Fault Response Code
Unused Codes
Unused Codes
RANGE
FAULT
UNUSED
UNUSED
-480
-511
481
-512
480
-481
511
LSB
LSB
LSB
LSB
(7)
(7)
(7)
(7)
80 Nonlinearity * NLOUT -1 1 % FSR (3)
81
82
System Output Noise
RMS (10-bit, All Ranges, 400 Hz, 4-pole LPF)
Peak to Peak (10-bit, All Ranges, 400 Hz, 4-pole LPF) nRMS
nP-P
0.5
1.0 LSB
LSB (3)
(3)
83
84
85
86
Cross-Axis Sensitivity
VZX
VYX
VZY
VXY
*
*
*
*
VZX
VYX
VZY
VXY
-4
-4
-4
-4
+4
+4
+4
+4
%
%
%
%
(3)
(3)
(3)
(3)
87
88
89
90
91
92
Self-Test Output Change (Ref Section 3.6)
STMAG_X, STMAG_Y = 0, TA = 25°C
STMAG_X, STMAG_Y = 0, -40°C TA 105°C
STMAG_X, STMAG_Y = 1, TA = 25°C
STMAG_X, STMAG_Y = 1, -40°C TA 105°C
STMAG_X, STMAG_Y = 0, -40°C TA 105°C
VCC_UV_f VCC - VSS VL
STMAG_X, STMAG_Y = 1, -40°C TA 105°C
VCC_UV_f VCC - VSS VL
*
*
*
*
ΔSTLow25
ΔSTLow
ΔSTHI25
ΔSTHI
ΔSTLow
ΔSTHI
ΔSTMIN
11.25
10.68
22.5
21.37
10.68
21.37
ΔSTNOM
15
15
30
30
15
30
ΔSTMAX
18.75
19.69
37.5
39.38
19.69
39.38
g
g
g
g
g
g
(1)
(1)
(1)
(1)
(3)
(3)
93
94
Self-Test Cross Axis Output
Y-Axis Output with X-Axis Self-Test
X-Axis Output with Y-Axis Self-Test ΔSTCrossAxis
ΔSTCrossAxis -10
-10
+10
+10 LSB
LSB (1)
(1)
95 Acceleration (without hitting internal g-cell stops)
X/Y-Axis, Any Range Positive/Negative gg-cell_Clip 500 560 600 g (19)
Sensors
8Freescale Semiconductor, Inc.
MMA68xx
2.5 Dynamic Electrical Characteristics - Signal Chain
VL (VCC - VSS) VH, TL TA TH, |ΔTA| < 25 K/min unless otherwise specified
# Characteristic Symbol Min Typ Max Units
96
97
98
DSP Sample Rate (LPF 0, 1, 2, 3, 4, 5)
DSP Sample Rate (LPF 8, 9, 10, 11, 12, 13)
Interpolation Sample Rate
tS
tS
tINTERP
64/fOSC
128/fOSC
tS/2
s
s
s
(7)
(7)
(7)
99
100
Datapath Latency (excluding g-cell and Low Pass Filter)
TS = 64/fOSC
TS = 128/fOSC *
*tDataPath_8
tDataPath_16 33.0
51.9 34.8
54.6 36.5
57.4 μs
μs(7, 16)
(7, 16)
101
102
103
104
105
106
Low-Pass Filter (ts = 8μs)
Cutoff frequency 0: 100 Hz, 4-pole
Cutoff frequency 1: 300 Hz, 4-pole
Cutoff frequency 2: 400 Hz, 4-pole
Cutoff frequency 3: 800 Hz, 4-pole
Cutoff frequency 4: 1000 Hz, 4-pole
Cutoff frequency 5: 400 Hz, 3-pole
*
*
*
*
*
*
fC0(LPF)
fC1(LPF)
fC2(LPF)
fC3(LPF)
fC4(LPF)
fC5(LPF)
95
285
380
760
950
380
100
300
400
800
1000
400
105
315
420
840
1050
420
Hz
Hz
Hz
Hz
Hz
Hz
(3, 7, 17)
(7, 17)
(7, 17)
(7, 17)
(7, 17)
(7, 17)
107
108
109
110
111
112
Low-Pass Filter (ts = 16μs)
Cutoff frequency 8: 50 Hz, 4-pole
Cutoff frequency 9: 150 Hz, 4-pole
Cutoff frequency 10: 200 Hz, 4-pole
Cutoff frequency 11: 400 Hz, 4-pole
Cutoff frequency 12: 500 Hz, 4-pole
Cutoff frequency 13: 200 Hz, 3-pole
*
*
*
*
*
*
fC8(LPF)
fC9(LPF)
fC10(LPF)
fC11(LPF)
fC12(LPF)
fC13(LPF)
47.5
142.5
190
380
475
190
50
150
200
400
500
200
52.5
157.5
210
420
525
210
Hz
Hz
Hz
Hz
Hz
Hz
(7, 17)
(7, 17)
(7, 17)
(7, 17)
(7, 17)
(7, 17)
113
114
115
116
117
118
119
Offset Cancellation (Normal Mode, 10-bit Output)
Offset Averaging Period
Offset Slew Rate
Offset Update Rate
Offset Correction Value per Update Positive
Offset Correction Value per Update Negative
Offset Correction Threshold Positive
Offset Correction Threshold Negative
*
*
*
*
*
*
*
OFFAVEPER
OFFSLEW
OFFRATE
OFFCORRP
OFFCORRN
OFFTHP
OFFTHN
6.291456
0.2384
1049
0.25
-0.25
0.125
0.125
s
LSB/s
ms
LSB
LSB
LSB
LSB
(7)
(7)
(7)
(7)
(7)
(7)
(7)
120 Offset Monitor Bypass Time after Self-Test Deactivation tST_OMB 320 tS(3, 7)
121 Time Between Acceleration Data Requests (Same Axis) tACC_REQ 15 ⎯⎯μs (3, 7, 20)
122
123
124
Arming Output Activation Time (ARM_X, ARM_Y, IARM = 200μA)
Moving Average and Count Arming Modes (2, 3, 4, 5)
Unfiltered Mode Activation Delay (Reference Figure 27)
Unfiltered Mode Arm Assertion Time (Refe rence Figure 27)
tARM
tARM_UF_DLY
tARM_UF_ASSERT
0
0
5.00
1.05
1.05
6.579
μs
μs
μs
(3, 12)
(3, 12)
(3)
125 Sensing Element Natural Frequency (-40°C TA 105°C) fgcell 10791 15879 Hz (19)
126 Sensing Element Cutoff Frequency (-3 dB ref. to 0 Hz, -40°C TA 105°C) fgcell 0.851 2.29 kHz (19)
127 Sensing Element Damping Ratio (-40°C TA 105°C) ζgcell 2.46 9.36 (19)
128 Sensing Element Delay (@100 Hz, -40°C TA 105°C) fgcell_delay 70 187 μs (19)
129 Package Resonance Frequency fPackage 100 ⎯⎯kHz (19)
130 Package Quality Factor qPackage 15 (19)
Sensors
Freescale Semiconductor, Inc. 9
MMA68xx
2.6 Dynamic Electrical Characteristics - Supply and SPI
VL (VCC - VSS) VH, TL TA TH, |ΔTA| < 25 K/min unless otherwise specified
1.Parameters tested 100% at final test.
2.Parameters tested 100% at wafer probe.
3.Parameters verified by characterization
4.(*) Indicates a critical characteristic.
5.Verified by qualification testing.
6.Parameters verified by p ass/fail testing in production.
7.Functionality guaranteed by modeling, simulation and/or design verification. Circuit integrity assured through IDDQ and scan testing. Timing is deter-
mined by internal system clock frequency.
8.N/A
9.Devices are trimmed at 100 Hz with 1000 Hz low-pass filter option selected. Response is corrected to 0 Hz response.
10.Low-pass filter cutoff frequencies shown are -3dB referenced to 0 Hz response.
11.Power supply ripple at frequencies greater than 900 kHz should be minimized to the greatest extent possible.
12.Time from falling edge of CS to ARM_X, ARM_Y output valid.
13.N/A
14.Thermal resistance between the die junction and the exposed pad; cold plate is attached to the exposed pad.
15.Device characterized at all values of VL and VH. Production test is conducted at all typical voltages (VTYP) unless otherwise not ed.
16.Data path Latency is the signal latency from g-cell to SPI output disregarding filter group delays.
17.Filter characteristics are specified independently, and do not include g-cell frequency response.
18.Electrostatic Deflection Test completed during wafer probe.
19.Verified by simulation.
20.Acceleration Data Request timing constraint only applies for proper operation of the Arming Func tion.
#Characteristic Symbol Min Typ Max Units
131
132 Power-On Recovery Time(VCC = VCCMIN to first SPI access)
Power-On Recovery Time(Internal POR to first SPI access) tOP
tOP
10
840 ms
μs(3)
(3, 7)
133
134 Internal Oscillator Frequency
Test Frequency - Divided from Internal Oscillator *f
OSC
fOSCTST 7.6
0.95 8
18.4
1.05 MHz
MHz (7)
(1)
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
Serial Interface Timing (See Figure 6, CMISO 80pF, RMISO 10kΩ)
Clock (SCLK) period (10% of VCC to 10% of VCC)
Clock (SCLK) high time (90% of VCC to 90% of VCC)
Clock (SCLK) low time (10% of V CC to 10% of VCC)
Clock (SCLK) rise time (10% of VCC to 90% of VCC)
Clock (SCLK) fall time (90% of VCC to 10% of VCC)
CS asserted to SCLK high (CS = 10% of VCC to SCLK = 10% of VCC)
CS asserted to MISO valid (CS = 10% of VCC to MISO = 10/90% of VCC)
Data setup time (MOSI = 10/90% of VCC to SCLK = 10% of VCC)
MOSI Data hold time (SCLK = 90% of VCC to MOSI = 10/90% of VCC)
MISO Data hold time (SCLK = 90% of VCC to MISO = 10/90% of VCC)
SCLK low to data valid (SCLK = 10% of VCC to MISO = 10/90% of VCC)
SCLK low to CS high (SCLK = 10% of VCC to CS = 90% of VCC)
CS high to MISO disable (CS = 90% of VCC to MISO = Hi Z)
CS high to CS low (C S = 90% of VCC to CS = 90% of VCC)
SCLK low to CS low (SCLK = 10% of VCC to CS = 90% of VCC)
CS high to SCLK high (CS = 90% of VCC to SCLK = 90% of VCC)
*
*
*
*
*
*
*
*
*
*
*
*
*
tSCLK
tSCLKH
tSCLKL
tSCLKR
tSCLKF
tLEAD
tACCESS
tSETUP
tHOLD_IN
tHOLD_OUT
tVALID
tLAG
tDISABLE
tCSN
tCLKCS
tCSCLK
120
40
40
60
20
10
0
60
526
60
60
15
15
40
28
60
40
60
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
(3)
(3)
(3)
(19)
(19)
(3)
(3)
(3)
(3)
(3)
(3)
(3)
(3)
(3)
(3)
(19)
Sensors
10 Freescale Semiconductor, Inc.
MMA68xx
Figure 5. Powerup T imin g
Figure 6. Serial Interface Timing
VCC
POR
VREGA
VREG
DEVRES
VCC_UV_f
VREGA_UV_f
DEVRES Flag Cleared by User
VCC_UV_r
VREGA_UV_r
VREG_UVR_r VREG_UVR_f
Time
Note: VREGA & VREG rise and fall slopes will be dependent
on output capacitance and load curren t
tSCLK
SCLK
MOSI
CS
MISO
tSCLKH
tSCLKL
tACCESS
tSCLKR tSCLKF
tLEAD tCSN
tSETUP
tHOLD_IN
tVALID tDISABLE
tHOLD_OUT
tLAG tCLKCS
tCSCLK
Sensors
Freescale Semiconductor, Inc. 11
MMA68xx
3 Functional Description
3.1 Customer Accessible Data Array
A customer accessible data array allows for each device to be customized. The array consists of an OTP factory programma-
ble block and read/write registers for device programmability and st atus. The OTP and writable register blocks incorporate inde-
pendent CRC circuitry for fault detection (reference Section 3.2). The writable register block includes a locking mechanism to
prevent unintended changes during normal operation. Portions of the array are reserved for factory-programmed trim values. The
customer accessible data is shown in Table 3.
Type Codes:
F:Factory programmed OTP location
R/W:Read/Write register
R:Read-only register
N/A:Not applicable
Table 3. Customer Accessible Data
Location Bit Function Type
Addr Register 7 6 5 4 3 2 1 0
$00 SN0 SN[7] SN[6] SN[5] SN[4] SN[3] SN[2] SN[1] SN[0]
F
$01 SN1 SN[15] SN[14] SN[13] SN[12] SN[11] SN[10] SN[9] SN[8]
$02 SN2 SN[23] SN[22] SN[21] SN[20] SN[19] SN[18] SN[17] SN[16]
$03 SN3 SN[31] SN[30] SN[29] SN[28] SN[27] SN[26] SN[25] SN[24]
$04 Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved
$05 Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved
$06 FCTCFG_X STMAG_X 0 0 0 0 0 0 1
$07 FCTCFG_Y STMAG_Y 0000001
$08 PN PN[7] PN[6] PN[5] PN[4] PN[3] PN[2] PN[1] PN[0]
$09 Invalid Addr ess: ”In val i d Re giste r Requ est
$0A DEVCTL RES_1 RES_0 Reserved Reserved Reserved Reserved Reserved Reserved
R/W
$0B DEVCFG Reserved Reserved ENDINIT SD OFMON A_CFG[2] A_CFG[1] A_CFG[0]
$0C DEVCFG_X ST_X Reserved Reserved Reserved LPF_X[3] LPF_X[2] LPF_X[1] LPF_X[0]
$0D DEVCFG_Y ST_Y Reserved Reserved Reserved LPF_Y[3] LPF_Y[2] LPF_Y[1] LPF_Y[0]
$0E ARMCFGX Reserved Reserved APS_X[1] APS_X[0] AWS_XN[1] AWS_XN[0] AWS_XP[1] AWS_XP[0]
$0F ARMCFGY Reserved Reserved APS_Y[1] APS_Y[0] AWS_YN[1] AWS_YN[0] AWS_YP[1] AWS_YP[0]
$10 ARMT_XP AT_XP[7] AT_XP[6] AT_XP[5] AT_XP[4] AT_XP[3] AT_XP[2] AT_XP[1] AT_XP[0]
$11 ARMT_YP AT_YP[7] AT_YP[6] AT_YP[5] AT_YP[4] AT_YP[3] AT_YP[2] AT_YP[1] AT_YP[0]
$12 ARMT_XN AT_XN[7] AT_XN[6] AT_XN[5] AT_XN[4] AT_XN[3] AT_XN[2] AT_XN[1] AT_XN[0]
$13 ARMT_YN AT_YN[7] AT_YN[6] AT_YN[5] AT_YN[4] AT_YN[3] AT_YN[2] AT_YN[1] AT_YN[0]
$14 DEVSTAT UNUSED IDE SDOV DEVINIT MISOERR OFF_Y OFF_X DEVRES
R
$15 COUNT COUNT[7] COUNT[6] COUNT[5] COUNT[4] COUNT[3] COUNT[2] COUNT[1] COUNT[0]
$16 OFFCORR_X OFFCORR_X[7] OFFCORR_X[6] OFFCORR_X[5] OFFCORR_X[4] OFFCORR_X[3] OFFCORR_X[2] OFFCORR_X[1] OFFCORR_X[0]
$17 OFF_CORR_Y OFFCORR_Y[7] OFFCORR_Y[6] OFFCORR_Y[5] OFFCORR_Y[4] OFFCORR_Y[3] OFFCORR_Y[2] OFFCORR_Y[1] OFFCORR_Y[0]
$1C Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved
$1D Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved
Sensors
12 Freescale Semiconductor, Inc.
MMA68xx
3.1.1 Device Serial Number Registers
A unique serial number is programmed into the serial number registers of each MMA68xx device during manufacturing. The
serial number is composed of the following information:
Serial numbers begin at 1 for all produced devices in each lot, and are sequentially assigned. Lot numbers begin at 1 and are
sequentially assigned. No lot will contain more devices than can be uniquely identified by the 13-bit serial number . Depending on
lot size and quantities, all possible lot numbers and seri al numbers may not be assigned.
The serial number registe r s are included in the OTP shadow registe r arra y CRC verification. Reference Section 3.2.1 for de-
tails regarding the CRC verification. Beyond this, the contents of the serial number registers have no impact on device operation
or performance, and are only used for traceability purposes.
3.1.2 Reserved Registers
These reserved registers are read-only and have no impact on device operation or performance.
3.1.3 Factory Configuration Registers
The factory configuration registers are one time programmable, read only registers which contain customer specific device
configuration information that is programmed by Freescale.
3.1.3.1 Self-Test Magnitude Selection Bits (STMAG_Y, STMAG_X)
The self-test magnitude selection bits indicate if the nominal self-test deflection value is set to the low or high value as shown
in the table below. The Self-Test Magnitude is selected independently for each axis.
Bit Range Content
S12 - S0 Serial Number
S31 - S13 Lot Number
Table 4. Reserved Registers
Location Bit
AddressRegister76543210
$04 Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved
$05 Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved
Table 5. Factory Configuration Registers
Location Bit
AddressRegister76543210
$06FCTCFG_XSTMAG_X0000001
$07FCTCFG_YSTMAG_Y0000001
STMAG_X /
STMAG_Y Full-Scale
Acceleration Range Nominal Self-Test Deflection Value
(Reference Section 2.4)
0ℜ ≤ 60g ΔSTLow
1 > 60g ΔSTHI
Sensors
Freescale Semiconductor, Inc. 13
MMA68xx
3.1.4 Part Number Register (PN)
The part number register is a one time programmable, read onl y regi ster whi ch con t a ins two digits of the device part number
to identify the axis and range informa tio n. The contents of this register have no impact on device operation or performance.
Table 6. Part Number Register
Location Bit
AddressRegister76543210
$08 PN PN[7] PN[6] PN[5] PN[4] PN[3] PN[2] PN[1] PN[0]
PN Register Value X-Axis Range
Reference Section 2.4 Y-Axis Range
Reference Section 2.4
Decimal HEX
1 $01 20 20
2 $02 20 35
3 $03 20 50
4 $04 20 75
5 $05 25 120
6 $06 35 20
7 $07 35 35
8 $08 35 50
9 $09 35 75
10 $0A 35 100
11 $0B 60 25
12 $0C 50 35
13 $0D 50 50
14 $0E 50 75
15 $0F 50 100
16 $10 75 20
17 $11 75 35
18 $12 75 50
19 $13 75 75
20 $14 75 100
21 $15 120 25
22 $16 100 35
23 $17 120 60
24 $18 100 75
25 $19 100 100
26 $1A 60 60
27 $1B 120 120
28 $1C 60 120
Sensors
14 Freescale Semiconductor, Inc.
MMA68xx
3.1.5 Device Control Register (DEVCTL)
The device control register is a read-write register which contains device control operations that can be applied during both
initialization and normal operation .
3.1.5.1 Reset Control (RES_1, RES_0)
A series of three consecutive register write operations to the reset control bits in the DEVCTL register will cause a device reset.
To reset the internal digital circuitry, the following register write operations must be performed in the order shown below . The reg-
ister write operations must be consecutive SPI commands in the order shown or the device will not be reset.
The response to the Register Write returns ’0’ for RES_1 and RES_0. A Register Read of RES_1 and RES_0 returns ’0’ and
terminates the reset sequence.
3.1.5.2 Reserved Bits (DEVCTL[5:0])
Bits 5 through 0 of the DEVCTL register are reserved. A write to the reserved bits must always be logic ’0’ for normal device
operation and performance.
3.1.6 Device Configuration Register (DEVCFG)
The device configuration register is a read/write register which contains data for general device configuration. The register can
be written during initialization but is locked once the ENDINIT bit is set. This register is included in the writable register CRC
check. Refer to Section 3.2.2 for details.
3.1.6.1 Reserved Bits (Reserved)
Bits 6 and 7 of the DEVCFG register are reserved. A write to the reserved bits must always be logic ’0’ for normal device op-
eration and performance.
3.1.6.2 End of Initialization Bit (ENDINIT)
The ENDINIT bit is a control bit used to indicate that the user has completed all device and system level initialization tests,
and that MMA68xx will operate in normal mode. Once the ENDINIT bit is set, writes to all writable register bits are inhibited except
for the DEVCTL register. Once written, the ENDINIT bit can only be cleared by a device reset. The writable register CRC check
(reference Section 3.2.2) is only enabled when the ENDINIT bit is set.
Table 7. Device Control Register
Location Bit
AddressRegister76543210
$0A DEVCTL RES_1 RES_0 Reserved Reserved Reserved Reserved Reserved Reserved
Reset Value 00000000
Register Write to DEVCTL RES_1 RES_0 Effect
SPI Register Write 1 0 0 No Effect
SPI Register Write 2 1 1 No Effect
SPI Register Write 3 0 1 Device RESET
Table 8. Device Configuration Register
Location Bit
AddressRegister76543210
$0B DEVCFG Reserved Reserved ENDINIT SD OFMON A_CFG[2] A_CFG[1] A_CFG[0]
Reset Value 00000000
Sensors
Freescale Semiconductor, Inc. 15
MMA68xx
3.1.6.3 SD Bit
The SD bit determines the format of acceleration data results. If the SD bit is set to a logic ’1’, unsigned results are transmitted,
with the zero-g level represented by a nominal value of 512. If the SD bit is cleared, signed results are transmitted, with the zero-
g level represented by a nominal value of 0.
3.1.6.4 OFMON Bit
The OFMON bit determines if the offset monitor circuit is enabled. If the OFMON bit is set to a logic ’1’, the offset monitor is
enabled. Refer to Section 3.8.5 for more information. If the OFMON bit is cleared, the offset monitor is disabled.
3.1.6.5 ARM Configuration Bits (A_CFG[2:0])
The ARM Configuration Bits (A_CFG[2:0]) select th e mode of operatio n for the ARM_X/PCM_X, ARM_Y/PCM_Y pins.
3.1.7 Axis Configuration Registers (DEVCFG_X, DEVCFG_Y)
The Axis configuration registers are read/write registers which contain axis specific configuration information. These registers
can be written during initialization, but are locked once the ENDINIT bit is set. These registers are included in the writable register
CRC check. Refer to Section 3.2.2 for details.
SD Operating Mode
1 Unsigned Data Output
0 Signed Data Output
OFMON Operating Mode
1 Offset Monitor Circuit Enabled
0 Offset Monitor Circuit Disabled
Table 9. Arming Output Configuration
A_CFG[2] A_CFG[1] A-CFG[0] Operating Mode Output Type Reference
0 0 0 Arm Output Disabled Hi Impedance
0 0 1 PCM Output Digital Output Section 3.8.9.1
0 1 0 Moving Average Mode Active High with Pulldown Current Section 3.8.9.1
0 1 1 Moving Average Mode Active Low with Pullup Current Section 3.8.9.1
1 0 0 Count Mode Active High with Pulldown Current Section 3.8.9.2
1 0 1 Count Mode Active Low with Pullup Current Section 3.8.9.2
1 1 0 Unfilter ed Mode Active High with Pulldown Current Section 3.8.9.3
1 1 1 Unfiltered Mode Active Low with Pullup Current Section 3.8.9.3
Table 10. Axis Configuration Registers
Location Bit
AddressRegister76543210
$0C DEVCFG_X ST_X Reserved Reserved Reserved LPF_X[3] LPF_X[2] LPF_X[1] LPF_X[0]
$0D DEVCFG_Y ST_Y Reserved Reserved Reserved LPF_Y[3] LPF_Y[2] LPF_Y[1] LPF_Y[0]
Reset Value 00000000
Sensors
16 Freescale Semiconductor, Inc.
MMA68xx
3.1.7.1 Self-Test Control (ST_X, ST_Y)
The ST_X and ST_Y bits enable and disable the self-test circuitry for their respective axes. Self-Test circuitry is enabled if a
logic ’1’ is written to ST_X, or ST_Y and the ENDINIT bit has not been set. Enabling the self-test circuitry results in a positive
acceleration value on the enabled axis. Self-test deflection values are specified in Section 2.4. ST_X and ST_Y are always
cleared following internal reset.
When the self-test circuitry is active, the offset cancellation block and the offset monitor status are suspended, and the status
bits in the Acceleration Data Request Response will indicate ”Self-Test Active”. Reference Section 3.8.4 and Section 4.2 for de-
tails. When the self-test circuitry is disabled by clearing the ST_X or ST_Y bit, the offset monitor remains disabled until the time
tST_OMB, specified in Section 2.5, expires. However , the st atus bits in the Acceleration Data Request Response will immediately
indicate that self-test has been deactivated.
3.1.7.2 Reserved Bits (Reserved)
Bits 6 through 4 of the DEVCFG_X and DEVCFG_Y registers are reserved. A write to the reserved bits must always be logic
’0’ for normal device operation and performance.
3.1.7.3 Low-Pass Filter Selection Bits (LPF_X[3:0], LPF_Y[ 3:0])
The Low Pass Filter selection bits independently select a low-pass filter for each axis as shown in Table 11. Refer to Section
3.8.3 for details regarding filter configurations.
Note: Filter characteristics do not include g-cell frequency
response.
3.1.8 Arming Configuration Registers (ARMCFGX, ARMCFGY)
The arming configuration registers contain configuration information for the arming function. The values in these registers are
only relevant if the arming function is operating in moving average mode, or count mode.
These registers can be written during initialization but are locked once the ENDINIT bit is set. Refer to Section 3.1.6.2. These
registers are included in the writable register CRC check. Refer to Section 3.2.2 for details.
Table 11. Low Pass Filter Selection Bits
LPF_X[3] /
LPF_Y[3] LPF_X[2] /
LPF_Y[2] LPF_X[1] /
LPF_Y[1] LPF_X[0] /
LPF_Y[0] Low Pass Filter Selected Nominal Sample Rate (μs)
0 0 0 0 100 Hz, 4 pole 8
0 0 0 1 300 Hz, 4 Pole 8
0 0 1 0 400 Hz, 4 Pole 8
0 0 1 1 800 Hz, 4 Pole 8
0 1 0 0 1000 Hz, 4 pole 8
0 1 0 1 400 Hz, 3 Pole 8
0 1 1 0 Reserved Reserved
0 1 1 1 Reserved Reserved
1 0 0 0 50 Hz, 4 pole 16
1 0 0 1 150 Hz, 4 Pole 16
1 0 1 0 200 Hz, 4 Pole 16
1 0 1 1 400 Hz, 4 Pole 16
1 1 0 0 500 Hz, 4 Pole 16
1 1 0 1 200 Hz, 3 Pole 16
1 1 1 0 Reserved Reserved
1 1 1 1 Reserved Reserved
Table 12. Arming Configuration Register
Location Bit
AddressRegister76543210
$0E ARMCFGX Reserved Reserved APS_X[1] APS_X[0] AWS_XN[1] AWS_XN[0] AWS_XP[1] AWS_XP[0]
$0F ARMCFGY Reserved Reserved APS_Y[1] APS_Y[0] AWS_YN[1] AWS_YN[0] AWS_YP[1] AWS_YP[0]
Reset Value 00001111
Sensors
Freescale Semiconductor, Inc. 17
MMA68xx
3.1.8.1 Reserved Bits (Reserved)
Bits 7 through 6 of the ARMCFGX and ARMCFGY registers are reserved. A write to the reserved bits must always be logic ’0’
for normal device operation and performance.
3.1.8.2 Arming Pulse Stretch (APS_X[1:0], APS_Y[1:0] )
The APS_X[1:0] and APS_Y[1:0] bits set the programmable pulse stretch time for the arming outputs. Refer to Section 3.8.9
for more details regarding the arming function.
3.1.8.3 Arming Window Size (AWS_Xx[1:0], AWS_Yx[1:0])
The AW S_Xx[1:0] and AWS_Yx[1:0] bits have a different function depending on the state of the A_CFG bits in the DEVCFG
register.
If the arming function is set to moving average mode, the AWS bits set the number of acceleration samples used for the arming
function moving average. The number of samples is set independently for each axis and polarity. If the arming function is set to
count mode, the AWS bit s set the sample count limit for the arming function. The sample count limit is set independently for each
axis.
Refer to Section 3.8.9 for more details regarding the arming function.
Table 13. Arming Pulse Stre tc h De finitions
APS_X[1], APS_Y[1] APS_X[0], APS_Y[0] Pulse Stretch Time(1) (Typical Oscillator)
1.Pulse stretch times are derived from the internal oscillator, so the tolerance on this oscillator applies.
00 0 mS
0 1 16.256 ms - 16.384 ms
1 0 65.408 ms - 65.536 ms
1 1 261.888 ms - 262.016 ms
Table 14. X-Axis Positive Arming Window Size Definitions (Moving Average Mode)
AWS_XP[1] AWS_XP[0] X-Axis Positive Window Size
00 2
01 4
10 8
11 16
Table 15. X-Axis Negative Arming Window Size Definitions (Moving Average Mode)
AWS_XN[1] AWS_XN[0] X-Axis Negative Window Size
00 2
01 4
10 8
11 16
Table 16. Y-Axis Positive Arming Window Size Definitions (Moving Average Mode)
AWS_YP[1] AWS_YP[0] Y-Axis Positive Window Size
00 2
01 4
10 8
11 16
Sensors
18 Freescale Semiconductor, Inc.
MMA68xx
Table 17. Y-Axis Negative Armin g Window Size Definitions (Moving Average Mode)
AWS_YN[1] AWS_YN[0] Y-Axis Negative Window Size
00 2
01 4
10 8
11 16
Table 18. Arming Count Limit Definitions (Count Mode)
AWS_XN[1] AWS_XN[0] AWS_XP[1] AWS_XP[0] X-Axis Sample Count Limit
Don’t Care Don’t Care 0 0 1
Don’t Care Don’t Care 0 1 3
Don’t Care Don’t Care 1 0 7
Don’t Care Don’t Care 1 1 15
Table 19. Arming Count Limit Definitions (Count Mode)
AWS_YN[1] AWS_YN[0] AWS_YP[1] AWS_YP[0] Y-Axis Sample Count Limit
Don’t Care Don’t Care 0 0 1
Don’t Care Don’t Care 0 1 3
Don’t Care Don’t Care 1 0 7
Don’t Care Don’t Care 1 1 15
Sensors
Freescale Semiconductor, Inc. 19
MMA68xx
3.1.9 Arming Threshold Registers (ARMT_XP, ARMT_XN, ARMT_YP, ARMT_YN)
These registers contain the X-axis and Y-axis positive and negative thresholds to be used by the arming function. Refer to
Section 3.8.9 for more details regarding the armi ng function.
These registers can be written during initialization but are locked once the ENDINIT bit is set. Refer to Section 3.1.6.2. These
registers are included in the writable register CRC check. Refer to Section 3.2.2 for details.
The values programmed into the threshold registers are the threshold values used for the arming function as described in
Section 3.8.9. The threshold registers hold independent unsigned 8-bit valu es for each axis and polarity. Each th reshold
increment is equivalent to one output LSB. Table 21 shows examples of some threshold register values and the corresponding
threshold.
If either the positive or negative threshold for one axis is programmed to $00, comparisons are disabled for only that polarity.
The arming function still operates for the opposite polarity. If both the positive and negative arming thresholds for one axis are
programmed to $00, the Arming function for the associated axis is disabled, and the associated output pin is disabled, regardless
of the value of the A_CFG bits in the DEVCFG register.
3.1.10 Device Status Register (DEVSTAT)
The device status register is a read-only register . A read of this register clears the status flags affected by tra nsient conditions.
Reference Section 4.5 for details on the MMA68xx response for each status condition.
3.1.10.1 Unused Bit (UNUSED)
The unused bit has no impact on operation or performance. When read this bit may be ’1’ or ’0’.
3.1.10.2 Internal Data Error Flag (IDE)
The internal data error flag is set if a customer or OTP register data CRC fault or other internal fault is detected as defined in
Section 4.5.5. The internal data error flag is cleared by a read of the DEVSTA T register . If the error is associated with a CRC fault
in the writable register array, the fault will be re-asserted and will require a device reset to clear . If the error is associated with the
data stored in the fuse array, the fault will be re-asserted even after a device reset.
Table 20. Arming Threshold Registers
Location Bit
AddressRegister76543210
$10 ARMT_XP AT_XP[7] AT_XP[6] AT_XP[5] AT_XP[4] AT_XP[3] AT_XP[2] AT_XP[1] AT_XP[0]
$11 ARMT_YP AT_YP[7] AT_YP[6] AT_YP[5] AT_YP[4] AT_YP[3] AT_YP[2] AT_YP[1] AT_YP[0]
$12 ARMT_XN AT_XN[7] AT_XN[6] AT_XN[5] AT_XN[4] AT_XN[3] AT_XN[2] AT_XN[1] AT_XN[0]
$13 ARMT_YN AT_YN[7] AT_YN[6] AT_YN[5] AT_YN[4] AT_YN[3] AT_YN[2] AT_YN[1] AT_YN[0]
Reset Value 00000000
Table 21. Threshold Register Value Examples
Axis Type Programmed Thresholds
Range
(g) Sensitivity
(g/LSB) Positive
(Decimal) Negative
(Decimal) Positive Threshold
(g) Negative Threshold
(g)
20 0.04097 100 50 4.10 -2.05
20 0.04097 255 0 10.45 Disabled
50 0.1024 50 20 5.12 -2.05
120 0.24414 20 10 4.88 -2.44
Table 22. Device Status Register
Location Bit
AddressRegister76543210
$14 DEVSTAT UNUSED IDE SDOV DEVINIT MISOERR OFF_Y OFF_X DEVRES
Sensors
20 Freescale Semiconductor, Inc.
MMA68xx
3.1.10.3 Sigma Delta Modulator Over Range Flag (SDOV)
The sigma delta modulator over range flag is set if the sigma delta modulator for either axis becomes saturated. The SDOV
flag is cleared by a read of the DEVSTAT register.
3.1.10.4 Device Initialization Flag (DEVINIT)
The device initialization flag is set during the interval between negation of internal reset and completion of internal device ini-
tialization. DEVINIT is cleared automatically. The device initialization flag is not affected by a read of the DEVSTAT register.
3.1.10.5 SPI MISO Dat a Mismatch Error Flag (MISOERR)
The MISO data mismatch flag is set when a MISO Data mismatch fault occurs as specified in Section 4.5.2. The MISOERR
flag is cleared by a read of the DEVSTAT register.
3.1.10.6 Offset Monitor Over Range Flags (OFF_X, OFFSET_Y)
The offset monitor over range flags are set if the acceleration signal of the associated axis reaches the specified offset limit.
The offset monitor over range flags are cleared by a read of the DEVSTAT register.
3.1.10.7 Device Reset Flag (DEVRES)
The device reset flag is set during device initialization following a device reset. The devi ce rese t flag is cleared by a read of
the DEVSTAT register.
3.1.11 Count Register (COUNT)
The count register is a read-only register which provides the cu rrent va lue of a free-running 8-bit counter derived from the pri-
mary oscillator . A 10-bit pre-scaler divides the primary oscillator frequency by 1024. Thus, the value in the register increases by
one count every 128 μs and the counter rolls over every 32.768 ms.
3.1.12 Offset Correction Value Registers (OFFCORR_X, OFFCORR_Y)
The offset correction value registers are read-only registers which contain the most recent offset correction increment / dec-
rement value from the offset cancellation circuit. The values stored in these registers indicate the amount of offset correction be-
ing applied to the SPI output data. The values have a resolution of 1 LSB.
3.1.13 Reserved Registers (Reserved)
Registers $1C and $1D are reserved. A write to the reserved bits must always be logic ’0’ for normal device operation and
performance.
Table 23. Count Registe r
Location Bit
AddressRegister76543210
$15 COUNT COUNT[7] COUNT[6] COUNT[5] COUNT[4] COUNT[3] COUNT[2] COUNT[1] COUNT[0]
Reset Value 00000000
Table 24. Offset Correction Value Register
Location Bit
AddressRegister76543210
$16 OFFCORR_X OFFCORR_X[7] OFFCORR_X[6] OFFCORR_X[5] OFFCORR_X[4] OFFCORR_X[3] OFFCORR_X[2] OFFCORR_X[1] OFFCORR_X[0]
$17 OFFCORR_Y OFFCORR_Y[7] OFFCORR_Y[6] OFFCORR_Y[5] OFFCORR_Y[4] OFFCORR_Y[3] OFFCORR_Y[2] OFFCORR_Y[1] OFFCORR_Y[0]
Reset Value 00000000
Table 25. Reserved Registers
Location Bit
AddressRegister76543210
$1C Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved
$1D Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved
Reset Value 00000000
Sensors
Freescale Semiconductor, Inc. 21
MMA68xx
3.2 Customer Accessible Data Array CRC Verification
3.2.1 OTP Shadow Register Array CRC Verification
The OTP shadow register array is verified for errors using a 3-bit CRC. The CRC verification uses a generator polynomial of
g(x) = X 3+ X + 1, with a seed value = ’1 11’. If a CRC error is detected in the OTP array , the IDE bit is set in the DEVST AT register .
3.2.2 Writable Register CRC Verification
The writable registers in the data array are verified for errors using a 3-bit CRC. The CRC verification is enabled only when
the ENDINIT bit is set in the DEVCFG register. The CRC verification uses a generator polynomial of g(x) = X3 + X + 1, with a
seed value = ’111’. If a CRC error is detected in the writable register array, the IDE bit is set in the DEVSTAT register.
Sensors
22 Freescale Semiconductor, Inc.
MMA68xx
3.3 Voltage Regulators
Separate internal voltage regulators supply the analog and digital circuitry . External filter capacitors are required, as shown in
Figure 1. The voltage regulator module includes voltage monitoring circuitry which indicates a device reset until the external sup-
ply and all internal regulated voltages are within predetermined limits. A reference ge nerator provides a stable voltage which is
used by the ΣΔ converters.
Figure 7. Power Supply
Figure 8. Voltage Monitoring
CREGA
CREG
VCC
TRACKING
REGULATOR
VOLTAGE
REGULATOR
REFERENCE
GENERATOR
VREGA = 2.50 V
DIGITAL
LOGIC
DSP
OTP
ARRAY
PRIMARY
OSCILLATOR
ΣΔ
CONVERTER
BIAS
GENERATOR
TRIM TRIM
VREF = 1.250 V
VREG = 2.50 V
BANDGAP
REFERENCE
Tracks VREGA
SET DEVRES Flag
V
CC
V
REGA
V
REG
V
REF
MONITOR
BANDGAP
V
CCUV
V
REGOV
V
REGUV
V
REGAUV
V
REGAOV
V
REFOV
V
REFUV
GROUND LOSS
MONITOR
V
REG
POR
V
BGMON
V
PORREF
Note: No external access to reference voltage
Limits verified by characterization only
Sensors
Freescale Semiconductor, Inc. 23
MMA68xx
3.3.1 CREG Failure Detection
The digital supply voltage regulator is designed to be unstable with low capacitance. If the connection to the VREG capacitor
becomes open, the digital supply voltage will oscillate and cause either an undervoltage, or overvoltage failure within one internal
sample time. This failure will result in one of the following:
1. The DEVRES flag in the DEVSTAT register will be set. MMA68xx will respond to SPI acceleration requests as
defined in Table 30.
2. MMA68xx will be held in RESET and be non-responsive to SPI requests.
3.3.2 CREGA Failure Detection
The analog supply voltage regulator is designed to be unstable with low capacitance. If the connection to the VREGA capacitor
becomes open, the analog supply voltage will oscillate and cause either an undervoltage, or overvoltage failure within one internal
sample time. The DEVRES flag in the DEVSTAT register will be set. MMA68xx will respond to SPI acceleration requests as de-
fined in Table 30.
Note: This fe ature is only supported with a VCC supply voltage in the range of 4.75V to 5.25V.
3.3.3 VSS and VSSA Ground Loss Monitor
MMA68xx detects the loss of ground connection to either VSS or VSSA. A loss of ground connection to VSS will result in a VREG
overvoltage failure. A loss of ground connection to VSSA will result in a VREG undervoltage failure. Both failures result in a device
reset.
3.3.4 SPI Initiated Reset
In addition to voltage monitoring, a device reset can be initiat ed by a specific series of three write operations involving the
RES_1 and RES_0 bits in the DEVCTL register. Reference Section 3.1.5.1. for details regarding the SPI initiated reset.
3.4 Internal Oscillator
MMA68xx includes a factory trimmed oscillator as specified in Section 2.6.
3.4.1 Oscillator Monitor
The COUNT register in the customer accessible array is a read-only register which provides the current value of a free-running
8-bit counter derived from the primary oscillator . A 10-bit pre-scaler divides the primary oscillator by 1024. Thus, the value in the
COUNT register increases by one count every 128 μs, and the register rolls over every 32.768 ms. The SPI master can period-
ically read the COUNT register, and verify the difference between subsequent register reads against the system time base.
1. The SPI access rates an d de vi a ti o ns mu st be taken into account for this oscillator verification.
3.5 Transducer
The MMA68xx transducer is an overdamped mass-spring-damper system described by the following transfer function:
where:
ζ = Damping Ratio
ωn = Natural Frequen cy = 2∗Π∗fn
Reference Section 2.4 for transducer parameters.
Hs() ωn
2
s22ξω
ns⋅⋅ ω
n
2
++
---------------------------------------------------------=
Sensors
24 Freescale Semiconductor, Inc.
MMA68xx
3.6 Self-Test Interface
The self-test interface applies a voltage to the g-cell, causing deflection of the proof mass. The self-test interface is controlled
through SPI write operations to the DEVCFG_X and DEVCFG_Y registers described in Section 3.1.7. The END INIT bit in the
DEVCFG register must also be low to enable self-test. A diagram of the self-test interface is shown in Figure 9.
Figure 9. Self-Test Interface
The raw self-test deflection can be verified against raw self-test limits using the following equations:
where:
ΔSTMIN The minimum self-test deflection over temper ature as specified in Section 2.4.
ΔSTMAX The maximum self-test deflection over temperature as specified in Section 2.4.
SENS The sensitivity of the device
ΔSENS The sensitivity tolerance
Y-AXIS
g-CELL
SELF-TEST
VOLTAGE
GENERATOR
ENDINIT
ST_Y
ST_X
X-AXIS
g-CELL
ENDINIT
ENDINIT
ΔSTMINLIMIT FLOOR ΔSTMIN
()SENS 1 ΔSENS()[]=
ΔSTMAXLIMIT CEIL ΔSTMAX
()SENS 1 ΔSENS+()[]⋅⋅=
Sensors
Freescale Semiconductor, Inc. 25
MMA68xx
3.7 ΣΔ Converters
Two sigma delta converters provide the interface between the g-cell and the DSP. The output of each ΣΔ converter is a data
stream at a nominal frequency of 1 MHz.
Figure 10. ΣΔ Converter Block Diagram
3.8 Digital Signal Processing Block
A digital signal processing (DSP) block is used to perform signal filtering and compensation operations. A diagram illustrating
the signal processing flow is shown in Figure 11.
Figure 11. Signal Chain Diagram
1-BIT
QUANTIZER
z-1
1 - z-1
z-1
1 - z-1
FIRST
INTEGRATOR SECOND
INTEGRATOR
α1=
β1
α2
β2
VX
CINT1
g-CELL
CBOT
CTOP
ΔC = CTOP - CBOT
ΣΔ_OUT
V = ℜ±2 ℜ× VREF
ADC
DAC
V = ΔC x VX / CINT1
ΣΔ
_OUT
To SPI
To ARM_x
ABCEG
To SPI
H
I
DF
SINC Filter
Section 3.8.2 Low Pass Filter
Section 3.8.3 Compensation
Section 3.8.6 Interpolation
Section 3.8.7 Offset Cancellation
Section 3.8.4 Offset Cancellation
Output Scaling
Raw Output
Scaling
Arm/PCM Output
Section 3.8.9
Section 3.8 .10
Table 26. MMA68xx Signal Chain Characteristics
Description Sample
Time (μs) Data Width
Bits Over
Bits Effective
Bits Rounding
Resolution Bits Typical Block
Latency Reference
ASD 1 1 1 3.2 μsSection 3.7
BSINC Filter 8 14 13 11.2 μsSection 3.8.2
CLow Pass Filter 8/16 20 6 10 4 Reference Section 3.8.3 Section 3.8.3
DCompensation 8/16 20 6 10 4 7.875 μsSection 3.8.6
EInterpolation 4/8 20 6 10 4 ts / 2 Section 3.8.7
FOffset
Cancellation 256 20 6 10 4 N/A Section 3.8.4
G, H SPI Output 4/8 10 ts / 2
IPCM Output 4/8 9 Section 3.8.10
Sensors
26 Freescale Semiconductor, Inc.
MMA68xx
3.8.1 DSP Clock
The DSP is clocked at 8 MHz, with an effective 6MHz operating frequency. The clock to the DSP is disabled for 1 clock prior
to each edge of the ΣΔ modulator clock to minimize noise during data conversion. The bit streams from the two ΣΔ converters
are processed through independent data paths within the DSP.
Figure 12. Clock Generation
3.8.2 Decimation Sinc Filter
The serial data stream produced by the ΣΔ converter is decimated and converted to parallel values by a 3rd order 16:1 sinc
filter with a decimation factor of 8 or 16, depending on the Low Pass Fil te r selected.
Figure 13. Sinc Filter Response, tS = 8 μs
8 MHz OSC
6 MHz Dig ita l
1MHz Modulator
Hz() 1z
16
16 1 z 1
()×
-------------------------------------3
=
Sensors
Freescale Semiconductor, Inc. 27
MMA68xx
3.8.3 Low Pass Filter
Data from the Sinc filter is processed by an infinite impulse response (IIR) low pass filter.
MMA68xx provides the option for one of twelve low-pass filters. The filter is selected independently for each axis with the
LPF_X[3:0] and LPF_Y[3:0] bits in the DEVCFG_X and DEVCFG_Y registers. The filter selection options are listed in
Section 3.1.7.3, Table 11. Response parameters for the low-pass filter are specified in Section 2.4. Filter characteristics are
illustrated in Figures 14, 15, 16, 17, 18 and 19.
Note: Low Pass Filter Figures do not include g-cell freq uency response.
Table 27. Low Pass Filter Coefficients
Description Sample Time (μs) Filter Coefficients Group Delay
50 Hz LPF 16
n02.08729034056887e-10 d01
26816/fosc
n18.349134489240434e-10 d1-3.976249694824219
n21.25237777794924e-09 d25.929003009577855
100 Hz LPF 8 n38.349103355433541e-10 d3-3.929255528257727
n42.087307211059861e-10 d40.9765022168437554
150 Hz LPF 16
n01.639127731323242e-08 d01
9024/fosc
n16.556510925292969e-08 d1-3.928921222686768
n29.834768482194806e-08 d25.789028996785419
300 Hz LPF 8 n36.556510372902331e-08 d3-3.791257019240902
n41.639128257923422e-08 d40.9311495074496179
200 Hz LPF 16
n05.124509334564209e-08 d01
6784/fosc
n12.049803733825684e-07 d1-3.905343055725098
n23.074705789151505e-07 d25.72004239520561
400 Hz LPF 8 n32.049803958150164e-07 d3-3.723967810019985
n45.124510693742625e-08 d40.9092692903507213
200 Hz LPF
3-pole 16
n02.720393240451813e-06 d01
5632/fosc
n18.161179721355438e-06 d1-2.931681632995605
n28.161180123840722e-06 d22.865296718275204
400 Hz LPF
3-pole 8n32.720393634345496e-06 d3-0.9335933215174919
n40d
40
400 Hz LPF 16
n07.822513580322266e-07 d01
3392/fosc
n13.129005432128906e-06 d1-3.811614513397217
n24.693508163398543e-06 d25.450666051045118
800 Hz LPF 8 n33.129005428784364e-06 d3-3.465805771100349
n47.822513604678875e-07 d40.8267667478030489
500 Hz LPF 16
n01.865386962890625e-06 d01
2688/fosc
n17.4615478515625e-06 d1-3.765105724334717
n21.119232176112846e-05 d25.319861050818872
1000 Hz LPF 8 n37.4615478515625e-06 d3-3.34309015036024
n41.865386966264658e-06 d40.7883646729233078
Hz() n0n1z1
()n2z2
()n3z3
()n4z4
()++++
d0d1z1
()d2z2
()d3z3
()d4z4
()++++
-----------------------------------------------------------------------------------------------------------------------------------------=
Sensors
28 Freescale Semiconductor, Inc.
MMA68xx
Figure 14. Low-Pass Filter Characteristics: fC = 100 Hz, Poles = 4, tS = 8 μs
Sensors
Freescale Semiconductor, Inc. 29
MMA68xx
Figure 15. Low-Pass Filter Characteristics: fC = 300 Hz, Poles = 4, tS = 8 μs
Sensors
30 Freescale Semiconductor, Inc.
MMA68xx
Figure 16. Low-Pass Filter Characteristics: fC = 400 Hz, Poles = 4, tS = 8 μs
Sensors
Freescale Semiconductor, Inc. 31
MMA68xx
Figure 17. Low-Pass Filter Characteristics: fC = 400 Hz, Poles = 3, tS = 8 μs
Sensors
32 Freescale Semiconductor, Inc.
MMA68xx
Figure 18. Low-Pass Filter Characteristics: fC = 800 Hz, Poles = 4, tS = 8 μs
Sensors
Freescale Semiconductor, Inc. 33
MMA68xx
Figure 19. Low-Pass Filter Characteristics: fC = 1000 Hz, Poles = 4, tS = 8 μs
Sensors
34 Freescale Semiconductor, Inc.
MMA68xx
3.8.4 Offset Cancellation
MMA68xx provides the option to read offset cancelled acceleration data via the SPI by clearing the OC bit in the SPI command
(reference Section 4.1). A block diagram of the offset cancellation is shown in Figure 20, and response parameters are specified
in Section 2.4 and in Table 28.
Figure 20. Offset Cancellation Bloc k Diagram
In normal operation, the offset cancellation circuit computes a 24,576 sample running average of the acceleration data down-
sampled to 256 μs. The running average is compared against positive and negative thresholds to determine the offset correction
value that will be applied to the acceleratio n data.
During start up, three phases of moving average sizes are used to allow for faster convergence of misuse input signals. Ref-
erence Table 28 for offset cancellation timing information during startup and normal operation.
When the self-test circuitry is active, the offset cancellation block and th e offset monitor block are suspended, and the offset
correction value is constant. Once the self-test circuitry is disabled, the offset cancellation block remains suspended for the time
tST_OMB to allow the acceleration output to return to its nominal offset.
3.8.5 Offset Monitor
MMA68xx provides the option for an offset monitor circuit. The offset monitor circuit is enabled when the OFMON bit in the
DEVCFG register is programmed to a logic ‘1’. The output of the offset cancellation circuit is compared against a high and low
threshold. If the offset correction value exceeds either the OFFTHRPOS, or OFFTHRNEG threshold, an Offset Over Range con-
dition is indicated.
The offset correction value update rate is listed in Table 28: “Maximum Slew Rate”. Because the offset monitor uses this value,
the offset monitor will also update at this rate. The time to indicate an Offset Over Range is dependent upon the input signal.
The offset monitor status remains frozen during self-test, because the offset monitor is based on the offset cancellation circuit,
which is also suspended during self-test. The offset monitor is disabled for 2.1 seconds following reset regardless of the state of
the OFMON bit.
3.8.6 Signal Compensation
MMA68xx includes internal OTP and signal processing to compensate for sensitivity error and offset error . This compensation
is necessary to achieve the specified parameters in Section 2.4.
Table 28. Offset Cancellation Timing Specifications
Phase Start Time of
Phase
(from POR)
Typical
Time in Phase
(ms)
# of Samples in
Phase Samples
Averaged
OFF_CORR_VALUE
Update Rate
(ms)
Averaging
Period
(ms)
Maximum
Slew Rate
(LSB/s)
Averaging Filter
-3dB Frequency
(Hz)
Start 1 tOP 524.288 2048 48 2.048 12.288 122.1 36.05
Start 2 tOP + 524.288 524.288 2048 384 16.38 98.304 15.26 4.506
Start 3 tOP + 1048.576 524.288 2048 3072 131.1 786.432 1.907 0.5632
Normal tOP + 1572.864 24576 1049 6291.456 0.2384 0.07040
Accumulator T1
up to 4096 samples Shift
LPF
OUT
T2 T5T4T3 T6
Offset Inc/Dec
OFFCORRP
OFFCORRN
OFFTHN
OFFTHP
INC
DEC
Downsampled to 256μs
OFF_CORR_VALUE
OFFTHRNEG
OFFTHRPOS OFF_ERR
OFF_ERR
Correction
for Start Phase
OCOUT
Sensors
Freescale Semiconductor, Inc. 35
MMA68xx
3.8.7 Data Interpolation
MMA68xx includes 2 to 1 data interpolation to minimize the system sample jitter . Each result produced by the digital signal
processing chain is delayed one half of a sample time, and the interpolated value of successive samples is provided between
sample times. This operation is illu strated in Figure 21.
Figure 21. Data Interpolation Timing
The effect of this interpolation at the system level is a 50% reduction in sample jitter . Figure 22 shows the resulting output data
for an input signal.
Figure 22. Data Interpolation Example
Sn-3 Sn-2
t
t
Sn-1
tsts
Sn-1
ts
Sn
Sn-2
Sn3Sn2
+
2
--------------------------------Sn2Sn1
+
2
--------------------------------Sn1Sn
+
2
-------------------------
Sn-3
Response to SPI acceleration request occurring in this window receives interpolated sample
Response to SPI acceleration request occurring in this window receives true sample.
Internal Sample Rate
Output Sample Rate
40
45
50
55
60
65
70
75
80
0 5 10 15 20 25 30 35 40
Time
Counts
Input Signal
Internally Sampled Signal
Interpolated Samples
Internally
Sampled Values
Earliest Transmission
Point of Interpolated
Values
Earliest Transmissi on
Point of Internally
Sampled Values
Window of
Transmission for
Sampled Values
(Maximum: tS / 2)
Window of
Transmission for
Interp olated V alues
(Maximum: tS / 2)
Fixed Lat ency:
tS / 2
= Signal Jitter =
Sensors
36 Freescale Semiconductor, Inc.
MMA68xx
3.8.8 Acceleration Data Timing
The MMA68xx SPI uses a request/response protocol, where a SPI transfer is completed through a sequence of 2 phases.
Reference Section 4 for more details regarding the SPI protocol. In order to provide the most recent acceleration data for each
request, MMA68xx latches the associated data for an acceleration request at the falling edge of CS for the acceleration response
message (the subsequent SPI transfer). The most recent sample available from the DSP (including interpolation), is latched, pro-
viding a maximum latency of 1* tS relative to the falling edge of CS.
SCLK
MOSI
MISO
CS
Request X-Axis Request Y-Axis
X-Axis Response Y-Axis Response
Request X-Axis Request Y-Axis
X-Axis Response
X-Axis Data Latched Y-Axis Data Latched
X-Axis Arm Function updated if applicable Y-Axis Arm Function updated if applicable
Sensors
Freescale Semiconductor, Inc. 37
MMA68xx
3.8.9 Arming Function
MMA68xx provides the option for an arming function with 3 modes of operation. The operation of the arming function is se-
lected by the state of the A_CFG bits in the DEVCFG register.
Reference Section 4.5 for the operation of the Arming function with exception conditions. Error conditions do not impact prior
arming function responses. If an error occurs after an arming activation, the corresponding pulse stretch for the existing arming
condition will continue. However , new acceleration reads will not update the arming function regardless of the acceleration value.
3.8.9.1 Arming Function: Moving Average Mode
In moving average mode, the arming function runs a moving average on the offset cancelled output of each acceleration axis.
The number of samples used for the moving average (k) is programmable via the AWS_Xx[1:0] and ARM_Yx[1:0] bits in the
ARMCFGX and ARMCFGY registers. Reference Section 3.1.8 for register details.
ARM_MAn = (OCn + OCn-1 + ... + OCn+1-k)/k
Where n is the current sample.
The sample rate for each axis is determin ed by the SPI acceleration data sample rate. At the falli ng edge of CS for an accel-
eration data SPI response, the moving average for the associated axis is updated with a new sample. Reference Figure 25. The
SPI acceleration data sample rate must meet the minimum time between requests (tACC_REQ_x) specified in Section 2.5.
The moving average output is compared against positive and negative 8-bit thresholds that are individually programmed for
each axis via the ARMT_Xx and ARMT_Yx registers. Reference Section 3.1.9 for register details. If the moving average equals
or exceeds either threshold, an arming condition is indicated, the ARM_X or ARM_Y output is asserted for the associated axis,
and the pulse stretch counter is set as described in Section 3.8.9 .4.
The ARM_X or ARM_Y output is de-asserted only when the pulse stretch counter expires. Figure 25 shows the arming output
operation for different SPI conditions.
Figure 23. Arming Function Block Diagram - Moving Average Mode
Offset Cancellation
AWS_xP[1:0]
APS_x[1:0]
Pulse Stretch ARM_x
Gating I/O
ARMT_xN[7:0]
ARMT_xP[7:0]
Moving Average
Positive
Moving Average
Negative
AWS_xN[1:0]
OffCanc_ARM_x[10:0]
Sensors
38 Freescale Semiconductor, Inc.
MMA68xx
3.8.9.2 Arming Function: Count Mode
In count mode, the arming function compares each input sample against positive and negative thresholds that are individually
programmed for each axis via the ARMT_Xx and ARMT_Yx registers. Reference Section 3.1.9 for register details. If the sample
equals or exceeds either threshold, a sample counter is incremented. If the sample does not exceed either threshold, the sample
counter is reset to zero.
The sample rate for each axis is determin ed by the SPI acceleration data sample rate. At the falli ng edge of CS for an accel-
eration data SPI response, a new sample for the associated axis is compared against the thresholds. Reference Figure 25. The
SPI acceleration data sample rate must meet the minimum time between requests (tACC_REQ_x) specified in Section 2.5.
A sample count limit is programmable via the A WS_Xx[1:0] and A WS_Yx[1:0] bits in the ARMCFGX and ARMCFGY registers.
If the sample count reaches the programmable sample count limit, an arming condition is indicated, the ARM_X or ARM_Y output
is asserted for the associated axis, and the pulse stretch counter is set as described in Secti on 3.8.9.4 .
The ARM_X or ARM_Y output is de-asserted only when the pulse stretch counter expires. Figure 25 shows the arming output
operation for different SPI conditions.
Figure 24. Arming Function Block Diagram - Count Mode
Figure 25. X and Y Axis Arming Conditions, Moving Average and Co un t Mod e
ARMT_xN[7:0]
Offset Cancellation
AWS_xP[1:0]
APS_x[1:0]
Pulse Stretch ARM_x
ARMT_xP[7:0]
Gating I/O
1-4 Sample
Counter
OffCanc_ARM_x[10:0]
Y-Axis Ar m Condition
Present
X-Axis Data Latch ed for
Arm Function and SPI
SCLK
MOSI
MISO
CS
Request X-Axis Request Y-Axis
X-Axis Response Y-Axis Response
Request X-Axis Request Y-Axis
X-Axis Response
ARM_X
ARM_Y
Y-Axis Response
Y-Axis Arm Condition
Not Present X-Axis Arm Condition
Not Present
X-Axis Arm Condition
Present
Y-Axis Data Latched for
Arm Function and SPI X-Axis Data Latched for
Arm Function and SPI
tARM tARM Y-Axis Pulse Stretch
X-Axis Pulse Stretch
Sensors
Freescale Semiconductor, Inc. 39
MMA68xx
3.8.9.3 Arming Function: Unfiltered Mode
On the falling edge of CS for an acceleration response, the most recent available DSP sample for the requested axis is com-
pared against positive and negative thresholds that are individually programmed for each axis via the ARMT_Xx and ARMT_Yx
registers. Reference Section 3.1.9 for register details. If the sample equals or exceeds either threshold, an arming condition is
indicated.
Once an arming condition is indicated for the X-Axis, the ARM_X output is asserted when CS is asserted and the MISO data
includes an accelerati on response for that axis.
Once an arming condition is indicated for the Y-Axis, the ARM_Y output is asserted when CS is asserted and the MISO data
includes an accelerati on response for that axis.
The pulse stretch function is not app lied in Unfiltered mode.
Figure 26 contains a block diagram of the Arming Function operation in Unfiltered Mode. Figure 27 shows the Arming output
operation under the different SPI request conditions.
Figure 26. Arming Function Block Diag ram - Unfilte re d Mode
Figure 27. X and Y Axis Arming Conditions, Unfiltered Mode
ARMING FUNCTION
ACFG[2]
CS
AXIS Select
Interpolated Sample Rate
ARM_x
I/O
ACFG[1]
Y-Axis Ar m Condition
Present
X-Axis Data Latch ed for
Arm Function and SPI
SCLK
MOSI
MISO
CS
Request X-Axis Request Y-Axis
X-Axis Response Y-Axis Response
Request X-Axis Request Y-Axis
X-Axis Response
ARM_X
ARM_Y
Y-Axis Response
Y-Axis Arm Condition
Not Present X-Axis Arm Condition
Not Present
X-Axis Arm Condition
Present
Y-Axis Data Latched for
Arm Function and SPI X-Axis Data Latched for
Arm Function and SPI
tARM_UF_DLY
tARM_UF_ASSERT
tARM_UF_DLY
tARM_UF_ASSERT
Sensors
40 Freescale Semiconductor, Inc.
MMA68xx
3.8.9.4 Arming Pulse Stretch Function
A pulse stretch function can be applied to the arming outputs in moving average mode, or count mode.
If the pulse stretch function is not used (APS_X[1:0] = ’00’ or APS_Y[1:0] = ’00’), the arming output is asserted if and only if
an arming condition exists for the associated axis after the most recent evaluated sample. The arming output is de-asserted if
and only if an arming condition does not exist for the associated axis after the most recent evaluated sample. If the pulse stretch
function is used, (APS_X[1:0] not equal ’00’ or APS_Y[1:0] not equal ’00’), the arming output is controlled only by the value of
the pulse stretch timer value. If the pulse stretch timer value is non-zero, the arming output is asserted. If the pulse stretch timer
is zero, the arming output is de-asserted. The pulse stretch counter continuously decrements until it reaches zero. The pulse
stretch counter is reset to the programmed pulse stretch value if and only if an arming conditio n exists for the associated axis
after the most recent evaluated sample. Reference Figure 25.
The desired pulse stretch time is individually programmable for each axis via the APS_X[1:0] and APS_Y[1:0] bits in the ARM-
CFG register.
Exception conditions listed in Section 4.5 do not impact prior arming function responses. If an exception occurs after an arming
activation, the corresponding pulse stretch for the existing arming condition will continue. However, new acceleration reads will
not reset the pulse stretch counter rega rdless of the acceleration value.
3.8.9.5 Arming Pin Output Structure
The arming output pin structure can be set to active high, or active low with the A_CFG bits in the DEVCFG register as de-
scribed in Section 3.1.6.5 . The active high and active low pin output structures are shown in Figure 28.
Figure 28. Arming Function - Pin Output Structure
3.8.10 PCM Output Function
MMA68xx provides the option for a PCM output function. The PCM output is enabled by setting the A_CFG bits in the DEVCFG
register to the appropriate state as described in Secti on 3.1.6.5. When the PCM function is enabled, the upper 9 bits of the 10-
bit, offset cancelled, output scaled acceleration values are used to generate 8 MHz Pulse Code Modulated signals proportional
to the respective acceleration onto the PCM_X and PCM_Y pins. A block diagram of the PCM output is shown in Figure 29.
Exception conditions affect the PCM output as listed in Section 4.5.
Figure 29. PCM Output Function Block Diagra m
Arm Function
ARM
Gating
VCC
Arm Function ARM
Gating
VCC
Open Drain, Active High Open Drain, Active Low
Output Scaling
OC[9:1]
A
9 Bit ADDER
ARM/PCM
B
CARRY
SUM
fCLK = 8 MHz
Sample updated every 8μS9
9
D
FF
CLK
Q
Q
D
FF
CLK
Q
Q
D
FF
CLK
Q
Q
D
FF
CLK
Q
Q
D
FF
CLK
Q
Q
D
FF
CLK
Q
Q
D
FF
CLK
Q
Q
D
FF
CLK
Q
Q
D
FF
CLK
Q
Q
9
Sensors
Freescale Semiconductor, Inc. 41
MMA68xx
3.9 Serial Peripheral Interface
MMA68xx includes a Serial Peripheral Interface (SPI) to provide access to the configuration registers and digital data. Refer-
ence Section 4 for details regarding the SPI protocol and available commands.
To maximize independence between the X and Y channels, MMA68xx includes two interface blocks, one for each axis. The
X-axis interface block responds only to X-axis acceleration requests, or even addressed register commands. The Y -axis interface
block responds only to Y-axis acceleration requests, or odd addressed register commands. To the SPI master, MMA68xx oper-
ates as a single device. The internal independent blocks are transparent.
Each SPI block has an independent shift register. Once a me ssage is received (rising edge of CS), the contents of the two
shift registers are compared. If the contents do not match, the Y-Axis SPI block will not respond, and the X-Axis SPI block will
respond with a SPI Error as shown in Table 30. If the contents match, each SPI block decodes the message, and the appropriate
block enables MISO for a response during the next SPI message.
Figure 30 shows an internal diagram of the MMA68xx SPI.
Figure 30. SPI Diagram
Y SPI
CS_M
SCLKM
MOSIM
I/O
MISOM
CS
SCLK
MOSI
MISO
CS
SCLK
MOSI
MISO
SPI Master
X SPI
If Bit 13 == ’1’ If Bit 13 = ’0’
& Bit 14 == ’1’ & A0 == ’1’
If Bit 13 == ’1’ If Bit 13 = ’ 0
& Bit 14 == ’0’ & A0 == ’0’
Registers
X-Axis Raw Data
X-Axis OC Data
Even Address Regs
Y-Axis Raw Data
Y-Axis OC Data
Odd Address Regs
X SPI Shift Register
Y SPI Shift Register
SPI Mismatch Error (SPI Error)
Sensors
42 Freescale Semiconductor, Inc.
MMA68xx
3.10 Device Initialization
Following powerup, undervoltage reset, or a SPI reset command sequence, MMA68xx proceeds through an internal initializa-
tion process as shown below . Figure 31 also shows the MMA68xx performance for an example external system level initialization
procedure.
Figure 31. Initialization Process
Dly
POR
OTP Copy to
Mirror Registers
Offset Cancellation
Startup Phase 2
Initialize R/W
Registers to
Desired State
Verify X-Axis
Offset
Verify X-Axis
Self-Test &
ARM_X Asserted
Ver ify Y-Axis
Offset & ARM_Y
Deasserted
Verify X-Axis
Offset & ARM_X
Deasserted
Ve rify Y-Axis
Self-Test &
ARM_Y Asserted
Verify X-Axis
Offset & ARM_X
Deasserted
Verify Y-Axis
Offset & ARM_Y
Deasserted
Offset Cancellation
S tartup Phase 1
Offset Cancellation
Startup Phase 3
Offse t Cancellation
Normal Mode
Ready for SPI
Command
ENDINIT Clear
Dly Dly Dly
Re-Initialize
R/W Registers
(if needed)
Activate
X-Axis
Self-Test
Internal
Offset Error
Corrected to ’0’
Deactivate
X-Axis
Self -Test
Activate
Y-Axis
Self-Test Deactivate
Y-Axis
Self-Test
Normal
Mode
Internal Initialization
External Initialization
Delay
Deassertion
Dependent on Pulse
Stretch and/or Arming Mode
Deassertion
Dependent on Pulse
Stretch and/or Arming Mode
Assertion
Dependent on
Arming Mode
Assertion
Dependent on
Arming Mode
Set ENDINIT
Read DEVSTAT
to clear flags
Re-read DEVSTAT
to verify Status
tST_OMB
tOC_PHASE1 tOC_PHASE2 tOC_PHASE3
tOP
and
X_ST
Y_ST
X_ARM
Y_ARM
Notes:1) X-Axis and Y-Axis Self-Test can be enabled and evaluated simultaneously to reduce test time.
For failure mode coverage of the arming pins and of potential common axis failures, Freescale recommends independent self-test activation.
tSTRISE
2) tSTRISE and tSTFALL are dependent on the selected LPF group delay.
tSTFALL
Sensors
Freescale Semiconductor, Inc. 43
MMA68xx
3.11 Overload Response
3.11.1 Overload Performance
MMA68xx is designed to operate within a specified range. Acceleration beyond that range (overload) impacts the output of the
sensor. Acceleration beyond the range of the device can generate a DC shift at the output of the device that is dependent upon
the overload frequency and amplitude. The MMA68xx g-cell is overdamped, providing the optimal desi gn for overload perfor-
mance. However, the performance of the device during an overload cond ition is affected by many other parameters, including:
g-cell damping
Non-linearity
Clipping limits
Symmetry
Figure 32 shows the g-cell, ADC and output cli pping of MMA68xx over frequency. The relevant parameters are specified in
Section 2.1, and Section 2.6.
Figure 32. Output Clipping Vs. Frequency
3.11.2 Sigma Delta Over Range Response
Over range conditions exist when the signal level is beyond the full-scale range of the device but within the computational limits
of the DSP. The ΣΔ converter can saturate at levels above those specified in Section 2.1 (GADC_CLIP). The DSP operates pre-
dictably under all cases of over range, although the signal may include residual high frequency components for some time after
returning to the normal range of operation due to non-linear effects of the sensor.
5kHz fg-Cell fLPF
gADC_Clip
gg-cell_Clip
Determined by g-cell
10kHz
g-cellRolloff
Acceleration (g)
Frequency (kHz)
LPFRolloff
Region Clipped by g-cell
Region Clipped by ADC
Region of Signal Distortion due to
Asymmetry and Non-Linearity
Region of No Signal Distort ion Beyon d
Specification
Region of Interest
roll-off and ADC clipping
gRange_Norm
Determined by g-cell
roll-off and full scale range
Region Clipped
by Output
Sensors
44 Freescale Semiconductor, Inc.
MMA68xx
4 SPI Communications
Communication with MMA68xx is completed through synchronous serial transfers via SPI. MMA68xx is a slave device con-
figured for CPOL = 0, CPHA = 0, MSB first. SPI transfers are completed through a sequence of two phases. During the first
phase, the type of transfer and associated control information is transmitted from the SPI master to MMA68xx. Data from
MMA68xx is transmitted during the second phase. Any activity on MOSI or SCLK is ignored when CS is negated. Consequently ,
intermediate transfers involving other SPI devices may occur between phase one and phase two. Reference Figure 33.
Figure 33. SPI Transfer Detail
T3P1
SCLK
MOSI
MISO
CS
T1P1 T2P1
T1P2 T2P2 T3P2
SCLK
MOSI
MISO
CS
Phase One: Command
Phase Two: Response
Phase One: Response -Previous Command
Sensors
Freescale Semiconductor, Inc. 45
MMA68xx
4.1 SPI Command Format
Commands are transferred from the SPI master to MMA68xx. Valid commands fall into two categories: register operations,
and acceleration data requests.
Table 29. SPI Command Message Summary
MSB LSB
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0AX AOC 0 0 0 0 0 0 0 0 0 SD AR
MPCommand Type Reference
AX= Axis Selection
0 X-Axis Acceleration Data
1 Y-Axis Acceleration Data
A = Acceleration Data Request
0 Register Operation
1Acceleration Data
Request
OC = Offset Cancelled Data Request
0 Offset Cancelled Data Request
1 Raw Acceleration Data Request
SD = Signed Data Confirmation
Signed Data Enabled 0
Unsigned Data Enabled 1
ARM = ARM Function Status Confirmation
Disabled / PCM Output Enabled 0
Arming Function Enabled 1
P = Odd Parity
0AX AOC 0 0 0 0 0 0 0 0 0 SD AR
MPAccel Data
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 X-Axis OC, Signed Data, Disabled/PCM
0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 X-Axis OC, Signed Data, ARM Enabled
0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 X-Axis OC, Unsigned Data, Disabled/PCM
0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 X- Axis OC, Unsigned Data, ARM Enabled
0011000000000001X-Axis Raw, Signed Data, Disabled/PCM
0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 X-Axis Raw, Signed Data, ARM Enabled
0011000000000100 X-Axis Raw, Unsigned Data, Disabled/
PCM
0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 X-Axis Raw, Unsign ed Data , ARM Enable d
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 Y-Axis OC, Signed Data, Disabled/PCM
0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 Y-Axis OC, Signed Data, ARM Enabled
0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 Y-Axis OC, Unsigned Data, Disabled/PCM
0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 Y- Axis OC, Unsigned Data, ARM Enabled
0111000000000000Y-Axis Raw, Signed Data, Disabled/PCM
0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 Y-Axis Raw, Signed Data, ARM Enabled
0111000000000101 Y-Axis Raw, Unsigned Data, Disabled/
PCM
0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 Y-Axis Raw, Unsign ed Data , ARM Enable d
PAX AD12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Command Type Reference
P00
A4 A3 A2 A1 A0 00000000 Register Read Section 4.4
Register Address
P10
A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 Register Write Section 4.4
Register Address Data to be Written to Register
P = Odd Parity
Sensors
46 Freescale Semiconductor, Inc.
MMA68xx
4.2 SPI Response Format
Table 30. SPI Response Message Summary
MSB LSB
1514131211109876543210
CMD AAX Response to Valid Acceleration Request Data Type Reference
OC 0AX PS1 S0 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
OC = Offset Cancelled Data Requested
0 Transferred Accel Data is Offset Cancel led Data
1 Transferred Accel Data is Raw Data
AX = Axis Requested
0 X-Axis Acceleration Data Response
1 Y-Axis Acceleration Data Response
P = Odd Parity
S[1:0] = Device Status
0 0 In Initialization (ENDINIT = ’0’)
0 1 Normal Data Request
10 ST Active, ΣΔ/Offset Over range
Present
1 1 Internal Error Present / SPI Error
CMD AAX OC 0AX PS1 S0 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 Data Type Reference
Valid Accel
Data
Request
1 0 OC 0 0 P 0 1 X- Axis Acceleration Data Accel
Section 4.3
1 0 OC 0 0 P 1 0 X- Axis Self-Test Active Acceleration Data Accel
1 0 OC 0 0 P 0 0 X- Axis Acceleration Data, Initialization in Process (ENDINIT=’0’) Accel
1 1 OC 0 1 P 0 1 Y-Axis Acceleration Data Accel
1 1 OC 0 1 P 1 0 Y-Axis Self-Test Active Acceleration Data Accel
1 1 OC 0 1 P 0 0 Y- Axis Acceleration Data, Initialization in Process (ENDINIT=’0’) Accel
MSB LSB
1514131211109876543210
CMD AAX Response to Valid Register Access Data Type Reference
D15 D14 AX PD11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
Register
Write 01001P1110
D7 D6 D5 D4 D3 D2 D1 D0 Register Write Section 4.4.1
New Contents of Register
Register
Read 00010P1110
D7 D6 D5 D4 D3 D2 D1 D0 Register
Read Section 4.4.2
Contents of Register
MSB LSB
1514131211109876543210
CMD AAX Error Responses Data Type Reference
D15 D14 AX PD11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
Invalid Accel
Request xx
000P11 SD = 1: 00 0000 0000
SD = 0: 10 0000 0000
Register Setting
Mismatch Section 4.3
Internal
Error
Present xx IDE Bit Set
(Excl. Self-Test),
DEVINIT Bit Set
DEVRES Bit Set Section 4.5.5
MISO Error x x MISO Error on
Previous Msg Section 4.5.2
SPI Error x x
MOSI Parity
CMD Bit 15 = 1
SPI Timing Err
SPI Mismatch
Err
SPI Prot ocol
Errs
Section 4.5.1
Invalid
Register
Request 0x 0 0 00111000000000
Invalid Reg
Addr,
Write while
ENDINIT set,
Write to R/O
Reg
Section 4.4
Self-Test
Error 0x001P11 SD = 1: 00 0000 0000
SD = 0: 10 0000 0000
IDE Bit set
due to Self-
Test Error S ection 4.5.5
Sensors
Freescale Semiconductor, Inc. 47
MMA68xx
4.3 Acceleration Data Transfers
Acceleration data requests are initiated when the Acceleration bit of the SPI command message (A) is set to a logic ’1’. The
Axis Selection bit (AX) and the Offset Cancellation Selection bit (OC) of the command message select the type of acceleration
data requested, as shown in Table 31.
To verify that MMA68xx is configured as expected, each acceleration data request includes the configuration information that
impacts the output data. The requested configuration is compared against the data programmed in the writable register array.
Details are shown in Table 32.
If the data listed in Table 32 does not does not match, an Acceleration Data Request Mismatch failure is detected and no ac-
celeration data is transmitted. Reference Section 4.5.3 .1 .
Acceleration data request commands include a parity bit (P). Odd parity is employed. The number of logic ’1’ bits in the accel-
eration data request command must be an odd number.
Acceleration data is transmitted on the next SPI message if and only if all of the following conditions are met:
The DEVINIT bit in the DEVSTAT register is not set
The DEVRES bit in the DEVSTAT register is not set
The IDE bit in the DEVSTAT register is not set (Reference Section 4.5.5)
No SPI Error is detected (Reference Section 4.5.1)
No MISO Error is detected (Reference Section 4.5. 2)
No Acceleration Data Request Mismatch failure is detected (Reference Section 4.5.3.1)
No Self-Test Error is present (reference Section 4.5.5.2)
If the above conditions are met, MMA68xx responds with a “valid acceleration data request” response as shown in Table 30.
Otherwise, MMA68xx responds as specified in Section 4.5.
4.4 Register Access Operations
Two types of register access operations are supported; register write, and register read. Register access operations are ini ti-
ated when the acceleration bit (A) of the command message is set to a logic ’0’. The operation to be performed is indicated by
the Access Selection bit (AX) of the command message.
Register Access operations include a parity bit (P). Odd parity is employed. The number of logic ’1’ bits in the Register Access
operation must be an odd numbe r.
Table 31. Acceleration Data Request
Acceleration Data Request Command Information Data Type
Axis Selection Bit (AX) Offset Cancellation Select (OC)
0 0 X-Axis Offset Cancelled Data
0 1 X-Axis Raw Data
1 0 Y-Axis Offset Cancelled Data
1 1 Y-Axis Raw Data
Table 32. Acceleration Data Request Configuration Information
Programmable Option Command Message Bit Writable Register Information
Signed or Unsigned Data SD DEVCFG[4] (SD)
Arming Function or PCM Output ARM DEVCFG[2] || DEVCFG[1] (A_CFG[2] || A_CFG[1])
Access Selection Bit (AX) Operation
0 Register Read
1 Register Write
Sensors
48 Freescale Semiconductor, Inc.
MMA68xx
4.4.1 Register Write Request
During a register write request, bits 12 through 8 contain a five-bit address, and bits 7 through 0 contain the data value to be
written. Writable registers are defined in Table 3.
The response to a register write operation is shown in Table 30. The response is transmitted on the next SPI message if and
only if all of the following conditio ns are met:
No SPI Error is detected (Reference Section 4.5.1)
No MISO Error is detected (Reference Section 4.5. 2)
The ENDINIT bit is cleared (Reference Section 3.1.6.2)
This applies to all registers with the exception of the DEVCTL register
No Invalid Register Request is detected (Reference Section 4.5.3.2)
If the above conditions are met, MMA68xx responds to the register write request as shown in Table 30. Otherwise, MMA68xx
Responds as specified in Section 4.5.
Register write operations do not occur internally until the transfer during which they are requested has been completed. In the
event that a SPI Error is detected during a register write transfer, the write operation is not completed.
4.4.2 Register Read Request
During a register read request, bits 12 through 8 contain the five-bit address for the register to be read. Bits 7 through 0 must
be logic ’0’. Readable registe r s are defined in Table 3.
The response to a register read operation is shown in Table 30. The response is transmitted on the next SPI message if and
only if all of the following conditio ns are met:
No SPI Error is detected (Reference Section 4.5.1)
No MISO Error is detected (Reference Section 4.5. 2)
No Invalid Register Request is detected (Reference Section 4.5.3.2)
If the above conditions are met, MMA68xx responds to the register read request as shown in Table 30. Otherwise, MMA68xx
responds as specified in Section 4.5.
4.5 Exception Handling
The following sections describe the conditions for each detectable exception, and the MMA68xx response for each exception.
In the event that multiple exceptions exist, the exception response is determined by the priority listed in Table 33.
Table 33. SPI Error Response Priority
Error Priority Exception Effect on Data
SPI Data Arming Output PCM Output
1 SPI Error Error Response No Update No Effect
2 SPI MISO Error Error Response No Update No Effect
3 Invalid Request Error Response No Update No Effect
4 DEVINIT Bit Set Error Response No Update Disabled
5 DEVRES Error Error Response No Update Disabled
6 CRC Error Error Response No Update No Effect
7 Self-Test Error Error Response No Update No Effect
8 Offset Monitor Over Range No Effect No Effect No Effect
9ΣΔ Over Range No Effect No Effect No Effect
Sensors
Freescale Semiconductor, Inc. 49
MMA68xx
4.5.1 SPI Error
The following SPI conditions result in a SPI error:
SCLK is high when CS is asserted the number of SCLK rising edges detected while CS is asserted is not equal
to 16
SCLK is high when CS is negated
Command message parity error (MOSI)
Bit 15 of Acceleration Data Request is not equal to ‘0’
Bits 3 through 11 of an Acceleration Request are not equal to ‘0’
Bits 0 through 7 of a Register Read Request are not equal to ‘0’
MMA68xx responds to a SPI error with a “SPI Error” response as shown in Table 30. This applies to both acceleration data
request SPI errors, and Register Access SPI errors.
The arming function will not be updated if a SPI Error is detected. The PCM output is not affected by a SPI Error.
4.5.2 SPI Data Output Verification Error
MMA68xx includes a function to verify the integrity of the data output to th e MISO pin. The f unction reads the data transmitted
on the MISO pin and compares it against the data intended to be transmitted. If any one bit doesn’t match, a SPI MISO Mismatch
Fault is detected and the MISOERR flag in the DEVSTAT register is set.
If a valid SPI acceleration request message is received during the SPI transfer with the MISO mismatch failure, the SPI accel-
eration request message is ignored and MMA68xx responds with a “MISO Error” response during the subsequent SPI message
(reference Table 30). The Arming function is not updated if a MISO mismatch failure occurs. The PCM function is not affected by
the MISO mismatch failure.
If a valid SPI register write request message is received during the SPI transfer with the MISO mismatch failure, the register
write is c omple ted as req ues ted, but MMA68xx re sponds with a “MISO Error” response as shown in Table 30, during the subse-
quent SPI message.
If a valid SPI register read request message is received during the SPI transfer with the MISO mismatch failure, the register
read is ignored and MMA68xx responds with a “MISO Error” response as shown in Table 30, during the subsequent SPI mes-
sage. If the register read request is for the DEVSTAT register, th e DEVSTAT register will not be cleared.
In all cases, the MISOERR flag in the DEVSTAT register will remain set until a successful SPI Register Read Request of the
DEVSTAT register is completed.
Figure 34. SPI Data Output Verification
4.5.3 Invalid Requests
4.5.3.1 Acceleration Data Request Mismatch Failure
MMA68xx detects an “Acceleration Data Request Mismatch” error if the SPI “Acceleration Data Request” Command data listed
in Table 32 does not match the internal register settings. MMA68xx responds to an “Acceleration Data Request Mismatch” error
with an “Invalid Accel Request” response as specified in Table 30 on the subsequent SPI message only. No internal fault is re-
corded. The arming function will not be updated if an “Acceleration Data Request Mismatch” Error is detected. The PCM output
is not affected by the “Acceleration Data Request Mismatch” error.
Register operations will be executed as specified in Section 4.4.
D Q
R
D Q
R
DQ
SCLK
SPI DATA OUT SHIFT REGISTER DATA OUT BUFFER
MISO
MISO ERR
Sensors
50 Freescale Semiconductor, Inc.
MMA68xx
4.5.3.2 Invalid Register Request
The following conditions result in an “Invalid Register Request” error:
An attempt is made to write to an un-writable register (Writable registers are defined in Section 3.1, Table 3).
An attempt is made to write to a register while the ENDINIT bit in the DEVCFG register is set
This applies to all registers with the exception of the DEVCTL register
An attempt is made to read an un-readable register (Readable registers are defined in Section 3.1, Table 3).
MMA68xx responds to an “Invalid Register Request” error with an “Invalid Register Request” response as shown in Table 30.
4.5.4 Device Reset Indications
If the DEVINIT, or DEVRES bit is set in the DEVSTAT register as described in Section 3.1.10, MMA68xx will respond to accel-
eration data requests with an “Internal Error Present” response until the bits are cleared in the DEVSTAT register . The DEVINIT
bit is cleared automatically when device initialization is complete (Reference tOP in Section 2.6). The DEVRES bit is cleared on
a read of the DEVST A T register . The arming function will not be updated on Acceleration Data Request commands if the DEVINIT
or DEVRES bit is set in the DEVSTAT register. The PCM output is disabled if the DEVINIT or DEVRES bit is set.
4.5.5 Internal Error
The following errors will result in an internal error, and set the IDE bit in the DEVSTAT register:
OTP CRC Failure
Writable Register CRC Failure
Self-Test Error
Invalid internal logic states
4.5.5.1 CRC Error
If the IDE bit is set in the DEVSTA T register due to an OTP Shadow Register or Writ able Register CRC failure as described in
Section 3.2, MMA68xx will respond to acceleration data requests with an “Internal Error Present” response until the IDE bit is
cleared in the DEVSTAT register. The arming function will not be updated on Acceleration Data Request commands if a CRC
Error is detected. The PCM output is not aff ect ed by th e C R C error.
If the CRC error is in the writable register array, and the ENDINIT bit in the DEVCFG register has been set, the error can only
be cleared by a device reset. The IDE bi t will not be cleared on a read of the DEVSTAT register.
If the CRC error is in the OTP shadow register array, the error cannot be cleared.
Register operations will be executed as specified in Section 4.4.
4.5.5.2 Self-Test Error
If the IDE bit is set in the DEVSTAT register due to a Self-Test activation failure, MMA68xx will respond to acceleration data
requests with a “Self-Test Error” response until the IDE bit is cleared in the DEVSTAT register. The arming function will not be
updated on Acceleration Data Request commands if a Self-Test Error is detected. The PCM output is not affected by the Self -
Test Error. The IDE bit in the DEVSTAT register will remain set until a read of the DEVSTAT register occurs, even if the internal
failure is removed. If the internal error is still present when the DEVSTAT register is read , the IDE bit will remain set.
Register operations will be executed as specified in Section 4.4.
4.5.6 Offset Monitor Over Range
If an offset monitor over range is present as described in Section 3.8.5, MMA68xx will respond to an acceleration request for
the corresponding axis with a “Valid Acceleration Data Request” response, but the St atus bits (S[1:0]) will be set to ‘10’. The arm-
ing function will be updated on Acceleration Data Request commands even if an Offset Monitor Over Range is detected. Once
the over range condition is removed, MMA68xx will respond to acceleration requests with a “Valid Acceleration Data Request”
response with the S tatus bits (S[1:0]) set to ’10’ on the next SPI transfer , and a “Valid Acceleration Data Request” response with
normal status on subsequent SPI transfers. The OFFSET_X or OFFSET_Y bit in the DEVSTAT register will remain set until a
read of the DEVSTAT register occurs.
The PCM output is not affected by the offset monitor over range condition.
Register operations will be executed as specified in Section 4.4.
Sensors
Freescale Semiconductor, Inc. 51
MMA68xx
4.5.7 ΣΔ Over Range
If a ΣΔ Over Range failure is present as described in Section 3.1 1.2, MMA68xx will respond to acceleration data requests with
a "Valid Acceleration Data Request" response, but the Status bits (S[1:0]) will be set to ’10’. The arming function will be updated
on Acceleration Data Request commands even if a ΣΔ Over Range is detected. Once the over range condition is removed,
MMA68xx will respond to acceleration requests with a "Valid Acceleration Data Request" response with the Status bits (S[1:0])
set to ’10’ on the next SPI transfer , and a "Valid Acceleration Data Request" response with normal status on subsequent SPI
transfers. The SDOV bit in the DEVSTAT register will remain set until a read of the DEVSTAT register occurs.
The PCM output is not affected by the ΣΔ over range condition.
Register operations will be executed as specified in Section 4.4.
4.6 Initialization SPI Response
The first data transmitted by MMA68xx following reset is the SPI Erro r response shown in Table 30. This ensures that an un-
expected reset will always be detectable. MMA68xx will respond to all acceleration data requests with the "Invalid Acceleration
Data Request" response until the DEVRES bit in the DEVST A T register is cleared via a read of the DEVST A T register . The arming
function will not be updated on Acceleration Data Request commands until the DEVRES bit in the DEVSTAT register is cleared.
4.7 Acceleration Data Representation
Acceleration values are determined from the 10-bit digital output (DV) using the following equations:
The linear range of digital values for signed data is -480 to +480, and for unsigned data is 32 to 992. Resulting ranges and
some nominal acceleration values are shown in the following table.
Table 34. Nominal Acceleration Data Values
Unsigned
Digital Value Signed
Digital Value
Nominal Acceleration
Trimmed for
Maximum Sensitivity
(g)
Trimmed for
Maximum Range
(g)
993 - 1023 481 - 511 Unused
992 480 19.666 117.19
991 479 19.625 116.94
514 2 +0.082 +0.488
513 1 +0.041 +0.244
512 0 0 0
511 -1 -0.041 -0.244
510 -2 -0.082 -0.488
33 -479 -19.625 -116.94
32 -480 -19.666 -117.19
1 - 31 -481 to -511 Unused
0 -512 Fault
Acceleration SensitivityLSB DV 512()×=
Acceleration SensitivityLSB DV×=For Signed Data
For Unsigned Data
Sensors
52 Freescale Semiconductor, Inc.
MMA68xx
Figure 35 shows the how the possib le output data codes are determined from the input data and the error sources. The rele-
vant parameters are specified in Section 2.4.
Figure 35. Acceleration Data Output Vs. Accele ration Input
Sensors
Freescale Semiconductor, Inc. 53
MMA68xx
5 Package
5.1 Case Outline Drawing
Reference Freescale Case Outli ne Drawing # 98ASA00090D
http://www.freescale.com/files/shared/doc/package_info/98ASA00090D.pdf
5.2 Recommended Footprint
Reference Freescale Application Note AN3111, latest revision:
http://www.freescale.com/files/sensors/doc/app_note/AN3111.pdf
Table 35. Revision History
Revision
number Revision
date Description of changes
4 12/2011 Updated ordering table to include MMA6825BKW device options.
Removed “For user register...” comment on page 1 under ordering table.
Electrical Characteristics: Re moved “QR2” suffix from device numbers lines 56 through 61.
Added 100g (MMA6825) option.
PN Register V alue table on pg. 13: Updated values for X and Y axes for Decimal 5, added Decimal
27 and 28.
Updated equation in section 3.6, Self-Test Interface.
5 03/2012 Added SafeAssure logo, changed first paragraph and disclaimer to include trademark
information.
MMA68xx
Rev. 5
03/2012
Information in this document is provided solely to enable system and software
implementers to use Freescale Semiconductor products. There are no express or
implied copyright licenses granted hereunder to design or fabricate any integrated
circuits or integrated circuits based on the information in this document.
Freescale Semiconductor reserves the right to make changes without further notice to
any products herein. Freescale Semiconductor makes no warranty, representation or
guarantee regarding the suitability of its products for any particular purpose, nor does
Freescale Semiconductor assume any liability arising out of the application or use of any
product or circuit, and specifically disclaims any and all liability, including without
limitation consequential or incidental damages. Typical” parameters that may be
provided in Freescale Semiconductor data sheets and/or specifications can and do vary
in different applications and actual performance may vary over time. All operating
parameters, including Typicals, must be validated for each customer application by
customer’s technical experts. Freescale Semiconductor does not convey any license
under its patent rights nor the rights of others. Freescale Semiconductor products are
not designed, intended, or authorized for use as components in systems intended for
surgical implant into the body, or other applications intended to support or sustain life,
or for any other application in which the failure of the Freescale Semiconductor product
could create a situation where personal injury or death may occur. Should Buyer
purchase or use Freescale Semiconductor products for any such unintended or
unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and
its officers, employees, subsidiaries, affiliates, and distributors harmless against all
claims, costs, damages, and expenses, and reasonable attorney fees arising out of,
directly or indirectly, any claim of personal injury or death associated with such
unintended or unauthorized use, even if such claim alleges that Freescale
Semiconductor was negligent regarding the design or manufacture of the part.
Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. SafeAssure and Xtrinsic are trademarks of Freescale
Semiconductor, Inc.
All other product or service names are the property of their respective owners.
© 2012 Freescale Semiconductor, Inc. All rights reserved.
RoHS-compliant and/or Pb-free versions of Freescale products have the functionality and electrical
characteristics of their non-RoHS-compliant and/or non-Pb-free counterparts. For fu rther
information, see http:/www.freescale.com or contact your Freescale sales representative.
For information o n Freescale’ s Environmenta l Product s program, g o to http:/ /www .freescale. com/epp.
How to Reach Us:
Home Page:
www.freescale.com
Web Support:
http://www.freescale.com/support
USA/Europe or Locations Not Listed:
Freescale Semiconductor, Inc.
Technical Information Center, EL516
2100 East Elliot Road
Tempe, Arizona 85284
1-800-521-6274 or +1-480-768-2130
www.freescale.com/support
Europe, Middle East, and Africa:
Freescale Halbleiter Deutschland GmbH
Technical Information Center
Schatzbogen 7
81829 Muenchen, Germany
+44 1296 380 456 (English)
+46 8 52200080 (English)
+49 89 92103 559 (German)
+33 1 69 35 48 48 (French)
www.freescale.com/support
Japan:
Freescale Semiconductor Japan Ltd.
Headquarters
ARCO Tower 15F
1-8-1, Shimo-Meguro, Meguro-ku,
Tokyo 153-0064
Japan
0120 191014 or +81 3 5437 9125
support.japan@freescale.com
Asia/Pacific:
Freescale Semiconductor China Ltd.
Exchange Building 23F
No. 118 Jianguo Road
Chaoyang District
Beijing 100022
China
+86 10 5879 8000
support.asia@freescale.com
For Literature Requests Only:
Freescale Semiconductor Literature Distribution Center
1-800-441-2447 or +1-303-675-2140
Fax: +1-303-675-2150
LDCForFreescaleSemiconductor@hibbertgroup.com