BMA150
Data sheet
BMA150
Digital, triaxial acceleration
sensor
Triaxial, digital acceleration sensor
Bosch Sensortec
Data sheet
BMA150 Data sheet
Order code(s)
0 273 141 028 (non-halogen-free) and 0 273 141 043 (halogen-free)
Package type
12-pin LGA
Data sheet version
1.6
Document release date
30 October 2008
Document number
BST-BMA150-DS000-06
Notes
Rev. 1.6
Specifications arePage
subject
1 to change without notice.
30 October 2008
Product photos and pictures are for illustration purposes only and may
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
differ
fromand
thethe
real
product’s
appearance.
as copying and passing on to third parties.
BOSCH
symbol
are registered
trademarks of Robert Bosch GmbH, Germany.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
BMA150
Digital, triaxial ±2g/±4g/±8g acceleration sensor
Key features
•
Three-axis accelerometer
•
Temperature output
•
Small package
•
•
•
•
LGA package
Footprint 3mm x 3mm, height 0.90mm
Digital interface
SPI (4-wire, 3-wire), I²C, interrupt pin
Programmable functionality g-range ±2g/±4g/±8g, bandwidth 25-1500Hz, internal
acceleration evaluation for interrupt trigger also enabling
stand-alone capability (without use of microcontroller),
self-test
Ultra-low power ASIC
Low current consumption, short wake-up time,
advanced features for system power management
Eco-friendly
RoHS compliant
Halogen-free (part number 0 273 141 043 only)
Typical applications
•
HDD protection
•
Menu scrolling, tap sensing function
•
Gaming
•
Pedometer/step-counting
•
Drop detection for warranty logging
•
Display profile switching
•
Advanced system power management for mobile applications
•
Shock detection
General description
The BMA150 is a triaxial, low-g acceleration sensor IC with digital output for consumer market
applications. It allows measurements of acceleration in perpendicular axes as well as absolute
temperature measurement.
An evaluation circuitry converts the output of a three-channel micromechanical accelerationsensing structure that works according to the differential capacitance principle.
Package and interface have been defined to match a multitude of hardware requirements. Since
the sensor IC has small footprint and flat package it is attractive for mobile applications. The
sensor IC can be programmed to optimize functionality, performance and power consumption in
customer specific applications.
The BMA150 senses tilt, motion and shock vibration in cell phones, handhelds, computer
peripherals, man-machine interfaces, virtual reality features and game controllers.
The BMA150 is the LGA package version of the SMB380 triaxial acceleration sensor which is
available in a 3mm x 3mm x 0.9mm QFN package.
Rev. 1.6
Page 2
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Index of Contents
1. SPECIFICATION...................................................................................................................................... 5
2. MAXIMUM RATINGS............................................................................................................................... 7
3. GLOBAL MEMORY MAP .........................................................................................................................8
3.1 OPERATIONAL REGISTERS ................................................................................................................... 11
3.1.1 SPI4............................................................................................................................................ 11
3.1.2 Range......................................................................................................................................... 11
3.1.3 Bandwidth................................................................................................................................... 12
3.1.4 Wake_up .................................................................................................................................... 12
3.1.5 Wake_up_pause ........................................................................................................................ 13
3.1.6 Shadow_dis................................................................................................................................ 13
3.2 INTERRUPT SETTINGS .......................................................................................................................... 14
3.2.1 Enable_LG: ................................................................................................................................ 14
3.2.2 Enable_HG:................................................................................................................................ 14
3.2.3 Enable_adv_INT: ....................................................................................................................... 14
3.2.4 Any_motion: ............................................................................................................................... 14
3.2.5 Alert: ........................................................................................................................................... 14
3.2.6 Latch_INT:.................................................................................................................................. 15
3.2.7 LG_thres, LG_hyst, LG_dur, counter_LG .................................................................................. 15
3.2.8 HG_thres, HG_hyst, HG_dur, counter_HG ............................................................................... 16
3.2.9 Any_motion_thres, any_motion_dur .......................................................................................... 17
3.2.10 New_data_int ........................................................................................................................... 19
3.3 CONTROL REGISTERS .......................................................................................................................... 20
3.3.1 Reset_INT .................................................................................................................................. 20
3.3.2 Update_image............................................................................................................................ 20
3.3.3 Ee_w .......................................................................................................................................... 20
3.3.4 Selftest_0 ................................................................................................................................... 21
3.3.5 Selftest_1 ................................................................................................................................... 21
3.3.6 Soft_reset ................................................................................................................................... 21
3.3.7 Sleep .......................................................................................................................................... 21
3.4 STATUS REGISTERS ............................................................................................................................. 22
3.4.1 St_result ..................................................................................................................................... 22
3.4.2 Alert_phase ................................................................................................................................ 22
3.4.3 LG_latched, HG_latched............................................................................................................ 22
3.4.4 Status_LG, status_HG ............................................................................................................... 22
3.4.5 Customer_reserved 1, customer_reserved 2 ............................................................................ 22
3.5 DATA REGISTERS ................................................................................................................................ 23
3.5.1 Temp .......................................................................................................................................... 23
3.5.2 Acc_x, acc_y, acc_z................................................................................................................... 23
3.5.3 New_data_x, new_data_y, new_data_z .................................................................................... 24
3.5.4 Al_version, ml_version, chip_id ................................................................................................. 24
Rev. 1.6
Page 3
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
4. DIGITAL INTERFACE............................................................................................................................ 25
4.1 SPI..................................................................................................................................................... 25
4.1.1 Four-wire SPI interface .............................................................................................................. 25
4.1.2 Three-wire SPI interface ............................................................................................................ 29
4.2 I²C INTERFACE .................................................................................................................................... 32
4.2.1 I²C protocol:................................................................................................................................ 36
5. PACKAGE.............................................................................................................................................. 38
5.1 OUTLINE DIMENSIONS .......................................................................................................................... 38
5.2 AXES ORIENTATION ............................................................................................................................. 39
5.3 LANDING PATTERN RECOMMENDATIONS ............................................................................................... 40
5.4 MOISTURE SENSITIVITY LEVEL AND SOLDERING ..................................................................................... 42
5.5 ROHS COMPLIANCY ............................................................................................................................ 42
5.6 NOTE ON INTERNAL PACKAGE STRUCTURE ........................................................................................... 42
6. PIN-OUT OUT AND CONNECTION DIAGRAMS ................................................................................. 43
7. OPERATION MODES ............................................................................................................................ 46
7.1 NORMAL OPERATIONAL MODE .............................................................................................................. 46
7.2 SLEEP MODE ....................................................................................................................................... 46
7.3 WAKE-UP MODE .................................................................................................................................. 46
8. DATA CONVERSION ............................................................................................................................ 51
8.1 ACCELERATION DATA .......................................................................................................................... 51
8.2 TEMPERATURE MEASUREMENT ............................................................................................................ 51
9. INTERNAL LOGIC FUNCTIONS........................................................................................................... 52
9.1 FREEFALL LOGIC ................................................................................................................................. 52
9.2 HIGH-G LOGIC ..................................................................................................................................... 52
9.3 ANY MOTION DETECTION ...................................................................................................................... 53
9.4 ALERT MODE ...................................................................................................................................... 53
10. LEGAL DISCLAIMER .......................................................................................................................... 54
10.1 ENGINEERING SAMPLES ..................................................................................................................... 54
10.2 PRODUCT USE ................................................................................................................................... 54
10.3 APPLICATION EXAMPLES AND HINTS ................................................................................................... 54
11. DOCUMENT HISTORY AND MODIFICATION ................................................................................... 55
Rev. 1.6
Page 4
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
1. Specification
If not stated otherwise, the given values are maximum values over lifetime and full performance
temperature/voltage range in the normal operation mode.
Table 1: Operating range, output signal and mechanical specifications of BMA150
Parameter
OPERATING RANGE
Symbol
Condition
Max
Units
-2
2
g
-4
4
g
gFS8g
-8
8
g
VDD
2.4
3.6
V
1.62
3.6
V
gFS2g
Acceleration range
Supply voltage
analogue
gFS4g
Switchable via serial
digital interface
Min
Typ
Supply voltage for
digital I/O
VDDIO
Supply current in
normal mode
IDD
Digital and analog
200
290
µA
Supply current in
stand-by mode *
IDDsbm
Digital and analog
1
2
µA
+85
°C
10
Bit
Operating
temperature
VDDIO ≤ VDD
TA
-40
ACCELERATION OUTPUT SIGNAL
Format:
2’s complement
Acceleration output
resolution
S2g
g-range ±2g
246
256
266
LSB/g
S4g
g-range ±4g
122 **
128
134 **
LSB/g
S8g
g-range ±8g
61 **
64
67 **
LSB/g
Zero-g offset
Off
TA=25°C, calibrated
-60
60
mg
Zero-g offset
Off
TA=25°C , over
lifetime ***
-150
150
mg
Sensitivity
Zero-g offset
temperature drift
Power supply
rejection ratio
Over TA
PSRR
1
Over VDD
mg/K
0.2
LSB/V
* For more details on the BMA150’s current consumption during wake-up mode, please refer to chapter 7.2 & 7.3
** Values here are given as indications for reference only
*** The offset can deviate from the original calibration mainly due to stress effects during soldering depending on the
soldering process. For many applications it is beneficial to re-calibrate the offset after PCB assembly (see application
note ANA016 “In-line offset re-calibration”).
Rev. 1.6
Page 5
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Parameter
Bandwidth
Symbol
bw
Condition
2 order analog
filter
Min
nd
Digital filter *
Acceleration data
refresh rate (all axes)
f_rate
NL
Best fit straight line
Output noise
nrms
Rms
Max
25, 50, 100,
190, 375, 750
2700
Nonlinearity
Typ
1500
3000
-0.5
Units
Hz
Hz
3300
Hz
0.5
%FS
0.5
mg/√Hz
TEMPERATURE SENSOR IC
Sensitivity
ST
Temperature
measurement range
TS
Temperature offset
OffT
Preliminary data
0.475
0.5
-30
Calibrated at 30°C
0.525
K/LSB
97.5
°C
1
K
MECHANICAL CHARACTERISTICS
Cross axis sensitivity
S
Relative
contribution
between 3 axes
2
%
1.5
ms
POWERING UP CHARACTERISTICS
Wake-up time
twu
From stand-by
1
Start-up time
tsu
From power-off
3
ms
* Please refer to chapter 3.1.3 for more detailed explanations
Rev. 1.6
Page 6
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
2. Maximum ratings
Table 2: Maximum ratings specified for the BMA150
Parameter
Supply Voltage
Condition
VDD and VDDIO
Voltage at any pad
Vpad
Storage Temperature range
EEPROM write cycles
Same Byte
EEPROM retention
At 55°C, after 1000 cycles
Mechanical Shock
Max
4.25
Units
V
GND-0.3
VDDIO+0.3
V
-50
+150
°C
1000
cycles
10
years
Duration ≤ 100µs
10,000
g
Duration ≤ 1.0ms
2,000
g
1.5
m
2
kV
500
V
Free fall onto hard surfaces
ESD
Min
-0.3
HBM, at any pin
CDM
Note:
Stress above these limits may cause damage to the device. Exceeding the specified electrical
limits may affect the device reliability or cause malfunction.
Rev. 1.6
Page 7
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3. Global memory map
The global memory map of BMA150 has 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 BMA150 is realized in diverse physical architectures. Basically BMA150 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 IC. The
EEPROM is write only. The register values are copied to the image registers after power on or
soft reset. The download of all EEPROM bytes to image registers is also done when the content
of one EEPROM byte has been changed by a write command.
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
EEPROM
Function of Register
−
−
−
−
−
−
−
−
−
−
−
Rev. 1.6
Chip identification, chip version
Acceleration data, temperature
Activating self test, soft reset,
switch to sleep mode etc.
Interrupt status and self test
status
Customer usable status bytes
Functional settings (range,
bandwidth)
Interrupt settings
Default settings of functional
and interrupt settings
Trimming values
Customer reserved data
storage
Bosch Sensortec Reserved
Memory
Page 8
Command
Volatile / non-volatile
Read
Read
Read / Write
non-volatile (hard coded)
volatile
volatile
Read
Volatile
Read / Write
Read / Write
volatile
volatile
Read / Write
Write
volatile
non-volatile
Write
Write
non-volatile
non-volatile
Write
non-volatile
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Figure 1: Global memory map of BMA150
Rev. 1.6
Page 9
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Important notes:
1) Bits 5, 6 and 7 of register addresses 14h and 34h do contain critical sensor individual
calibration data which must not be changed or deleted by any means.
In order to properly modify addresses 14h and/or 34h for range and/or bandwidth selection
using bits 0, 1, 2, 3 and 4, it is highly recommended to read-out the complete byte, perform bitslicing and write back the complete byte with unchanged bits 5, 6 and 7.
Otherwise the reported acceleration data may show incorrect results.
2) Bit 7 of register 0Ah should be left at a value of “0”.
3) A minimum pause of 14msec. between two consecutive EEPROM write-cycles must be kept.
Rev. 1.6
Page 10
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.1 Operational registers
3.1.1 SPI4
The SPI4 bit ((address 15h, bit 7) is used to select the correct SPI protocol (three-wire or fourwire, SPI-mode 3). The default value stored in the non-volatile part of the memory is SPI4=1
(four-wire SPI is default value !). After power on reset or soft reset or writing to EEPROM the
SPI4 EEPROM setting (35h) is downloaded to the image register SPI4 and the corresponding
SPI protocol is selected.
If the desired SPI is three-wire, the microcontroller must first write SPI4 to 0 (in image register
only or in EEPROM). This first writing is possible because only CSB, SCK and SDI are required
for a write sequence and the 3 bit timing diagrams are identical in three-wire and four-wire
configuration.
Since EEPROM has limited write cycle lifetime (minimum 1000 cycles specified) it is
recommended to use one of the following procedures.
Procedure 1 (recommended): Set SPI4 in image to correct value (SPI4=0 for SPI three-wire,
SPI4=1 for SPI four-wire (=default)) every time after power on reset, soft reset or
EEPROM write command.
Procedure 2: Verify chip-ID (address 00h) after every power on reset, soft reset or EEPROM
write command to be chip_ID=02h. If chip_ID=FFh or chip_ID=00h unlock
EEPROM (section 3.3.3) and set SPI4 to correct interface in EEPROM at 35h.
Lock EEPROM. Optionally verify chip_ID after delay of >30ms.
Procedure 3: Set SPI4 once to correct interface in the EEPROM at 35h during final test
procedure at customer.
3.1.2 Range
These two bits (address 14h, bits 4 and 3) are used to select the full scale acceleration range.
Directly after changing the full scale range it takes 1/(2*bandwidth) to overwrite the data
registers with filtered data according to the selected bandwidth.
Table 3: Settings of full scale range register
range
00
01
10
11
Full scale acceleration range
+/- 2g
+/- 4g
+/- 8g
Not authorised code
Important note:
Please refer to the comment in chapter 3 of how to protect bits 5, 6 and 7 when modifying other
bits of register 14h.
Rev. 1.6
Page 11
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.1.3 Bandwidth
These three bits (address 14h, bits 2-0) are used to setup the digital filtering of ADC output data
to obtain the desired bandwidth. A second order analogue filter defines the max. bandwidth to
1.5kHz. Digital filters can be activated to reduce the bandwidth down to 25Hz in order to reduce
signal noise. The digital filters are moving average filters of various length with a refresh rate of
3kHz.
Since the bandwidth is reduced by a digital filter for the factor ½ , ¼, ... of the analogue filter
frequency of 1.5kHz the mean values of the bandwidth are slightly deviating from the rounded
nominal values. Table 4 shows the corresponding data:
Table 4: Settings of bandwidth
Min.
-
Mean
bandwidth[Hz]
23
47
94
188
375
750
1500
-
Max.
+10%
Nominal selected bandwidth
[Hz]
25
50
100
190
375
750
1500
Not authorised code
-10%
bandwidth
000
001
010
011
100
101
110
111
-
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.
Important note:
Please refer to the comment in chapter 3 of how to protect bits 5, 6 and 7 when modifying other
bits of register 14h.
3.1.4 Wake_up
This bit (address 15h, bit 0) makes BMA150 automatically switching from sleep mode to normal
mode after the delay defined by wake_up_pause (section 3.1.5). When the sensor IC goes from
sleep to normal mode, it starts acceleration acquisition and performs interrupt verification
(section 3.2). The sensor IC automatically switches back from normal to sleep mode again if no
fulfilment of programmed interrupt criteria has been detected. 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.
If a latched interrupt is generated, this can be used to wake-up a microprocessor. The sensor IC
will wait for a reset_INT command and restart interrupt verification. BMA150 can not go back to
sleep mode if reset_INT is not issued after a latched interrupt.
Rev. 1.6
Page 12
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
If a not-latched interrupt is generated, the device waits in the normal mode till the interrupt
condition disappears. The minimum duration of interrupt activation is 330µs. If no interrupt is
generated, the sensor IC goes to sleep mode for a defined time (wake_up_pause).
For more details on the wake-up functionality, please refer to chapter 7.3
3.1.5 Wake_up_pause
These bits (address 15h, bit 2 and 1) define the sleep phase duration between each automatic
wake-up.
Table 5: Settings of wake_up_pause
wake_up_pause
00
01
10
11
Sleep phase duration
20 ms
80 ms
320 ms
2560 ms
Note: The accuracy of the wake-up timer is about ±30%.
3.1.6 Shadow_dis
BMA150 provides the possibility to block the update of data MSB while LSB are read out. This
avoids a potential mixing of LSB and MSB of successive conversion cycles. When this bit
(address 15h, bit 3) is at 1, the blocking procedure for MSB is not realized and MSB only
reading is possible.
Rev. 1.6
Page 13
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.2 Interrupt settings
Five different types of interrupts can be programmed. When the corresponding criterion
becomes valid, the interrupt pin is triggered to a high level. All interrupt criteria are combined
and drive the interrupt pad with an Boolean condition.
Interrupt generations may be disturbed by changes of EEPROM, image or other control bits
because some of these bits influence the interrupt calculation. As a consequence, no write
sequence should occur when microprocessor is triggered by interrupt or the interrupt should be
deactivated on the microprocessor side when write sequences are operated.
Interrupt criteria are using digital code coming from digital filter output. As a consequence all
thresholds are scaled with range selection (section 3.1.3.2). Timings used for high acceleration
and low acceleration debouncing are absolute values (1 LSB of HG_dur and LG_dur registers
corresponds to 1 millisecond, timiming accuracy is proportional to oscillator accuracy = +/-10%),
thus it does not depend on selected bandwidth. Timings used for any motion interrupt and alert
detection are proportional to bandwidth settings (section 3.1.3).
3.2.1 Enable_LG:
This bit (address 0Bh, bit 0) enables the LG_thres criteria to generate an interrupt.
3.2.2 Enable_HG:
This bit (address 0Bh, bit 1) enables the HG_thres criteria to generate an interrupt.
3.2.3 Enable_adv_INT:
This bit (address 15h, bit 6) is used to disable advanced interrupt control bits (any_motion,
alert). If enable_adv_INT=0, writing to these bits has no effect on sensor IC function.
3.2.4 Any_motion:
This bit ((address 0Bh, bit 6)enables the any motion criteria to generate directly an interrupt. It
can not be turned on simultaneously with alert. This bit can be masked by enable_ adv_INT, the
value of this bit is ignored when enable_adv_INT=0 (section 3.2.3).
3.2.5 Alert:
If this bit (address 0Bh, bit 7) is at 1, the any_motion criterion will set BMA150 into alert mode
(section 3.2.9). This bit can be masked by enable_adv_INT, the value of this bit is ignored when
enable_adv_INT=0 (section 3.2.3).
Rev. 1.6
Page 14
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.2.6 Latch_INT:
If this bit (address 15h, bit 4) is at 1, interrupts are latched. The INT pad stays high until
microprocessor detects it and writes reset_INT control bit to 1 (section 3.3.1). When this bit is at
0, interrupts are set and reset directly by BMA150 according to programmable criteria (sections
3.2.7 and 3.2.8).
3.2.7 LG_thres, LG_hyst, LG_dur, counter_LG
LG_thres (address 0C, bits 7-0 / low-g threshold) and LG_hyst (address 11h, bits 2-0 / low-g
threshold hysteresis) are used to detect a free fall. The threshold and duration codes define one
criterion for interrupt generation when absolute value of acceleration is low for long enough
duration.
Data format is unsigned integer.
LG_thres criterion_x is true if
|acc_x | ≤ LG_thres / 255 * range
LG_thres interrupt is set if
(LG_thres criterion_x AND LG_thres criterion_y AND
LG_thres criterion_z) AND interrupt counter = (LG_dur+1)
LG_thres criterion_x is false if
|acc_x | > (LG_thres + 32*LG_hyst) / 255 * range
LG_thres interrupt is reset if
NOT(LG_thres criterion_x AND LG_thres criterion_y AND
LG_thres criterion_z)
LG_thres and LG_hyst codes must be chosen to have (LG_thres + 32*LG_hyst) < 511.
When LG_thres criterion becomes active, an interrupt counter is incremented by 1 LSB/ms.
When the low-g interrupt counter value equals (LG_dur+1), an interrupt is generated.
Depending on counter_LG (address 0Bh, bit 3 and 2) register, the counter could also be reset
or count down when LG_thres criterion is false.
Table 6: Description of debouncing counter counter_LG
counter_LG
00
01
10
11
low acceleration interrupt counter status when
LG_thres criteria is false
reset
Count down by 1 LSB/ms
Count down by 2 LSB/ms
Count down by 3 LSB/ms
If latch_INT=0, the interrupt is not a latched interrupt and then it is reset as soon as LG_thres
criteria becomes false. When interrupt occurs, the interrupt counter is reset.
The LG_thres criteria is set with an AND condition on all three axes to be used for free fall
detection.
Rev. 1.6
Page 15
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.2.8 HG_thres, HG_hyst, HG_dur, counter_HG
HG_thres (address 0Eh, bits 7-0 / high-g threshold) and HG_hyst (address 11h, bits 5-3 / high-g
threshold hysteresis) define the high-G level and its associated hysteresis. HG_dur (high-g
threshold qualification duration) and counter_HG (address 0Bh, bits 5 and 4 / high-g counter
down register) are used for debouncing the high-g criteria.
Threshold and duration codes define a criterion for interrupt generation when absolute value of
acceleration is high for long enough duration.
The data format is unsigned integer.
HG_threshold criterion_x is true if
|acc_x | ≥ HG_thres / 255 * range
HG_threshold interrupt is set if
(HG_thres criterion_x OR HG_thres criterion_y OR
HG_thres criterion_z) AND interrupt counter = (HG_dur+1)
HG_threshold criterion_x is false if |acc_x | < (HG_thres - 32*HG_hyst) / 255 * range
HG_threshold interrupt is reset if
NOT(HG_thres criterion_x OR HG_thres criterion_y OR
HG_thres criterion_z)
HG_thres and HG_hyst codes must be chosen to have (HG_thres - 32*HG_hyst) > 0.
When HG_thres criterion becomes active, a counter is incremented by 1 LSB/ms. When the
high-g acceleration interrupt counter value equals (HG_dur+1), an interrupt is generated.
Depending on counter_HG register value, the counter could also be reset or count down when
HG_thres criterion is false.
Table 7: Description of debouncing counter_HG
counter_HG High acceleration interrupt counter status when
HG_thres criterion is false
00
reset
01
Count down by 1 LSB/ms
10
Count down by 2 LSB/ms
11
Count down by 3 LSB/ms
If latch_INT=0, the interrupt is not a latched interrupt and then it is reset as soon as HG_thres
criterion becomes false. When interrupt occurs, the interrupt counter is reset.
Rev. 1.6
Page 16
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.2.9 Any_motion_thres, any_motion_dur
For the evaluation using “any motion” criterion successive acceleration data from digital filter
output are stored and moving differences for all axes are built. To calculate the difference the
acceleration values of all axes at time t0 are compared to values at t0+3/(2*bandwidth). The
difference of both values is equal to the difference of two successive moving averages (from
three data points).
The differential value is compared to a global critical threshold any_motion_thres (address 10h,
bits 7-0). Interrupt can be generated when the absolute value of measured difference is higher
than the programmed threshold for long enough duration defined by any_motion_dur (address
11h, bits 7 and 6).
Any_motion_thres and any_motion_dur data are unsigned integer. Any_motion_thres LSB size
corresponds to 15.6mg for +/- 2g range and scales with range selection (section 3.1.2).
Any motion criterion is valid if
|acc(t0)-acc(t0+3/(2*bandwidth))| ≥ any_motion_thres.
An interrupt is set if
(any motion criterion_x OR any motion criterion_y OR any
motion criterion_z) for any_motion_dur consecutive times.
The any motion interrupt is reset if NOT(any_motion criterion_x OR any_motion criterion_y OR
any_motion criterion_z) for any_motion_dur consecutive
times.
Table 8: any_motion_dur settings
any_motion_dur
00
01
10
11
Number of required consecutive conditions
to set or reset the any motion interrupt
1
3
5
7
Any_motion_dur is used to filter the motion profile and also to define a minimum interrupt
duration because the reset condition is also filtered.
Any_motion_thres can be used to generate an any_motion interrupt or to put BMA150 in alert
mode to preload the low-g or high-g threshold logic (enables reduction of reaction time in
tumbling mode); this is selected by alert bit (section 3.2.5). These two modes (any_motion and
alert) can not be turned on simultaneously.
Rev. 1.6
Page 17
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Figure 2: Any motion criterion (middle graph) is determined from digital filter output (upper
graph) and depends on bandwidth settings: for example for any_motion_dur=01b and
bandwidth=110b (1.5kHz), we have 2*bandwidth=3ksamples/s which leads to reaction for
interrupt activation of 3*333µs = 1ms and a minimum any motion interrupt duration of 3*333us =
1ms (see lower graph).
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 any motion threshold, the any motion duration as well as the
full scale range enables to tailor the sensitivity of the any motion algorithm.
Rev. 1.6
Page 18
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.2.10 New_data_int
If this bit (address 15h, bit 5) is set to 1, an interrupt will be generated when all three axes
acceleration values are new, i.e. BMA150 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 (section 3.3.1). 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
(3kHz rate). Following figure shows two examples of X-axis read out and the corresponding
interrupt generation.
Figure 3: Explanation of 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
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
Please refer to chapter 8.1 for more details.
Note: When using the I2C interface for data transfer, the data read out phase can be longer than
330µs (depending on I2C clock frequency and the amount of data transmitted). Starting a new
data read out sequence may lead to the situation that the new_data_int may not be cleared right
in time. This must be considered and taken care of properly.
Rev. 1.6
Page 19
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.3 Control registers
All single control bits are active at 1.
3.3.1 Reset_INT
This interrupt (address 0Ah, bit 6) is reset (interrupt pad goes to low) each time this bit is written
to 1.
3.3.2 Update_image
When this bit (address 0Ah, bit 5) is set at 1, an image update procedure is started: all
EEPROM content is copied to image registers. The bit update_image is turned at 0 when the
procedure is finished. No write or read to image registers and EEPROM write is allowed during
their update from EEPROM. An automatic update image procedure also occurs after power on
reset and after soft_reset has been written to 1.
The update_image procedure may overwrite the SPI4 setting (section 3.1.1). Thus the correct
interface configuration may have to be updated.
3.3.3 Ee_w
ee_w (address 0Ah, bit 4) is used to enable/disable the access to default setting registers.
This bit must first be written to 1 to enable write access to 16h to 3D and to enable read access
to 16h to 22h. When this bit is at 0, any access to addresses from 16h to 7Fh has no effect; any
read to these addresses set SDO to tri-state (4-wire SPI) or SDI to tri-state (3-wire SPI and I²C).
This is valid for all serial interface (I²C, SPI 3-wire or SPI 4-wire).
I²C acknowledgement procedure for access to non-protected or blocked memory regions:
- I²C slave address:
- I²C register address (I²C write):
- I²C write data (I²C write):
- I²C read data (I²C read):
if correct, the BMA150 sets acknowledge.
The BMA150 sets acknowledge for both unprotected and
protected registers.
The BMA150 sets acknowledge for both unprotected and
protected resisters; no write is done for protected register.
acknowledge is set by master; no error detection is
possible; SDI is set to Hi-Z for protected register (0xFF is
sent)
After power on reset ee_w=0. So EEPROM and all addresses from 16h to 7Fh can not be
directly written or read.
Rev. 1.6
Page 20
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.3.4 Selftest_0
The self-test command (address 0Ah, bit 2) uses electrostatic forces to move the MEMS
common electrode. The result from selftest can be verified by reading st_result (section 3.4.1).
During selftest procedurno external change of the acceleration should be generated.
3.3.5 Selftest_1
This self test bit (address 0Ah, bit3) does not generate any electrostatic force in the MEMS
element but is used to verify the interrupt function is working correctly and that microprocessor
is able to react to the interrupts.
0g acceleration is emulated at ADC input and the user can detect the whole logic path for
interrupt, including the PCB path integrity. The LG_thres register must be set to about 0.4g
while LG_dur = 0 to generate a low-g interrupt
3.3.6 Soft_reset
BMA150 is reset each time this bit (address 0Ah, bit 1) is written to 1. The effect is identical to
power-on reset. Control, status and image registers are reset to values stored in the EEPROM.
After soft_reset or power-on reset BMA150 comes up in normal mode or wake-up mode. It is
not possible to boot BMA150 to sleep mode.
No serial transaction should occur within 10us after soft_reset command.
The soft_reset procedure may overwrite the SPI4 setting (section 3.1.1). Thus the correct
interface configuration may have to be updated.
3.3.7 Sleep
This bit (address 0Ah, bit 0) turns the sensor IC in sleep mode. Control and image registers are
not cleared.
When BMA150 is in sleep mode no operation can be performed but wake-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,
BMA150 must not be turned in sleep mode when any update_image, self_test or EEPROM
write procedure is on going.
Rev. 1.6
Page 21
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.4 Status registers
3.4.1 St_result
This is the self test result bit (address 09h, bit 7). It can be used together with selftest_0 control
bit (section 3.3.4). After selftest_0 has been set, self-test procedure starts. At the end selftest_0
is written to 0 and microcontroller can react by reading st_result bit. When st_result=1 the self
test passed successfully.
The result of the st_result can be taken into account to evaluate the basic function of the sensor.
Note: Evaluation of the st_result bit should only be understood as one part of a wider
functionality test. It should not be taken into consideration as the only criterion.
3.4.2 Alert_phase
This status bit (address 09h, bit 4) is set when BMA150 has been set to alert mode (section
3.2.5) and an any motion criterion has been detected. During alert phase, HG_dur and LG_dur
variables are decreased to have a smaller reaction time when HG_thres and LG_thres
thresholds are crossed; the decrease rate is by 1 ms per ms.
The alert mode is reset when an interrupt generated due to a high threshold or a low threshold
event or when both HG_dur and LG_dur variables are at 0. When alert is reset, HG_dur and
LG_dur variables come back to their original values stored in image registers.
3.4.3 LG_latched, HG_latched
These status bits (address 09h, bit 3 and address 09h, bit 2) are set when the corresponding
criteria have been issued. They are latched and thus only the microcontroller can reset them.
When both high acceleration and low acceleration thresholds are enabled, these bits can be
used by microprocessor to detect which criteria generated the interrupt.
3.4.4 Status_LG, status_HG
These status bits (address 09h, bit 1 and address 09h, bit 2) are set when the corresponding
criteria have been issued; they are automatically reset by BMA150 when the criteria disappear.
3.4.5 Customer_reserved 1, customer_reserved 2
Both bytes (address 12h, bit 7-0 and address 13h, bit 7-0) can be used by customer. Writing or
reading of these registers has no effect on the sensor IC functionality.
If information has to be stored in a non-volatile memory addresses 32h and 33h have to be
used. The write access to EEPROM takes ca. 30ms. Since EEPROM has limited write cycle
lifetime special care has to be taken to this issue.
Rev. 1.6
Page 22
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.5 Data registers
3.5.1 Temp
A thermometer (address 08h, bit 7-0) is embedded in BMA150. Temperature resolution is
0.5°C/LSB. Code 00h stands for lowest temperature which is -30°C. This minimum value can be
corrected by trimming of the offset of the temperature sensor IC (not described in this
datasheet).
3.5.2 Acc_x, acc_y, acc_z
Acceleration values are stored in the following registers to be read out through serial interface.
acc_x (02h, 7-6; 03h, 7-0)
acc_y (04h, 7-6; 05h, 7-0)
acc_z (06h, 7-6; 07h, 7-0)
The description of the digital signals acc_x, acc_y and acc_z is “2’s complement”.
From negative to positive accelerations, the following sequence for the ±2g measurement range
can be observed (±4g and ±8g correspondingly):
-2.000g
-1.996g
...
-0.004g
0.000g
+0.004g
...
+1.992g
+1.996g
:
:
10 0000 0000
10 0000 0001
:
:
11 1111 1111
:00 0000 0000
00 0000 0001
:
:
01 1111 1110
01 1111 1111
Data is periodically updated (rate 3kHz) 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 update can optionally be blocked until it is also accessed for read.
Thus, MSB / LSB mix from different samples can be avoided (section 3.1.6).
It is not possible to read-out only MSB bytes if shadow_dis=0, an LSB byte must first be read
out. To be able to read out only MSB byte, shadow_dis must be written to 1.
new_data_* flags on bits 0 of acc_x (LSB), acc_y (LSB) and acc_z (LSB) can be used to detect
if acceleration values have already been read out (section 3.5.3).
If systematic acceleration values read out is planned (for signal processing by the
microcontroller), the interrupt pad can be programmed to flag the new data (section 3.2.10).
Every time all temperature plus three axes values have been updated, the interrupt goes high
and microcontroller can read out data. With this method, microcontroller accesses are
synchronized with internal sensor IC updates.
Rev. 1.6
Page 23
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Synchronization of read-out sequence has several advantages:
− it enables a constant phase shift between acceleration conversion and its corresponding
digital value read by microprocessor
− it reduces interface communication by avoiding over-sampling.
− potential noise due to serial interface activity perturbation would always be generated
during a less critical phase of the conversion cycle. The maximum delay advised to start
read out acceleration data is 20µs after INT high (window 0 - 80µs).
3.5.3 New_data_x, new_data_y, new_data_z
These bits (New_data_x (02h, 0), new_data_y (04h, 0), new_data_z (06h, 0)) 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.
3.5.4 Al_version, ml_version, chip_id
al_version (address 01h, bit 7-4) and ml_version (address 01h, bit 3-0) are used to identify the
chip revision. These codes are programmed with metal layer.
chip_id (address 00h, bit 2-0) is used by customer to be able to recognize BMA150. This code is
fixed to 010b.
Rev. 1.6
Page 24
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
4. Digital interface
BMA150 is capable to be adjusted to customer’s specific hardware requirements. It provides
three different digital interfaces (SPI 4-wire, SPI 3-wire, I²C) and an interrupt output pin.
The digital interface is used for regular reading of data registers (acceleration and temperature).
For a complete read out of acceleration data two successive read cycles are required. The 10
bit coded data word is split into 8 MSB and 2 LSB. The most significant bit (MSB) is transferred
first during address and data phases.
The serial interface is also used for verifying status registers or writing to control registers or
customized EEPROM programming.
4.1 SPI
The SPI interfaces using three wire or four wire bus provide 16-bit protocols. Multiple read out is
possible.
The communication is opened with a read/write control bit (R/W=0 for writing, R/W=1 for
reading) followed by 7 address bits and at least 8 data bits (see figure 6 and figure 7). For a
complete readout of 10 bit acceleration data from all axes the sensor IC provides the option to
use an automatic incremented read command to read more than one byte (multiple read). This
is activated when the serial enable pin CSB (chip select) stays active low after the read out of a
data register. Thus, read out of data LSB will also cause read out of MSB if the CSB stays low
for further 8 cycles of system clock.
The customer has the possibility to communicate with operational registers at addresses 00h15h via SPI interface (chip identification Bytes, data Bytes, status and control registers with
setting parameters). Access to the residual part of the memory map is locked (section 3.3.3). If
the master addresses outside the range 00h-15h then SDI will go to tri-state enabling the
communication of a second device on the same CSB and SDI line.
The CSB input has an internal 120kΩ pull-up resistor to VDDIO.
4.1.1 Four-wire SPI interface
The 4-wire SPI is the default serial interface. The customer can easily activate the 3-wire SPI by
writing a control bit (SPI4=0). The 4-wire SPI interface uses SCK (serial clock), CSB (chip
select), SDI (serial data in) and SDO (serial data out).
CSB is active low. Data on SDI is latched by BMA150 at SCK rising edge and SDO is changed
at SCK falling edge (SPI mode 3). Communication starts when CSB goes to low and stops
when CSB goes to high; during these transitions on CSB, SCK must be high. While CSB=1, no
SDI change is allowed when SCK=1.
Rev. 1.6
Page 25
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Figure 4: Timing diagram for four-wire SPI interface
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 5: Four wire SPI bit transfer
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
tri-state
Rev. 1.6
Page 26
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Table 9: Specification of four-wire SPI serial interface
Interface parameters :
Conditions
Input - low level
Vil_si
VDDIO=1.62V to 3.6V
Input - high level
Vih_si
VDDIO=1.62V to 3.6V
Output – low level
Vol_SDI
VDDIO=1.8V, iol=3 mA
Output – high level Voh_SDI
Load capacitor
(on SDO)
CSB
pull-up resistor
VDDIO=1.8V, ioh=1mA
Csdo_spi
For 10MHz SPI transfer
CSB_pull_up
Internal pull-up
resistance to VDDIO
Min.
Typ.
Max.
unit
0.3*VDDIO
V
0.7*VDDIO
V
0.4
1.4
70
V
V
120
25
pF
190
kΩ
10
MHz
4-wire SPI timings :
SPI clock
input frequency
Fspi_4
SCK low pulse
Tlow_sck_4
5
ns
SCK high pulse
Thigh_sck_4
5
ns
SDI setup time
Tsetup_sdi_4
5
ns
SDI hold time
Thold_sdi_4
5
ns
SDO output delay
Tdelay_sdo_4
CSB setup time
Tsetup_csb_4
5
ns
CSB hold time
Thold_csb_4
5
ns
Rev. 1.6
25
Page 27
ns
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Figure 6: When write is required, sequences of 2 bytes are necessary: 1 control byte to define
the address to be written and the data byte.
Control byte
Start
RW
CSB
=
0
0
0
0
1
0
Control byte
Data byte
Register adress (16h)
1
1
Data register - adress 1Eh
0
X
X
X
X
X
X
X
X
0
Data byte
Register adress (0Bh)
RW
0
0
0
1
0
1
Data register - adress 02h
1
X
X
X
X
X
X
Stop
X
X
CSB
=
1
Figure 7: When read access is required, the sequence consists of 1 control byte to define first
address to be read followed by data bytes. Addresses are automatically incremented as long as
CSB stays active low.
Control byte
Start
RW
CSB
=
0
1
Rev. 1.6
Register adress (02h)
0
0
0
0
0
1
0
X
Data byte
Data byte
Data byte
Data register - adress 02h
Data register - adress 03h
Data register - adress 04h
X
X
X
X
X
X
X
X
Page 28
X
X
X
X
X
X
X
X
X
X
X
X
X
Stop
X
X
CSB
=
1
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
4.1.2 Three-wire SPI interface
3-wire SPI is not the default serial interface. The customer can easily activate the 3-wire SPI by
setting a control bit (SPI4=0). The 3-wire SPI interface uses SCK (serial clock), CSB (chip
select, active low) and SDA (serial data in/out). A maximum clock frequency up to 70MHz can
be handled.
The protocol data acquisition by the sensor IC occurs at the rising edge of SCK. The output data
provided by the sensor IC is synchronized also on the rising edges of SCK. The 3-wire read
protocol needs one extra clock cycle between address byte and data output byte.
Figure 8: Timing diagram for three-wire SPI interface (SDI = SDA)
T_setup_csb_3
T_hold_csb_3
CSB
T_hold_sdi_3
SCK
7
T_delay_sdi_3
T_low_sck_3
T_high_sck_3
T_setup_sdi_3
6
5
4
3
2
1
0
A6
A5
A4
A3
A2
A1
A0
Xtra
7
6
5
4
3
2
1
D7
D6
D5
D4
D3
D2
D1
0
SDI
r
D0
T_delay_sdi_3
Rev. 1.6
Page 29
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Table 10: Specification of three-wire SPI serial interface
Conditions
Input - low level
Vil_si
VDDIO=1.62V to 3.6V
Input - high level
Vih_si
VDDIO=1.62V to 3.6V
Output – low level
Vol_SDI
VDDIO=1.8V,
iol=3 mA
Output – high level
Voh_SDI
VDDIO=1.8V, ioh=1mA
CSB pull-up resistor
CSB_pull_up
Load capacitor
(on SDO)
Csdo_spi
Internal pull-up
resistance to VDDIO
for 70MHz
SPI transfer
Min.
Typ.
Max.
unit
0.3*VDDIO
V
0.7*VDDIO
V
0.4
1.4
70
V
V
120
190
kΩ
10
pF
70
MHz
3-wire SPI timings :
SPI clock
input frequency
Fspi_3
SCK low pulse
Tlow_sck_3
5
ns
SCK high pulse
Thigh_sck_3
5
ns
SDI setup time
Tsetup_sdi_3
3.8
ns
SDI hold time
Thold_sdi_3
2
ns
SDI output delay
Tdelay_sdi_3
CSB setup time
Tsetup_csb_3
5
ns
CSB hold time
Thold_csb_3
5
ns
Rev. 1.6
when SDI
is an output for read
Page 30
10.5
ns
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Figure 9: The three wire SPI write protocol is identical to four wire bus
CSB
SCK
SDI
RW
AD6
AD5
AD4
AD3
AD2
AD1
AD0
DI7
DI6
DI5
DI4
DI3
DI2
DI1
DI0
Figure 10: For three wire read protocol one extra clock between address byte and data out byte
is required. Output data are changed on SDI (SDI=SDA) by SCK rising edge and should be
latched by microprocessor during next SCK rising edge.
CSB
7
6
5
4
3
2
1
0
SCK
extra clock
*
7
6
5
4
3
2
1
0
SDI
RW
Rev. 1.6
AD6
AD5
AD4
AD3
AD2
AD1
AD0
Page 31
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
4.2 I²C interface
The I²C bus uses SCK (serial clock) and SDA (=SDI, serial data input/output). SDA is bidirectional with open drain; it must be connected externally to VDDIO via a pull-up resistor. CSB is
not used and must be connected to VDDIO.
Figure 11: Timing diagram for I²C interface (SDI=SDA)
SDI
tBUF
tf
tLOW
SCK
tHIGH
tHDSTA
tr
tHDDAT
tSUDAT
SDI
tSUSTA
Rev. 1.6
Page 32
tSUSTO
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Table 11: Specification of I²C serial interface (SDI=SDA)
Interface parameters :
Conditions
Input - low level
Vil_si
VDDIO=1.62V to 3.6V
Input - high level
Vih_si
VDDIO=1.62V to 3.6V
Output – low level
Vol_SDI
VDDIO=1.8V, iol=3 mA
Output – high level
Voh_SDI
VDDIO=1.8V, ioh=1mA
I²C bus load capacitor Cb
Min.
Typ.
Max.
unit
0.3*VDDIO
V
0.7*VDDIO
V
0.4
1.4
On SDI and SCK
V
V
100
pF
3.4
MHz
I²C timings :
SCK frequency
FI²C
SCK low period
Tlow
160
ns
SCK high period
Thigh
60
ns
SDI setup time
Tsudat
10
ns
SDI hold time
Thddat
10
Setup time
for a repeated
start condition
Tsusta
160
ns
Hold time for a
start condition
Thdsta
160
ns
Setup time for a
stop condition
Tsusto
160
ns
100
ns
Time before a new
Tbuf
transmission can start
Rev. 1.6
Page 33
70
ns
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Start and stop conditions:
Data transfer begins by a falling edge on SDA when SCK is high (start condition (S) indicated by
I²C bus master). Stop condition (P) is a rising edge on SDA when SCK is high (see figure 12).
Bit transfer:
One data bit is transferred during each SCK pulse. Data on SDA line must remain stable during
high period of SCK pulse (see figure 13).
Acknowledge:
After start condition each byte of data transfer is followed by an acknowledge bit. The
transmitter let the SDA line high (no pull down) and generates a high SCK pulse. If BMA150 has
been addressed and data transfer has performed correctly it generates a low SDA level (active
pull down). Then SDA line is let free enabling the next transfer (see figure 14).
Figure 12: Timing diagram for I²C start and stop condition (SDI=SDA)
SDI
SCK
S
P
Start condition
Rev. 1.6
Stop condition
Page 34
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Figure 13: Timing diagram for one bit transfer with I²C interface (SDI=SDA)
SDI
SCK
Data line
stable, data
valid
Change of
data allowed
Figure 14: Timing diagram for I²C acknowledgement on SDI (SDI=SDA)
SDI
By transmitter
Not Acknowledge
SDI
By receiver
Acknowledge
SCK
1
2
8
9
S
Start condition
Clock pulse for
acknowledgement
Rev. 1.6
Page 35
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
4.2.1 I²C protocol:
The BMA150 I²C slave address is coded on 7 bits (0111000b=38h) fixed by a metal option.
Thus I²C write address is 01110000b (=70h), read address is 01110001b (=71h).
After a start condition, the slave address + RW bit must be send. If the slave address does not
match with BMA150 there is no acknowledgement and the following data transfer will not affect
the chip. If the slave address corresponds to BMA150 it will acknowledge (pull SDA 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 and
one dummy bit.
When BMA150 is accessed in write mode, sequences of 2 bytes (= 1 control byte to define
which address will be written and 1 data byte) must be sent:
Figure 15: I²C multiple write protocol
Slave Adress
Start
S
0
1
1
1
0
RW ACK
0
0
0
dummy
Control byte
X
Data byte
Register adress (09h)
0
0
0
1
0
Register data - adress 09h
ACK
0
1
X
X
X
dummy
Control byte
…
Rev. 1.6
X
0
0
1
Page 36
X
X
X
X
…
Data byte
Register adress (0Fh)
0
X
ACK
1
Register data - adress 0Fh
ACK
1
1
X
X
X
X
X
X
ACK Stop
X
X
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
P
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
To be able to access registers in read mode, first address has to 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: I²C multiple read protocol. Address register is first written to BMA150, the RW=0
(lowest acceleration data located at address 02h). I²C transfer is stopped and restarted with
RW=1, address is automatically incremented and the 6 bytes can be sequentially read out.
S
0
1
1
1
0
RW ACK
0
0
0
dummy
Control byte
Slave Adress
Start
X
Register adress (02h)
0
0
0
0
0
ACK Stop
1
P
0
Data byte
Slave Adress
Start
S
0
1
1
1
0
Register data - adress 02h
RW ACK
0
0
X
1
Data byte
X
X
X
X
X
Register data - adress 03h
ACK
X
X
X
X
X
Data byte
…
Rev. 1.6
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Data byte
Data byte
Register data - adress 07h
X
X
Page 37
…
X
Register data - adress 05h
ACK
Register data - adress 06h
X
X
Data byte
Register data - adress 04h
…
X
ACK
X
ACK
X
X
X
X
X
X
X
X
ACK
X
…
X
NACK Stop
X
X
P
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
5. Package
5.1 Outline dimensions
The BMA150 is packaged in a 3mm x 3mm x 0.9mm LGA package following JEDEC MO-229.
Basic outline geometry is based on:
− Mold package footprint
3mm x 3mm (tolerance ±0.1mm)
− Height
0.9mm
− No. of leads
12
- 8 used for electrical connection
- 2 not used / reserved
- 2 additional metal features on front edges without
electrical functionality (not available on first engineering
samples)
− Lead pitch
0.5mm
Please note: In addition to the LGA package, the BMA150 is also available in a QFN-type
package, codenamed “SMB380”. The QFN and LGA packages are 100% pin compatible.
Figure 17: Top, bottom and side views of the 3mm x 3mm x 0.9mm LGA package outline
drawing (dimensions in mm)
Rev. 1.6
Page 38
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Notes related to figure 17:
1) The vertical bar on the left-hand side of the marking on top of the package is just
optional.
2) For the halogen-free version of BMA150 (order code 0 273 141 043) the number on
top of the package marking is “043” instead of “028”.
5.2 Axes orientation
The following diagram describes the orientation of the package with respect to the axes of
acceleration measurement.
Figure 18: Axes orientation of the BMA150
+z
5
+y
1
+x
Rev. 1.6
Page 39
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
5.3 Landing pattern recommendations
As for the design of the landing patterns, the following recommendations can be given:
Note: this information is valid for QFN (SMB380) as well as for LGA packages (BMA150).
Figure 19: Landing patterns for the BMA150 relative to the device pins, dimensions are in mm
Rev. 1.6
Page 40
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Figure 20: Perspective view of the BMA150 relative to the PCB landing pattern.
Rev. 1.6
Page 41
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
5.4 Moisture sensitivity level and soldering
The moisture sensitivity level (MSL) of the BMA150 sensor IC corresponds to JEDEC Level 1,
see also
-
IPC/JEDEC J-STD-020C
"Joint Industry Standard: Moisture/Reflow
Classification for Non-hermetic Solid State Surface Mount Devices"
Sensitivity
-
IPC/JEDEC J-STD-033A "Joint Industry Standard: Handling, Packing, Shipping and Use of
Moisture/Reflow Sensitive Surface Mount Devices".
The sensor IC 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.
5.5 RoHS compliancy
The BMA150 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".
The BMA150 with the part number (order code) 0 273 141 043 is also halogen free.
5.6 Note on internal package structures
Within the scope of Bosch Sensortec’s ambition to improve its products and secure the product
supply while in mass production, Bosch Sensortec qualifies additional sources for the LGA
package of the BMA150.
While Bosch Sensortec took care that all of the technical package parameters as described
above are 100% identical for both sources, there can be differences in the chemical analysis
and internal structural between the different package sources.
However, as secured by the extensive product qualification processes of Bosch Sensortec, this
has no impact to the usage or to the quality of the BMA150 product.
Rev. 1.6
Page 42
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
6. Pin-out out and connection diagrams
Figure 21: Pin-out of the BMA150 (bottom view);
Note: The pin-out schemes of the BMA150 and the SMB380 in QFN package are identical.
Table 12: Pin-out description of the BMA150
Pin
No
Name
Description
Connect to
(in SPI 4w)
Connect to
(in SPI 3w)
Connect to
(in I²C)
Stand alone
(without µC)
1
reserved
Do not connect
NC
NC
NC
NC
2
VDD
Power
Analogue power
supply
VDD
VDD
VDD
VDD
3
GND
Power
Ground
GND
GND
GND
GND
4
INT
Output
Interrupt
INT / NC
INT / NC
INT / NC
INT
5
CSB
Input
Chip select
CSB
CSB
VDDIO
VDD
6
SCK
Input
Serial clock
SCK
SCK
SCK
GND
7
SDO
Output
Serial data out
SDO
GND
GND
GND
8
SDI
Input /
Output
Serial data in / out
SDI
SDA
SDA
GND
9
VDDIO
Power
Digital interface
power supply
VDDIO
VDDIO
VDDIO
VDD
10
reserved
Do not connect
NC
NC
NC
NC
11
reserved
Do not connect
NC
NC
NC
NC
12
reserved
Do not connect
NC
NC
NC
NC
Type
Recommendation for decoupling: between GND and VDD (pin 1 or 2) a 22nF capacitor and between
GND and IOVDD (pin 9) a 100nF capacitor should be connected.
Rev. 1.6
Page 43
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Figure 22: Connection diagram for use with 4-wire SPI interface
BMA150
Figure 23: Connection diagram for use with 3-wire SPI interface
BMA150
Rev. 1.6
Page 44
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Figure 24: Connection diagram for use with I²C interface
BMA150
Figure 25: Connection diagram for stand alone use without microcontroller
BMA150
Rev. 1.6
Page 45
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
7. Operation modes
7.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. BMA150 is designed to enable low current
consumption of 200µA in operational mode.
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.
7.2 Sleep mode
Sleep mode is activated by setting a control bit. In sleep mode no communication with the
sensor IC is possible – all read and write commands are forbidden. The recommended
command to switch to operational mode is the wake-up call.
Wake-up time from sleep to operational mode is 1ms.
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
"switching to operational mode = 1ms" and "time after soft reset until acceleration data is
available = 1.3ms", i.e. 2.3ms in total.
In case a soft-reset is activated during sleep mode it can take up to 30ms until normal operation
has resumed.
The current consumption in sleep mode is 1µA.
7.3 Wake-up mode
In general BMA150 is attributed to low power applications and can contribute to the system
power management.
•
•
•
•
•
•
•
Current consumption 200µA operational
Current consumption 1µA sleep mode
Wake-up time 1ms
Start-up time 3ms
Data ready indicator to reduce unnecessary interface communication
Wake-up mode to trigger a system wake-up (interrupt output
when motion detected
Low current consumption in wake-up mode
to
master)
The BMA150 provides the possibility to wake up a system master when specific acceleration
values are detected. Therefore the BMA150 stays in an ultra low power mode and periodically
Rev. 1.6
Page 46
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
evaluates the acceleration data with respect to interrupt criteria defined by the user. An interrupt
output can be generated and trigger 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.
The following table shows values calculated for the average current consumption during the
wake-up mode of the BMA150. 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 3.1.3).
Table 13: Average current consumption in self wake-up mode using high-g or low-g interrupt
Current consumption during BMA150 wake-up mode [µA]
(depending on bandwidth, calculated using typical values)
Pause [ms]
20
80
360
2,560
(@ 1,500Hz)
(@ 750Hz)
(@375Hz)
(@190Hz)
(@100Hz)
(@50Hz)
(@25Hz)
16.3
5.1
1.9
1.1
21,8
6.6
2.3
1.2
31.8
9.7
3.0
1.3
48.4
15.4
4.4
1.5
71.6
25.0
6.9
1.9
102.9
42.3
12.0
2.6
134.7
68.4
21.3
4.1
Durations of the pause values can vary for about ±30% due to the accuracy of the ultra-lowpower oscillator implemented within the sensor.
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_DDsbm · wake-up-pause) / (t_active + wake-up-pause)
With the approximation:
t_active = 1ms + 0.333ms · (4 ⋅ 750 / bandwidth) + 0.333ms · (1500 / bandwidth) · n
With the following parameters:
i_DD
i_DDsm
wake_up_pause
n
Bandwidth
Rev. 1.6
Current in normal mode
Current in sleep mode
Setting of wake-up pause
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)
Setting of bandwidth (750-25 Hz),
for 1500Hz t_active = 1ms + 0.333ms · (1500/bandwidth) · n
Page 47
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
So, the relevant parameters for power consumption in self-wake up mode are:
- the current consumption in normal mode
- the current consumption in sleep mode
- the self-wake up pause duration
- the bandwidth (ie. length of digital filter to be filled for one data point)
- the interrupt criteria (determines the duration of normal operation):
• high-g and low-g criteria (ie. acquisition of one data point)
• any-motion criterion (ie. four data points)
Rev. 1.6
Page 48
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
As some of these parameters have certain deviations from the typical value results of various
example Monte Carlo Simulations on the current consumption are shown in figures 26, 27 and
28.
The graphs provide an indication on the expected current consumption for different settings.
Figure 26: Estimation of current consumption using Monte Carlo simulation,
example #1: Bandwidth 750Hz, 2560ms wake-up setting, any-motion interrupt
CurrentSelfWakeUp
800
700
600
500
MW 1.41 µA
3s 0.174 µA
yield 100 %
400
300
200
100
0
1.1
Rev. 1.6
1.2
1.3
1.4
1.5
i_self_w ake_up [µA]
1.6
1.7
1.8
Page 49
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Figure 27: Estimation of current consumption using Monte Carlo simulation,
example #2: Bandwidth 47Hz, 2560ms wake-up setting, any-motion interrupt
CurrentSelfWakeUp
700
600
500
MW 5.63 µA
3s
1.19 µA
yield 100 %
400
300
200
100
0
4.5
5
5.5
6
6.5
i_self_w ake_up [µA]
7
7.5
Figure 28: Estimation of current consumption using Monte Carlo simulation,
example #3: Bandwidth 23Hz, 2560ms wake-up setting, any-motion interrupt
CurrentSelfWakeUp
700
600
500
MW 10.1 µA
3s
2.29 µA
yield 100 %
400
300
200
100
0
7
Rev. 1.6
8
9
10
11
i_self_w ake_up [µA]
12
13
14
Page 50
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
8. Data conversion
8.1 Acceleration data
Acceleration data are converted by a 10bit ADC. The description of the digital signal is "2’s
complement". The 10 bit data are available as LSB (at lower register address) and MSB. It is
possible to read out MSB only (8 bit) and LSB/MSB (16 bits with 10 data bits and 1 data ready
bit) while LSB- and MSB-data are closely linked to avoid unintentional LSB/MSB mixing when
read out and data conversion overlap accidentally (section 3.5.2).
The update rate of data registers is 3 kHz, independent of the digital filter. The acceleration data
is filtered by a second order analog filter at 1.5 kHz. Additionally the data can be processed by
digital averaging filters (moving average) to reduce the noise level (750Hz – 25Hz).
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 the data have already been
read out or the data are new (Bit0=1) (section 3.5.3).
•
The interrupt pin can be configured to indicate new data availability (not possible in
parallel to internal interrupt logic). 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. For a detailed explanation see Figure 23. (section 3.2.10)
Figure 29: Explanation of data ready interrupt: For a bandwidth of e.g. 1.5 kHz the data refresh
cycle takes 330µ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.
330µs at bw=1.5kHz
T
X
Y
Z
T
X
Y
Z
INT
8.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.6
Page 51
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
9. 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 “freefall 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.
9.1 Freefall logic
For freefall detection the absolute value of the acceleration data of all axes are investigated
(global criteria). A freefall situation is likely to occur when all axes fall below a lower threshold
value (“LG_thres”). The interrupt pin will be raised high if the threshold is passed for a minimum
duration. The duration time can be programmed in units of ms (max. 255ms).
The function “Freefall 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 freefall 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”).
See also section 3.2.7.
9.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 freefall criteria can be logically combined with an .
See also section 3.2.8.
Rev. 1.6
Page 52
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
Figure 30: Explanation of freefall and high-g detection. Please see explanation within the text.
|a|
High-g threshold
acceleration
Hysteresis
Freefall threshold
Evaluation duration
INT
time
high
Latched INT
low
Reset INT
9.3 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 BMA150 is capable to detect
shock situations. The “any motion interrupt” or a high-g criterion setting can be used to give a
shock alert. The phase shift between onset 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 (currently 330µsec, 100µsec under
consideration).
See also section 3.2.9.
9.4 Alert Mode
Using the BMA150 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.
See also sections 3.2.9 and 3.4.2.
Rev. 1.6
Page 53
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
10. Legal disclaimer
10.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.
10.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 malfunction 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.
10.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.
Rev. 1.6
Page 54
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
11. Document history and modification
Please note that the document history refers to the SMB380 sensor device which is the
previously developed QFN-packaged version of the BMA150.
Rev. No
1.0
1.1
Chapter
1, 4.1.1,
4.1.2, 4.2
5.1, 5.2, 5.3
1.2
1.3
10
3
3.1.2
1
4.2.1
1
1
5.1, 5.3
1
7.3
1.4
2
5.5
3
6
4.1.1, 4.1.2
3
3.4.1
5.6
6
7.3
1.5
Title page
5.1
1
1
1
3
3.1.3
3.1.4
3.1.5
Rev. 1.6
Description of modification/changes
Document creation
Date
29-Dec-06
Min. VDDIO = 1.62V
14-May-07
New package diagram, axes vs. package
orientation
Added “e” as marker for engineering samples
Added warning about overwriting calibration data
Corrected typo (correct address 14h)
Added wake-up and start-up time
Corrected slave address in figures 15 and 16
Zero-g Offset updated to ±60mg
BMA150 version
LGA package (versus QFN package of SMB380)
Inserted reference to ANA016 application note
Added current consumption values during wakeup mode
Mechanical shock (10,000g duration)
Halogen content of BMA150
Extension of global memory map (figure 1)
Table 12: Do not connect pin 1 and pin 10
Default SPI interface is 4-wire
Added new note related to register 0Ah
Use of self-test result bit
Note on internal package structures
Added description of pins 11 and 12
Updated current consumption values and added
timing data during wake-up mode
Included second, halogen-free part number/order
code 0 273 141 043
New package outline drawing with correct product
code “028”
Re-categorized sensitivity min./max. values as
indications for reference (±4g/±8g range)
Inserted max. indication for wake-up time
Added comment on digital filter
Minimum pause between EEPROM write cycles
Added additional information and data
Modified chapter on wake_up
Added comment on accuracy of wake-up timer
Page 55
14-May-07
14-May-07
14-May-07
14-May-07
14-May-07
14-May-07
21-May-07
17-July-07
17-July-07
19-Oct-07
19-Oct-07
19-Oct-07
19-Oct-07
19-Oct-07
19-Oct-07
19-Oct-07
19-Oct-07
19-Oct-07
19-Oct-07
19-Oct-07
14-Jan-08
30-May-08
30-May-08
30-May-08
30-May-08
30-May-08
30-May-08
30-May-08
30-May-08
30-May-08
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.
Data sheet
BMA150
Bosch Sensortec
Triaxial, digital acceleration sensor
3.2.10
1.6
4.2
7.2
7.3
2
4
5.3
Added comments for “new_data_int”; re-worked
figure 3
Modified wording
Modified chapter on sleep mode
Re-worked complete chapter
Table 2: Added new line “voltage at any pad”
Figure 5: SDO signal is tri-state
Figure 19: Increased size of the figure
30-May-08
30-May-08
30-May-08
30-May-08
30-Oct-2008
30-Oct-2008
30-Oct-2008
Bosch Sensortec GmbH
Gerhard-Kindler-Strasse 8
72770 Reutlingen / Germany
contact@bosch-sensortec.com
www.bosch-sensortec.com
Modifications reserved | Printed in Germany
Specifications subject to change without notice
Document number: BST-BMA150-DS000-06
Version_1.6_102008
Rev. 1.6
Page 56
30 October 2008
© 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.
Note: Specifications within this document are subject to change without notice.