Bosch PKG 575 E 02E Specifications

BMA180
BMA180
Digital, triaxial acceleration
Preliminary data sheet sensor
Bosch Sensortec
Preliminary data sheet
BMA180 Preliminary data sheet
Order code(s)
0 273 141 053
Package type
12-pin LGA
Data sheet version
1.0
Document release date
06 March 2009
Document number
BST-BMA180-DS000-01
Notes
Rev. 1.0
Specifications are preliminary and subject to change without notice.
Page
1 / - proprietary
- for illustration purposes
06 Marchonly
2009and may
Product
photos andinformation
pictures are
from
the real
product’s
appearance.
© Bosch Sensortec GmbH reserves all rightsdiffer
even in
the event
of industrial
property
rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH
and theinformation
symbol are registered
trademarksfor
of Robert
Bosch GmbH, Germany.
Proprietary
– not intended
publication.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
BMA180
Triaxial, ultra-high performance accelerometer with switchable g-ranges
and bandwidths and integrated thermometer
Key information
- Three-axis accelerometer with integrated temperature sensor
-
Ultra high performance g-sensor (ultra-low noise, ultra-high accuracy) with full 14 bit
operation within a wide operation range
-
Digital Interfaces: 4-wire SPI, I²C, interrupt pin
-
High feature set with customer programmable g-ranges, filters, interrupts, power modes,
enhanced features, in-field calibration possibility for customers and self-test capability
-
Standard SMD package: LGA package, 3mm x 3mm footprint, 0.9 mm height
-
256 bit EEPROM for calibration data and customer data
-
Low power: typically 575 µA current even in 14 bit operation mode
-
Very low-voltage operation: +1.8V . . . +3.6V for VDD, +1.2V . . . +3.6V for VDDIO
-
Temperature range: -40 °C . . . +85°C
-
RoHS-compliant, halogen-free
-
No external components needed besides 1 standard blocking capacitor for power supply
-
Process based on automotive-proven Bosch Silicon Surface Micromachining
Key performance (all typical values)
-
-
-
Resolution/noise:
-
Ultra-low noise: 75µg/√Hz in low-noise mode
0.25mg accuracy in 2g-mode (14 bit operation, bandwidth=10Hz)
-
Initial offset at room temperature (+25°C): < 4mg (incl. fine-offset)
Very small Temperature Coefficient of Offset (TCO):
<0.35mg/K for x-/y-channel; <0.75mg/K for z-channel
-
Very small sensitivity tolerances @+25°C: < ±3.5%
Very small Temperature Coefficient of Sensitivity (TCS): <±1.5% over
temperature range ±60K with respect to 25°C.
Offset:
Sensitivity:
Rev. 1.0
Page 2 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
Key features
-
Customer programmable g-ranges (1g, 1.5g, 2g, 3g, 4g, 8g, 16g)
-
Customer programmable integrated digital filters (no external components):
- 8 low-pass filters:
10, 20, 40, 75, 150, 300, 600, 1200Hz
- 1 high-pass-filter:
1Hz
- 1 band-pass-filter:
0.2 . . . 300Hz
-
Customer programmable interrupt features:
- wake-up (power management)
- low-g detection (free-fall)
- high-g-detection
- tap-sensing functionality
- slope detection (any motion)
-
Customer programmable power modes:
- 4 standard modes: low noise, low power, super-low noise, ultra-low noise
- sleep mode
- wake-up mode
-
Customer calibration possibility for:
- Offset
- Sensitivity
- Temperature coefficient of offset (TCO)
- Temperature coefficient of sensitivity (TCS)
-
Enhanced features (customer programmable)
- Switch for by-passing internal band-gap -> very low voltage operation with full
performance (by using a high-performance external band-gap)
- Sample skipping (reduction of µC load by reduction of new-data interrupts)
- 14 or 12 bit ADC-conversion (switch-able) for read-out acceleration
- New-data interrupt to provide “synch-signal” to microcontroller (reduction of
noise by decreasing traffic noise in case of I²C or SPI-traffic)
- 2 selectable I²C addresses
- Offset regulation (each channel) with subsequent interrupt generation
- Course regulation (accuracy typically better than ±30 LSB)
- fine regulation (accuracy typically ±4 LSB at low bandwidths)
- in-field re-calibration possibility after regulation
- Full self-test capability
- logic only
- full sensor signal path (including or excluding damping measurement)
Rev. 1.0
Page 3 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
Typical applications
Tilt, motion and vibration sensing in
-
Navigation devices (INS/Dead Reckoning)
Robotics
Gesture recognition
Pointing devices
E-compass
Cell phones
Handhelds
Computer peripherals
Man-machine interfaces
Virtual reality
Gaming devices
Digital cameras and digital camcorders
High accuracy tilt sensing (level meter)
General description
The BMA180 is a ultra-high-performance tri-axial low-g acceleration sensor for consumer
market applications. It allows measurements of static as well as dynamic accelerations with very
high accuracy. Due to its three perpendicular axes it gives the absolute orientation in a gravity
field. As all other Bosch inertial sensors, it is a two-chip arrangement (here in a plastic
package). An application-specific IC evaluates the output of a three-channel micromechanical
acceleration-sensing element that works according to the differential capacitance principle. The
underlying micromachining process has proven its capability in more than 100 million Bosch
accelerometers and gyroscopes so far.
The BMA180 provides a digital full 14bit output signal via a 4-wire SPI or I²C interface. With an
appropriate command the full measurement range can be chosen between 1g and 16g. A
second-order Butterworth filter with switchable pole-frequencies between 10Hz and 600Hz is
included to provide pre-conditioning of the measured acceleration signal. Typical noise level
and quantization lead - in 2g-mode - to an accuracy of typically 0.25mg which corresponds to an
angular resolution of below 0.15° in an inclination sensing application, respectively. The current
consumption is typically 575µA at a supply voltage of 2.4V in standard mode. Furthermore, the
sensor can be switched into a very low-power mode where it informs the host system about an
acceleration change via an interrupt pin. This feature can be used to wake-up the host system
from a sleep mode.
The sensor also features full self-test capability. It is activated via SPI/I²C command which
results in a physical deflection of the seismic mass in the sensing element due to an
electrostatic force. Thus, it provides full testing of the complete signal evaluation path including
the micro-machined sensor structure and the evaluation ASIC.
The sensor is available in a standard SMD LGA package with a footprint of 3mm x 3mm and a
height of 0.9 mm.
Rev. 1.0
Page 4 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
TABLE OF CONTENTS
1
SPECIFICATION....................................................................................................................................8
2
ABSOLUTE MAXIMUM RATINGS..................................................................................................... 14
3
BLOCK DIAGRAM ............................................................................................................................. 15
4
OPERATION MODES......................................................................................................................... 16
4.1
NORMAL OPERATIONAL MODE ....................................................................................................... 16
4.2
SLEEP MODE ............................................................................................................................... 16
4.2.1
General information .............................................................................................................. 16
4.2.2
Current consumption using duty cycling............................................................................... 17
4.3
WAKE-UP MODE ........................................................................................................................... 18
4.3.1
General information .............................................................................................................. 18
4.3.2
Current consumption in wake-up mode................................................................................ 18
5
DATA CONVERSION ......................................................................................................................... 21
5.1
5.2
6
INTERNAL LOGIC FUNCTIONS........................................................................................................ 22
6.1
6.2
6.3
6.4
6.5
7
ACCELERATION DATA ................................................................................................................... 21
TEMPERATURE MEASUREMENT ..................................................................................................... 21
FREE-FALL LOGIC (OR LOW-G INTERRUPT LOGIC) ............................................................................ 22
HIGH-G LOGIC .............................................................................................................................. 23
SLOPE DETECTION (OR ANY MOTION DETECTION) ............................................................................ 23
TAP SENSING ............................................................................................................................... 23
ALERT MODE ............................................................................................................................... 23
GLOBAL MEMORY MAP................................................................................................................... 24
7.1
GLOBAL MEMORY MAPPING: GENERAL INFORMATION ....................................................................... 25
7.2
REGISTERS ................................................................................................................................. 26
7.3
PROGRAMMING OF THE CALIBRATION PARAMETERS ......................................................................... 26
7.4
REGISTER ARITHMETIC ................................................................................................................. 27
7.5
EEPROM................................................................................................................................... 27
7.5.1
General information .............................................................................................................. 27
7.5.2
EEPROM reading ................................................................................................................. 27
7.5.3
EEPROM writing................................................................................................................... 27
7.5.4
EEPROM protection ............................................................................................................. 28
7.5.5
EEPROM content upon delivery (after production test) ....................................................... 28
7.5.6
ee_w_flag - EEPROM-written flag........................................................................................ 29
7.5.7
EEPROM Endurance............................................................................................................ 29
7.6
IMAGE WRITING ............................................................................................................................ 29
7.7
IMAGE READING ........................................................................................................................... 29
7.8
GENERAL FUNCTIONAL SETTINGS .................................................................................................. 30
7.8.1
range..................................................................................................................................... 30
7.8.2
bw ......................................................................................................................................... 30
7.8.3
mode_config ......................................................................................................................... 31
7.8.4
readout_12bit........................................................................................................................ 32
7.8.5
smp_skip (sample skipping) ................................................................................................. 32
7.8.6
shadow_dis........................................................................................................................... 32
Rev. 1.0
Page 5 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
7.8.7
dis_reg .................................................................................................................................. 32
7.8.8
wake_up................................................................................................................................ 32
7.8.9
wake_up_dur ........................................................................................................................ 33
7.8.10 slope_alert ............................................................................................................................ 33
7.8.11 dis_i2c – disable I²C ............................................................................................................. 33
7.8.12 CRC - checksum bits ............................................................................................................ 34
7.8.13 ee_cd1, ee_cd2 - customer data .......................................................................................... 34
7.9
INTERRUPT SETTINGS ................................................................................................................... 34
7.9.1
adv_int .................................................................................................................................. 35
7.9.2
new_data_int ........................................................................................................................ 35
7.9.3
lat_int .................................................................................................................................... 36
7.9.4
Low-g interrupt...................................................................................................................... 36
7.9.5
High-g interrupt ..................................................................................................................... 38
7.9.6
Slope interrupt (any motion interrupt)................................................................................... 40
7.9.7
Tap sensing .......................................................................................................................... 44
7.10
PERFORMANCE SETTINGS ......................................................................................................... 46
7.10.1 Gain trimming (sensitivity trimming) ..................................................................................... 46
7.10.2 Offset trimming ..................................................................................................................... 46
7.10.3 Offset_finetuning................................................................................................................... 47
7.10.4 tc0_x, tc0_y and tco_z .......................................................................................................... 50
7.10.5 tco_range .............................................................................................................................. 50
7.10.6 tcs, tcs_only_z ...................................................................................................................... 50
7.11
CONTROL REGISTERS DESCRIPTION ........................................................................................... 51
7.11.1 st_damp ................................................................................................................................ 51
7.11.2 reset_int ................................................................................................................................ 51
7.11.3 update_image ....................................................................................................................... 51
7.11.4 ee_w ..................................................................................................................................... 51
7.11.5 st1 ......................................................................................................................................... 52
7.11.6 st0 ......................................................................................................................................... 52
7.11.7 st_amp .................................................................................................................................. 52
7.11.8 soft_reset .............................................................................................................................. 53
7.11.9 sleep ..................................................................................................................................... 53
7.11.10
dis_wake_up ..................................................................................................................... 53
7.11.11
unlock_ee.......................................................................................................................... 53
7.11.12
en_offset_x, en_offset_y, en_offset_z .............................................................................. 53
7.11.13
sel_t, sel_x, sel_y, sel_z ................................................................................................... 53
7.12
STATUS REGISTER .................................................................................................................... 54
7.12.1 first_tap sensing.................................................................................................................... 54
7.12.2 str .......................................................................................................................................... 54
7.12.3 Slope alert............................................................................................................................. 54
7.12.4 low_th_int, high_th_int, slope_int_s, tapsens_int................................................................. 54
7.12.5 low_th_s, high_th_s, slope_s, tapsens_s, offset_st_s ......................................................... 54
7.12.6 offset_st_s............................................................................................................................. 54
7.12.7 x_first_int, y_first_int, z_first_int ........................................................................................... 54
7.12.8 Status bits for acceleration or slope sign.............................................................................. 55
7.12.9 ee_write ................................................................................................................................ 55
7.13
DATA REGISTERS ..................................................................................................................... 55
7.13.1 temp ...................................................................................................................................... 55
7.13.2 acc_x, acc_y, acc_z ............................................................................................................. 55
7.13.3 al_version<3:0>, ml_version<3:0>, chip_id<2:0> ................................................................ 57
8
I²C AND SPI-INTERFACES................................................................................................................ 58
Rev. 1.0
Page 6 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
8.1
SPECIFICATION OF INTERFACE PARAMETERS .................................................................................. 58
8.2
INTERFACE SELECTION ................................................................................................................. 58
8.3
I²C INTERFACE ............................................................................................................................. 59
8.3.1
I²C timings............................................................................................................................. 59
8.3.2
Start and stop conditions ...................................................................................................... 60
8.3.3
Bit transfer............................................................................................................................. 60
8.3.4
Acknowledge ........................................................................................................................ 61
8.3.5
I2C protocol ........................................................................................................................... 61
8.4
SPI INTERFACE (4-WIRE) .............................................................................................................. 63
8.4.1
SPI protocol .......................................................................................................................... 63
8.4.2
SPI timings............................................................................................................................ 64
9
APPLICATION EXAMPLES ............................................................................................................... 65
9.1
WAKE-UP/FREE-FALL DETECTION .................................................................................................. 65
9.2
DETERMINATION OF ORIENTATIONS................................................................................................ 65
9.3
TILT MEASUREMENTS ................................................................................................................... 65
9.4
DEAD RECKONING BY DOUBLE INTEGRATION ................................................................................... 65
9.4.1
Offset re-calibration .............................................................................................................. 65
9.4.2
Sensitivity/TCO/TCS re-calibration/software.........................................................................67
10
PINNING.......................................................................................................................................... 68
10.1
10.2
10.3
11
PIN CONFIGURATION (TOP VIEW) ................................................................................................ 68
PINNING: ELECTRICAL CONNECTIONS IN CASE OF SPI OR I²C OR NO µC) ....................................... 68
EXTERNAL COMPONENT CONNECTION DIAGRAM .......................................................................... 70
PACKAGE....................................................................................................................................... 72
11.1
OUTLINE DIMENSIONS ............................................................................................................... 72
11.2
ORIENTATION: POLARITY OF THE ACCELERATION OUTPUT ............................................................. 72
11.3
MARKING ................................................................................................................................. 74
11.3.1 Mass production samples..................................................................................................... 74
11.3.2 Engineering samples ............................................................................................................ 74
11.4
LANDING PATTERN RECOMMENDATIONS ..................................................................................... 75
11.5
MOISTURE SENSITIVITY LEVEL AND SOLDERING ........................................................................... 75
11.6
ROHS COMPLIANCY ................................................................................................................. 76
11.7
TAPE AND REEL ........................................................................................................................ 76
11.8
HANDLING INSTRUCTION ........................................................................................................... 76
11.9
FURTHER HANDLING, SOLDERING AND MOUNTING INSTRUCTIONS .................................................. 76
12
LEGAL DISCLAIMER ..................................................................................................................... 77
12.1
12.2
12.3
12.4
13
ENGINEERING SAMPLES ............................................................................................................ 77
PRODUCT USE.......................................................................................................................... 77
APPLICATION EXAMPLES AND HINTS ........................................................................................... 77
LIMITING VALUES ...................................................................................................................... 77
DOCUMENT HISTORY AND MODIFICATION............................................................................... 78
Rev. 1.0
Page 7 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
1
Specification
Unless otherwise stated, given minimum, typical, maximum values are corresponding values
over full performance temperature/voltage range in the normal operation mode.
In the present specification different LSB-values are mentioned; following values are valid:
- 1 LSBADC ≈ 0.25 mg in 2 g range; it scales with range (e. g.: 1g-range ->1 LSBADC is 0.125 mg)
- 1 LSBTEMP = 0.5°C.
Table 1: Operating conditions (unless otherwise specified)
Parameter
Symbol
Min.
Typ
Max.
Unit
Operating temperature
T_op
-40
25
85
°C
Temperature range for EEPROM writes.
T_ee_w
-40
25
85
°C
Supply voltage
VDD
1.81
2.4
3.6
V
VDDIO
1.2
2.4
3.6
V
VDD_
ext2
1.62
1.8
1.98
V
Supply voltage for digital interface (VDDIO
≤ VDD;
timing: VDD must be applied BEFORE
VDDIO)
Allowed external regulated voltage, if
internal band-gap is by-passed
Table 2: Specification
Parameter
OPERATING RANGE
Acceleration
Ranges
Symbol
Condition
Min
Typ
Max
Unit
gFS1g
Switch-able
±1.0
g
gFS1.5g
Switch-able
±1.5
g
gFS2g
Switch-able
±2.0
g
gFS3g
Switch-able
±3.0
g
gFS4g
Switch-able
±4.0
g
gFS8g
Switch-able
±8.0
g
gFS16g
Switch-able
±16.0
g
1
At minimum VDD=1.8V, the full specification is valid between 0°C and +85°C. At VDD = 1.9V, full
specification is valid between -20°C and +85°C.
2
Internal regulators are disabled/by-passed by setting bit dis_reg to “1b”.
Rev. 1.0
Page 8 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
Parameter
Symbol
Condition
Min
Typ
Max
1.8
1.9
2.0
Internal band-gap:
Full perform. in T-range:
-40 °C . . .+85°C
2.0
2.4
3.6
External band-gap:
Full perform. in T-range:
-40°C . . . +85°C
1.62
1.8
1.98
VDDIO ≤ VDD
(timing: VDD must be
applied BEFORE VDDIO)
1.2
1.8
3.6
Unit
Internal band-gap:
Full perform. in T-range:
0°C . . . +85°C
Supply Voltage
VDD
Supply Voltage for
digital interfaces
VDDIO
Supply Current in
Normal Mode
IDD
Supply Current in
Ultra-Low-Noise
Mode
Supply Current in
Sleep mode
Operating
Temperature
IDD@
ULN
IDD@SL
Sleep mode/no serial interface transfer(T=25°C)
T_OP
V
V
575
µA
875
µA
0.5
µA
-40
+85
°C
OUTPUT SIGNAL
PARAMETER
Symbol
ADC resolution
Sensitivity after
trimming
Min
Typ
14 bit mode
S1g
g-range: ±1.0 g
8192
S1.5g
g-range: ±1.5 g
5460
S2g
g-range: ±2.0 g
4096
S3g
g-range: ±3.0 g
2730
S4g
g-range: ±4.0 g
2048
S8g
g-range: ±8.0 g
1024
g-range: ±16 g
512
S16g
Rev. 1.0
Condition
Page 9 / - proprietary information -
Max
Unit
14
Bit
LSBADC/
g
LSBADC/
g
LSBADC/
g
LSBADC/
g
LSBADC/
g
LSBADC/
g
LSBADC/
g
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
Parameter
Calibration Range of
Temperature Coefficient of Sensitivity:
Temperature Coefficient of Sensitivity
(as delivered)
x-/y-channel
Temperature Coefficient of Sensitivity
(as delivered)
z-channel
Zero-g Offset
trimming range (gain
settings = middle
code)
Zero-g Offset (as
delivered, no offsettuning, no soldering)
Zero-g Offset (over
lifetime, no offsettuning)
Zero-g Offset (as
delivered, after offsetfine-tuning; bit “11”)
Zero-g Offset over
lifetime (after offsetfine-tuning; bit “11”)
Rev. 1.0
Symbol
Condition
Min
Typ
Max
Unit
TCS
_range
Ref.-Temp
= 25°C
-0.0625
+0.0625
%/K
TCS_xy
Ref.-Temp
= 25°C
±0.01
%/K
TCS_z
Ref.-Temp
= 25°C
±0.02
%/K
Trim_
Range_
Offset
in ±2g range,
scales with
1/range; T = 25°C,
VDD = 2.4V
Off_
initial
In ±2g range,
scales with
1/range; T = 25
°C, VDD = 2.4V
±60
LSBADC
Off_
initial_
lifetime
In ±2g range,
scales with
1/range; T = 25
°C, VDD = 2.4V
t.b.d
LSBADC
Off_
fine
In ±2g range,
scales with
1/range; T = 25
°C, VDD = 2.4V
±12
LSBADC
Off_
fine_
lifetime
In ±2g range,
scales with
1/range; T = 25
°C, VDD = 2.4 V
t.b.d.
LSBADC
-50000
+50000
LSBADC
-12.5
+12.5
g
Page 10 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
Parameter
Zero-g Offset
Temperature Drift
(as delivered):
x-/y-channel
Symbol
TCO_xy
Zero-g Offset
Temperature Drift
(as delivered):
z-channel
TCO_z
DC Power supply
rejection ratio
PSRR_
DC
AC Power supply
rejection ratio
PSRR_
AC
Condition
In ±2g range,
scales with
1/range; T = 25 °C,
VDD = 2.4 V
Min
In ±2g range,
scales with
1/range; T = 25 °C,
VDD = 2.4 V
in ±2g range
(dis_reg = 0),
VDD = 2.4 V
With 0.4V peak to
peak AC signal on
VDD power supply at
internal clock frequencies: dis_reg=0
Typ
Max
Unit
±1
LSBADC/K
±3
LSBADC/K
6
LSBADC/V
140
LSBADC/V
in ±2g range
Spectral noise on
the output signal
Output Noise (rms)
Rev. 1.0
SN
nrms
Low power mode
tbd
Low noise mode
75
ultra-low noise
mode, reduced bw
tbd
BW = 10Hz, 2grange, ultra-lownoise mode,
reduced bandwidth
Page 11 / - proprietary information -
tbd
µg/√Hz
LSBADC
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
Parameter
Symbol
Bandwidth
BW_10
Min
Hz
40
Hz
75
Hz
150
Hz
300
Hz
BW_600
600
Hz
BW_1200
1200
Hz
BW_150
BW_300
In low power
mode BW_xyz
is devided by 2
(e. g.
10Hz -> 5Hz)
BW_HP
High pass
1
Hz
BW_BP
Band pass
0.2 . . . 300
Hz
NL_1g
NL_1.5g
NL_2g
best fit straight line
±0.10
%FS
NL_3g
NL_4g
NL_8g
NL_16g
best fit straight line
±0.25
%FS
Temperature sensor
bandwidth
BW_
temp
Temperature sensor
sensitivity
Temp_
sens
0.475
Temperature sensor
offset
Temp_
off
-5
Acceleration Data
output rate
Rate_
out
Rev. 1.0
Unit
20
BW_75
Wake-up time
Max
Hz
BW_40
Acceleration
sampling period
Typ
10
BW_20
Nonlinearity
Condition
275
0.5
Hz
0.525
K/
LSBTEMP
5
K
2400
Hz
Tsamp_
acc
Time delay between 2 acceleration samples for
slope interrupts
generation. Depending on select. BW
1/
2xBW
sec
Tw_
up
For BW = 1200Hz
(value depending
on BW-settings)
1.5
ms
Page 12 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
Parameter
Symbol
Condition
BW = 1200Hz (delay between power
on – VDD from 0 to
min. = 1.8V – and
end of first
conversion)
Min
Typ
Max
Unit
Start-up time
Tst_up
Start-up time from
sleep mode
Tst_sm
BW = 1200Hz
EEPROM write
duration
Tee_w
For next EEPROM
write
Cross Axis
Sensitivity
S
relative contribution
between 3 axes
0.1
%
Alignment Error
δa
relative to package
outline
±1.0
Degree
2.5
ms
2
ms
ms
MECHANICAL
CHARACTERISTICS
Rev. 1.0
Page 13 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
2
Absolute maximum ratings
Stresses above absolute maximum ratings may cause permanent damage to the device.
Exceeding the specified characteristics may affect device reliability or cause mal-function.
Parameter
Supply voltage
Condition
VDD and VDDIO
Voltage at any digital pad
Vpad_dig
Storage temperature range
Junction temperature
Units
V
VSS-0.3
VDDIO +0.3
V
-50
+150
°C
+150
°C
refer to IPC/J-STD-020C
EEPROM write cycles
Same Byte
EEPROM retention times
(both conditions are non
cumulative, each represents
max. time)
ESD
Max
4.25
Tj
Soldering temperature
Mechanical shock
Min
-0.3
1000
Cycles
At 55°C, after 1000
cycles
10
Years
At 85°C, after 1000
cycles
2
Years
Duration ≤ 200µs
10000
g
Duration ≤ 1.0ms
3000
g
Free-fall onto hard
surfaces
1.8
m
HBM
2000
V
MM
tbd
V
Table 2: Maximum ratings specified for the BMA180
Rev. 1.0
Page 14 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
3
Bosch Sensortec
Block diagram
Figure 1: Block diagram of BMA180
The Block diagram shows
-
the micromechanical g-sensor elements (measurement of acceleration in x-, y- and zdirection),
-
the temperature sensor,
-
the front-End-circuit including preamplifiers and analogue pre-filtering circuitry,
-
a multiplexer,
-
the 14bit ADC,
-
the digital part of the circuitry (responsible for offset regulation, calibration, digital filtering,
power regulation)
-
the interrupt generation and
-
the interface circuitry (I²C and 4-wire SPI)
Other blocks like power-on reset, clock generator, internal band-gap, etc. are not shown.
Rev. 1.0
Page 15 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
4
Bosch Sensortec
Operation modes
BMA180 is able to work in different operation modes:
- Standard modes
a) low power mode (current optimized normal mode)
b) 3 low noise modes (noise optimized normal modes)
- Sleep mode
device is “sleeping”; power consumption is at minimum
- Wake up mode
device is “sleeping” for a certain time, waking up for a
certain time, falling back to sleep, etc. This mode is an
intermediate mode to the standard modes and sleep mode.
All modes mentioned above are shortly described below. A detailed description of the
configuration of these modes is given in 7.8.3.
4.1
Normal operational mode
In normal operational mode the sensor IC can be addressed via digital interface. Data and
status registers can be read out and control registers and EEPROM values can be read and
changed. In parallel to normal operation the user has the option to activate several internal logic
paths and set criteria to trigger the interrupt pin.
BMA180 is providing 4 different sub-modes in normal operation mode (see also 7.8.3).
• low power mode
• low noise mode
• super-low noise mode and
• ultra-low noise mode (similar to super-low noise mode, but reduced bandwidth)
BMA180 is designed to enable low current consumption of 575µA in low power mode, by
providing at the same time a very high resolution of at least 12bit. In the 3 low-noise modes,
current is higher, but resolution is up to 14bit (depending on selected bandwidth).
A self-test procedure can be started in operational mode for testing of the complete signal
evaluation path including the micro-machined sensor IC structure, the evaluation ASIC and the
physical connection to the host system.
4.2
Sleep mode
4.2.1 General information
Sleep mode is activated by setting a special control bit. In sleep mode reduced communication
to the sensor IC is possible – all read and write commands are forbidden except command
used to wake up the device or soft_reset command. The recommended command to switch to
operational mode is the wake-up call.
Sleep mode could be used,
a) if the sensor is only used part-time. In this case, the µC is deactivating and
reactivating BMA180 according to its usage (duty cycling = switching between sleep
and standard mode).
Rev. 1.0
Page 16 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
b) In small bandwidth applications, sleep mode could be used to save a significant
amount of power by frequently changing between sleep and standard mode (see
next section).
4.2.2 Current consumption using duty cycling
For most of the applications a sensor must not stay permanently in normal mode. This allows a
significant reduction of current consumption by switching periodically between sleep and normal
mode. Of course, settling times, etc. have to be considered to keep the application running.
Following 2 examples are giving rough indications of current consumption by duty cycling
(depending on power mode and selected bandwidth). Examples are with respect to low
frequency applications.
Formulas:
- average current
= average (sleep mode current; normal mode current)
- measurement time = time from sleep to normal mode + settling time of filter +
read-out time +time from normal to sleep mode
Example 1:
- sleep mode current = 1 µA, sleep time is 200 ms, filter is 150Hz
- current mode is low power mode (-> bw = bw_selected/2)
- start-up time from sleep is 2.5 ms
- read-out time is roughly 0.5 ms (ADC conversion time is 0.417ms)
Î output filter is 75 Hz -> settling time is 6 * 1/75 sec = 6/75sec = 80ms
Î overall measurement time = 2.5ms + 80ms + 2.5 ms + 0.5 ms = 85.5 ms
Î current = (200ms * 1µA + 85.5ms * 575µA )/285.5ms = 173µA.
Î result: approx. 70% decrease in supply current and power consumption
Example 2:
- sleep mode current = 1µA, sleep time is 500ms, filter is 1200Hz
- current mode is low-noise mode
- start-up time from sleep is 2.5ms
- read-out time is roughly 0.5 ms (ADC conversion time is 0.417ms)
Î output filter is 1200Hz -> settling time is 6 * 1/1200sec = 6/1200sec = 5ms
Î overall measurement time = 2.5ms + 5ms + 2.5ms + 0.5ms = 10.5ms
Î current = (500ms * 1µA + 10.5ms * 850µA )/510.5 ms = 18.5µA.
Î result: approx. 98% decrease in supply current and power consumption
Remark:
Sometimes it is necessary to perform a soft-reset after changing certain parameters (e. g.
mode-selection by changing mode_config bits). In case of a soft-reset, it is recommended to do
this reset after having switched from sleep to operational mode. In this case the total typical
wake-up and reset time at maximum bandwidth is much smaller than in case the soft-reset is
activated during sleep mode.
Rev. 1.0
Page 17 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
4.3
Bosch Sensortec
Wake-up mode
4.3.1
General information
In general BMA180 is attributed to low power applications and can contribute to the system
power management.
-
Current consumption 575µA operational (low power mode)
Current consumption < 1µA in sleep mode
Wake-up time < 2ms and
Start-up time < 3.5ms
New data ready indicator to reduce unnecessary interface communication
Sample skipping in combination with new data interrupt to reduce interface traffic
Wake-up mode to trigger a system wake-up (interrupt output to master) in case of motion
Low current consumption in wake-up mode
The BMA180 provides the possibility to wake up a system master when specific acceleration
values are detected. Therefore the BMA180 stays in an ultra low power mode and periodically
evaluates the acceleration data. If acceleration is above a certain threshold (e. g. high-g
threshold) an interrupt output can be generated, which triggers the system master. The wake-up
mode is used for ultra-low power applications where inertial factors can be an indicator to
change the activity mode of the system.
4.3.2
Current consumption in wake-up mode
For estimating the typical current consumption in wake-up mode the following formula can be
applied:
i_self_wake_up = (i_DD · t_active + i_DDsm · wake-up-pause) / (t_active + wake-up-pause)
With the approximation:
t_active = 2ms + 0.417ms · (2400 / bandwidth) + 0.417ms · (1200 / bandwidth) · n
With the following parameters:
i_DD
Current in normal mode
i_DDsm
Current in sleep mode
wake_up_pause
Setting of wake-up pause
n
number of data points in any-motion logic (n=0 for high-g threshold
and low-g threshold interrupt, n=3 for any-motion logic)
bandwidth
Setting of bandwidth: 10 . . . 1200Hz
Thus, the relevant parameters for power consumption in self-wake up mode are:
- current consumption in normal mode
- current consumption in sleep mode
- self-wake up pause duration
- bandwidth (e. g. length of digital filter to be filled for one data point)
- interrupt criteria (determines the duration of normal operation)
Rev. 1.0
Page 18 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
- high-g and low-g criteria (e. g. acquisition of one data point)
- any-motion criterion (e. g. four data points)
The following table shows values calculated for the average current consumption during the
wake-up mode of the BMA180. The power consumption in wake-up mode is dependent on the
duration of the interrupt algorithm (number of data acquisitions) and the bandwidth (for more
details on setting of the bandwidth please refer to chapter 7.8.2)
Typical current consumption (low power mode)
During wake-up mode [µA]
(depending on bandwidth, calculated using typical values)
Pause [ms]
0
20
80
360
2560
(@ 1200Hz)
(@ 600Hz)
(@300Hz
(@150Hz)
(@75Hz)
(@40Hz)
(@20Hz)
(@10Hz)
575
72
21
5
2
575
90
26
7
2
575
122
37
9
2
575
175
57
15
3
575
242
89
23
4
575
331
146
41
7
575
416
227
73
12
575
481
323
128
23
Table 3: Average current consumption in self wake-up mode
using high-g or low-g interrupt, here typical values in low-power mode
Durations of the pause values can vary for about ±30% due to the accuracy of the oscillator
implemented within the sensor.
Additionally a graph of simulation results concerning typical current consumption (low power
mode) in wake-up mode is shown.
current consumption [µA]
Typical wake-up-current BMA180/190
current mode: low power (noise = low)
1200
1100
1000
900
800
700
600
500
400
300
200
100
0
0
20
80
360
2560
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
selected Bandwidth [Hz]
Rev. 1.0
Page 19 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
Figure 2: Average current consumption in self wake-up mode
using high-g or low-g interrupt, here typical values in low-power mode
Typical current consumption (low noise mode)
during wake-up mode [µA]
(depending on bandwidth, calculated using typical values)
Pause [ms]
0
20
80
360
2560
(@ 1200Hz)
(@ 600Hz)
(@300Hz
(@150Hz)
(@75Hz)
(@40Hz)
(@20Hz)
(@10Hz)
900
113
32
8
2
900
140
40
10
2
900
190
57
14
3
900
273
89
22
4
900
379
139
36
6
900
518
228
64
10
900
650
355
115
19
900
753
505
200
35
Table 4: Average current consumption in self wake-up mode
using high-g or low-g interrupt, here typical values in low-noise mode
Durations of the pause values can vary for about ±30% due to the accuracy of the oscillator
implemented within the sensor.
Additional a graph of simulation results concerning typical current consumption (low noise
mode) in wake-up mode is shown.
current consumption [µA]
Typical wake-up-current BMA180/190
current mode: low noise (noise = ultra-low)
1200
1100
1000
900
800
700
600
500
400
300
200
100
0
0
20
80
360
2560
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
selected Bandwidth [Hz]
Figure 3: Average current consumption in self wake-up mode
using high-g or low-g interrupt, here typical values in low-noise mode
Rev. 1.0
Page 20 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
5
Data conversion
5.1 Acceleration data
Acceleration data are converted by a 14bit ADC. The description of the digital signal is "2’s
complement". The 14bit data are available as LSB (at lower register address) and MSB. It is
possible to read out MSB only (8bit) or LSB and MSB together (16bits with 14 data bits and 1
data ready bit). In second case LSB- and MSB-data are closely linked to avoid unintentional
LSB/MSB mixing when read out and data conversion overlap accidentally (7.13.2).
The acceleration data is filtered by a second order analogue filter at 1.2kHz. Additionally, all
data can be processed by digital filtering (2-pole filter) to reduce noise level (10Hz . . . 600Hz)
and to filter out undesired frequencies. The transfer function of the mechanical element is
designed to avoid resonance effects at frequencies below the bandwidth of the ASIC.
The availability of new data can be checked in two ways:
•
Bit 0 from the LSB data registers is an indicator whether data has already been read out
or the data is new (new-data bits, see 7.13.2)
•
The interrupt pin can be configured to indicate new data availability. The synchronization
of data acquisition and data read out enables the customer to avoid unnecessary
interface traffic in order to reduce the system power consumption and the crosstalk
between interface communication and data conversion.
Figure 4: Explanation of data ready interrupt: For a bandwidth of e.g. 1.2kHz the data refresh
cycle takes 417µs to update all data registers. After the final conversion of z-axis the INT pad
will be set high. New data can be read out via interface (recommendation: read out within 20µs
after interrupt is high during the conversion of the next temperature value). The interrupt resets
automatically after read out.
417 µs for bw = 1200 Hz
330µs at bw=1.5kHz
T
X
Y
Z
T
X
Y
Z
INT
5.2 Temperature measurement
Temperature data are converted to an 8bit data register. The temperature output range can be
adapted to customer’s requirements by offset correction.
Rev. 1.0
Page 21 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
6
Internal logic functions
The sensor IC can inform the host system about specific conditions (e.g. new data ready flag or
acceleration thresholds passed) by setting an interrupt pin high even if interface communication
is not taking place. This feature can be used as “free-fall or low-g indicator”, “wake-up” or “data
ready flag” for instance.
The interrupt performance can be programmed by means of control bits. Thus the criteria to
identify a special event can be tailored to a customer’s application and the sensor IC output can
be defined specifically.
6.1 Free-fall logic (or low-g interrupt logic)
For free-fall detection the absolute value of the acceleration data of all axes are investigated
(global criteria). A free-fall situation is likely to occur when all axes fall below the low threshold
value. The interrupt pin will be raised high if the threshold is passed for a minimum duration.
The duration time can be programmed.
|a|
High-g threshold
acceleration
Hysteresis
Freefall threshold
Evaluation duration
INT
time
high
Latched INT
low
Reset INT
Figure 5: Schematic behaviour in case of low-g detection (e. g. for free-fall)
The function “Free-fall Interrupt” can be switched on/off by a control bit which is located within
the image of the non-volatile memory. Thus this functionality can be stored as default setting of
the sensor IC (EEPROM) but can also rapidly be changed within the image.
The reset of the free-fall interrupt can be accomplished by means of a master reset of the
interrupt flag (latched interrupt) or the reset can be triggered by the acceleration signal itself
(validation of a programmable “hysteresis”).
Further details concerning free-fall and other interrupts, see 7.9
Rev. 1.0
Page 22 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
6.2 High-g logic
For indicating high-g events an upper threshold can be programmed. This logic can also be
activated by a control bit. Threshold, duration and reset behaviour can be programmed. The
high-g and free-fall criteria can be logically combined with an <OR>.
6.3 Slope detection (or any motion detection)
The “any motion algorithm” can be used to detect changes of the acceleration. Thus it provides
a relative evaluation of the acceleration signals. The criterion is kind of a gradient threshold of
the acceleration over time. Thus one can distinguish between fast events with strong inertial
dynamic (e. g. shock), instant changes of force balance (e. g. drop, tumbling) and even slight
changes (e. g. touch of a mobile device).
Due to a high bandwidth and a fast response MEMS device the BMA180 is capable to detect
shock situations up to 1200Hz and 16g. The “any motion interrupt” or a high-g criterion setting
can be used to give a shock alert. The phase shift between start of mechanical shock and
interrupt output is defined by the mechanical transfer function of the chassis and internal
mounting interfaces (e. g. PDA shell) and the data output rate of the sensor IC.
6.4 Tap sensing
Tap sensing feature is closely related to slope detection/any motion feature. Tap sensing is the
generation of an interrupt, if 2 slope detection events are detected within a shorten time. Tap
sensing is also known as double click. It is widely used in laptops to open software applications
via double click on a touch pad (on system level).
6.5 Alert Mode
Using the BMA180 it is possible to combine the “any motion criterion” with low-g and high-g
interrupt logic to improve the reaction time for e. g. free-fall identification. If alert mode is set,
free-fall or motion-counters are counting down earlier than without alert mode.
More information about alert mode is given in a separate application note (under preparation).
Rev. 1.0
Page 23 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
7
Bosch Sensortec
Global memory map
The memory map shows all externally accessible registers needed to operate BMA180.
Rev. 1.0
Page 24 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
The left columns inform about the memory addresses. The remaining columns show the content
of each register bit. The colors of the bits indicate whether they are read-only, write-only or
read- and writable. The non EEPROM part of the memory is volatile so that the writable content
has to be re-written after each power-on. The extended address space greater than 3Ch (or
5Ch in EEPROM area), is not shown. These registers are exclusively used for Bosch factory
testing and trimming.
7.1 Global memory mapping: general information
The global memory map of BMA180 provides three levels of access:
Memory Region
Operational
Registers
Default Setting
Registers
Content
Data registers, control registers,
status registers, interrupt settings
Default values for operational
registers, acceleration and
temperature trimming values
Bosch Sensortec
Reserved Registers
Internal trimming registers
Access Level
Direct access via serial interface
Access blocked by default;
Access enabled by setting control
bit in operational registers via
serial interface
Protected
The memory of BMA180 is realized in diverse physical architectures. Basically BMA180 uses
volatile memory registers to operate. The volatile part of the memory can be changed and read
quickly. Part of the volatile memory (“image”) is a copy of the non-volatile memory (EEPROM).
The EEPROM can be used to set default values for the operation of the sensor. EEPROM is
indirect write only. The EEPROM register values are copied to the image registers after power
on or soft reset. The download of EEPROM bytes to image registers is also done when the
content of the EEPROM byte has been changed by a write command. After every write
command EEPROM has to be reset by soft-reset.
All operational and default setting registers are accessible through serial interface with a
standard protocol:
Type of
Register
Data
Registers
Control
Registers
Status
Registers
Setting
Register
Rev. 1.0
Function of Register
−
−
Chip identification, chip version
Acceleration data, temperature
−
Activating self test, soft reset, switch
to sleep mode etc.
Interrupt status and self test status
Customer reserved status bytes
−
−
−
Functional settings (range,
bandwidth, mode, etc.)
Page 25 / - proprietary information -
Command
Read
Read
Read /
Write
Read
Read /
Write
Read /
Write
Volatile /
non-volatile
non-volatile
(hard coded)
volatile
Volatile
volatile
volatile
volatile
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
EEPROM
−
Interrupt settings
−
Default settings of functional and
interrupt settings
Trimming values
Customer reserved data storage
Bosch Sensortec Reserved Memory
−
−
−
Read /
Write
Write
volatile
non-volatile
Write
Write
Write
non-volatile
non-volatile
non-volatile
-
The global memory mapping contains EEPROM and latches.
-
All EEPROM registers are duplicated into the corresponding image registers.
-
Writing to unused bits has no effect on the IC; reading unused bits leads to undefined level.
-
Image registers are used to download the EEPROM content to be able to act on IC
functions. Registers 20h to 3Fh thus directly correspond to EEPROM bytes 40h to 5Fh.
7.2 Registers
There are 5 types of registers in the sensor – test, control, image, status and data registers. All
registers are 8-bit. Image and control registers are accessible in read/write mode by the user.
-
Test registers are reserved for Bosch, they are not described here. They are not accessible
to the customer.
-
Control registers are used to set-up the functional mode of IC. See next paragraphs for
detailed description of each bit. Few bits are one-shot control bits.
-
Status registers contain useful information about the alert/interrupt modes and to know if
new acceleration data is available since latest read-out.
-
Image registers contain EEPROM values and are downloaded after release of POR, softreset or when the update_image command is send to BMA180. Writing to these registers
has no effect on EEPROM content. Image registers can directly be accessed to trim the
device without using any EEPROM write procedure in case of several iterations during
calibration. Image registers can also be used to overwrite BMA180 settings defined in the
EEPROM memory. It is possible to come back to EEPROM memory settings at anytime by
writing update_image control bit to 1.
-
Data registers contain the 3 acceleration values, the temperature value and information
about the chip (see 7.13.3)
7.3 Programming of the calibration parameters
The full-sensor functionality and precision is provided by trimming the sensor on wafer level and
on sensor level during End-of-Line testing. In order to achieve highest precision (e. g. offset
accuracy) even after soldering the device onto a PCB, the user can recalibrate the trimming
correction values after mounting (see section 9.4.1).
Rev. 1.0
Page 26 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
7.4
Register arithmetic
The following arithmetic is used for memory registers.
7.5
Register
OFFSETX|Y|Z
Format
offset binary
Bit width
3x12
GAINX|Y|Z
offset binary
3x7
TCOX|Y|Z
offset binary
3x6
TCS
offset binary
4
AX|Y|Z (acceleration
values)
2's complement
3x14
Temp.
2's complement
8
THRESHOLD
(TH or TH_X|Y|Z)
unsigned positive
8
HYSTERESIS
(HY or HY_X|Y|Z)
unsigned positive
5
EEPROM
7.5.1 General information
The embedded EEPROM memory is used to trim analogue parameters and to set-up the
interrupt function; it is organized in 16 words of 16 bits (each word contains 2x8 bits).
Each EEPROM data has a corresponding image which is used to latch EEPROM data. Image
content act on analog part, it is also used as buffer to read and write to EEPROM. EEPROM
data are downloaded into image registers after each of the following events:
- Power On Reset
- Reset command sent through interface (soft reset)
- Control bit update_image set to ‘1’.
7.5.2 EEPROM reading
No direct EEPROM reading is implemented; result of reading addresses 40h to 5Fh returns
content of addresses 20h to 3Fh.
For Reading the EEPROM registers it is possible to download the EEPROM registers in to the
image registers by setting update_image=1 and read out the corresponding image register.
7.5.3 EEPROM writing
Writing to EEPROM is locked by default to prevent mal-function. To unlock writing in the image
registers of the non-protected area, set ee_w to ‘1’.
Rev. 1.0
Page 27 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
As EEPROM reading, EEPROM writing is also an indirect procedure. Data from corresponding
image registers are written to EEPROM after sending write transaction to addresses 40h to 5Fh.
As EEPROM word is 16-bit (and writing is done in parallel), transaction with even address writes
to this address (A) and one address above (A+1). The transaction with odd address is ignored.
Data of writing transition is ignored (SPI) or can be omitted (I2C).
Example:
SPI writing to address 50h starts writing operation (register 30h to EEPROM 50h, register 31h to
EEPROM 51h).
EEPROM write operation shouldn’t occur when an update_image is ongoing (EEPROM is in
read mode at this moment). This means EEPROM write is forbidden also during 10 ms after
power ON reset, after soft_reset and after update_image is written to 1. EEPROM write is also
forbidden during sleep mode and for 10 ms after removal of sleep mode.
EEPROM write operation could render ADC conversion results unusable, thus a soft-reset after
EEPROM write is necessary.
7.5.4 EEPROM protection
The EEPROM bytes between addresses 5Ch to 5Fh are protected in write mode because it
contains Bosch Sensortec proprietary information and settings. It also contains the ee_w_flag
which can be used to detect if any EEPROM write sequence occurred after final test (i.e. if the
customer wrote anything into the non-protected EEPROM). Customer is not able to write the
ee_w_flag.
Also the image registers corresponding to the locked EEPROM area are locked by the
EEPROM lock mechanism in order to avoid mal-functions on the overall system.
7.5.5
EEPROM content upon delivery (after production test)
1. CRC: CRC code may be used to verify whether a calibration was done after Bosch
production test
2. CD1, CD2: content may differ for each IC, since these bytes can be used by customer to
store any data in the non-volatile memory. Its content does not influence the ASIC
functionality.
3. Analog trimming bits (addresses 5Bh to 5Eh): Content may differ for each IC.
4. Calibration data: These data and its default values are summarized in the following table.
Rev. 1.0
Page 28 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
Register name
default value
offset_x, offset_y, offset_z, offset_t
middle code
gain_x, gain_y, gain_z, gain_t
middle code
tco_x, tco_y, tco_z
middle code
tcs
middle code
bw
0100b
range
010b
wake_up_dur
10b
slope_dur, mot_cd_r, ff_cd_r,
01b
offset_finetuning
mode_config
00b
tapsens_dur
100b
adv_int
1b
high_th
01010000b
low_th
00010111b
high_dur
0110010b
low_dur
1010000b
high_int_*, low_int_*,
1b
tapsens_int_*, slope_int_*
All bits, which are not-mentioned in above table are set by default to 0b.
7.5.6 ee_w_flag - EEPROM-written flag
This EEPROM bit is set to ‘1’ as soon as the first EEPROM write to addresses 40h to 5Bh
occurs. Any write operation to the non-protected area results in updating of internal registers
and ee_w_flag will automatically be set to 1; the user is not able to write this flag back to “0”,
since it is placed in the EEPROM protected area.
Remark: please do no mix ee_w_flag with ee_w bit.
7.5.7 EEPROM Endurance
An EEPROM is inherently limited to a maximum number of write cycles. If more cycles are
performed, failures can occur which affect the functionality of the sensor. In case of the BMA180
the specified numbers of write cycles is 1000. This maximum number of write cycles should not
be exceeded in any application in order to prevent possible failures.
7.6 Image writing
Writing to Image is locked by default to prevent mal-function. To unlock writing, use same
command as for EEPROM writing -> set ee_w to ‘1’.
7.7 Image reading
Direct reading of the image is possible: no unlock procedure has to be performed.
Rev. 1.0
Page 29 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
7.8
General functional settings
7.8.1 range
These 3 bits are used to select the full scale acceleration range (further included are the ADCresolutions)
range<2:0>
000
001
010
011
100
101
110
111
Full scale acceleration
range [+/- g]
1
1.5
2
3
4
8
16
Not authorised code
ADC resolution
[mg/LSB]
0.13
0.19
0.25
0.38
0.50
0.99
1.98
Not authorised code
Directly after changing the full scale range it takes approximately 1/(2*bandwidth) before filters
(see next section) are providing correct data.
7.8.2 bw
A second order analogue filter defines the maximum bandwidth in the front-end-circuitry to 1.2
kHz. In order to further increase signal-to-noise-ratio, digital filters can be activated to reduce
the bandwidth down to 10 Hz. The digital filters are second order filters. Selection of the filters
could be done by using the 4 bits below (first 8 filters are low-pass filters).
bw<3:0>
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010 to 1111
Selected bandwidth (Hz)
10
20
40
75
150
300
600
1200
high-pass: 1 Hz
band-pass: 0.2 Hz .. 300 Hz
not authorized codes
Interrupts should be disabled and re-enabled for each bw change (due to the risk of wrong
generated interrupt).
If bw value is written successively with 2 different values, a minimum delay of 10 µs between
the 2 write sequences must be respected to guarantee the latest value will be set correctly. This
is valid for image register. EEPROM access time is anyway much slower and this does not
affect ASIC function. bw setting is expected to be changed at very low rates.
At wake-up from sleep mode to normal operation, the bandwidth is set to its maximum value
and then reduced to bandwidth setting as soon as enough ADC samples are available to fill the
whole digital filter.
Rev. 1.0
Page 30 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
7.8.3 mode_config
BMA180 has four different working sub-modes in “standard mode”. By setting the mode_config
bits the sub-mode is configured as described in the following table.
mode_config <1:0>
00 (default)
01
10
11
Description
Low noise mode -> highest current, low noise, full bandwidth
(1200 Hz)
Super low noise mode with reduced bandwidth -> highest
current, almost lowest noise, reduced bandwidth (300 Hz)
Ultra low noise mode with further reduced bandwidth, slightly
smaller current compared to mode 01-> almost highest
current, ultra- lowest noise, reduced bandwidth (150 Hz);
furthermore: output data rate = 1200 samples/sec.
Low power mode -> BW is decreased by factor 2, lowest
power, noise higher than in low noise modes
00b, 01b and 11b are the main configuration modes. 10b is considered as intermediate
configuration mode (intermediate in terms of either noise level or current consumption).
Important remarks:
• When bw is decreased by 2 for mode 11b, all timings used by the digital functions and
the system clock frequency remain related to the bw.
•
Any change of the mode_config bits results in transient behaviour of the measured
acceleration values. The length of the transient response depends on the selected
bandwidth. Also some spurious interrupts might be generated as a result of the
mode_config change.
•
The length of the transient response corresponds to an appropriate number of
acceleration samples to be acquired. This number of samples is depending on the
chosen filter bandwidth and is shown below.
Bandwidth
Nr. of samples
120
0
0
600 300 150 75 40
6
9
18
20
10
35 64 127 253
•
The sensor is calibrated for mode_config = “00”. By changing to other modes, the offset
is changed too, thus subsequently an offset correction has to be performed. This could
be done by offset fine-tuning the device during in-line calibration.
•
It is highly recommended not to change mode_config within an application. In this case,
offset fine-tuning is still working, but it is not ensured, that the device is properly placed
during calibration. If the device is e. g. used in ultra-low noise mode, bandwidth is limited
and highest current consumption could be measured. In order to save current, a frequent
switching from operation to sleep mode and back could be used (as already described in
section 4.2). This is no problem for most of the applications.
Rev. 1.0
Page 31 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
• After a write of mode_config bits in EEPROM, a soft reset is mandatory.
7.8.4 readout_12bit
For the acceleration read-out code, this bit allows switching from 14 bit (default mode,
readout_12bit = ‘0’) to 12 bit (readout_12bit = ‘1’). In this case, the two last LSB are set by
default to ‘0’. This might be useful if all other devices in a system just use 12 bit.
7.8.5 smp_skip (sample skipping)
Intention of this bit is to minimize MCU load, especially in case of very low BW. This bit is only
useful if new_data_int = 1.
-
When smp_skip is set to ‘0’, interrupt is generated at 1/Tupdate.
-
When smp_skip is set to ‘1’, interrupt is generated depending on bandwidth, it is twice the
selected bandwidth. For example, if bw = 0110b (600Hz), interrupt is generated at the half of
the frequency of the sampling rate, thus at 1200Hz. For bw = 10Hz, interrupt is generated at
20Hz. In low power mode, bw = 5Hz and interrupt is generated at 10Hz.
Additional advantage of using this bit in combination with new_data_int = 1 is noise
optimization. If customer is not using new_data_int and is collecting data with “small” data rate,
effect of MCU load minimization is similar, but noise might be higher, since data is not collected
synchronously to availability of new data (increase of noise due to interface traffic).
7.8.6 shadow_dis
BMA180 provides the possibility to block the update of the data MSB while data LSB are read
out. This avoids a potential mixing of LSB and MSB of successive conversion cycles. When this
bit is at 1, the shadowing procedure for MSB is not realized and MSB only reading is possible.
7.8.7 dis_reg
When this bit is at ‘1’, the internal regulators are disabled and are by-passed. This allows ultra
low voltage operation with highly stabilized external power supply. In this case PSRR of the
external power supply is determining the PSRR of the whole device.
Remark: if dis_reg = ‘1’, voltage must not exceed 2V (see specification part)
7.8.8 wake_up
This bit makes BMA180 automatically switching from sleep mode to normal mode after the
delay defined by wake_up_dur (see next section). The ASIC is also able to switch from normal
to sleep mode; an interrupt condition must be defined and the IC will go to sleep mode as soon
as all required computations have been performed.
When the IC goes from sleep to normal mode, it starts acceleration acquisition and performs the
interrupt verification. If a latched interrupt is generated, this will wake-up the microprocessor, the
IC will wait for a reset_int command. If non-latched interrupt is generated, the device waits in the
normal mode till the interrupt condition disappears. If no interrupt is generated, the IC goes to
sleep mode for 20 to 2560ms. BMA180 cannot go back to sleep mode if reset_int is not issued
after a latched interrupt.
Rev. 1.0
Page 32 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
After setting wake_up to ‘1’, the device goes to the sleep mode and cycle sleep/wake-up/sleep
is started.
The IC wakes-up for a minimum duration which depends on the number of required valid
acceleration data to determine if an interrupt should be generated.
For example, if bw = 0111, low_int = 1 and low_dur = 31d, the IC will need time to acquire a
minimum number of acceleration data: the IC needs low_dur = 31d = 31*5*Tupdate = 64.6ms to
determine if the acceleration is under low_th. Under this example condition, the minimum wakeup time is 64.6ms. To use smaller wake-up times, low_dur has to be decreased significantly.
To activate wake_up bit in EEPROM, the following procedure is necessary:
1) set register dis_wake_up to “1” (wake-up mode is masked)
2) set image register wake_up to “1”
3) write register wake_up to EEPROM -> dummy write to address 0x54.
4) set register dis_wake_up back to “0” (go to wake-up mode)
To disable wake_up bit in EEPROM, the following procedure is necessary:
5) set register dis_wake_up to “1” (wake-up mode is masked)
6) set image register wake_up to “0”
7) write register wake_up to EEPROM -> dummy write to address 0x54.
8) set register dis_wake_up back to “0” (optional)
7.8.9 wake_up_dur
These bits define the sleep mode duration between each automatic wake-up (timing below is
valid for low-noise mode, in low power mode, sleep mode duration is doubled).
wake_up_dur<1:0>
00
01
10
11
Sleep mode duration
(ms)
20
80
320
2560
7.8.10 slope_alert
If this bit is at 1, the slope_th_criteria will turn BMA180 in an alert mode. This bit can be masked
by adv_int, the value of this bit is ignored when adv_int = 0 (in other words: if slope_alert is
used, adv_int has to be set to ‘1’).
More explanations to slope alert is given in a separate application note (under preparation).
7.8.11 dis_i2c – disable I²C
This bit could be used to disable the I2C mode. Per default, both interfaces are usable (dis_i2c =
“0”), thus automatic switching from SPI to I2C when CSB is high is enabled. For disabling I²C,
dis_i2c has to be set to “1”. If SPI-interface is used, it is highly recommended to set dis_i2c to ‘1’
to avoid mal-function.
Rev. 1.0
Page 33 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
7.8.12 CRC - checksum bits
CRC are checksum bits used to verify the integrity of the trimming codes. This is used for the
check of the EEPROM content during the packaging procedure. Furthermore it could be
checked, whether a trimming procedure at customer side has been performed.
7.8.13 ee_cd1, ee_cd2 - customer data
These 2 bytes can be used by customers to store any data in the non-volatile memory. Its
content does not influence the ASIC functionality. At Bosch production site these registers are
used to store inter-mediate data, the content of which may differ from sensor to sensor. This is
of no importance for the proper functionality of the sensor.
7.9 Interrupt settings
The sensor is providing 6 different types of user programmable interrupts. When any interrupt
condition is valid, the INT pad goes to 1. If many interrupts are activated at the same time, INT
goes high when at least one of the interrupt criteria exists. Interrupts can be chosen as latched
(interrupt reset by µC necessary) or non latched (interrupt disappears as soon as interrupt
condition disappears)
Interrupts generations may be disturbed by EEPROM, image or control bits changes because
some of these bits influence the interrupt calculation. As a consequence, no write sequence
should occur when microprocessor is triggered by INT or the interrupt should be disabled on the
microprocessor side when write sequences must be operated.
Interrupt criteria are using digital code coming from digital filter output, as a consequence all
thresholds are scaled with full scale selection (depends on range control bits). Timings used for
high acceleration and low acceleration debouncing are absolute values (1 LSB of high_dur and
low_dur registers corresponds to 5*Tupdate (=2.085ms), timing accuracy is proportional to
oscillator accuracy = ±10%), thus it does not depend on selected bandwidth. Timings used for
slope interrupt and slope alert detection are proportional to bandwidth settings.
All interrupt criteria are combined and drive the INT pad with an OR condition.
All interrupts are temporarily blocked after the wake-up, system reset or filtering bandwidth
change until there are enough samples to evaluate the interrupt condition for the first time (1
sample for threshold, 4 samples for slope and tap sensing). There is a dependence on the
filtering settings of the selected interrupt:
-
if low_filt = 0, interrupt condition is evaluated from the non-filtered data and might be enable
virtually immediately after the power-up.
-
If low_filt = 1, interrupt condition is evaluated from the filtered data and shall be enabled as
soon as the transient response of the filter disappears.
New data interrupt is enabled only if samples are available for reading.
Rev. 1.0
Page 34 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
7.9.1 adv_int
This bit is used to disable 3 advanced interrupt control bits: slope_alert, slope_int and st_damp.
If adv_int = 0, writing these advanced interrupt control bits to 1 has no effect on IC functions
(these bits are ignored). This feature is used to avoid IC mal-function when the above
mentioned advanced interrupt features shouldn’t be used but these bits are written to 1 by error.
adv_int
0
1
Advanced interrupt control bits
Can't be activated (writing them to 1 has no effect)
Functions of the bits are enabled
7.9.2 new_data_int
If this bit is set to 1, an interrupt will be generated when all three axes acceleration values are
new, i. e. BMA180 updated all acceleration values after latest serial read-out. Interrupt
generated from new data detection is a latched one; microcontroller has to write reset_INT at 1
after interrupt has been detected high. This interrupt is also reset by any acceleration byte read
procedure (read access to address 02h to 07h).
New data interrupt always occurs at the end of the Z-axis value update in the output register
(2.4kHz rate, if smp_skipping = ‘0’, at 2*bw rate, if smp_skipping = ‘1’). Following figure shows
two examples of X-axis read out and the corresponding interrupt generation.
Explanation of new data interrupt.
T
X
Y
X-axis value read out
Z
T
X
Y
Z
T
X
Y
Z T
…
X
Y
X-axis value read outX-axis value read out
New data interrupt
Z
T
X
Y
Z
T
X
Y
Z
X-axis value read out
New data interrupt
New data interrupt
New data interrupt
left side
- read out command of x-axis prior to next x-axis conversion
→ new data interrupt after completion of current conversion cycle
after z-axis conversion
right side
- read out of x-axis send after x-axis conversion
→ new data interrupt at the end of next period when x axis has been updated
Please refer to section 5.1 for more details.
Note: When using the I2C interface for data transfer, the data read out phase can be longer than
417µs (depending on I2C clock frequency and the amount of data transmitted). Starting a new
data read out sequence may lead to a situation where the new_data_int may not be cleared
right in time. This must be considered and taken care of properly.
Rev. 1.0
Page 35 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
7.9.3 lat_int
When this bit is at 1, interrupts are latched: the INT pad stays high until microprocessor detects
it and writes reset_int control bit to 1.
When this bit is at 0, interrupts are non-latched: interrupts are set and reset directly by BMA180
(e. g. interrupt condition disappears -> interrupt pin is reset to 0).
Following interrupts are influenced by lat_int:
- high
high-g interrupt (high-g detection)
- low
low-g interrupt (low-g or free-fall detection)
- slope
slope or any-motion detection
- tap-sensing
double tap detection
7.9.4
Low-g interrupt
7.9.4.1 General explanation
BMA180 is providing a possibility to detect free-fall or low-g values of a device.
Functionality is basically as follows: the sensor is measuring acceleration and comparing the
measured value with a certain predefined value. If acceleration is below this value and long
enough, a low-g interrupt is generated. If acceleration is above, no interrupt occurs. Sign of the
acceleration is also considered, thus absolute value is checked and compared to a given value.
Due to different devices (cell-phone, PND, lap-top, etc.) with different internal mechanical
constructions and placements of the sensor on a Printed-Circuit-Board (PBC), the sensor is
providing different parameters, the configuration of which is enabling device manufacturers to
optimize free-fall or low-g detection.
7.9.4.2 Low-g interrupt configuration parameters and settings
The following configuration parameters/settings are provided (all unsigned integer)
•
low_int:
This bit enables the low_th_criteria to generate an interrupt.
•
low_th:
defining low-g threshold value
•
low_hy:
defining associated low threshold hysteresis to prevent permanent interrupt generation in case acceleration signal is too close to threshold value
•
•
low_int_x:
low_int_y:
defining if low-g event on x-axis should generate low-g interrupt
defining if low-g event on y-axis should generate low-g interrupt
•
low_int_z:
defining if low-g event on z-axis should generate low-g interrupt
Rev. 1.0
Page 36 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
•
low_filt:
evaluation if interrupt generation is done with filtered (low_filt = “1”) or
unfiltered (low_filt = “0”) acceleration signal.
•
•
low_dur:
ff_cd_r :
low threshold duration and
free_fall_counter_down_register are used for debouncing low-g criteria.
Remarks:
- The thresholds codes are compared with the 8 MSB bits of acceleration value
(in absolute value), the low threshold level can thus be selected anywhere in
the full scale range.
- The sign of the acceleration, which has initiated the interrupt signal, is stored in
the flag bit low_sign_int_* (see 7.12.8), only if the corresponding enable
bit low_int_* is set.
7.9.4.3 Low-g interrupt: algorithm
In figure 6 an example is given to explain functionality of the configuration settings and the
algorithm behind the calculation of the interrupt generation.
acceleration
low_th + 32*low_hy
low_th
low G interrupt
counter value
ff_cd_r = 10
Count down with double speed
low_dur
INT (not latched here)
Figure 6: example of free-fall detection debouncing
with use of low_th, low_hy, low_dur and ff_cd_r settings
When acceleration signal is passing low_th value, low_th_criteria becomes active and counter
ff_cd_r is incremented by 1 NCOUNT. (Ncount = 1 LSB/(5xTupdate) = 1 LSB/2.085ms in low
Rev. 1.0
Page 37 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
noise modes). Depending on ff_cd_r register value, the counter could also be reset or count
down when low_th_criteria is false:
ff_cd_r<1:0>
00
01
Low-g interrupt counter (free-fall-counter) status
when low_th_criteria is false
reset
Count down by 1 NCOUNT
10
Count down by 2 NCOUNT
11
Count down by 3 NCOUNT
When the low acceleration interrupt counter value equals low_dur (low_dur <>0), an interrupt is
generated. If low_dur =0, an interrupt is generated as soon as the appropriate criteria is fulfilled.
The low_th_criteria is set with an AND condition on the three axis to be used as a free-fall
detection, thus acceleration signals of all 3 axes must be long enough below a certain threshhold.
If latch_INT=0, the interrupt is not a latched interrupt (as in figure 6) and then it is reset as soon
as low_th_criteria becomes false. When interrupt occurs, the interrupt counter is reset.
7.9.5
High-g interrupt
7.9.5.1 General explanation
BMA180 is providing a possibility to detect high-g events of a device.
Functionality is basically as follows: the sensor is measuring acceleration and comparing the
measured value with a certain predefined value. If acceleration is above this value long enough,
a high-g interrupt is generated. If acceleration is below, no interrupt occurs. Sign of the
acceleration is also considered, thus absolute value is checked and compared to a given value.
Due to different devices (cell-phone, PND, lap-top, etc.) with different internal mechanical
constructions and placements of the sensor on a Printed-Circuit-Board (PBC), the sensor is
providing different parameters, the configuration of which is enabling device manufacturers to
optimize high-g detection.
7.9.5.2 High-g interrupt configuration parameters and settings
The following configuration parameters/settings are provided (all unsigned integer)
•
high_int:
This bit enables the high_th_criteria to generate an interrupt.
•
high_th:
defining high-g threshold value
•
high_hy:
defining associated high threshold hysteresis to prevent permanent interrupt generation in case acceleration signal is too close to threshold value
Rev. 1.0
Page 38 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
•
•
high_int_x:
high_int_y:
defining if high-g event on x-axis should generate high-g interrupt
defining if high-g event on y-axis should generate high-g interrupt
•
high_int_z:
defining if high-g event on z-axis should generate high-g interrupt
•
high_filt:
evaluation if interrupt generation is done with filtered (high_filt = “1”) or
unfiltered (high_filt = “0”) acceleration signal.
•
•
high_dur:
mot_cd_r :
high threshold duration and
motion_counter_down_register are used for debouncing high-g criteria.
Remarks:
- The thresholds codes are compared with the 8 MSB bits of acceleration value
(in absolute value), the high threshold level can thus be selected anywhere in
the full scale range.
- The sign of the acceleration, which initiated the interrupt signal, is stored in the
flag bit high_sign_int_*, only if the corresponding enable bit high_int_* is set.
7.9.5.3 High-g interrupt: algorithm
The example in figure 6 for low-g interrupt can easily be transferred to the high-g detection.
When acceleration signal is passing high_th value, high_th_criteria becomes active and counter
mot_cd_r is incremented by 1 NCOUNT (Ncount = 1 LSB/(5xTupdate) = 1 LSB/2.085ms). Depending on mot_cd_r register value, the counter could also be reset or count down when
high_th_criteria is false:
mot_cd_r<1:0>
00
01
High acceleration interrupt counter status when
high_th_criteria is false
reset
Count down by 1 NCOUNT
10
Count down by 2 NCOUNT
11
Count down by 3 NCOUNT
When the high acceleration interrupt counter value equals high_dur (high_dur <>0), an interrupt
is generated. If high_dur =0, an interrupt is generated as soon as the appropriate criteria is
fulfilled.
The high_th_criteria is set with an OR condition on the three axis to be used as a high-g
detection, thus acceleration signals of minimum 1 axis must be long enough above a certain
thresh-hold.
Rev. 1.0
Page 39 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
If latch_INT=0, the interrupt is not a latched interrupt (as in figure 6) and then it is reset as soon
as High_thresh criteria becomes false. When an interrupt occurs, the interrupt counter is reset.
7.9.6
Slope interrupt (any motion interrupt)
7.9.6.1 General explanation
BMA180 is providing a possibility to detect slope/any motion events of a device (e. g. tumbling).
Functionality is basically as follows (see figure below): the sensor is measuring successive
accelerations, the data of which is stored internally. Slope d(acc_*)/dt is determined and
compared to a preconfigured any motion threshold. Interrupt or slope alert can be generated
when absolute value of measured slope is higher than the programmed threshold for long
enough duration. If slope is below any-motion-thresh-hold, Interrupt is reset. Slope interrupt is
performed, if at least 1 axis is leading to an interrupt (OR-connection).
Due to different devices (cell-phone, PND, lap-top, etc.) with different internal mechanical
constructions and placements of the sensor on a Printed-Circuit-Board (PBC), the sensor is
providing different parameters, the configuration of which is enabling device manufacturers to
optimize slope detection.
Figure 7: any motion detection with interrupt generation (schematic view)
Rev. 1.0
Page 40 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
7.9.6.2 Slope interrupt configuration parameters and settings
The following configuration parameters/settings are provided (all unsigned integer)
•
slope_int:
This bit enables the slope_th_criteria to generate an interrupt. It cannot be
turned on simultaneously with slope_alert. This bit can be masked by
adv_int (value of slope_int is ignored, if adv_int = 0).
•
slope_th:
defining slope threshold value, LSB size corresponds to 15.6mg for ±2g
range and scales with range selection.
•
slope_int_x:
defining if any motion event on x-axis should generate slope interrupt
•
•
slope_int_y:
slope_int_z:
defining if any motion event on y-axis should generate slope interrupt
defining if any motion event on z-axis should generate slope interrupt
•
slope_filt:
evaluation if interrupt generation is done with filtered (slope_filt = “1”) or
unfiltered (slope_filt = “0”) acceleration signal.
If slope_filt = 1, the signal is filtered and the slope condition depends
on bw settings.
If slope_filt = 0, the signal is unfiltered and the slope condition depends
only on the maximum bandwidth.
•
slope_dur:
slope_dur determines interrupt duration before generating interrupt
•
slope_alert:
if this bit is set, the sensor is turned into alert mode. This bit can be
masked by adv_int (value of slope_int is ignored, if adv_int = 0).
Rev. 1.0
Page 41 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
7.9.6.3 slope interrupt: algorithm
An example of slope detection (here bw = 0111b, slope_dur = 01b, slope_int = 1) is shown
below. At a certain time, a high slope is detected and INT is set to “1” (high slope has to stay for
3 consecutive data points, here until time t0). If slope is decreased, after a certain time low
slope is detected (again after 3 consecutive data points) and INT is reset at time t1 to “0”.
Acceleration
high slope detected
at this time
417us for 1.2kHz bandwidth
low slope detected
at this time
1st
2nd
3rd
1st
t0
2nd
3rd
t1
Time
IF slope_int=1, INT=1 from t0 to t1
IF slope_alert=1, alert mode is set from t0
Figure 8: acceleration slope detection, example with slope_dur = 01b, 3 consecutive
slope criteria must be detected.
slope_dur is used to filter the slope detection and also to determine minimum interrupt duration
because the reset condition is also filtered. The minimum interrupt duration is
slope_dur*n*Tupdate.
slope_dur<1:0>
00
01
10
11
Number of required consecutiv conditions
to set or reset the slope th criteria
1
3
5
7
slope_th_criteria can be used to generate a slope interrupt or to put BMA180 in alert mode; this
is selected by slope_int and slope_alert settings. These 2 modes can not be turned ON
simultaneously.
The sign of the last slope, which has initiated the interrupt or alert signal, is stored in the flag bit
slope_sign_int_*, only if the corresponding enable bit slope_int_* is set. slope_sign_int_* is 2’s
complement coded (0 = positive slope; 1 = negative one).
Rev. 1.0
Page 42 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
Slope interrupt is performed, if at least 1 axis is leading to an interrupt (OR-connection).
Slope criterion is determined from digital filter output and depends on bandwidth settings: for
example for slope_dur=01b and bandwidth=0111b (1.2kHz), 2*bandwidth=2.4ksamples/s leads
to reaction for interrupt activation of 3*417 µs = 1.25 ms and a minimum slope interrupt duration
of 3*417µs = 1.25ms.
If lower bandwidth is selected
i)
the digitally filtered values (lower noise) are taken for the verification of
the any motion criterion and
ii)
the time scale to evaluate the criterion is stretched. Thus adjusting the
bandwidth, the slope threshold, the slope duration as well as the full scale
range enables to tailor the sensitivity of the slope algorithm.
Rev. 1.0
Page 43 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
7.9.7
Tap sensing
7.9.7.1 General explanation
BMA180 is providing a possibility to detect two consecutive slope events of a device and may
generate an interrupt.
7.9.7.2 Tap sensing interrupt configuration parameters and settings
The following configuration parameters/settings are provided (all unsigned integer)
•
tapsens_int:
This bit enables the tapsens_criteria to generate an interrupt
•
tapsens_th
defines the threshold level of the tip-shock.
•
tapsens_int_x:
defining if tap sensing event on x-axis should generate interrupt
•
tapsens_int_y:
defining if tap sensing event on y-axis should generate interrupt
•
tapsens_int_z:
defining if tap sensing event on y-axis should generate interrupt
•
tapsens_filt:
evaluation if interrupt generation is done with filtered (tapsens_filt = “1”) or
unfiltered (tapsens_filt = “0”) acceleration signal.
If tapsens_filt = 1, the signal is filtered and the slope condition(s) depend
on bw settings. Thus, n = 1200/BW
•
•
tapsens_dur:
tapsens_shock
Rev. 1.0
If tapsens_filt = 0, the signal is unfiltered and the slope condition(s)
depend only on the maximum bandwidth. Thus, n = 1.
.
tapsens_dur (threshold duration) defines the maximum delay between 2
acceleration slope detections. The values of tapsens_dur are defined
below
tiptap_dur<2:0>
Mode duration
000
001
010
011
100
101
110
111
120*Tupdate
180*Tupdate
240*Tupdate
360*Tupdate
600*Tupdate
1200*Tupdate
1800*Tupdate
2400*Tupdate
mode
duration
[ms]
(low
noise
mode)
50
75
100
150
250
500
750
1000
mode
duration
[ms]
(low
power
mode)
25
37,5
50
75
125
250
375
500
if slope is detected within tapsens_shock, no interrupt is generated
Page 44 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
7.9.7.3 Tap sensing interrupt: algorithm
An acceleration slope is detected when the criterion tapsens_th_criteria is set.
The tap sensing feature is using two acceleration signal slope detections. The first slope
detection sets the status bit first_tapsens_s to ‘1’. An interrupt signal is generated only if new
slope detection comes after tapsens_shock = (120*Tupdate) = 50ms and before tapsens_dur.
first_tapsens is reset when at least one of the following conditions is true:
• tap sensing feature is disabled during the processing of tap sensing sequence.
• tapsens_dur period is passing.
• tap sensing interrupt occurs.
The sign of the slope, which has initiated the interrupt signal, is stored in the flag bit
tapsens_sign_int_* , only if the corresponding enable bit tapsens_int_* is set.
Tap sensing function is defined with an OR condition. For example, if all axes are selected
(tapsens_int_x= tapsens_int_y= tapsens_int_z=’1’), the procedure could start with a pulse on
the X-axis and finish with a pulse on the Z-axis.
The procedure starts always with the first detected pulse.
acceleration
High slope detection
Æ start
High slope detection within
tiptap_dur
Æ interrupt generated
High slope detection within
tiptap_shock
Æ No interrupt generated
tiptap_shock
tiptap_dur
INT
Figure 9: example of tap sensing detection with use of tapsens_th, tapsens_dur
Rev. 1.0
Page 45 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
7.10 Performance settings
As performance settings offset, gain (sensitivity), TCO and TCS are considered.
7.10.1 Gain trimming (sensitivity trimming)
Gains of the sensor (temperature and acceleration for x-, y- and z-axis) are calibrated at
production line. Corresponding bit widths are shown below:
gain_t:
gain_z:
gain_y:
gain_x:
Gain trimming for temperature (5 bits).
Gain trimming for Z axis (7 bits).
Gain trimming for Y axis (7 bits).
Gain trimming for X axis (7 bits).
The above codes are “offset binary” coded. For instance for gain_x trimming code 1000000 is
the middle code for no trimming and codes for most negative correction to most positive one
are: 0000000, 0000001... 0111111, 1000000, 1000001… 1111110, 1111111.
Attention:
Customer is able to recalibrate sensitivity. If this is done including EEPROM writing, the initial
calibration values are lost, thus care has been taken.
7.10.2 Offset trimming
Offsets of the sensor (temperature and acceleration for x-, y- and z-axis) are calibrated at
production line. Corresponding bit widths are shown below:
offset_t :
offset_z:
offset_y
offset_x
Offset trimming for temperature (7 bits).
Offset trimming for Z axis (12 bits).
Offset trimming for Y axis (12 bits).
Offset trimming for X axis (12 bits).
The above codes are “offset binary” coded. For instance for offset_z trimming of z-axis, code
100000000000 is the middle code for no trimming and codes for most negative correction to
most positive one are: 000000000000, 000000000001... 011111111111, 100000000000,
100000000001… 111111111110, 111111111111.
Attention:
Customer is able to recalibrate sensitivity. If this is done including EEPROM writing, the initial
calibration values are lost, thus care has been taken.
Rev. 1.0
Page 46 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
7.10.3 Offset_finetuning
7.10.3.1 General explanation
The sensor is providing a possibility to regulate offsets down to very small values. This can be
done for each axis separately. Remaining offsets are within a certain range below/above 0g
(also for z-axis), the value of which are depending on the fine-tuning mode (see below).
7.10.3.2 Configuration parameters and settings for offset fine-tuning
Offset fine-tuning method is controlled via a 2-bit register, called offset_finetuning, the regulation
procedure itself is enabled by 3 bits called en_offset_*.
The definition of the offset_finetuning register is the following:
offset_finetuning<1:0>
00
01 (default)
10
11
Offset regulation
no action
fine calibration
coarse calibration
full calibration
Setting these two bits enables the offset regulation and disables automatically the low interrupt
function (low_int = ‘0’). This is due to optimized register structure with a limited amount of free
bits.
The offset cancellation function has two sub-functions:
• Coarse calibration: This one is built-in to correct up to ±1g, in addition to the standard
offset correction of the sensor (see section before). E. g. using this calibration method
could eliminate the 1g offset of the z-axis in applications where optimum full scale
measurements are necessary – e. g. high accurate tilt measurements with high
resolution in 1 g mode, where all 3 acceleration signals are used. Coarse calibration is
done via DAC inside the sensor, thus final remaining offset is same as after standard
calibration (see table 2).
•
Fine calibration: the fine calibration is done in the digital part of the sensor and allows
reaching an offset correction with a step size of 1 LSBadc and a range of ±64 LSBadc, that
means 7 bits per channel, called fine_offset_* bits (“2’s complement” coded). The
following table defines the correspondence between the fine_offset_* bits and the low
interrupt bits (in offset-tuning mode the fine_offset_* bits are stored in the below
mentioned low_* bits).
Rev. 1.0
Page 47 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
fine_offset_* bits
fine_offset_x
fine_offset_y
fine_offset_z
•
Bosch Sensortec
Correspondance to Register Comments
low int registers
low_th
29h
LSB to '0'
low_dur
26h
low_int_x
bit 6
low_int_y
bit 5
25h
low_int_z
bit 4
low_filt
bit 3
low_hy<4>
bit 2
23h
low_hy<3>
bit 1
low_hy<2>
bit 0
The full calibration is the combination of these both calibrations.
7.10.3.3 Offset fine-tuning algorithm
The procedure to run the offset calibration is the following:
1. Set offset_finetuning to a value different to ‘00’. The low interrupt function is consequently
disabled if the offset_finetuning bit 0 is set to ‘1’.
2. Set the appropriate en_offset_* bit(s) to ‘1’ corresponding to the chosen axis.
Remarks:
• If more than one bit is set to ‘1’, only one of the selected axis will be tuned.
•
If any of the bits is set to ‘1’ during the offset regulation is in progress, the
corresponding bit will be set to ‘1’ but the regulation currently in progress is not
disturbed.
•
As soon as the regulation is done, all bits are reset to ‘0’ by the sensor itself.
Once the procedure (step 1+2, see above) is completed, the offset calibration sequence starts:
a) Coarse calibration is performed and new offset codes are stored in the appropriate
offset_* image register, corresponding to the chosen axis in step 2 (see above). This
calibration is performed only if offset_finetuning = ‘10’ or ‘11’.
b) Fine calibration is performed using internal averaging to achieve best accuracy
(noise reduction). In fact, the result of the average corresponds to the fine_offset
code (offset value), which is stored in the appropriate fine_offset_* image register,
corresponding to the chosen axis in step 2 (see above). If an error occurs, the code
of this register is either ‘0111111’ in the case of acceleration value is positive or
‘1000000’ otherwise. This calibration is performed only if offset_finetuning = ‘01’ or
‘11’.
c) Status bit offset_st_s is set and a pulse interrupt signal of 1*Tupdate length is
generated, indicating that the offset cancellation sequence is finished. This bit can be
Rev. 1.0
Page 48 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
used as an indication signal to the µC for finalization of the offset regulation
procedure. Subsequently the EEPROM writing may occur.
Remarks:
•
EEPROM writing has to be performed by the user.
•
After completion of the offset regulation/storage process, offset fine-tuning bits have to be
reset to “00” to re-enable the low-interrupt function. There are different cases to be
distinguished, if low-g interrupt should be used and offset should be kept as regulated after
EEPROM writing (and thus before resetting offset fine-tuning).
o
Coarse calibration (via DAC): after EEPROM writing offset_finetuning can be reset to
‘00’. Course offset is remaining as calibrated and low-g interrupt settings can be
changed to use low-g interrupt without influencing remaining offset.
o
Fine tuning (changing of ADC output and not via DAC): after EEPROM writing
fine_offset_* image registers are written to the corresponding low-g-interrupt
registers. If offset_finetuning is reset to ‘00’, low-g interrupts can be used, but offset
is not “fine tuned” any more (fine_offset_* registers are overridden by low-g interrupt
settings in image register; cancellation is done in digital part using the low-g interrupt
image registers and not EEPROM registers). If coarse calibration has been
performed before, sensor stays at least within the coarse calibration values. Thus
working of offset fine-tuning and low-g interrupt functionality at the same time is not
possible.
o
If sensor was fine-tuned and low-g interrupt functionality is not necessary any more,
very small offset could be achieved by update_image procedure (in this case
EEPROM content is copied into image register and thus fine_offset_* registers are
copied into image registers, if offset-finetuning is ’11’ or ‘01’).
•
Calibration depends on bw. By changing the bw, an offset of 1 or 2 LSBs may be induced.
•
Precondition for a minimized offset is the optimum position of the end consumer device
(including the sensor) with respect to the g-axis orientation. Any angular mismatch between
the sensor package and gravity vector (“0” degree for z-axis and “±90 degree for x- and yaxis) are leading to offset errors, which are related to a position mismatch during calibration.
They are not due to a bad offset of the sensor itself.
•
In order to regulate all offsets, set offset fine-tuning e. g. to “11” and then sequentially
enable en_offset_* bits. To optimize waiting time, offset_st_s could be checked. Another
solution is a frequent check using a software counter in the µC. Third possibility is waiting for
a certain time before enabling offset regulation of another axis.
Rev. 1.0
Page 49 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
7.10.4 tc0_x, tc0_y and tco_z
These 18 bits (6 bits each axis) are used to realize the temperature compensation of the offset
on each axis. This compensation is directly done in the digital part.
TCO-correction for each channel could be min. -1.6 mg/K for max. TCO, 0 mg/K for no TCO and
max. +1.6 mg/K for min TCO. Step-size is 0.05 mg/K, thus all intermediate steps could be
calculated easily.
Theoretically a remaining TCO of only 0.025 mg/K could be the result. Assuming a linear TCO
across the whole temperature range (-40 °C .. +85 °C), theoretically a remaining minimum offset
of approximately ±1.5 mg could be the result. Due to small non-linearities (NL-TCO), etc. final
TCO and thus final remaining offset is slightly higher.
7.10.5 tco_range
By setting this bit to ‘1’, TCO range changes from ±1.6 mg/K to ±6.4 mg/K, TCO step size
changes from ±0.05 mg/K to ±0.20 mg/K.
7.10.6 tcs, tcs_only_z
The 4 tcs-bits are used to provide a temperature compensation of the sensitivity for all axes
(trimming range: -4% . . . +3.5% for the whole temperature range). All 3 g-axes are
compensated identically, if tcs_only_z = 0 (this bit is hidden in Bosch reserved area of
EEPROM). In this case a different trimming for a different axis is not possible. If tcs_z_only = ‘1’,
tcs is only influencing z-axis. Setting of tcs_z_only is done in Bosch production line. Typically
tcs_z_only is set to ‘1’, thus only TCS of z-axis can be recalibrated.
The compensation is done with respect to room temperature (approx. 25°C). The devices are
pre-trimmed in production line, but if lowest TCS is necessary, trimming after soldering might
optimize TCS. This trimming could be performed in-line by device manufacturer.
The following table informs about the signal correction by using the tcs-bits (correction
corresponds to a full temperature range correction from -40°C up to +85°C. As a consequence a
correction of approx. ±2% with respect to room temperature (+25°C) is possible.
tcs<3:0>
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Rev. 1.0
Full temp (-40°C to +85°C)
correction
-4,0%
-3,5%
-3,0%
-2,5%
-2,0%
-1,5%
-1,0%
-0,5%
0,0%
0,5%
1,0%
1,5%
2,0%
2,5%
3,0%
3,5%
Page 50 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
Example:
Measured sensitivity is changed by -1% from +25°C to +85°C. This is equivalent to -2% for full
temperature range. Thus a correction of +2% for full temperature range is necessary. This can
be achieved by choosing tcs <3:0> = “12” or 1100b.
7.11 Control registers description
All single control bits are active at 1, a truth table is provided for commands coded on more than
1 bit.
7.11.1 st_damp
When this bit is set at 1, the damping factor is considered for self-test result (turned on by st0
bit, which makes MEMs electrode moving). This bit should be set before starting the self-test
sequence.
This bit can be masked by adv_int (the value of this bit is ignored when adv_int = 0).
7.11.2 reset_int
This is a one-shot control bit. The behaviour of reset_int is as follows:
a) it is accepted if the appropriate interrupt is latched and generated. In this case, reset_int
event resets the interrupt state to not generate.
b) it is ignored if the appropriate interrupt is not latched or if this one is latched but not
generated.
7.11.3 update_image
When this bit is set to 1b, an image update procedure is started: all EEPROM content is copied
to image registers and the bit update_image is turned to 0 when the procedure is finished.
No write or read to image registers and no EEPROM write is allowed during the update from
EEPROM.
An automatic update image procedure also occurs:
a) after Power On reset
b) after soft_reset is issued via the serial interface.
7.11.4 ee_w
This bit must first be written to 1 to be able to write anything into image registers (20h .. 3Bh).
I2C acknowledgement procedure for protected/non-protected area:
a) I2C slave address: if correct, BMA180 sets acknowledge.
b) I2C register address (I2C write): BMA180 sets acknowledge for both unprotected and
protected registers.
c) I2C write data (I2C write): BMA180 sets acknowledge for both unprotected and protected
registers; no write is done for protected register.
d) I2C read data (I2C read): acknowledge is set by a master; no error detection is possible.
After power on reset or soft reset, ee_w = 0.
Rev. 1.0
Page 51 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
7.11.5 st1
This self test bit does not generate any electrostatic force in the MEM but is used to verify,
whether the digital part is working correctly and that microprocessor is able to react to the
interrupts. Basically a 0 g acceleration is emulated, and the user can detect the whole logic path
for interrupt, including the PCB path integrity. The low_th interrupt register must be set by user
so that st1 generates a low threshold interrupt.
7.11.6 st0
The self-test command uses electrostatic forces to move the MEMs common electrode. Self-test
can be used only with highest bandwidth setting so whatever is the setting defined by user, the
internal mode corresponds to bw = 0111 if st0 = 1. No acceleration change shall occur
during self-test procedure and no fine offset compensation is performed during the selftest.
As soon as st0 is set, the self-test sequence starts and an acceleration of about ±0.5g for
each channel (this acceleration is summed with the real acceleration, as long as the sum result
stays inside the full scale range) is emulated. The internal procedure (deflection, measurement,
etc.) to determine if self-test has been successful or not takes about 10 – 15ms. Damping factor
is considered for these calculations only if st_damp is set.
After digital computation, st0 is written to 0 (the bit stays at 1 as long as the self test procedure
is running, user can read-out this bit to detect when the result of self-test can be read). Self test
result corresponds to the str (Self Test Result) status bit. During self-test procedure, it is advised
not to realize SPI transaction which could introduce noise, st0 read out should be used only to
verify the self-test is finished (a delay of 15 ms between the moment when st0 is written to 1 and
the first st0 read-out should be applied).
If str = ‘1’ self-test was successful.
A soft-reset is recommended after each self-test sequence.
7.11.7 st_amp
These 3 control bits define the amplitude of the generated electrostatic force to deflect the mass
of the micromechanical element.
st_amp<2:0>
000
001
010
011
100
101
110
111
Amplitude =
(1+code_value)*Vdd/2
0
1/8
2/8
3/8
4/8
5/8
6/8
7/8
The availability of this register is mainly for testing purposes. Thus to avoid mal-function of the
self-test, it is not recommended to change the pre-defined settings.
Rev. 1.0
Page 52 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
7.11.8 soft_reset
BMA180 is reset each time the value B6h is written to this byte. The effect is identical to poweron reset. Control, status and image registers are reset to values stored in the EEPROM. After
soft_reset or power-on reset BMA180 comes up in normal mode or wake-up mode. It is not
possible to boot BMA180 to sleep mode.
No serial transaction should occur within 10µs after soft_reset command.
7.11.9 sleep
This bit turns the sensor IC in sleep mode, no acceleration measurements can be performed
any more, but control and image registers are not cleared.
When BMA180 is in sleep mode no operation can be performed without waking-up the sensor
IC by setting sleep=0 or soft_reset. As a consequence all write and read operations are
forbidden when the sensor IC is in sleep mode except command used to wake up the device or
soft_reset command.
After sleep mode removal, it takes 1ms to obtain stable acceleration values (>99% data
integrity). User must wait for 10ms before first EEPROM write. For the same reason, BMA180
must not be turned in sleep mode when any update_image, self_test or EEPROM write
procedure is on going.
Attention: This bit should not be set to “1”, when wake-up mode is enabled.
7.11.10
dis_wake_up
When dis_wake_up = 1, wake-up mode is disabled in order to avoid the fact that the ASIC may
enter into sleep mode before EEPROM writing is initiated.
7.11.11
unlock_ee
unlock_ee register allows access to the forbidden area of the EEPROM. Do not use it.
7.11.12
en_offset_x, en_offset_y, en_offset_z
These one-shot control bits enable the offset regulation for the corresponding axis. To regulate
all axis, it is necessary to enable the bits sequentially.
7.11.13
sel_t, sel_x, sel_y, sel_z
sel_* are used for internal purposes only. Do not use these bits.
Rev. 1.0
Page 53 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
7.12 Status register
7.12.1 first_tap sensing
This status bit is set when a first tap sensing shock has been detected. This bit is reset when at
least one of the following conditions is true:
- tap sensing feature is disabled during the processing of tap sensing sequence.
- tapsens_dur period is passed.
- tap sensing interrupt occurs.
7.12.2 str
This is the self test result bit. It should be used together with st0 control bit: after st0 has been
set, self-test procedure starts, at the end of it, st0 is written to 0 and microcontroller should react
by reading str bit. If str = 1, then the self test passed successfully. It stays high until POR or softreset.
7.12.3 Slope alert
Slope alert is a feature, which is described in a separate application note (under preparation).
7.12.4 low_th_int, high_th_int, slope_int_s, tapsens_int
These latched status bits are set when the corresponding criteria have been issued. When
several interrupt modes are enabled, these bits can be used by microprocessor to detect which
criteria generated the interrupt.
If interrupts are not latched, status bits *_int are the same as the corresponding bits *_s, which
are defined in 7.12.5.
Disabling of an interrupt (e. g. setting low_th_int to ‘0’) shall not reset active latched interrupt
status bit (e. g. low_th_int remains at ‘1’ until a reset is performed by setting reset_int to ‘1’).
Changing to interrupt mode to non-latched (setting lat_int to ‘0’) shall immediately rset all
latched interrupt status bits.
7.12.5 low_th_s, high_th_s, slope_s, tapsens_s, offset_st_s
These status bits are set when the corresponding criteria have been issued; they are
automatically reset by BMA180 when the criteria disappear or if the corresponding interrupt is a
latched one and user issues reset_int.
7.12.6 offset_st_s
This status bit is set either at the end of offset regulation’s sequence or at the end of each data
acquisation’s phase of the selftest; it is automatically reset by BMA180 after 1*Tupdate.
7.12.7 x_first_int, y_first_int, z_first_int
These latched status bits can be used by microprocessor to detect on which axis any interrupt
occurs first after either system reset or reset_int event.
Rev. 1.0
Page 54 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
7.12.8 Status bits for acceleration or slope sign
These latched status bits can be used by microprocessor to know the sign of the acceleration or
the slope which has initiated an interrupt or alert signal (‘0’ for a positive sign, ‘1’ for a negative
one).
If the INT pad shall be asserted, sign bits are updated. The bits corresponding to the disabled
axes are set to ‘0’, the other ones are set to the corresponding sign. If the whole interrupt has
been disabled, all the appropriate sign bitsa re set to ‘0’. If just one axis is disabled/enabled, the
appropriate sign bit is not touched; it is updated as soon as there is a generated interrupt.
Latched status registers can only be reset by power-on reset or soft-reset.
7.12.9 ee_write
This bit is set to ‘1’ if EEPROM writing is in progress. Any writing transaction sent if ee_write =
‘1’ is ignored.
7.13 Data registers
7.13.1 temp
A thermometer is embedded in BMA180, temperature resolution is 0.5 K/LSBTEMP. Code 80h
stands for lowest temperature which is centered around -40°C and typical code for 25°C is
00000010 in 2’s complement. Offset and gain are trimmable like the acceleration axes, thus
temperature offset could be adjusted to achieve a range between -40°C and 87.5°C by
changing the offset_t register (typical value 88d)
7.13.2 acc_x, acc_y, acc_z
Acceleration values are stored in these registers to be read out through serial interface. The
description of the digital signals acc_x, acc_y and acc_z is “2’s complement”, based on 14 bits.
The 2 LSB are fixed to 0 if readout_12bit is set to ‘1’.
From negative to positive accelerations, the following sequence for the ±2g measurement range
can be observed (all other g-ranges correspondingly):
-2.00000 g
-1.99975 g
:
:
-0.00025 g
:
10 0000 0000 0000
10 0000 0000 0001
...
11 1111 1111 1111
0.00000 g
:
00 0000 0000 0000
+0.00025g
:
+1.99950g
+1.99975g
:
:
00 0000 0000 0001
...
01 1111 1111 1110
01 1111 1111 1111
Data is periodically updated with values from the digital filter output. LSB acceleration bytes
must be read first. After an acceleration LSB byte read access, the corresponding MSB byte
Rev. 1.0
Page 55 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
update can optionally be blocked until it is also accessed for read (in fact, MSB content is
copied in a shadow register and MSB access is re-directed to this copy which is not affected by
updates). Thus, MSB overflow can be avoided.
It is not possible to read-out only MSB bytes if shadow_dis=0, an LSB byte must first be read
out (if not, shadow register is never updated and MSB value is always identical to first read
value). To be able to read out only MSB byte, shadow_dis must be written to 1.
new_data_* flags at bit position 0 of acc_x_lsb, acc_y_lsb and acc_z_lsb can also be used to
detect if acceleration values have already been read out.
If systematic acceleration values read out is planned, new data interrupt should be used. Each
time all temperature + 3 axes values have been updated, INT goes high and microcontroller
must read out data. With this method, microcontroller accesses are synchronized with internal
BMA180 updates (see picture below).
ADC conversion
sequence
T X Y Z T X Y Z
…
T X Y Z T X Y Z T X Y Z
…
T X Y Z T X Y Z
INT
Acceleration read out and reset_int
should occur immediately after INT
rising edge
New read-out
Figure 10: ADC conversion sequence and synchronization with read-out of acceleration
values
Synchronization of read-out sequences with internal ADC conversions has two goals:
1. it enables a constant phase shift between acceleration value and its digital correspondding value read by microprocessor.
2. noise due to SPI activity perturbation is always generated during the less critical
conversion of temperature value. Each ADC conversion takes typically ¼*Tupdate, thus,
this is the maximum delay advised to read out acceleration data with lowest noise as
possible.
Remark:
Without using new-data interrupt, sensor is still in spec, using it is mainly optimizing it.
When acceleration read-out is synchronized by the new_data interrupt feature, each Tupdate
only 1 read sequence occurs. Indeed, 4 channels (temperature + 3 axes) are updated between
each new data interrupt.
Noise perturbations due to serial interface pad switching should be avoided. This is especially
true when many slave ICs are connected on same serial data and clock pins. Much noise could
Rev. 1.0
Page 56 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
be fed into BMA180 when other slaves are accessed. Thus, to be able to achieve low noise
level, no activity on SCK, SDI and SDO should occur excepted to read out acceleration like
explained on above chapter.
new_data_x, new_data_y, new_data_z bits are flags which are turned at 1 when acceleration
registers have been updated. Reading acceleration data MSB or LSB registers turns the flags
at 0. The flag value can be read by microprocessor.
If first SPI transaction is a acc_(x, y, or z)_LSB byte read, the corresponding MSB byte will
always be 0x00 in case of shadow_dis=0. Next read will be correct. To avoid this false first
reading, any other SPI read or write sequence should be performed after power on and before
first acc_(x,y, or z)_lsb byte read.
7.13.3 al_version<3:0>, ml_version<3:0>, chip_id<2:0>
al_version<3:0> and ml_version<3:0> are used to identify the chip revision. The values of these
codes are 0001b for both.
chip_id<2:0> is used by customer to be able to distinguish BMA180 from other chips which
would have same serial interface. This code is 011b.
Rev. 1.0
Page 57 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
8
I²C and SPI-Interfaces
8.1
Specification of interface parameters
Interface
parameters :
Symbol
Input - low level
Vil_si
Input – high level
Vih_si
Output – low level
Vol_SDI
VDDIO=
1.2V to 3.6V
VDDIO=
1.2V to 3.6V
VDDIO =1.62V,
iol=3 mA
Output – low level Vol_SDI_1.2
for 1.2V
Output – high level Voh_SDO
Output – high level Voh_SDO_1.2
for 1.2V
Pull-up resistor
Rpull_up
Pull-down resistor
I2C
bus
capacitor
Condition
Rpull_down
load Cb
VDDIO =1.2V,
iol=3 mA
VDDIO =1.62V,ioh=2mA
VDDIO =1.2V, ioh=2mA
Internal pull-up
resistance to VDDIO
Internal pull-down
resistance to VSS1
On SDI and SCK
Min
Typ
Max
Unit
0.3 * VDDIO
V
0.7 *
VDDIO
V
0.2 * VDDIO
0.23 * VDDIO
V
V
0.8*
VDDIO
V
0.62 *
VDDIO
70
120
V
12
20
190
kOhm
32
kOhm
400
pF
8.2 Interface selection
2 interface protocols are possible:
- When CSB=1, I²C functionality is enabled within state-machine.
- When CSB=0, 4-wire SPI is enabled.
Rev. 1.0
Page 58 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
8.3
I²C interface
8.3.1 I²C timings
The I2C slave interface is compliant with Philips I2C Specification version 2.1 (January 2000). All
modes (standard, fast, high speed) are supported. SDI and SCK pins are not pure open-drain
(they are diodes to VDDIO).
SDI
tBUF
tf
tLOW
SCK
tHIGH
tHDSTA
tr
tHDDAT
tSUDAT
SDI
tSUSTA
tSUSTO
Figure 11: I2C timing diagram
The BMA180 I2C slave address is coded on 7 bits. The first 6 bits are defined by the sensor
itself, they are fixed. The last bit (LSB) is fixed by the value on SDO used as a digital input. Thus
by default the I2C address is either 40h for SDO-connection to VSS or 41h for SDO-connection to
VDDIO.
The I2C bus uses the 2 wires SCK (Serial Clock) and SDI (Serial Data Input). CSB is connected
to internal pull-up and must not be connected to ground (GND). SDI is bi-directional with pulldown open drain: it must be externally connected to VDDIO via a pull up resistor.
Table 1: I2C bus terminology
Term
Transmitter
Receiver
Master
Slave
Rev. 1.0
Description
the IC which sends data to the bus
the IC which receives data from the bus
the IC which initiates a transfer, generates clock
signals and terminates the transfer
(microcontroller in final application or tester during
calibration procedure)
the IC addressed by a master (BMA180)
Page 59 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
8.3.2 Start and stop conditions
Data transfer begins by a falling edge on SDI when SCK is at high level, this is the start
condition (S), initiated by the I2C bus master. It is stopped with a rising edge on SDI when SCK
is at high level; this is the stop condition (P).
SDI
SCK
S
P
Start condition
Stop condition
Figure 12: I2C start and stop conditions
8.3.3 Bit transfer
One data bit is transferred during each SCK pulse. The data on the SDI line must remain stable
during the high period of SCK pulses, as any changes at this time would be interpreted as start
or stop conditions. Data is transferred with MSB first.
SDI
SCK
Data line
stable, data
valid
Change of
data allowed
Figure 13: I2C, 1 bit transfer
Rev. 1.0
Page 60 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
8.3.4 Acknowledge
After a start condition, data bits are transferred to BMA180. Each byte is followed by an
acknowledge bit: the transmitter let the SDI line high (no pull down) and generates a high SCK
pulse; if transfer concerns the BMA180 slave receiver and has performed correctly, it generates
a low SDI level (pull down activated). After acknowledge, BMA180 let SDI line free, enabling the
transmitter to continue transfer or to generate a stop condition.
SDI
By transmitter
Not Acknowledge
SDI
By receiver
Acknowledge
SCK
1
2
8
9
S
Start condition
Clock pulse for
acknowledgement
Figure 14: acknowledgement on SDI line
8.3.5 I2C protocol
After a start condition, the slave address + RW bit must be send. If the slave address does not
match with BMA180 one, there is no acknowledgement and the following data transfer will not
affect the chip. If the slave address corresponds to BMA180 one, it will acknowledge (pull SDI
down during 9th clock pulse) and data transfer is enabled. The 8th bit RW sets the chip in read or
write mode, RW=1 for reading, RW=0 for writing.
After slave address and RW bit, the master sends 1 control byte:
- the 7-bit register address
- 1 dummy bit
When IC is accessed in write mode, sequences of 2 bytes (= 1 control byte to define which
address will be written and 1 data byte to fill it) must be sent:
The following transactions are supported:
Single byte read, Single byte write, Multiple byte read, Multiple byte write.
Transactions are described in the following figures.
Rev. 1.0
Page 61 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
Abbreviations:
S
Start
P
Stop
ACKS
Acknowledge by slave
ACKM
Acknowledge by master
NACKM
Not acknowledge by master
Figure 15: I2C multiple write
To be able to access registers in read mode, first address should first be send in write mode.
Then a stop and a start conditions are issued and data bytes are transferred with automatic
address increment:
Figure 16: I2C multiple read
Figure 16 shows a typical I2C transfer to read out acceleration data. Address register is first
written to BMA180, the RW=0 (lowest acceleration data located to address 02h). I2C transfer is
stopped and restarted with RW=1, address are automatically incremented; 2 bytes are
sequentially read out.
Rev. 1.0
Page 62 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
8.4
SPI interface (4-wire)
8.4.1 SPI protocol
The SPI interface has a polarity = 1 and SPI phase = 0.
CSB is active low. Data on SDI is latched by BMA180 at SCK rising edge and SDO is changed
at SCK falling edge. Communication starts when CSB goes to low and stops when CSB goes to
high; during these transitions on CSB, SCK must be high. When CSB=1, no SDI change is
allowed when SCK=1 (to avoid any wrong start or stop condition for I2C interface).
CSB
SCK
SDI
RW
AD6
AD5
AD4
AD3
AD2
AD1
AD0
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
SDO
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0 tri-state
Figure 17: 4-wire SPI sequence
When write is required, sequences of 2 bytes are required: 1 control byte to define the address
to be written and the data byte:
Control byte
Start
RW
CSB
=
0
0
Data byte
Register adress (16h)
0
0
1
0
1
1
0
Control byte
Data register - adress 1Eh
RW
bit7 bit6 bit5 bit4 bit4 bit2 bit1 bit0
0
Data byte
Register adress (0Bh)
0
0
0
1
0
1
1
Data register - adress 02h
Stop
bit7 bit6 bit5 bit4 bit4 bit2 bit1 bit0
CSB
=
1
Figure 18: SPI multiple write
When read is required, the sequence consists in 1 control byte to define first address to be read
followed by data bytes. Addresses are automatically incremented.
Rev. 1.0
Page 63 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
Control byte
Start
RW
CSB
=
0
1
Register adress (02h)
0
0
0
0
0
1
0
Data byte
Data byte
Data byte
Data register - adress 02h
Data register - adress 03h
Data register - adress 04h
Stop
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
CSB
=
1
Figure 19: SPI multiple read
8.4.2
SPI timings
4-wire SPI timings
SPI
clock
input
frequency
SCK low pulse
SCK high pulse
SDI setup time
SDI hold time
SDO output delay
CSB setup time
CSB hold time
Symbol
Fspi_4
Fspi_4_slow
Tlow_sck_4
Thigh_sck_4
Tsetup_sdi_4
Thold_sdi_4
Tdelay_sdo_
4
Tsetup_csb_
4
Thold_csb_4
Condition
VDDIO > 1.6V
VDDIO < 1.6V
Min. Typ.
Max
10
7.5
20
20
20
20
25 pF load
30
Unit
MHz
MHz
ns
ns
ns
ns
ns
20
ns
40
ns
T_setup_csb_4
T_hold_csb_4
CSB
T_low_sck_4
T_high_sck_4
SCK
SDI
T_setup_sdi_4
T_hold_sdi_4
SDO
T_delay_sdo_4
Figure 20: SPI timing
Rev. 1.0
Page 64 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
9
9.1
Bosch Sensortec
Application examples
Wake-up/free-fall detection
Wake-up:
The high-g interrupt feature with an appropriate threshold (e. g. 100 mg) can be used to wakeup a device without using complex algorithms. Please consult your Bosch Sensortec
representative for more details.
Zero-g/free-fall detection:
The interrupt can also be used for zero-g or free-fall detection. An application note that will
describe this operating mode using the BMA180 in a more detailed way is under preparation.
9.2 Determination of orientations
The sensor is providing very low noise and very small offsets. Thus it is perfectly made to
determine orientations of devices. Some devices require detailed angular information, but
mostly coarse information about an orientation change of the sensor with respect to the
gravitational field vector g is sufficient (black dot = pin 1 identifier). Detailed explanations, etc.
will be given in a separate application note (under preparation).
9.3 Tilt measurements
Due to the very high performance BMA180 is not only usable for tilt compensation in electronic
compass applications. Furthermore high accurate tilt compensation could be performed (level
meters). Detailed considerations will be presented in a separate application note (under
preparation).
9.4 Dead reckoning by double integration
Improvements of GPS systems by inertial navigation require usage of very accurate sensors.
Even if BMA180 provides high resolution and accuracy, a re-calibration at end-of-line testing in
manufacturer production side might be useful.
For dead reckoning applications, especially the following parameters need to be as small as
possible: offset, TCO, sensitivity variation, TCS, non-linearity, noise.
Due to the recalibration possibility of the BMA180 (customer is able to recalibrate sensor at its
production site) almost all parameters mentioned above could be recalibrated. Nonlinearity and
noise cannot be calibrated, but design of BMA180 was done in such a way, that those 2
parameters are minimized.
9.4.1 Offset re-calibration
The 0g-offset of the sensor is factory calibrated for all three axes. If a very high accuracy of the
0g-offset is important for the application, a recalibration after soldering is recommended.
The sensor provides 2 possibilities of recalibration, described in the following 2 subsections.
Rev. 1.0
Page 65 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
9.4.1.1 Standard earth field calibration method
1. Orientate the device at well-defined angles to the gravitational field (see following figure
for the definition of the polar coordinates θ and ϕ. θ is the angle between the z-axis of
the sensor and the g-force, ϕ the angle between the z-g-plane and the x-axis component
which lies in the z-x-plane and which is perpendicular to the g-force).
z
θ
x
ϕ
y
g
2.
3.
4.
5.
Choose range (e. g. 2 g)
Read stored offset trimming values OffsetX, OffsetY, OffsetZ.
Measure output signals Ax, Ay, Az in LSB.
Calculate new correction values (for 2g-mode sensivitiy = 4096 LSB/g)
Since the offset trimming steps slightly vary, highest precision can be reached by using a
successive approximation procedure, e. g. repeating the procedure above several times by
starting from step 4. Highest accuracy could be reached by choosing 1 g-mode (e. g. first
calibration in 2 g-mode, second in 1 g-mode).
9.4.1.2 Offset calibration by use of offset fine-tuning feature
Using this method, the device has to be placed in an appropriate way to the g-vectors (e. g.
perpendicular or in parallel). Placement under a certain angle (e. g. non-perpendicular or nonparallel) with respect to the g-vector means: the offset is regulated with respect to this “new” gvector, thus an error is made. The regulation accuracy could be very high, but the device
manufacturer has to take care about proper placement of the devices during calibration.
Rev. 1.0
Page 66 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
Compared to the calibration method in 7.10.3 the usage of offset fine-tuning is much simpler (all
calculations are done within the chip), but might take longer – depending on the initial offset.
9.4.1.3 High-pass or band-pass usage
A third method to get a very small offset is the usage of the internal high-pass or band-pass of
the sensor. In this case almost no offset occurs, if acceleration amplitudes in the small
frequency range are not too high.
Advantage of this method is a almost perfect removal of offsets. Drawback is, that accelerations
at very small frequency signals, as they occur in some navigation situations – long curves with
almost no acceleration in small frequency range – cannot be measured at all.
9.4.2 Sensitivity/TCO/TCS re-calibration/software
Similar to an offset recalibration, a sensitivity re-calibration could be performed. As a drawback,
sensitivity measurements require turning off the device in the production, which is not always
possible.
Same remark is valid for TCS recalibration. In addition different temperatures must be applied.
Due to the same reason a TCO-recalibration at production line is very difficult.
A last method to optimize offset, etc. is the usage of good software algorithms in the device
itself. For optimized behaviour (e. g. navigation, using Kalman filters), the best performance
could be achieved by using a very high performance sensor (as BMA180) together with high
performance software. In this case, minimum position errors will be achieved.
To achieve optimized behaviour an in-line calibration at device production line might be useful.
Dedicated information is given in a separate application note (under preparation).
Rev. 1.0
Page 67 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
10 Pinning
10.1 Pin configuration (top view)
10.2 Pinning: electrical connections in case of SPI or I²C or no µC)
Digital
Analog
Pin
Name
01
reserved
02
VDD
Power
03
04
VSS
INT
05
06
CSB
reserved
GND
Digital
out
Digital in
07
08
SCK
SDO
09
SDI
10
VDDIO
11
reserved
12
reserved
Rev. 1.0
Digital in
Digital in/
out
Digital
in/out
Power
Digital
Description
SPI
I²C
no µC
Do Not Connect
(internally connected to
VDD)
Supply Voltage
DNC
DNC
DNC
VDD
VDD
VDD
Ground Connection
Interrupt PIN, active high
GND
INT/NC
GND
INT/NC
GND
INT
Chip Select, active low
Do Not Connect
(internally connected to
VSS)
Serial Clock
SPI output (4 wire) or
Set-up of I²C address
SPI input or
I²C serial data
Supply voltage
Connection Digital
Do Not Connect
(internally connected to
VSS)
Do Not Connect
(internally connected to
VSS)
CSB
DNC
VDDIO
DNC
VDD
DNC
SCK
SDO
GND
GND
SDI
SCK
GND or
VDDIO
SDA
VDDIO
VDDIO
VDD
DNC
DNC
DNC
DNC
DNC
DNC
Page 68 / - proprietary information -
GND
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
Figure 20: Connection diagram for use with 4-wire SPI interface
1.8 .. 3.6 V
1.2 .. 3.6 V
BMA180
Figure 21: Connection diagram for use with I²C interface
1.8 .. 3.6 V
1.2 .. 3.6 V
BMA180
Rev. 1.0
Page 69 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
Figure 22: Connection diagram for stand alone use without microcontroller
1.8 .. 3.6 V
BMA180
10.3 External component connection diagram
The following external component(s) are recommended to de-couple the power source
(voltages are examples).
1.8V
INT
VDDIO
C1=22 nF
CSB
SCK
MISO
2.4V
VDDA
C2 =22 nF
VSS
MOSI
Rev. 1.0
Page 70 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
Or (if VDDIO = VDD)
2.4V
INT
VDDIO
CSB
SCK
MISO
VDDA
C1=22 nF
VSS
MOSI
Rev. 1.0
Page 71 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
11 Package
11.1 Outline dimensions
The sensor housing is a standard LGA package. It is compliant with JEDEC Standard MO220C. Outline dimensions are shown below.
11.2 Orientation: polarity of the acceleration output
If the sensor is accelerated into the indicated directions, the corresponding channels will deliver
a positive acceleration signal (dynamic acceleration).
Example: If the sensor is at rest or at uniform motion in a gravity field according to the figure
given below, the output signals are:
•
•
•
± 0g for the X channel
± 0g for the Y channel
+ 1g for the Z channel
+z
+y
gravity vector
+x
Rev. 1.0
top side
Page 72 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
The following table lists all corresponding output signals on Ax, Ay, and Az while the sensor is
at rest or at uniform motion in a gravity field under assumption of a top down gravity vector as
shown above.
Output Signal Ax
Output Signal Ay
Output Signal Az
Rev. 1.0
0g
-1g
0g
+1g
0g
0g
0g
+1g
0g
Page 73 / - proprietary information -
-1g
0g
0g
upright
upright
Sensor
Orientation
(gravity vector )
0g
0g
+1g
0g
0g
-1g
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
11.3 Marking
11.3.1 Mass production samples
Sensor Label
053
AYWW
CCC
Name
Symbol
Product number
053
Sub-con ID
A
Date code
YWW
Lot counter
CCC
Pin 1 identifier
•
Remark
Coded alphanumerically
Y: year (alpha-numerical 9=2009, A=2010)
WW: Calendar week, numerical
11.3.2 Engineering samples
Sensor Label
180e
AYWW
0C1
Rev. 1.0
Name
Symbol
Remark
Product name
180
BMA180
Eng. Sample ID
E
Engineering samples
are marked with an “e”
Sub-con ID
A
Date code
YWW
Y: year, alpha-numerical (9=2009, A=2010)
WW: Working week, numerical
Lot counter
0Cn
e.g. n = 1 Æ = C1-Sample
Pin 1 identifier
•
Coded alphanumerically
Page 74 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
11.4 Landing pattern recommendations
The following PCB design is recommended in order to minimize solder voids and stress acting
on the sensing element. All dimensions are given in mm.
11.5 Moisture sensitivity level and soldering
The moisture sensitivity level of the BMA180 sensors corresponds to JEDEC Level 1, see also
IPC/JEDEC J-STD-020C "Joint Industry Standard: Moisture/Reflow Sensitivity Classification for
non-hermetic Solid State Surface Mount Devices"
and
IPC/JEDEC J-STD-033A "Joint Industry Standard: Handling, Packing, Shipping and Use of
Moisture/Reflow Sensitive Surface Mount Devices".
The sensor fulfils the lead-free soldering requirements of the above-mentioned IPC/JEDEC
standard, i.e. reflow soldering with a peak temperature up to 260°C (see: Handling, soldering &
mounting instructions)
Rev. 1.0
Page 75 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
11.6 RoHS compliancy
The BMA180 sensor IC meets the requirements of the EC restriction of hazardous substances
(RoHS) directive, see also
"Directive 2002/95/EC of the European Parliament and of the Council of 27 January
2003 on the restriction of the use of certain hazardous substances in electrical and
electronic equipment".
11.7 Tape and reel
(see document: Handling, soldering & mounting instructions, under preparation)
11.8 Handling instruction
Micromechanical sensors are designed to sense acceleration with high accuracy even at low
amplitudes and contain highly sensitive structures inside the sensor element. The MEMS sensor
can tolerate mechanical shocks up to several thousand g's. However, these limits might be
exceeded in conditions with extreme shock loads such as e.g. hammer blow on or next to the
sensor, dropping of the sensor onto hard surfaces etc.
G-forces beyond the specified limits during transport should be avoided; handling and mounting
of the sensors have to be in a defined and qualified installation process.
This device has built-in protections against high electrostatic discharges or electric fields (2kV
HBM); however, anti-static precautions should be taken as for any other CMOS component.
Unless otherwise specified, proper operation can only occur when all terminal voltages are kept
within the supply voltage range. Unused inputs must always be tied to a defined logic voltage
level.
11.9 Further handling, soldering and mounting instructions
Further important information on handling, soldering and mounting are described in a separate
document “BMA180 Handling, soldering and mounting instructions” which is currently under
preparation.
Rev. 1.0
Page 76 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Preliminary data sheet
Bosch Sensortec
12 Legal disclaimer
12.1 Engineering samples
Engineering Samples are marked with an asterisk (*) or (e). Samples may vary from the valid
technical specifications of the product series contained in this data sheet. They are therefore not
intended or fit for resale to third parties or for use in end products. Their sole purpose is internal
client testing. The testing of an engineering sample may in no way replace the testing of a
product series. Bosch Sensortec assumes no liability for the use of engineering samples. The
Purchaser shall indemnify Bosch Sensortec from all claims arising from the use of engineering
samples.
12.2 Product use
Bosch Sensortec products are developed for the consumer goods industry. They may only be
used within the parameters of this product data sheet. They are not fit for use in life-sustaining
or security sensitive systems. Security sensitive systems are those for which a mal-function is
expected to lead to bodily harm or significant property damage. In addition, they are not fit for
use in products which interact with motor vehicle systems.
The resale and/or use of products are at the purchaser’s own risk and his own responsibility.
The examination of fitness for the intended use is the sole responsibility of the Purchaser.
The purchaser shall indemnify Bosch Sensortec from all third party claims arising from any
product use not covered by the parameters of this product data sheet or not approved by Bosch
Sensortec and reimburse Bosch Sensortec for all costs in connection with such claims.
The purchaser must monitor the market for the purchased products, particularly with regard to
product safety, and inform Bosch Sensortec without delay of all security relevant incidents.
12.3 Application examples and hints
With respect to any examples or hints given herein, any typical values stated herein and/or any
information regarding the application of the device, Bosch Sensortec hereby disclaims any and
all warranties and liabilities of any kind, including without limitation warranties of noninfringement of intellectual property rights or copyrights of any third party. The information given
in this document shall in no event be regarded as a guarantee of conditions or characteristics.
They are provided for illustrative purposes only and no evaluation regarding infringement of
intellectual property rights or copyrights or regarding functionality, performance or error has
been made.
12.4 Limiting values
Limiting values given are in accordance with the Absolute Maximum Ratings (Chapter 0). Stress
above one or more of the limiting values may cause permanent damage to the device.
Operation of the device at these or at any other conditions above is not implied. Exposure to
limiting values for extended periods may also affect device reliability.
Rev. 1.0
Page 77 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
BMA180
Bosch Sensortec
Preliminary data sheet
13 Document history and modification
Rev. No
0.9
1.0
Chapter
All
All
Description of modification/changes
Initial version
Additional information, corrections, etc.
Date
31 January 2009
06 March 2009
Bosch Sensortec GmbH
Gerhard-Kindler-Strasse 8
72770 Reutlingen / Germany
contact@bosch-sensortec.com
www.bosch-sensortec.com
Modifications reserved | Printed in Germany
Specifications are preliminary and subject to change
without notice
Document number: BST-BMA180-DS000-01
Version_1.0_032009
Rev. 1.0
Page 78 / - proprietary information -
06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.