ADXL345

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

3-Axis, ±2 g/±4 g/±8 g/±16 g

Digital Accelerometer
ADXL345
FEATURES GENERAL DESCRIPTION
Ultralow power: as low as 40 μA in measurement mode and The ADXL345 is a small, thin, low power, 3-axis accelerometer
0.1 μA in standby mode at VS = 2.5 V (typical) with high resolution (13-bit) measurement at up to ±16 g. Digital
Power consumption scales automatically with bandwidth output data is formatted as 16-bit twos complement and is acces-
User-selectable resolution sible through either a SPI (3- or 4-wire) or I2C digital interface.
Fixed 10-bit resolution
The ADXL345 is well suited for mobile device applications. It
Full resolution, where resolution increases with g range,
measures the static acceleration of gravity in tilt-sensing appli-
up to 13-bit resolution at ±16 g (maintaining 4 mg/LSB
cations, as well as dynamic acceleration resulting from motion
scale factor in all g ranges)
or shock. Its high resolution (4 mg/LSB) enables measurement
Embedded, patent pending FIFO technology minimizes host
of inclination changes less than 1.0°.
processor load
Tap/double tap detection Several special sensing functions are provided. Activity and
Activity/inactivity monitoring inactivity sensing detect the presence or lack of motion and if
Free-fall detection the acceleration on any axis exceeds a user-set level. Tap sensing
Supply voltage range: 2.0 V to 3.6 V detects single and double taps. Free-fall sensing detects if the
I/O voltage range: 1.7 V to VS device is falling. These functions can be mapped to one of two
SPI (3- and 4-wire) and I2C digital interfaces interrupt output pins. An integrated, patent pending 32-level
Flexible interrupt modes mappable to either interrupt pin first in, first out (FIFO) buffer can be used to store data to
Measurement ranges selectable via serial command minimize host processor intervention.
Bandwidth selectable via serial command Low power modes enable intelligent motion-based power
Wide temperature range (−40°C to +85°C) management with threshold sensing and active acceleration
10,000 g shock survival measurement at extremely low power dissipation.
Pb free/RoHS compliant
The ADXL345 is supplied in a small, thin, 3 mm × 5 mm ×
Small and thin: 3 mm × 5 mm × 1 mm LGA package
1 mm, 14-lead, plastic package.
APPLICATIONS
Handsets
Medical instrumentation
Gaming and pointing devices
Industrial instrumentation
Personal navigation devices
Hard disk drive (HDD) protection
Fitness equipment
FUNCTIONAL BLOCK DIAGRAM
VS VDD I/O

ADXL345 POWER
MANAGEMENT

CONTROL INT1
SENSE ADC AND
ELECTRONICS DIGITAL INTERRUPT
3-AXIS FILTER LOGIC INT2
SENSOR

SDA/SDI/SDIO
32 LEVEL
SERIAL I/O SDO/ALT
FIFO
ADDRESS
SCL/SCLK
07925-001

GND CS
Figure 1.
Rev. 0
Information furnished by Analog Devices is believed to be accurate and reliable. However, no
responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other
rights of third parties that may result from its use. Specifications subject to change without notice. No
license is granted by implication or otherwise under any patent or patent rights of Analog Devices. One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A.
Trademarks and registered trademarks are the property of their respective owners. See the last Tel: 781.329.4700 www.analog.com
page for disclaimers. Fax: 781.461.3113 ©2009 Analog Devices, Inc. All rights reserved.
ADXL345

TABLE OF CONTENTS
Features .............................................................................................. 1  FIFO ............................................................................................. 12 

Applications ....................................................................................... 1  Self-Test ....................................................................................... 13 

General Description ......................................................................... 1  Register Map ................................................................................... 14 

Functional Block Diagram .............................................................. 1  Register Definitions ................................................................... 15 

Revision History ............................................................................... 2  Applications Information .............................................................. 19 

Specifications..................................................................................... 3  Power Supply Decoupling ......................................................... 19 

Absolute Maximum Ratings............................................................ 4  Mechanical Considerations for Mounting .............................. 19 

Thermal Resistance ...................................................................... 4  Tap Detection .............................................................................. 19 

ESD Caution .................................................................................. 4  Threshold .................................................................................... 20 

Pin Configuration and Function Descriptions ............................. 5  Link Mode ................................................................................... 20 

Theory of Operation ........................................................................ 6  Sleep Mode vs. Low Power Mode............................................. 20 

Power Sequencing ........................................................................ 6  Using Self-Test ............................................................................ 20 

Power Savings ............................................................................... 6  Axes of Acceleration Sensitivity ............................................... 22 

Serial Communications ................................................................... 8  Layout and Design Recommendations ................................... 23 

SPI ................................................................................................... 8  Outline Dimensions ....................................................................... 24 

I2C ................................................................................................. 10  Ordering Guide .......................................................................... 24 

Interrupts ..................................................................................... 12 

REVISION HISTORY
5/09—Revision 0: Initial Version

Rev. 0 | Page 2 of 2
ADXL345

SPECIFICATIONS
TA = 25°C, VS = 2.5 V, VDD I/O = 1.8 V, acceleration = 0 g, CS = 1 μF tantalum, CIO = 0.1 μF, unless otherwise noted.
Table 1. Specifications 1
Parameter Test Conditions Min Typ Max Unit
SENSOR INPUT Each axis
Measurement Range User selectable ±2, ±4, ±8, ±16 g
Nonlinearity Percentage of full scale ±0.5 %
Inter-Axis Alignment Error ±0.1 Degrees
Cross-Axis Sensitivity 2 ±1 %
OUTPUT RESOLUTION Each axis
All g Ranges 10-bit resolution 10 Bits
±2 g Range Full resolution 10 Bits
±4 g Range Full resolution 11 Bits
±8 g Range Full resolution 12 Bits
±16 g Range Full resolution 13 Bits
SENSITIVITY Each axis
Sensitivity at XOUT, YOUT, ZOUT ±2 g, 10-bit or full resolution 232 256 286 LSB/g
Scale Factor at XOUT, YOUT, ZOUT ±2 g, 10-bit or full resolution 3.5 3.9 4.3 mg/LSB
Sensitivity at XOUT, YOUT, ZOUT ±4 g, 10-bit resolution 116 128 143 LSB/g
Scale Factor at XOUT, YOUT, ZOUT ±4 g, 10-bit resolution 7.0 7.8 8.6 mg/LSB
Sensitivity at XOUT, YOUT, ZOUT ±8 g, 10-bit resolution 58 64 71 LSB/g
Scale Factor at XOUT, YOUT, ZOUT ±8 g, 10-bit resolution 14.0 15.6 17.2 mg/LSB
Sensitivity at XOUT, YOUT, ZOUT ±16 g, 10-bit resolution 29 32 36 LSB/g
Scale Factor at XOUT, YOUT, ZOUT ±16 g, 10-bit resolution 28.1 31.2 34.3 mg/LSB
Sensitivity Change Due to Temperature ±0.01 %/°C
0 g BIAS LEVEL Each axis
0 g Output for XOUT, YOUT −150 ±40 +150 mg
0 g Output for ZOUT −250 ±80 +250 mg
0 g Offset vs. Temperature for x-, y-Axes ±0.8 mg/°C
0 g Offset vs. Temperature for z-Axis ±4.5 mg/°C
NOISE PERFORMANCE
Noise (x-, y-Axes) Data rate = 100 Hz for ±2 g, 10-bit or <1.0 LSB rms
full resolution
Noise (z-Axis) Data rate = 100 Hz for ±2 g, 10-bit or <1.5 LSB rms
full resolution
OUTPUT DATA RATE AND BANDWIDTH User selectable
Measurement Rate 3 6.25 3200 Hz
SELF-TEST 4 Data rate ≥ 100 Hz, 2.0 V ≤ VS ≤ 3.6 V
Output Change in x-Axis 0.20 2.10 g
Output Change in y-Axis −2.10 −0.20 g
Output Change in z-Axis 0.30 3.40 g
POWER SUPPLY
Operating Voltage Range (VS) 2.0 2.5 3.6 V
Interface Voltage Range (VDD I/O) VS ≤ 2.5 V 1.7 1.8 VS V
VS ≥ 2.5 V 2.0 2.5 VS V
Supply Current Data rate > 100 Hz 145 μA
Data rate < 10 Hz 40 μA
Standby Mode Leakage Current 0.1 2 μA
Turn-On Time 5 Data rate = 3200 Hz 1.4 ms
TEMPERATURE
Operating Temperature Range −40 +85 °C
WEIGHT
Device Weight 20 mg

1
All minimum and maximum specifications are guaranteed. Typical specifications are not guaranteed.
2
Cross-axis sensitivity is defined as coupling between any two axes.
3
Bandwidth is half the output data rate.
4
Self-test change is defined as the output (g) when the SELF_TEST bit = 1 (in the DATA_FORMAT register) minus the output (g) when the SELF_TEST bit = 0 (in the
DATA_FORMAT register). Due to device filtering, the output reaches its final value after 4 × τ when enabling or disabling self-test, where τ = 1/(data rate).
5
Turn-on and wake-up times are determined by the user-defined bandwidth. At a 100 Hz data rate, the turn-on and wake-up times are each approximately 11.1 ms. For
other data rates, the turn-on and wake-up times are each approximately τ + 1.1 in milliseconds, where τ = 1/(data rate).

Rev. 0 | Page 3 of 3
ADXL345

ABSOLUTE MAXIMUM RATINGS


Table 2.
Stresses above those listed under Absolute Maximum Ratings
Parameter Rating
may cause permanent damage to the device. This is a stress
Acceleration
rating only; functional operation of the device at these or any
Any Axis, Unpowered 10,000 g
other conditions above those indicated in the operational
Any Axis, Powered 10,000 g
section of this specification is not implied. Exposure to absolute
VS −0.3 V to +3.6 V
maximum rating conditions for extended periods may affect
VDD I/O −0.3 V to +3.6 V
device reliability.
Digital Pins −0.3 V to VDD I/O + 0.3 V or
3.6 V, whichever is less THERMAL RESISTANCE
All Other Pins −0.3 V to +3.6 V
Output Short-Circuit Duration Indefinite Table 3. Package Characteristics
(Any Pin to Ground) Package Type θJA θJC Device Weight
Temperature Range 14-Terminal LGA 150°C/W 85°C/W 20 mg
Powered −40°C to +105°C
Storage −40°C to +105°C ESD CAUTION

Rev. 0 | Page 4 of 4
ADXL345

PIN CONFIGURATION AND FUNCTION DESCRIPTIONS


ADXL345
TOP VIEW
(Not to Scale)

SCL/SCLK

VDD I/O 1 14 13 SDA/SDI/SDIO

GND 2 12 SDO/ALT ADDRESS

RESERVED 3 11 RESERVED
+x
GND 4 10 NC
+y
+z
GND 5 9 INT2

VS 6 7 8 INT1

07925-002
CS

Figure 2. Pin Configuration

Table 4. Pin Function Descriptions


Pin No. Mnemonic Description
1 VDD I/O Digital Interface Supply Voltage.
2 GND Must be connected to ground.
3 Reserved Reserved. This pin must be connected to VS or left open.
4 GND Must be connected to ground.
5 GND Must be connected to ground.
6 VS Supply Voltage.
7 CS Chip Select.
8 INT1 Interrupt 1 Output.
9 INT2 Interrupt 2 Output.
10 NC Not Internally Connected.
11 Reserved Reserved. This pin must be connected to ground or left open.
12 SDO/ALT ADDRESS Serial Data Output/Alternate I2C Address Select.
13 SDA/SDI/SDIO Serial Data (I2C)/Serial Data Input (SPI 4-Wire)/Serial Data Input and Output (SPI 3-Wire).
14 SCL/SCLK Serial Communications Clock.

Rev. 0 | Page 5 of 5
ADXL345

THEORY OF OPERATION
The ADXL345 is a complete 3-axis acceleration measurement POWER SAVINGS
system with a selectable measurement range of ±2 g, ±4 g, ±8 g,
Power Modes
or ±16 g. It measures both dynamic acceleration resulting from
motion or shock and static acceleration, such as gravity, which The ADXL345 automatically modulates its power consumption
allows the device to be used as a tilt sensor. in proportion to its output data rate, as outlined in Table 6. If
additional power savings is desired, a lower power mode is
The sensor is a polysilicon surface-micromachined structure
available. In this mode, the internal sampling rate is reduced,
built on top of a silicon wafer. Polysilicon springs suspend the
allowing for power savings in the 12.5 Hz to 400 Hz data rate
structure over the surface of the wafer and provide a resistance
range but at the expense of slightly greater noise. To enter lower
against acceleration forces.
power mode, set the LOW_POWER bit (Bit 4) in the BW_RATE
Deflection of the structure is measured using differential capacitors register (Address 0x2C). The current consumption in low power
that consist of independent fixed plates and plates attached to the mode is shown in Table 7 for cases where there is an advantage
moving mass. Acceleration deflects the beam and unbalances the for using low power mode. The current consumption values
differential capacitor, resulting in a sensor output whose amplitude shown in Table 6 and Table 7 are for a VS of 2.5 V. Current
is proportional to acceleration. Phase-sensitive demodulation is scales linearly with VS.
used to determine the magnitude and polarity of the acceleration.
Table 6. Current Consumption vs. Data Rate
POWER SEQUENCING
(TA = 25°C, VS = 2.5 V, VDD I/O = 1.8 V)
Power can be applied to VS or VDD I/O in any sequence without Output Data
damaging the ADXL345. All possible power-on modes are Rate (Hz) Bandwidth (Hz) Rate Code IDD (μA)
summarized in Table 5. The interface voltage level is set with 3200 1600 1111 145
the interface supply voltage, VDD I/O, which must be present to 1600 800 1110 100
ensure that the ADXL345 does not create a conflict on the 800 400 1101 145
communication bus. For single-supply operation, VDD I/O can be 400 200 1100 145
the same as the main supply, VS. In a dual-supply application, 200 100 1011 145
however, VDD I/O can differ from VS to accommodate the desired 100 50 1010 145
interface voltage, as long as VS is greater than VDD I/O. 50 25 1001 100
After VS is applied, the device enters standby mode, where power 25 12.5 1000 65
consumption is minimized and the device waits for VDD I/O to be 12.5 6.25 0111 55
applied and for the command to enter measurement mode to be 6.25 3.125 0110 40
received. (This command can be initiated by setting the measure
bit in the POWER_CTL register (Address 0x2D).) In addition, any Table 7. Current Consumption vs. Data Rate, Low Power Mode
register can be written to or read from to configure the part while (TA = 25°C, VS = 2.5 V, VDD I/O = 1.8 V)
the device is in standby mode. It is recommended to configure the Output Data
Rate (Hz) Bandwidth (Hz) Rate Code IDD (μA)
device in standby mode and then to enable measurement mode.
400 200 1100 100
Clearing the measure bit returns the device to the standby mode.
200 100 1011 65
Table 5. Power Sequencing 100 50 1010 55
Condition VS VDD I/O Description 50 25 1001 50
Power Off Off Off The device is completely off, but there 25 12.5 1000 40
is a potential for a communication 12.5 6.25 0111 40
bus conflict.
Bus Disabled On Off The device is on in standby mode, but
communication is unavailable and will
create a conflict on the communication
bus. The duration of this state should
be minimized during power-up to
prevent a conflict.
Bus Enabled Off On No functions are available, but the
device will not create a conflict on the
communication bus.
Standby or On On At power-up, the device is in standby
Measurement mode, awaiting a command to enter
measurement mode, and all sensor
functions are off. After the device is
instructed to enter measurement
mode, all sensor functions are available.

Rev. 0 | Page 6 of 6
ADXL345
Auto Sleep Mode Standby Mode
Additional power can be saved if the ADXL345 automatically For even lower power operation, standby mode can be used. In
switches to sleep mode during periods of inactivity. To enable standby mode, current consumption is reduced to 0.1 μA (typical).
this feature, set the THRESH_INACT register (Address 0x25) In this mode, no measurements are made. Standby mode is entered
and the TIME_INACT register (Address 0x26) each to a value by clearing the measure bit (Bit 3) in the POWER_CTL register
that signifies inactivity (the appropriate value depends on the (Address 0x2D). Placing the device into standby mode preserves
application), and then set the AUTO_SLEEP bit and the link bit in the contents of FIFO.
the POWER_CTL register (Address 0x2D). Current consumption
at the sub-8 Hz data rates used in this mode is typically 40 μA
for a VS of 2.5 V.

Rev. 0 | Page 7 of 7
ADXL345

SERIAL COMMUNICATIONS
I2C and SPI digital communications are available. In both cases, ADXL345 PROCESSOR
the ADXL345 operates as a slave. I2C mode is enabled if the CS pin CS D OUT
is tied high to VDD I/O. The CS pin should always be tied high to SDI D OUT

VDD I/O or be driven by an external controller because there is no SDO D IN

07925-003
default mode if the CS pin is left unconnected. Therefore, not SCLK D OUT

taking these precautions may result in an inability to communicate Figure 4. 4-Wire SPI Connection Diagram
with the part. In SPI mode, the CS pin is controlled by the bus
To read or write multiple bytes in a single transmission, the
master. In both SPI and I2C modes of operation, data transmitted
multiple-byte bit, located after the R/W bit in the first byte
from the ADXL345 to the master device should be ignored during
transfer (MB in Figure 5 to Figure 7), must be set. After the
writes to the ADXL345.
register addressing and the first byte of data, each subsequent
SPI set of clock pulses (eight clock pulses) causes the ADXL345 to
For SPI, either 3- or 4-wire configuration is possible, as shown point to the next register for a read or write. This shifting continues
in the connection diagrams in Figure 3 and Figure 4. Clearing until the clock pulses cease and CS is deasserted. To perform
the SPI bit in the DATA_FORMAT register (Address 0x31) selects reads or writes on different, nonsequential registers, CS must be
4-wire mode, whereas setting the SPI bit selects 3-wire mode. deasserted between transmissions and the new register must be
The maximum SPI clock speed is 5 MHz with 100 pF maximum addressed separately.
loading, and the timing scheme follows clock polarity (CPOL) = 1 The timing diagram for 3-wire SPI reads or writes is shown in
and clock phase (CPHA) = 1. Figure 7. The 4-wire equivalents for SPI writes and reads are
CS is the serial port enable line and is controlled by the SPI master. shown in Figure 5 and Figure 6, respectively.
This line must go low at the start of a transmission and high at
Table 8. SPI Digital Input/Output Voltage
the end of a transmission, as shown in Figure 5. SCLK is the
Parameter Limit 1 Unit
serial port clock and is supplied by the SPI master. It is stopped
Digital Input Voltage
high when CS is high during a period of no transmission. SDI
Low Level Input Voltage (VIL) 0.2 × VDD I/O V max
and SDO are the serial data input and output, respectively. Data
High Level Input Voltage (VIH) 0.8 × VDD I/O V min
should be sampled at the rising edge of SCLK.
Digital Output Voltage
ADXL345 PROCESSOR Low Level Output Voltage (VOL) 0.15 × VDD I/O V max
CS D OUT High Level Output Voltage (VOH) 0.85 × VDD I/O V min
SDIO D IN/OUT
1
Limits based on characterization results, not production tested.
SDO
07925-004

SCLK D OUT

Figure 3. 3-Wire SPI Connection Diagram

Table 9. SPI Timing (TA = 25°C, VS = 2.5 V, VDD I/O = 1.8 V) 1


Limit 2, 3
Parameter Min Max Unit Description
fSCLK 5 MHz SPI clock frequency
tSCLK 200 ns 1/(SPI clock frequency) mark-space ratio for the SCLK input is 40/60 to 60/40
tDELAY 10 ns CS falling edge to SCLK falling edge
tQUIET 10 ns SCLK rising edge to CS rising edge
tDIS 100 ns CS rising edge to SDO disabled
tCS,DIS 250 ns CS deassertion between SPI communications
tS 0.4 × tSCLK ns SCLK low pulse width (space)
tM 0.4 × tSCLK ns SCLK high pulse width (mark)
tSDO 95 ns SCLK falling edge to SDO transition
tSETUP 10 ns SDI valid before SCLK rising edge
tHOLD 10 ns SDI valid after SCLK rising edge
1
The CS, SCLK, SDI, and SDO pins are not internally pulled up or down; they must be driven for proper operation.
2
Limits based on characterization results, characterized with fSCLK = 5 MHz and bus load capacitance of 100 pF; not production tested.
3
The timing values are measured corresponding to the input thresholds (VIL and VIH) given in Table 8.

Rev. 0 | Page 8 of 8
ADXL345

CS

tSCLK tM tS tQUIET tCS,DIS


tDELAY

SCLK

tHOLD
tSETUP

SDI W MB A5 A0 D7 D0

tSDO ADDRESS BITS DATA BITS tDIS

07925-017
SDO X X X X X X

Figure 5. SPI 4-Wire Write

CS

tSCLK tM tS tQUIET tCS,DIS


tDELAY

SCLK
tHOLD
tSETUP

SDI R MB A5 A0 X X

tSDO ADDRESS BITS tDIS

SDO X X X X D7 D0

07925-018
DATA BITS

Figure 6. SPI 4-Wire Read

CS
tDELAY tSCLK tM tS
tQUIET tCS,DIS

SCLK

tSETUP tHOLD tSDO

SDIO R/W MB A5 A0 D7 D0

ADDRESS BITS DATA BITS

SDO
07925-019

NOTES
1. tSDO IS ONLY PRESENT DURING READS.

Figure 7. SPI 3-Wire Read/Write

Rev. 0 | Page 9 of 9
ADXL345
I2C If other devices are connected to the same I2C bus, the nominal
operating voltage level of these other devices cannot exceed VDD I/O
With CS tied high to VDD I/O, the ADXL345 is in I2C mode,
by more than 0.3 V. External pull-up resistors, RP, are necessary
requiring a simple 2-wire connection as shown in Figure 8. The
for proper I2C operation. Refer to the UM10204 I2C-Bus
ADXL345 conforms to the UM10204 I2C-Bus Specification and
Specification and User Manual, Rev. 03—19 June 2007, when
User Manual, Rev. 03—19 June 2007, available from NXP
selecting pull-up resistor values to ensure proper operation.
Semiconductor. It supports standard (100 kHz) and fast (400 kHz)
data transfer modes if the timing parameters given in Table 11 Table 10. I2C Digital Input/Output Voltage
and Figure 10 are met. Single- or multiple-byte reads/writes are Parameter Limit 1 Unit
supported, as shown in Figure 9. With the SDO/ALT ADDRESS Digital Input Voltage
pin high, the 7-bit I2C address for the device is 0x1D, followed by Low Level Input Voltage (VIL) 0.25 × VDD I/O V max
the R/W bit. This translates to 0x3A for a write and 0x3B for a read. High Level Input Voltage (VIH) 0.75 × VDD I/O V min
An alternate I2C address of 0x53 (followed by the R/W bit) can Digital Output Voltage
be chosen by grounding the SDO/ALT ADDRESS pin (Pin 12). Low Level Output Voltage (VOL) 2 0.2 × VDD I/O V max
This translates to 0xA6 for a write and 0xA7 for a read.
1
Limits based on characterization results; not production tested.
2
The limit given is only for VDD I/O < 2 V. When VDD I/O > 2 V, the limit is 0.4 V max.

VDD I/O

ADXL345 RP RP PROCESSOR

CS
SDA D IN/OUT
ALT ADDRESS
SCL D OUT
07925-008

Figure 8. I2C Connection Diagram (Address 0x53)

SINGLE-BYTE WRITE
MASTER START SLAVE ADDRESS + WRITE REGISTER ADDRESS DATA STOP
SLAVE ACK ACK ACK
MULTIPLE-BYTE WRITE
MASTER START SLAVE ADDRESS + WRITE REGISTER ADDRESS DATA DATA STOP
SLAVE ACK ACK ACK ACK
SINGLE-BYTE READ
MASTER START SLAVE ADDRESS + WRITE REGISTER ADDRESS START1 SLAVE ADDRESS + READ NACK STOP
SLAVE ACK ACK ACK DATA
MULTIPLE-BYTE READ
MASTER START SLAVE ADDRESS + WRITE REGISTER ADDRESS START1 SLAVE ADDRESS + READ ACK NACK STOP
SLAVE ACK ACK ACK DATA DATA

1THIS START IS EITHER A RESTART OR A STOP FOLLOWED BY A START.

07925-009
NOTES
1. THE SHADED AREAS REPRESENT WHEN THE DEVICE IS LISTENING.

Figure 9. I2C Device Addressing

Rev. 0 | Page 10 of 10
ADXL345
Table 11. I2C Timing (TA = 25°C, VS = 2.5 V, VDD I/O = 1.8 V)
Limit 1, 2
Parameter Min Max Unit Description
fSCL 400 kHz SCL clock frequency
t1 2.5 μs SCL cycle time
t2 0.6 μs tHIGH, SCL high time
t3 1.3 μs tLOW, SCL low time
t4 0.6 μs tHD, STA, start/repeated start condition hold time
t5 350 ns tSU, DAT, data setup time
t6 3, 4, 5, 6 0 0.65 μs tHD, DAT, data hold time
t7 0.6 μs tSU, STA, setup time for repeated start
t8 0.6 μs tSU, STO, stop condition setup time
t9 1.3 μs tBUF, bus-free time between a stop condition and a start condition
t10 300 ns tR, rise time of both SCL and SDA when receiving
0 ns tR, rise time of both SCL and SDA when receiving or transmitting
t11 250 ns tF, fall time of SDA when receiving
300 ns tF, fall time of both SCL and SDA when transmitting
20 + 0.1 Cb 7 ns tF, fall time of both SCL and SDA when transmitting or receiveing
Cb 400 pF Capacitive load for each bus line
1
Limits based on characterization results, with fSCL = 400 kHz and a 3 mA sink current; not production tested.
2
All values referred to the VIH and the VIL levels given in Table 10.
3
t6 is the data hold time that is measured from the falling edge of SCL. It applies to data in transmission and acknowledge times.
4
A transmitting device must internally provide an output hold time of at least 300 ns for the SDA signal (with respect to VIH(min) of the SCL signal) to bridge the undefined region of
the falling edge of SCL.
5
The maximum t6 value must be met only if the device does not stretch the low period (t3) of the SCL signal.
6
The maximum value for t6 is a function of the clock low time (t3), the clock rise time (t10), and the minimum data setup time (t5(min)). This value is calculated as t6(max) = t3 − t10 − t5(min).
7
Cb is the total capacitance of one bus line in picofarads.

SDA

t9 t3 t4
t10 t11

SCL

t4 t6 t2 t5 t7 t1 t8

07925-020
START REPEATED STOP
CONDITION START CONDITION
CONDITION

Figure 10. I2C Timing Diagram

Rev. 0 | Page 11 of 11
ADXL345
INTERRUPTS the inactivity interrupt as follows: all axes always participate, the
timer period is much smaller (1.28 sec maximum), and the mode
The ADXL345 provides two output pins for driving interrupts: of operation is always dc-coupled.
INT1 and INT2. Each interrupt function is described in detail
in this section. All functions can be used simultaneously, with Watermark
the only limiting feature being that some functions may need The watermark bit is set when the number of samples in FIFO
to share interrupt pins. Interrupts are enabled by setting the equals the value stored in the samples bits (Register FIFO_CTL,
appropriate bit in the INT_ENABLE register (Address 0x2E) Address 0x38). The watermark bit is cleared automatically when
and are mapped to either the INT1 or INT2 pin based on the FIFO is read, and the content returns to a value below the value
contents of the INT_MAP register (Address 0x2F). It is recom- stored in the samples bits.
mended that interrupt bits be configured with the interrupts Overrun
disabled, preventing interrupts from being accidentally triggered
The overrun bit is set when new data replaces unread data. The
during configuration. This can be done by writing a value of 0x00
precise operation of the overrun function depends on the FIFO
to the INT_ENABLE register. Clearing interrupts is performed
mode. In bypass mode, the overrun bit is set when new data
either by reading the data registers (Address 0x32 to Address 0x37)
replaces unread data in the DATAX, DATAY, and DATAZ registers
until the interrupt condition is no longer valid for the data-related
(Address 0x32 to Address 0x37). In all other modes, the overrun
interrupts or by reading the INT_SOURCE register (Address 0x30)
bit is set when FIFO is filled. The overrun bit is automatically
for the remaining interrupts. This section describes the interrupts
cleared when the contents of FIFO are read.
that can be set in the INT_ENABLE register and monitored in
the INT_SOURCE register. FIFO
DATA_READY The ADXL345 contains patent pending technology for an
The DATA_READY bit is set when new data is available and is embedded 32-level FIFO that can be used to minimize host
cleared when no new data is available. processor burden. This buffer has four modes: bypass, FIFO,
stream, and trigger (see Table 19). Each mode is selected by the
SINGLE_TAP settings of the FIFO_MODE bits in the FIFO_CTL register
The SINGLE_TAP bit is set when a single acceleration event (Address 0x38).
that is greater than the value in the THRESH_TAP register
Bypass Mode
(Address 0x1D) occurs for less time than is specified in
the DUR register (Address 0x21). In bypass mode, FIFO is not operational and, therefore,
remains empty.
DOUBLE_TAP
FIFO Mode
The DOUBLE_TAP bit is set when two acceleration events
that are greater than the value in the THRESH_TAP register In FIFO mode, data from measurements of the x-, y-, and z-
(Address 0x1D) occur for less time than is specified in the axes are stored in FIFO. When the number of samples in FIFO
DUR register (Address 0x21), with the second tap starting after equals the level specified in the samples bits of the FIFO_CTL
the time specified by the latent register (Address 0x22) but within register (Address 0x38), the watermark interrupt is set. FIFO
the time specified in the window register (Address 0x23). See continues accumulating samples until it is full (32 samples from
the Tap Detection section for more details. measurements of the x-, y-, and z-axes) and then stops collecting
data. After FIFO stops collecting data, the device continues to
Activity operate; therefore, features such as tap detection can be used
The activity bit is set when acceleration greater than the value after FIFO is full. The watermark interrupt continues to occur
stored in the THRESH_ACT register (Address 0x24) is until the number of samples in FIFO is less than the value
experienced. stored in the samples bits of the FIFO_CTL register.
Inactivity Stream Mode
The inactivity bit is set when acceleration of less than the value In stream mode, data from measurements of the x-, y-, and z-
stored in the THRESH_INACT register (Address 0x25) is experi- axes are stored in FIFO. When the number of samples in FIFO
enced for more time than is specified in the TIME_INACT equals the level specified in the samples bits of the FIFO_CTL
register (Address 0x26). The maximum value for TIME_INACT register (Address 0x38), the watermark interrupt is set. FIFO
is 255 sec. continues accumulating samples and holds the latest 32 samples
FREE_FALL from measurements of the x-, y-, and z-axes, discarding older
data as new data arrives. The watermark interrupt continues
The FREE_FALL bit is set when acceleration of less than the
occurring until the number of samples in FIFO is less than the
value stored in the THRESH_FF register (Address 0x28) is
value stored in the samples bits of the FIFO_CTL register.
experienced for more time than is specified in the TIME_FF
register (Address 0x29). The FREE_FALL interrupt differs from

Rev. 0 | Page 12 of 12
ADXL345
Trigger Mode SELF-TEST
In trigger mode, FIFO accumulates samples, holding the latest The ADXL345 incorporates a self-test feature that effectively
32 samples from measurements of the x-, y-, and z-axes. After tests its mechanical and electronic systems simultaneously.
a trigger event occurs and an interrupt is sent to the INT1 or When the self-test function is enabled (via the SELF_TEST bit
INT2 pin (determined by the trigger bit in the FIFO_CTL register), in the DATA_FORMAT register, Address 0x31), an electrostatic
FIFO keeps the last n samples (where n is the value specified by force is exerted on the mechanical sensor. This electrostatic force
the samples bits in the FIFO_CTL register) and then operates in moves the mechanical sensing element in the same manner as
FIFO mode, collecting new samples only when FIFO is not full. acceleration, and it is additive to the acceleration experienced
A delay of at least 5 μs should be present between the trigger event by the device. This added electrostatic force results in an output
occurring and the start of reading data from the FIFO to allow change in the x-, y-, and z-axes. Because the electrostatic force
the FIFO to discard and retain the necessary samples. Additional is proportional to VS2, the output change varies with VS. The
trigger events cannot be recognized until the trigger mode is self-test feature of the ADXL345 also exhibits a bimodal behavior
reset. To reset the trigger mode, set the device to bypass mode that depends on which phase of the clock self-test is enabled.
and then set the device back to trigger mode. Note that the However, the limits shown in Table 1 and Table 12 to Table 15
FIFO data should be read first because placing the device into are valid for all potential self-test values across the entire
bypass mode clears FIFO. allowable voltage range. Use of the self-test feature at data rates
Retrieving Data from FIFO less than 100 Hz may yield values outside these limits.
Therefore, the part should be placed into a data rate of 100 Hz
The FIFO data is read through the DATAX, DATAY, and DATAZ
or greater when using self-test.
registers (Address 0x32 to Address 0x37). When the FIFO is in
FIFO, stream, or trigger mode, reads to the DATAX, DATAY, Table 12. Self-Test Output in LSB for ±2 g, Full Resolution
and DATAZ registers read data stored in the FIFO. Each time Axis Min Max Unit
data is read from the FIFO, the oldest x-, y-, and z-axes data are X 50 540 LSB
placed into the DATAX, DATAY and DATAZ registers. Y −540 −50 LSB
If a single-byte read operation is performed, the remaining Z 75 875 LSB
bytes of data for the current FIFO sample are lost. Therefore, all
axes of interest should be read in a burst (or multiple-byte) read Table 13. Self-Test Output in LSB for ±4 g, 10-Bit Resolution
operation. To ensure that the FIFO has completely popped (that Axis Min Max Unit
is, that new data has completely moved into the DATAX, DATAY, X 25 270 LSB
and DATAZ registers), there must be at least 5 μs between the Y −270 −25 LSB
end of reading the data registers and the start of a new read of Z 38 438 LSB
the FIFO or a read of the FIFO_STATUS register (Address 0x39).
Table 14. Self-Test Output in LSB for ±8 g, 10-Bit Resolution
The end of reading a data register is signified by the transition
Axis Min Max Unit
from Register 0x37 to Register 0x38 or by the CS pin going high.
X 12 135 LSB
For SPI operation at 1.6 MHz or less, the register addressing Y −135 −12 LSB
portion of the transmission is a sufficient delay to ensure that Z 19 219 LSB
the FIFO has completely popped. For SPI operation greater than
1.6 MHz, it is necessary to deassert the CS pin to ensure a total Table 15. Self-Test Output in LSB for ±16 g, 10-Bit Resolution
delay of 5 μs; otherwise, the delay will not be sufficient. The total Axis Min Max Unit
delay necessary for 5 MHz operation is at most 3.4 μs. This is X 6 67 LSB
not a concern when using I2C mode because the communication Y −67 −6 LSB
rate is low enough to ensure a sufficient delay between FIFO reads. Z 10 110 LSB

Rev. 0 | Page 13 of 13
ADXL345

REGISTER MAP
Table 16. Register Map
Address
Hex Dec Name Type Reset Value Description
0x00 0 DEVID R 11100101 Device ID.
0x01 to 0x01C 1 to 28 Reserved Reserved. Do not access.
0x1D 29 THRESH_TAP R/W 00000000 Tap threshold.
0x1E 30 OFSX R/W 00000000 X-axis offset.
0x1F 31 OFSY R/W 00000000 Y-axis offset.
0x20 32 OFSZ R/W 00000000 Z-axis offset.
0x21 33 DUR R/W 00000000 Tap duration.
0x22 34 Latent R/W 00000000 Tap latency.
0x23 35 Window R/W 00000000 Tap window.
0x24 36 THRESH_ACT R/W 00000000 Activity threshold.
0x25 37 THRESH_INACT R/W 00000000 Inactivity threshold.
0x26 38 TIME_INACT R/W 00000000 Inactivity time.
0x27 39 ACT_INACT_CTL R/W 00000000 Axis enable control for activity and inactivity detection.
0x28 40 THRESH_FF R/W 00000000 Free-fall threshold.
0x29 41 TIME_FF R/W 00000000 Free-fall time.
0x2A 42 TAP_AXES R/W 00000000 Axis control for tap/double tap.
0x2B 43 ACT_TAP_STATUS R 00000000 Source of tap/double tap.
0x2C 44 BW_RATE R/W 00001010 Data rate and power mode control.
0x2D 45 POWER_CTL R/W 00000000 Power-saving features control.
0x2E 46 INT_ENABLE R/W 00000000 Interrupt enable control.
0x2F 47 INT_MAP R/W 00000000 Interrupt mapping control.
0x30 48 INT_SOURCE R 00000010 Source of interrupts.
0x31 49 DATA_FORMAT R/W 00000000 Data format control.
0x32 50 DATAX0 R 00000000 X-Axis Data 0.
0x33 51 DATAX1 R 00000000 X-Axis Data 1.
0x34 52 DATAY0 R 00000000 Y-Axis Data 0.
0x35 53 DATAY1 R 00000000 Y-Axis Data 1.
0x36 54 DATAZ0 R 00000000 Z-Axis Data 0.
0x37 55 DATAZ1 R 00000000 Z-Axis Data 1.
0x38 56 FIFO_CTL R/W 00000000 FIFO control.
0x39 57 FIFO_STATUS R 00000000 FIFO status.

Rev. 0 | Page 14 of 14
ADXL345
REGISTER DEFINITIONS Register 0x26—TIME_INACT (Read/Write)
Register 0x00—DEVID (Read Only) The TIME_INACT register is eight bits and contains an unsigned
D7 D6 D5 D4 D3 D2 D1 D0 time value representing the amount of time that acceleration
1 1 1 0 0 1 0 1 must be less than the value in the THRESH_INACT register for
inactivity to be declared. The scale factor is 1 sec/LSB. Unlike
The DEVID register holds a fixed device ID code of 0xE5 the other interrupt functions, which use unfiltered data (see the
(345 octal). Threshold section), the inactivity function uses filtered output
Register 0x1D—THRESH_TAP (Read/Write) data. At least one output sample must be generated for the
The THRESH_TAP register is eight bits and holds the threshold inactivity interrupt to be triggered. This results in the function
value for tap interrupts. The data format is unsigned, so the appearing unresponsive if the TIME_INACT register is set to a
magnitude of the tap event is compared with the value in value less than the time constant of the output data rate. A value
THRESH_TAP. The scale factor is 62.5 mg/LSB (that is, 0xFF = of 0 results in an interrupt when the output data is less than the
+16 g). A value of 0 may result in undesirable behavior if tap/ value in the THRESH_INACT register.
double tap interrupts are enabled. Register 0x27—ACT_INACT_CTL (Read/Write)
Register 0x1E, Register 0x1F, Register 0x20—OFSX, D7 D6 D5 D4
OFSY, OFSZ (Read/Write) ACT ac/dc ACT_X enable ACT_Y enable ACT_Z enable
D3 D2 D1 D0
The OFSX, OFSY, and OFSZ registers are each eight bits and
INACT ac/dc INACT_X enable INACT_Y enable INACT_Z enable
offer user-set offset adjustments in twos complement format
with a scale factor of 15.6 mg/LSB (that is, 0x7F = +2 g). ACT AC/DC and INACT AC/DC Bits
Register 0x21—DUR (Read/Write) A setting of 0 selects dc-coupled operation, and a setting of 1
The DUR register is eight bits and contains an unsigned time enables ac-coupled operation. In dc-coupled operation, the
value representing the maximum time that an event must be current acceleration magnitude is compared directly with
above the THRESH_TAP threshold to qualify as a tap event. The THRESH_ACT and THRESH_INACT to determine whether
scale factor is 625 μs/LSB. A value of 0 disables the tap/double activity or inactivity is detected.
tap functions. In ac-coupled operation for activity detection, the acceleration
Register 0x22—Latent (Read/Write) value at the start of activity detection is taken as a reference
value. New samples of acceleration are then compared to this
The latent register is eight bits and contains an unsigned time
reference value, and if the magnitude of the difference exceeds
value representing the wait time from the detection of a tap event
the THRESH_ACT value, the device triggers an activity interrupt.
to the start of the time window (defined by the window register)
during which a possible second tap event can be detected. The scale Similarly, in ac-coupled operation for inactivity detection, a
factor is 1.25 ms/LSB. A value of 0 disables the double tap function. reference value is used for comparison and is updated whenever
the device exceeds the inactivity threshold. After the reference
Register 0x23—Window (Read/Write)
value is selected, the device compares the magnitude of the
The window register is eight bits and contains an unsigned time difference between the reference value and the current acceleration
value representing the amount of time after the expiration of the with THRESH_INACT. If the difference is less than the value in
latency time (determined by the latent register) during which a THRESH_INACT for the time in TIME_INACT, the device is
second valid tap can begin. The scale factor is 1.25 ms/LSB. A considered inactive and the inactivity interrupt is triggered.
value of 0 disables the double tap function.
ACT_x Enable Bits and INACT_x Enable Bits
Register 0x24—THRESH_ACT (Read/Write)
A setting of 1 enables x-, y-, or z-axis participation in detecting
The THRESH_ACT register is eight bits and holds the threshold activity or inactivity. A setting of 0 excludes the selected axis from
value for detecting activity. The data format is unsigned, so the participation. If all axes are excluded, the function is disabled.
magnitude of the activity event is compared with the value in
the THRESH_ACT register. The scale factor is 62.5 mg/LSB. Register 0x28—THRESH_FF (Read/Write)
A value of 0 may result in undesirable behavior if the activity The THRESH_FF register is eight bits and holds the threshold
interrupt is enabled. value, in unsigned format, for free-fall detection. The root-sum-
square (RSS) value of all axes is calculated and compared with
Register 0x25—THRESH_INACT (Read/Write)
the value in THRESH_FF to determine if a free-fall event occurred.
The THRESH_INACT register is eight bits and holds the threshold The scale factor is 62.5 mg/LSB. Note that a value of 0 mg may
value for detecting inactivity. The data format is unsigned, so result in undesirable behavior if the free-fall interrupt is enabled.
the magnitude of the inactivity event is compared with the value Values between 300 mg and 600 mg (0x05 to 0x09) are
in the THRESH_INACT register. The scale factor is 62.5 mg/LSB. recommended.
A value of 0 mg may result in undesirable behavior if the inactivity
interrupt is enabled.
Rev. 0 | Page 15 of 15
ADXL345
Register 0x29—TIME_FF (Read/Write) Rate Bits
The TIME_FF register is eight bits and stores an unsigned time These bits select the device bandwidth and output data rate (see
value representing the minimum time that the RSS value of all axes Table 6 and Table 7 for details). The default value is 0x0A, which
must be less than THRESH_FF to generate a free-fall interrupt. translates to a 100 Hz output data rate. An output data rate
The scale factor is 5 ms/LSB. A value of 0 may result in undesirable should be selected that is appropriate for the communication
behavior if the free-fall interrupt is enabled. Values between 100 ms protocol and frequency selected. Selecting too high of an output
and 350 ms (0x14 to 0x46) are recommended. data rate with a low communication speed results in samples
Register 0x2A—TAP_AXES (Read/Write) being discarded.
D7 D6 D5 D4 D3 D2 D1 D0 Register 0x2D—POWER_CTL (Read/Write)
0 0 0 0 Suppress TAP_X TAP_Y TAP_Z D7 D6 D5 D4 D3 D2 D1 D0
enable enable enable 0 0 Link AUTO_SLEEP Measure Sleep Wakeup
Suppress Bit Link Bit
Setting the suppress bit suppresses double tap detection if A setting of 1 in the link bit with both the activity and inactivity
acceleration greater than the value in THRESH_TAP is present functions enabled delays the start of the activity function until
between taps. See the Tap Detection section for more details. inactivity is detected. After activity is detected, inactivity detection
TAP_x Enable Bits begins, preventing the detection of activity. This bit serially links
the activity and inactivity functions. When this bit is set to 0,
A setting of 1 in the TAP_X enable, TAP_Y enable, or TAP_Z
the inactivity and activity functions are concurrent. Additional
enable bit enables x-, y-, or z-axis participation in tap detection.
information can be found in the Link Mode section.
A setting of 0 excludes the selected axis from participation in
tap detection. When clearing the link bit, it is recommended that the part be
placed into standby mode and then set back to measurement
Register 0x2B—ACT_TAP_STATUS (Read Only)
D7 D6 D5 D4 D3 D2 D1 D0
mode with a subsequent write. This is done to ensure that the
0 ACT_X ACT_Y ACT_Z Asleep TAP_X TAP_Y TAP_Z device is properly biased if sleep mode is manually disabled;
source source source source source source otherwise, the first few samples of data after the link bit is cleared
may have additional noise, especially if the device was asleep
ACT_x Source and TAP_x Source Bits when the bit was cleared.
These bits indicate the first axis involved in a tap or activity
AUTO_SLEEP Bit
event. A setting of 1 corresponds to involvement in the event,
and a setting of 0 corresponds to no involvement. When new If the link bit is set, a setting of 1 in the AUTO_SLEEP bit sets
data is available, these bits are not cleared but are overwritten by the ADXL345 to switch to sleep mode when inactivity is detected
the new data. The ACT_TAP_STATUS register should be read (that is, when acceleration has been below the THRESH_INACT
before clearing the interrupt. Disabling an axis from participation value for at least the time indicated by TIME_INACT). A setting
clears the corresponding source bit when the next activity or of 0 disables automatic switching to sleep mode. See the description
tap/double tap event occurs. of the sleep bit in this section for more information.

Asleep Bit When clearing the AUTO_SLEEP bit, it is recommended that the
part be placed into standby mode and then set back to measure-
A setting of 1 in the asleep bit indicates that the part is asleep, ment mode with a subsequent write. This is done to ensure that
and a setting of 0 indicates that the part is not asleep. See the the device is properly biased if sleep mode is manually disabled;
Register 0x2D—POWER_CTL (Read/Write) section for more otherwise, the first few samples of data after the AUTO_SLEEP
information on autosleep mode. bit is cleared may have additional noise, especially if the device
Register 0x2C—BW_RATE (Read/Write) was asleep when the bit was cleared.
D7 D6 D5 D4 D3 D2 D1 D0
Measure Bit
0 0 0 LOW_POWER Rate
A setting of 0 in the measure bit places the part into standby mode,
LOW_POWER Bit and a setting of 1 places the part into measurement mode. The
A setting of 0 in the LOW_POWER bit selects normal operation, ADXL345 powers up in standby mode with minimum power
and a setting of 1 selects reduced power operation, which has consumption.
somewhat higher noise (see the Power Modes section for details).

Rev. 0 | Page 16 of 16
ADXL345
Sleep Bit Bits set to 1 in this register indicate that their respective functions
A setting of 0 in the sleep bit puts the part into the normal mode have triggered an event, whereas a value of 0 indicates that the
of operation, and a setting of 1 places the part into sleep mode. corresponding event has not occurred. The DATA_READY,
Sleep mode suppresses DATA_READY, stops transmission of data watermark, and overrun bits are always set if the corresponding
to FIFO, and switches the sampling rate to one specified by the events occur, regardless of the INT_ENABLE register settings,
wakeup bits. In sleep mode, only the activity function can be used. and are cleared by reading data from the DATAX, DATAY, and
DATAZ registers. The DATA_READY and watermark bits may
When clearing the sleep bit, it is recommended that the part be
require multiple reads, as indicated in the FIFO mode descriptions
placed into standby mode and then set back to measurement
in the FIFO section. Other bits, and the corresponding interrupts,
mode with a subsequent write. This is done to ensure that the
are cleared by reading the INT_SOURCE register.
device is properly biased if sleep mode is manually disabled;
otherwise, the first few samples of data after the sleep bit is Register 0x31—DATA_FORMAT (Read/Write)
cleared may have additional noise, especially if the device was D7 D6 D5 D4 D3 D2 D1 D0
asleep when the bit was cleared. SELF_TEST SPI INT_INVERT 0 FULL_RES Justify Range

Wakeup Bits The DATA_FORMAT register controls the presentation of data


These bits control the frequency of readings in sleep mode as to Register 0x32 through Register 0x37. All data, except that for
described in Table 17. the ±16 g range, must be clipped to avoid rollover.
SELF_TEST Bit
Table 17. Frequency of Readings in Sleep Mode
Setting A setting of 1 in the SELF_TEST bit applies a self-test force to
the sensor, causing a shift in the output data. A value of 0 disables
D1 D0 Frequency (Hz)
the self-test force.
0 0 8
0 1 4 SPI Bit
1 0 2 A value of 1 in the SPI bit sets the device to 3-wire SPI mode,
1 1 1 and a value of 0 sets the device to 4-wire SPI mode.
Register 0x2E—INT_ENABLE (Read/Write) INT_INVERT Bit
D7 D6 D5 D4
A value of 0 in the INT_INVERT bit sets the interrupts to active
DATA_READY SINGLE_TAP DOUBLE_TAP Activity
high, and a value of 1 sets the interrupts to active low.
D3 D2 D1 D0
Inactivity FREE_FALL Watermark Overrun FULL_RES Bit
When this bit is set to a value of 1, the device is in full resolution
Setting bits in this register to a value of 1 enables their respective
mode, where the output resolution increases with the g range
functions to generate interrupts, whereas a value of 0 prevents
set by the range bits to maintain a 4 mg/LSB scale factor. When
the functions from generating interrupts. The DATA_READY,
the FULL_RES bit is set to 0, the device is in 10-bit mode, and
watermark, and overrun bits enable only the interrupt output;
the range bits determine the maximum g range and scale factor.
the functions are always enabled. It is recommended that interrupts
be configured before enabling their outputs. Justify Bit
Register 0x2F—INT_MAP (Read/Write) A setting of 1 in the justify bit selects left (MSB) justified mode,
D7 D6 D5 D4 and a setting of 0 selects right justified mode with sign extension.
DATA_READY SINGLE_TAP DOUBLE_TAP Activity Range Bits
D3 D2 D1 D0
These bits set the g range as described in Table 18.
Inactivity FREE_FALL Watermark Overrun
Table 18. g Range Setting
Any bits set to 0 in this register send their respective interrupts to
Setting
the INT1 pin, whereas bits set to 1 send their respective interrupts
D1 D0 g Range
to the INT2 pin. All selected interrupts for a given pin are OR’ed.
0 0 ±2 g
Register 0x30—INT_SOURCE (Read Only) 0 1 ±4 g
D7 D6 D5 D4 1 0 ±8 g
DATA_READY SINGLE_TAP DOUBLE_TAP Activity 1 1 ±16 g
D3 D2 D1 D0
Inactivity FREE_FALL Watermark Overrun

Rev. 0 | Page 17 of 17
ADXL345
Register 0x32 to Register 0x37—DATAX0, DATAX1, Samples Bits
DATAY0, DATAY1, DATAZ0, DATAZ1 (Read Only)
The function of these bits depends on the FIFO mode selected
These six bytes (Register 0x32 to Register 0x37) are eight bits (see Table 20). Entering a value of 0 in the samples bits immediately
each and hold the output data for each axis. Register 0x32 and sets the watermark status bit in the INT_SOURCE register,
Register 0x33 hold the output data for the x-axis, Register 0x34 and regardless of which FIFO mode is selected. Undesirable operation
Register 0x35 hold the output data for the y-axis, and Register 0x36 may occur if a value of 0 is used for the samples bits when trigger
and Register 0x37 hold the output data for the z-axis. The output mode is used.
data is twos complement, with DATAx0 as the least significant
byte and DATAx1 as the most significant byte, where x represent X, Table 20. Samples Bits Functions
Y, or Z. The DATA_FORMAT register (Address 0x31) controls FIFO Mode Samples Bits Function
the format of the data. It is recommended that a multiple-byte Bypass None.
read of all registers be performed to prevent a change in data FIFO Specifies how many FIFO entries are needed to
between reads of sequential registers. trigger a watermark interrupt.
Stream Specifies how many FIFO entries are needed to
Register 0x38—FIFO_CTL (Read/Write) trigger a watermark interrupt.
D7 D6 D5 D4 D3 D2 D1 D0 Trigger Specifies how many FIFO samples are retained in
FIFO_MODE Trigger Samples the FIFO buffer before a trigger event.

FIFO_MODE Bits
0x39—FIFO_STATUS (Read Only)
These bits set the FIFO mode, as described in Table 19. D7 D6 D5 D4 D3 D2 D1 D0
Table 19. FIFO Modes FIFO_TRIG 0 Entries
Setting FIFO_TRIG Bit
D7 D6 Mode Function
A 1 in the FIFO_TRIG bit corresponds to a trigger event occurring,
0 0 Bypass FIFO is bypassed.
and a 0 means that a FIFO trigger event has not occurred.
0 1 FIFO FIFO collects up to 32 values and then
stops collecting data, collecting new data Entries Bits
only when FIFO is not full.
These bits report how many data values are stored in FIFO.
1 0 Stream FIFO holds the last 32 data values. When
FIFO is full, the oldest data is overwritten Access to collect the data from FIFO is provided through the
with newer data. DATAX, DATAY, and DATAZ registers. FIFO reads must be
1 1 Trigger When triggered by the trigger bit, FIFO done in burst or multiple-byte mode because each FIFO level is
holds the last data samples before the cleared after any read (single- or multiple-byte) of FIFO. FIFO
trigger event and then continues to collect stores a maximum of 32 entries, which equates to a maximum
data until full. New data is collected only of 33 entries available at any given time because an additional
when FIFO is not full.
entry is available at the output filter of the device.
Trigger Bit
A value of 0 in the trigger bit links the trigger event of trigger mode
to INT1, and a value of 1 links the trigger event to INT2.

Rev. 0 | Page 18 of 18
ADXL345

APPLICATIONS INFORMATION
POWER SUPPLY DECOUPLING • The maximum tap duration time is defined by the DUR
register (Address 0x21).
A 1 μF tantalum capacitor (CS) at VS and a 0.1 μF ceramic capacitor
• The tap latency time is defined by the latent register
(CIO) at VDD I/O placed close to the ADXL345 supply pins is used
(Address 0x22) and is the waiting period from the end of
for testing and is recommended to adequately decouple the
the first tap until the start of the time window, when a
accelerometer from noise on the power supply. If additional
second tap can be detected, which is determined by the
decoupling is necessary, a resistor or ferrite bead, no larger than
value in the window register (Address 0x23).
100 Ω, in series with VS may be helpful. Additionally, increasing
• The interval after the latency time (set by the latent register) is
the bypass capacitance on VS to a 10 μF tantalum capacitor in
defined by the window register. Although a second tap must
parallel with a 0.1 μF ceramic capacitor may also improve noise.
begin after the latency time has expired, it need not finish
Care should be taken to ensure that the connection from the before the end of the time defined by the window register.
ADXL345 ground to the power supply ground has low impedance
because noise transmitted through ground has an effect similar
FIRST TAP SECOND TAP
to noise transmitted through VS. It is recommended that VS and
VDD I/O be separate supplies to minimize digital clocking noise

XHI BW
on the VS supply. If this is not possible, additional filtering of THRESHOLD
(THRESH_TAP)
the supplies as previously mentioned may be necessary.
VS VDD I/O
TIME LIMIT FOR
CS CIO TAPS (DUR)

LATENCY TIME WINDOW FOR


VS VDD I/O TIME SECOND TAP (WINDOW)
(LATENT)
ADXL345
INTERRUPTS

SDA/SDI/SDIO
3- OR 4-WIRE SINGLE TAP DOUBLE TAP
INTERRUPT INT1 SDO/ALT ADDRESS
SPI OR I2C

07925-011
INTERRUPT INTERRUPT
CONTROL SCL/SCLK INTERFACE
INT2
GND CS
07925-016

Figure 13. Tap Interrupt Function with Valid Single and Double Taps
Figure 11. Application Diagram If only the single tap function is in use, the single tap interrupt
is triggered when the acceleration goes below the threshold, as
MECHANICAL CONSIDERATIONS FOR MOUNTING
long as DUR has not been exceeded. If both single and double
The ADXL345 should be mounted on the PCB in a location tap functions are in use, the single tap interrupt is triggered when
close to a hard mounting point of the PCB to the case. Mounting the double tap event has been either validated or invalidated.
the ADXL345 at an unsupported PCB location, as shown in
Figure 12, may result in large, apparent measurement errors due Several events can occur to invalidate the second tap of a double
to undampened PCB vibration. Locating the accelerometer near tap event. First, if the suppress bit in the TAP_AXES register
a hard mounting point ensures that any PCB vibration at the (Address 0x2A) is set, any acceleration spike above the threshold
accelerometer is above the accelerometer’s mechanical sensor during the latency time (set by the latent register) invalidates
resonant frequency and, therefore, effectively invisible to the the double tap detection, as shown in Figure 14.
INVALIDATES DOUBLE TAP IF
accelerometer. SUPRESS BIT SET
ACCELEROMETERS
PCB
XHI BW
07925-010

MOUNTING POINTS

Figure 12. Incorrectly Placed Accelerometers


07925-012

TIME LIMIT
FOR TAPS LATENCY TIME WINDOW FOR SECOND
TAP DETECTION (DUR) TIME (LATENT) TAP (WINDOW)

Figure 14. Double Tap Event Invalid Due to High g Event


The tap interrupt function is capable of detecting either single When the Suppress Bit Is Set
or double taps. The following parameters are shown in Figure 13
for a valid single and valid double tap event: A double tap event can also be invalidated if acceleration above
the threshold is detected at the start of the time window for the
• The tap detection threshold is defined by the THRESH_TAP second tap (set by the window register). This results in an invalid
register (Address 0x1D). double tap at the start of this window, as shown in Figure 15.
Additionally, a double tap event can be invalidated if an accel-
Rev. 0 | Page 19 of 19
ADXL345
eration exceeds the time limit for taps (set by the DUR register), determine activity, free-fall, and single tap/double tap events may
resulting in an invalid double tap at the end of the DUR time not be present if the output of the accelerometer is examined.
limit for the second tap event, also shown in Figure 15. This may result in trigger events being detected when acceleration
does not appear to trigger an event because the unfiltered data
INVALIDATES DOUBLE TAP
AT START OF WINDOW may have exceeded a threshold or remained below a threshold
for a certain period of time while the filtered output data has
not exceeded such a threshold.
XHI BW

LINK MODE
The function of the link bit is to reduce the number of activity
interrupts that the processor must service by setting the device
to look for activity only after inactivity. For proper operation of
TIME LIMIT
FOR TAPS
(DUR)
this feature, the processor must still respond to the activity and
inactivity interrupts by reading the INT_SOURCE register
TIME LIMIT
FOR TAPS LATENCY TIME WINDOW FOR (Address 0x30) and, therefore, clearing the interrupts. If an activity
(DUR) TIME SECOND TAP (WINDOW)
(LATENT) interrupt is not cleared, the part cannot go into autosleep mode.
TIME LIMIT The asleep bit in the ACT_TAP_STATUS register (Address 0x2B)
FOR TAPS
(DUR) indicates if the part is asleep.
SLEEP MODE VS. LOW POWER MODE
In applications where a low data rate is sufficient and low power
XHI BW

consumption is desired, it is recommended that the low power


INVALIDATES mode be used in conjunction with the FIFO. The sleep mode, while
DOUBLE TAP AT
END OF DUR offering a low data rate and low average current consumption,
07925-013

suppresses the DATA_READY interrupt, preventing the accelero-


Figure 15. Tap Interrupt Function with Invalid Double Taps meter from sending an interrupt signal to the host processor
Single taps, double taps, or both can be detected by setting the when data is ready to be collected. In this application, setting
respective bits in the INT_ENABLE register (Address 0x2E). the part into low power mode (by setting the LOW_POWER bit
Control over participation of each of the three axes in single tap/ in the BW_RATE register) and enabling the FIFO in FIFO mode to
double tap detection is exerted by setting the appropriate bits in collect a large value of samples reduces the power consumption
the TAP_AXES register (Address 0x2A). For the double tap of the ADXL345 and allows the host processor to go to sleep
function to operate, both the latent and window registers must while the FIFO is filling up.
be set to a nonzero value. USING SELF-TEST
Every mechanical system has somewhat different single tap/double The self-test change is defined as the difference between the
tap responses based on the mechanical characteristics of the acceleration output of an axis with self-test enabled and the
system. Therefore, some experimentation with values for the acceleration output of the same axis with self-test disabled (see
latent, window, and THRESH_TAP registers is required. In Endnote 4 of Table 1). This definition assumes that the sensor
general, a good starting point is to set the latent register to a does not move between these two measurements, because if the
value greater than 0x10, to set the window register to a value sensor moves, a non–self-test related shift corrupts the test.
greater than 0x10, and to set the THRESH_TAP register to be Proper configuration of the ADXL345 is also necessary for an
greater than 3 g. Setting a very low value in the latent, window, or accurate self-test measurement. The part should be set with a
THRESH_TAP register may result in an unpredictable response data rate greater than or equal to 100 Hz. This is done by
due to the accelerometer picking up echoes of the tap inputs. ensuring that a value greater than or equal to 0x0A is written
After a tap interrupt has been received, the first axis to exceed into the rate bits (Bit D3 through Bit D0) in the BW_RATE
the THRESH_TAP level is reported in the ACT_TAP_STATUS register (Address 0x2C). It is also recommended that the part be
register (Address 0x2B). This register is never cleared, but is set to full-resolution, 16 g mode to ensure that there is sufficient
overwritten with new data. dynamic range for the entire self-test shift. This is done by
setting Bit D3 of the DATA_FORMAT register (Address 0x31)
THRESHOLD
and writing a value of 0x03 to the range bits (Bit D1 and Bit D0) of
The lower output data rates are achieved by decimating a the DATA_FORMAT register (Address 0x31). This results in a high
common sampling frequency inside the device. The activity, dynamic range for measurement and a 3.9 mg/LSB scale factor.
free-fall, and single tap/double tap detection functions are
performed using unfiltered data. Since the output data is After the part is configured for accurate self-test measurement,
filtered, the high frequency and high g data that is used to several samples of x-, y-, and z-axis acceleration data should be
retrieved from the sensor and averaged together. The number of
Rev. 0 | Page 20 of 20
ADXL345
samples averaged is a choice of the system designer, but a recom- Because the measured output for each axis is expressed in LSBs,
mended starting point is 0.1 sec worth of data, which corresponds XST, YST, and ZST are also expressed in LSBs. These values can be
to 10 samples at 100 Hz data rate. The averaged values should converted to g’s of acceleration by multiplying each value by the
be stored and labeled appropriately as the self-test disabled data, 3.9 mg/LSB scale factor, if configured for full-resolution, 16 g
that is, XST_OFF, YST_OFF, and ZST_OFF. mode. Additionally, Table 12 through Table 15 correspond to
Next, self-test should be enabled by setting Bit D7 of the the self-test range converted to LSBs and can be compared with
DATA_FORMAT register (Address 0x31). The output needs the measured self-test change. If the part was placed into full-
some time (about four samples) to settle after enabling self-test. resolution, 16 g mode, the values listed in Table 12 should be used.
After allowing the output to settle, several samples of the x-, y-, Although the fixed 10-bit mode or a range other than 16 g can
and z-axis acceleration data should be taken again and averaged. It be used, a different set of values, as indicated in Table 13 through
is recommended that the same number of samples be taken for Table 15, would need to be used. Using a range below 8 g may
this average as was previously taken. These averaged values should result in insufficient dynamic range and should be considered
again be stored and labeled appropriately as the value with self- when selecting the range of operation for measuring self-test. In
test enabled, that is, XST_ON, YST_ON, and ZST_ON. Self-test can then addition, note that the range in Table 1 and the values in Table 12
be disabled by clearing Bit D7 of the DATA_FORMAT register through Table 15 take into account all possible supply voltages, VS,
(Address 0x31). and no additional conversion due to VS is necessary.

With the stored values for self-test enabled and disabled, the If the self-test change is within the valid range, the test is considered
self-test change is as follows: successful. Generally, a part is considered to pass if the minimum
magnitude of change is achieved. However, a part that changes
XST = XST_ON − XST_OFF by more than the maximum magnitude is not necessarily a failure.
YST = YST_ON − YST_OFF
ZST = ZST_ON − ZST_OFF

Rev. 0 | Page 21 of 21
ADXL345
AXES OF ACCELERATION SENSITIVITY

AZ

AY

07925-021
AX

Figure 16. Axes of Acceleration Sensitivity (Corresponding Output Voltage Increases When Accelerated Along the Sensitive Axis)

XOUT = 1g
YOUT = 0g
ZOUT = 0g

TOP

GRAVITY
XOUT = 0g XOUT = 0g
TOP

TOP

YOUT = –1g YOUT = 1g


ZOUT = 0g ZOUT = 0g

TOP

XOUT = –1g
YOUT = 0g
ZOUT = 0g XOUT = 0g XOUT = 0g 07925-022
YOUT = 0g YOUT = 0g
ZOUT = 1g ZOUT = –1g

Figure 17. Output Response vs. Orientation to Gravity

Rev. 0 | Page 22 of 22
ADXL345
LAYOUT AND DESIGN RECOMMENDATIONS
Figure 18 shows the recommended printed wiring board land pattern. Figure 19 and Table 21 provide details about the recommended
soldering profile.
3.3400

1.0500

0.5500

0.2500
3.0500
5.3400

07925-014
0.2500
1.1450
Figure 18. Recommended Printed Wiring Board Land Pattern
(Dimensions shown in millimeters)
CRITICAL ZONE
tP TL TO TP
TP
RAMP-UP

TL
TEMPERATURE

TSMAX tL

TSMIN

tS
PREHEAT RAMP-DOWN
07925-015

t25°C TO PEAK
TIME

Figure 19. Recommended Soldering Profile

Table 21. Recommended Soldering Profile 1, 2


Condition
Profile Feature Sn63/Pb37 Pb-Free
Average Ramp Rate from Liquid Temperature (TL) to Peak Temperature (TP) 3°C/sec max 3°C/sec max
Preheat
Minimum Temperature (TSMIN) 100°C 150°C
Maximum Temperature (TSMAX) 150°C 200°C
Time from TSMIN to TSMAX (tS) 60 sec to 120 sec 60 sec to 180 sec
TSMAX to TL Ramp-Up Rate 3°C/sec max 3°C/sec max
Liquid Temperature (TL) 183°C 217°C
Time Maintained Above TL (tL) 60 sec to 150 sec 60 sec to 150 sec
Peak Temperature (TP) 240 + 0/−5°C 260 + 0/−5°C
Time of Actual TP − 5°C (tP) 10 sec to 30 sec 20 sec to 40 sec
Ramp-Down Rate 6°C/sec max 6°C/sec max
Time 25°C to Peak Temperature 6 minutes max 8 minutes max
1
Based on JEDEC Standard J-STD-020D.1.
2
For best results, the soldering profile should be in accordance with the recommendations of the manufacturer of the solder paste used.

Rev. 0 | Page 23 of 23
ADXL345

OUTLINE DIMENSIONS
3.00
PAD A1 BSC BOTTOM VIEW
0.49 3 2 1
CORNER 0.813 × 0.50
A

B
5.00 0.80
BSC BSC C

E
0.50
F

TOP VIEW 1.01


0.49
0.79
1.00
END VIEW 0.74 1.50
0.95
0.85 0.69

102108-A
SEATING
PLANE

Figure 20. 14-Terminal Land Grid Array [LGA]


(CC-14-1)
Solder Terminations Finish Is Au over Ni
(Dimensions shown in millimeters)

ORDERING GUIDE
Measurement Specified Temperature Package
Model Range (g) Voltage (V) Range Package Description Option
ADXL345BCCZ 1 ±2, ±4, ±8, ±16 2.5 −40°C to +85°C 14-Terminal Land Grid Array [LGA] CC-14-1
ADXL345BCCZ-RL1 ±2, ±4, ±8, ±16 2.5 −40°C to +85°C 14-Terminal Land Grid Array [LGA] CC-14-1
ADXL345BCCZ-RL71 ±2, ±4, ±8, ±16 2.5 −40°C to +85°C 14- Terminal Land Grid Array [LGA] CC-14-1
EVAL-ADXL345Z1 Evaluation Board
EVAL-ADXL345Z-M1 Analog Devices Inertial Sensor Evaluation
System, Includes ADXL345 Satellite
EVAL-ADXL345Z-S1 ADXL345 Satellite, Standalone
1
Z = RoHS Compliant Part.

Analog Devices offers specific products designated for automotive applications; please consult your local Analog Devices sales representative for details. Standard products sold by
Analog Devices are not designed, intended, or approved for use in life support, implantable medical devices, transportation, nuclear, safety, or other equipment where malfunction
of the product can reasonably be expected to result in personal injury, death, severe property damage, or severe environmental harm. Buyer uses or sells standard products for use
in the above critical applications at Buyer's own risk and Buyer agrees to defend, indemnify, and hold harmless Analog Devices from any and all damages, claims, suits, or expenses
resulting from such unintended use.

©2009 Analog Devices, Inc. All rights reserved. Trademarks and


registered trademarks are the property of their respective owners.
D07925-0-5/09(0)

Rev. 0 | Page 24 of 24

You might also like