BMA020 Data sheet BMA020 Digital, triaxial acceleration sensor Digital, triaxial acceleration sensor Bosch Sensortec Data sheet BMA020 Data sheet Order code 0 273 141 033 Package type 12-pin LGA Data sheet version 1.2 Release date 30 May 2008 Rev. 1.2 Page 1 30 May 2008 Notes Specifications are subject to change without notice. (c) Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such Product photos pictures are fortrademarks illustration purposes only and may differ as copying and passing on to third parties. BOSCH and theand symbol are registered of Robert Bosch GmbH, Germany. from realtoproduct's appearance. Note: Specifications within this document arethe subject change without notice. Data sheet BMA020 Bosch Sensortec Digital, triaxial acceleration sensor BMA020 Digital, triaxial 2g/4g/8g acceleration sensor Key features * Three-axis accelerometer * Small package * * * * LGA package Footprint 3mm x 3mm, height 0.90mm Digital interface SPI (4-wire, 3-wire), IC, interrupt pin Programmable functionality g-range 2g/4g/8g, bandwidth 25-1500Hz, internal acceleration evaluation for interrupt trigger, self-test Ultra-low power ASIC Low current consumption, short wake-up time, advanced features for system power management RoHS compliant, Pb-free Typical applications * * * * * * * * Menu scrolling Tap sensing functionality Gaming Pedometer, step-counting Drop detection for warranty logging Display profile switching Advanced system power management for mobile applications Shock detection General description The BMA020 is a triaxial, low-g acceleration sensor IC with digital output for consumer market applications. It allows measurements of acceleration in three perpendicular axes. 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 BMA020 senses tilt, motion and shock vibration in cell phones, handhelds, computer peripherals, man-machine interfaces, virtual reality features and game controllers. Rev. 1.2 Page 2 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor Contents 1. SPECIFICATION...................................................................................................................................... 5 2. MAXIMUM RATINGS............................................................................................................................... 7 3. GLOBAL MEMORY MAP .........................................................................................................................8 3.1 OPERATIONAL REGISTERS ................................................................................................................... 10 3.1.1 SPI4............................................................................................................................................ 10 3.1.2 Range......................................................................................................................................... 10 3.1.3 Bandwidth................................................................................................................................... 11 3.1.4 Wake_up .................................................................................................................................... 11 3.1.5 Wake_up_pause ........................................................................................................................ 12 3.1.6 Shadow_dis................................................................................................................................ 12 3.2 INTERRUPT SETTINGS .......................................................................................................................... 13 3.2.1 Enable_LG ................................................................................................................................. 13 3.2.2 Enable_HG................................................................................................................................. 13 3.2.3 Enable_adv_INT ........................................................................................................................ 13 3.2.4 Any_motion ................................................................................................................................ 13 3.2.5 Alert ............................................................................................................................................ 13 3.2.6 Latch_INT................................................................................................................................... 14 3.2.7 LG_thres, LG_hyst, LG_dur, counter_LG .................................................................................. 14 3.2.8 HG_thres, HG_hyst, HG_dur, counter_HG ............................................................................... 15 3.2.9 Any_motion_thres, any_motion_dur .......................................................................................... 16 3.2.10 New_data_int ........................................................................................................................... 18 3.3 CONTROL REGISTERS .......................................................................................................................... 19 3.3.1 Reset_INT .................................................................................................................................. 19 3.3.2 Selftest_0 ................................................................................................................................... 19 3.3.3 Selftest_1 ................................................................................................................................... 19 3.3.4 Soft_reset ................................................................................................................................... 19 3.3.5 Sleep .......................................................................................................................................... 19 3.4 STATUS REGISTERS ............................................................................................................................. 20 3.4.1 St_result ..................................................................................................................................... 20 3.4.2 Alert_phase ................................................................................................................................ 20 3.4.3 LG_latched, HG_latched............................................................................................................ 20 3.4.4 Status_LG, status_HG ............................................................................................................... 20 3.4.5 Customer_reserved 1, customer_reserved 2 ............................................................................ 20 3.5 DATA REGISTERS ................................................................................................................................ 21 3.5.1 Acc_x, acc_y, acc_z................................................................................................................... 21 3.5.2 New_data_x, new_data_y, new_data_z .................................................................................... 22 3.5.3 Al_version, ml_version, chip_id ................................................................................................. 22 Rev. 1.2 Page 3 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 4. DIGITAL INTERFACE............................................................................................................................ 23 4.1 SPI..................................................................................................................................................... 23 4.1.1 Four-wire SPI interface .............................................................................................................. 23 4.1.2 Three-wire SPI interface ............................................................................................................ 27 4.2 IC INTERFACE .................................................................................................................................... 30 4.2.1 IC protocol:................................................................................................................................ 34 5. PACKAGE.............................................................................................................................................. 36 5.1 OUTLINE DIMENSIONS .......................................................................................................................... 36 5.2 AXES ORIENTATION ............................................................................................................................. 37 5.3 LANDING PATTERN RECOMMENDATIONS ............................................................................................... 38 5.4 MOISTURE SENSITIVITY LEVEL AND SOLDERING ..................................................................................... 39 5.5 ROHS COMPLIANCY ............................................................................................................................ 39 5.6 NOTE ON INTERNAL PACKAGE STRUCTURE ........................................................................................... 39 6. PIN-OUT OUT AND CONNECTION DIAGRAMS ................................................................................. 40 7. OPERATION MODES ............................................................................................................................ 43 7.1 NORMAL OPERATIONAL MODE .............................................................................................................. 43 7.2 SLEEP MODE ....................................................................................................................................... 43 7.3 WAKE-UP MODE .................................................................................................................................. 43 8. DATA CONVERSION ............................................................................................................................ 47 8.1 ACCELERATION DATA .......................................................................................................................... 47 9. INTERNAL LOGIC FUNCTIONS............................................................................................................48 9.1 HIGH-G LOGIC ......................................................................................................................................48 9.2 ANY MOTION DETECTION .......................................................................................................................48 9.3 ALERT MODE ........................................................................................................................................48 10. LEGAL DISCLAIMER .......................................................................................................................... 49 10.1 ENGINEERING SAMPLES ..................................................................................................................... 49 10.2 PRODUCT USE ................................................................................................................................... 49 10.3 APPLICATION EXAMPLES AND HINTS ................................................................................................... 49 11. DOCUMENT HISTORY AND MODIFICATION ................................................................................... 50 Rev. 1.2 Page 4 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 BMA020 Parameter OPERATING RANGE Symbol Condition Max Units -2 2 g -4 4 g gFS8g -8 8 g VDD 2.0 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 Sensitivity S4g S8g Sensitivity temperature drift TCS g-range 2g , TA=25C, x/y-axis 205 256 307 LSB/g g-range 2g , TA=25C, z-axis 166 256 346 LSB/g g-range 4g, TA=25C, all axes 83 ** 128 173 ** LSB/g g-range 8g, TA=25C, all axes 42 ** 64 86 ** LSB/g 0.03 0.1 %/K Over TA Zero-g offset Off TA=25C, calibrated -220 +220 mg Zero-g offset Off TA=25C , over lifetime -360 360 mg +6 mg/K 0.2 LSB/V Zero-g offset temperature drift Power supply rejection ratio Rev. 1.2 TCO Over TA PSRR Over VDD -6 Page 5 1 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 MECHANICAL CHARACTERISTICS Cross axis sensitivity S Relative contribution between 3 axes 2 % 1.5 ms POWERING UP CHARACTERISTICS Wake-up time twu From standby 1 Start-up time tsu From power-off 3 ms Notes: * For more details on the current consumption of the BMA020 during wake-up mode, please refer to chapter 7.3 ** Data given as indications only. *** Please refer to chapter 3.1.3 for more detailed explanations Rev. 1.2 Page 6 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 2. Maximum ratings Table 2: Maximum ratings specified for the BMA020 Parameter Supply voltage Condition Min -0.3 Max 4.25 Units V -50 +150 C Duration 100s 10,000 g Duration 1.0ms 2,000 g 1.5 m 2 kV 500 V VDD and VDDIO Storage temperature range Mechanical shock Free fall onto hard surfaces ESD 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.2 Page 7 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 3. Global memory map All operational 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.2 Chip identification, chip version Acceleration data 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 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 Protected Protected non-volatile non-volatile 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor Figure 1: Global memory map of BMA020 Important notes: 1) Bits 5, 6 and 7 of register addresses 14h do contain critical sensor individual calibration data which must not be changed or deleted by any means. In order to properly modify addresses 14h 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 bit-slicing 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, bit 5 and bit 4 of register 0Ah should be left at a value of "0". Rev. 1.2 Page 9 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 is SPI4=1 (four-wire SPI is default value). After power on reset or soft reset it is recommended to set the SPI4-bit to the correct value. 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. Recommended procedure: Set SPI4 to the correct value (SPI4=0 for SPI three-wire, SPI4=1 for SPI four-wire (=default)) every time after power on reset or soft reset. 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<1:0> 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.2 Page 10 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 1/2 , 1/4, ... 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<2:0> 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 BMA020 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. BMA020 can not go back to sleep mode if reset_INT is not issued after a latched interrupt. Rev. 1.2 Page 11 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 330s. 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<1:0> 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 BMA020 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.2 Page 12 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 a Boolean condition. Interrupt generations may be disturbed by changes of 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, timing 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 BMA020 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.2 Page 13 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 BMA020 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) can basically (although not recommended with BMA020) be 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<1:0> 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. Remark: The LG_thres criteria is set with an AND condition on all three axes to be used for free fall detection. However, please note due to the relatively wide sensitivity tolerance of the BMA020 the absolute threshold values for low-g and high-g interrupt can only provide a rough estimation of the motion profile. Rev. 1.2 Page 14 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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<1:0> 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.2 Page 15 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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<1:0> 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 BMA020 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.2 Page 16 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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*333s = 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.2 Page 17 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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. BMA020 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 330s (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.2 Page 18 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 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 the self-test procedure no external change of the acceleration should be generated. 3.3.3 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.4 Soft_reset BMA020 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 default setting registers (see also memory map). After soft_reset or power-on reset BMA020 comes up in normal mode or wake-up mode. It is not possible to boot BMA020 to sleep mode. No serial transaction should occur within 10s 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.5 Sleep This bit (address 0Ah, bit 0) turns the sensor IC in sleep mode. Control and image registers are not cleared. When BMA020 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). Rev. 1.2 Page 19 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 BMA020 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 BMA020 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. Rev. 1.2 Page 20 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 3.5 Data registers 3.5.1 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 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. 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 20s after INT high (window 0-80s). Rev. 1.2 Page 21 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 3.5.2 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.3 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 BMA020. This code is fixed to 010b. Rev. 1.2 Page 22 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 4. Digital interface BMA020 is capable to be adjusted to customer's specific hardware requirements. It provides three different digital interfaces (SPI 4-wire, SPI 3-wire, IC) and an interrupt output pin. The digital interface is used for regular reading of data registers (acceleration). 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. 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 BMA020 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.2 Page 23 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 Rev. 1.2 Page 24 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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.2 25 Page 25 ns 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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.2 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 26 X X X X X X X X X X X X X Stop X X CSB = 1 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 T_high_sck_3 SCK 7 T_delay_sdi_3 T_low_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.2 Page 27 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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.2 when SDI is an output for read Page 28 10.5 ns 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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.2 AD6 AD5 AD4 AD3 AD2 AD1 AD0 Page 29 DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 4.2 IC interface The IC 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 IC interface (SDI=SDA) SDI tBUF tf tLOW SCK tHIGH tHDSTA tr tHDDAT tSUDAT SDI tSUSTA Rev. 1.2 Page 30 tSUSTO 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor Table 11: Specification of IC 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 IC 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 IC timings : SCK frequency FIC 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.2 Page 31 70 ns 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor Start and stop conditions: Data transfer begins by a falling edge on SDA when SCK is high (start condition (S) indicated by IC 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 BMA020 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 IC start and stop condition (SDI=SDA) SDI SCK S P Start condition Rev. 1.2 Stop condition Page 32 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor Figure 13: Timing diagram for one bit transfer with IC interface (SDI=SDA) SDI SCK Data line stable, data valid Change of data allowed Figure 14: Timing diagram for IC 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.2 Page 33 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 4.2.1 IC protocol: The BMA020 IC slave address is coded on 7 bits (0111000b=38h) fixed by a metal option. Thus IC 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 BMA020 there is no acknowledgement and the following data transfer will not affect the chip. If the slave address corresponds to BMA020 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 BMA020 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: IC 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.2 X 0 0 1 Page 34 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 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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: IC multiple read protocol. Address register is first written to BMA020, the RW=0 (lowest acceleration data located at address 02h). IC 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.2 X X X X X X X X X X X Register data - adress 05h ACK X X X X X X X X Data byte Data byte Register data - adress 07h X X Page 35 X ACK X X X X X X X X ACK X Register data - adress 06h X ... X Data byte Register data - adress 04h ... X ACK ... X NACK Stop X X P 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 5. Package 5.1 Outline dimensions The BMA020 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 Figure 17: Top, bottom and side views of the 3mm x 3mm x 0.9mm LGA package outline drawing (dimensions in mm) 026 033 A730 002 Note: The vertical bar on the left-hand side of the marking on top of the package is just optional. Rev. 1.2 Page 36 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 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 BMA020 +z 5 +y 1 +x Rev. 1.2 Page 37 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 5.3 Landing pattern recommendations As for the design of the landing patterns, the following recommendations can be given: Figure 19: Landing patterns for the BMA020 relative to the device pins, dimensions are in mm Figure 20: Perspective view of the BMA020 relative to the PCB landing pattern. Rev. 1.2 Page 38 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 5.4 Moisture sensitivity level and soldering The moisture sensitivity level (MSL) of the BMA020 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 260C. 5.5 RoHS compliancy The BMA020 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". 5.6 Note on internal package structure 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 BMA020. 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 BMA020 product. Rev. 1.2 Page 39 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 6. Pin-out out and connection diagrams Figure 21: Pin-out of the BMA020 (bottom view); Table 12: Pin-out description of the BMA020 Pin No Name Description Connect to (in SPI 4w) Connect to (in SPI 3w) Connect to (in IC) 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.2 Page 40 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor Figure 22: Connection diagram for use with 4-wire SPI interface +2.0 ... 3.6V BMA020 Figure 23: Connection diagram for use with 3-wire SPI interface +2.0 ... 3.6V BMA020 Rev. 1.2 Page 41 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor Figure 24: Connection diagram for use with IC interface +2.0 ... 3.6V BMA020 Rev. 1.2 Page 42 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 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. BMA020 is designed to enable low current consumption of 200A 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 30msec. until normal operation has resumed. The current consumption in sleep mode is 1A. 7.3 Wake-up mode In general BMA020 is attributed to low power applications and can contribute to the system power management. * * * * * * * Current consumption 200A operational Current consumption 1A 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 Current consumption in wake-up mode to master) The BMA020 provides the possibility to wake up a system master when specific acceleration values are detected. Therefore the BMA020 stays in an ultra low power mode and periodically evaluates the acceleration data with respect to interrupt criteria defined by the user. An interrupt Rev. 1.2 Page 43 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 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 BMA020. 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 BMA020 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.2 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 44 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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) 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 25, 26 and 27. The graphs provide an indication on the expected current consumption for different settings. Figure 25: 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.2 1.2 1.3 1.4 1.5 i_self_w ake_up [A] 1.6 1.7 1.8 Page 45 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor Figure 26: 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 27: 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.2 8 9 10 11 i_self_w ake_up [A] 12 13 14 Page 46 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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.1). 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.2). * 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 3. (section 3.2.10) Figure 28: Explanation of data ready interrupt: For a bandwidth of e.g. 1.5kHz the data refresh cycle takes 330s 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. The interrupt resets automatically after read out. 330s at bw=1.5kHz T X Y Z T X Y Z INT Rev. 1.2 Page 47 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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 "wake-up" indicator 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 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. See also section 3.2.8. 9.2 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 BMA020 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 330s, 100s under consideration). See also section 3.2.9. 9.3 Alert mode Using the BMA020 it is possible to combine the "any motion criterion" with low-g and high-g interrupt logic to improve the reaction time. See also sections 3.2.9 and 3.4.2. Rev. 1.2 Page 48 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial 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.2 Page 49 30 May 2008 (c) 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 BMA020 Bosch Sensortec Digital, triaxial acceleration sensor 11. Document history and modification Rev. No 1.0 1.1 1.2 Chapter Description of modification/changes Document creation Updated current consumption values and timing data 7.3 during wake-up mode 1 Added comments on sensitivity for 4g, 4g ranges 1 Added comment on digital filter 3.1.3 Added additional information and data 3.1.4 Re-worked this chapter 3.1.5 Added comment on accuracy of wake-up timer 3.2.10 Added comments for "new_data_int"; re-worked figure 3 4.2 Modified wording 7.2 Updated this chapter 7.3 Re-worked complete chapter Date 15-Nov-2007 14-Jan-2008 30-May-2008 30-May-2008 30-May-2008 30-May-2008 30-May-2008 30-May-2008 30-May-2008 30-May-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 Version_1.2_052008 Rev. 1.2 Page 50 30 May 2008 (c) 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.