Data sheet BMC150 6-axis eCompass Bosch Sensortec BMC150: Data sheet Document revision 1.0 Document release date 14 July 2014 Document number BST-BMC150-DS000-04 Technical reference code(s) 0 273 141 156 Notes Product photos and pictures are for illustration purposes only and may differ from the real product’s appearance.
Datasheet eCompass BMC150 Page 2 BMC150 ECOMPASS WITH 3-AXIS GEOMAGNETIC SENSOR AND 12 BIT 3-AXIS ACCELEROMETER Key features Three-axis magnetic field sensor and 12bit three-axis accelerometer in one package Accelerometer can still be used independently from magnetometer operation Ultra-Small package 14-Pin LGA package, footprint 2.2 × 2.2mm2, height 0.
Datasheet eCompass BMC150 Page 3 General Description The BMC150 is an integrated electronic compass solution for consumer market applications. It comprises a 12bit leading edge triaxial, low-g acceleration sensor and an ultra-low power, high precision triaxial magnetic field sensor. It allows measurements of acceleration and magnetic field in three perpendicular axes.
Datasheet eCompass BMC150 Page 4 Index of Contents 1. SPECIFICATION ........................................................................................................................ 7 1.1 COMPASS ELECTRICAL SPECIFICATION ................................................................................. 7 1.2 ACCELEROMETER SPECIFICATION ........................................................................................ 8 1.3 MAGNETOMETER SPECIFICATION ............................................
Datasheet eCompass BMC150 Page 5 4.8 ACCELEROMETER SOFTRESET ........................................................................................... 56 4.9 MAGNETOMETER INTERRUPT CONTROLLER ........................................................................ 57 4.9.1 GENERAL FEATURES .................................................................................................................... 57 4.9.2 ELECTRICAL BEHAVIOR OF MAGNETIC INTERRUPT PINS ............................................
Datasheet eCompass BMC150 Page 6 7.5 INTERRUPT STATUS REGISTER ......................................................................................... 109 7.6 POWER AND OPERATION MODES, SELF-TEST AND DATA OUTPUT RATE CONTROL REGISTERS 110 7.7 INTERRUPT AND AXIS ENABLE SETTINGS CONTROL REGISTERS ........................................... 112 7.8 NUMBER OF REPETITIONS CONTROL REGISTERS ............................................................... 114 8. DIGITAL INTERFACES ..............................
Datasheet eCompass BMC150 Page 7 1. Specification If not stated otherwise, the given values are over lifetime and full performance temperature and voltage ranges, minimum/maximum values are ±3. The specifications are split into accelerometer part and magnetometer part of BMC150. 1.
Datasheet eCompass BMC150 Page 8 1.2 Accelerometer specification Table 2: Accelerometer parameter specification ACCELEROMETER Operating Conditions Parameter Symbol Condition Acceleration Range gFS2g gFS4g gFS8g gFS16g Selectable via serial digital interface ±2 ±4 ±8 ±16 g g g g Total Supply Current in Normal Mode IDD TA=25°C, bw = 1kHz VDD = VDDIO = 2.4V 130 µA IDDlp1 TA=25°C, bw = 1kHz VDD = VDDIO = 2.4V 6.5 µA TA=25°C, bw = 1kHz VDD = VDDIO = 2.
Datasheet eCompass BMC150 Operating Temperature Same for accelerometer and magnetometer TA Page 9 -40 +85 °C Max Unit ACCELEROMETER OUTPUT SIGNAL Parameter Device Resolution Symbol Condition Dres,a gFS2g 0.98 mg Sensitivity S2g S4g S8g S16g 1024 512 256 128 LSB/g LSB/g LSB/g LSB/g Sensitivity Temperature Drift TCSa ±0.
Datasheet eCompass BMC150 Temperature Sensor Measurement Range1 Page 10 TS -40 85 °C Temperature Sensor Slope1 dTS 0.5 K/LSB Temperature Sensor Offset1 OTS ±2 K ACCELEROMETER MECHANICAL CHARACTERISTICS 1 Parameter Symbol Cross Axis Sensitivity Sa Alignment Error EA,a Condition relative contribution between any two of the three axes relative to package outline Min Typ Max Unit 1 % ±0.5 ° Tentative value BST-BMC150-DS000-04 | Revision 1.
Datasheet eCompass BMC150 Page 11 1.
Datasheet eCompass BMC150 POR time tw_up,m Start-Up Time ts_up,m BST-BMC150-DS000-04 | Revision 1.0 | July 2014 from OFF to Suspend; time starts when VDD>1.5V and VDDIO>1.1V from Suspend to sleep Page 12 1.0 ms 3.0 ms Bosch Sensortec © 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.
Datasheet eCompass BMC150 Page 13 MAGNETOMETER OUTPUT SIGNAL Parameter Device Resolution Gain error 6 Symbol Condition Dres,m TA=25°C Gerr,m Min After API temperature compensation TA=25°C Nominal VDD supplies After API temperature compensation -40°C ≤ TA ≤ +85°C Nominal VDD supplies Typ Max Unit 0.3 µT ±2 % ±0.
Datasheet eCompass BMC150 nrms,lp,m,z nrms,rg,m nrms,eh,m nrms,ha,m Power Supply Rejection Rate PSRRm BST-BMC150-DS000-04 | Revision 1.0 | July 2014 Low power preset z-axis, TA=25°C Nominal VDD supplies Regular preset TA=25°C Nominal VDD supplies Enhanced regular preset TA=25°C Nominal VDD supplies High accuracy preset TA=25°C Nominal VDD supplies TA=25°C Nominal VDD supplies Page 14 1.4 µT 0.6 µT 0.5 µT 0.3 µT ±0.
Datasheet eCompass BMC150 Page 15 2. Absolute maximum ratings The absolute maximum ratings provided in Table 4 apply to both the accelerometer and magnetometer part of BMC150. At or above these maximum ratings operability is not given. The specification limits in Chapter 1 only apply under normal operating conditions. Table 4: Absolute maximum ratings Parameter Condition Min Max Unit VDD Pin -0.3 4.0 V VDDIO Pin -0.3 4.0 V Voltage at any Logic Pad Non-Supply Pin -0.
Datasheet eCompass BMC150 Page 16 3.
Datasheet eCompass BMC150 Page 17 4. Functional description BMC150 is a SiP (system in package) integration of a triaxial accelerometer (Sensing element and ASIC) and a triaxial geomagnetic sensor (Sensing element and ASIC) in one package. The two ASICs act as two separate slave devices on the digital bus (with different I²C address in I²C mode), which allows an independent operation of accelerometer and magnetometer parts in order to fit into a wide range of usage scenarios. 4.
Datasheet eCompass BMC150 Page 18 4.2.1 Accelerometer power modes The BMC150 accelerometer part has six different power modes (see Figure 2). Besides normal mode, which represents the fully operational state of the device, there are five energy saving modes: deep-suspend mode, suspend mode, standby mode, low-power mode 1 and low-power mode 2.
Datasheet eCompass BMC150 Page 19 fifo_config_1, (0x30) fifo_config_0 and (0x3F) fifo_data register. It is possible to enter normal mode by performing a softreset as described in chapter.7.6. Suspend mode is entered (left) by writing ´1´ (´0´) to the (0x11) suspend bit after bit (0x12) lowpower_mode has been set to ‘0’.
Datasheet eCompass BMC150 Page 20 Figure 3 shows the timing diagram for low-power modes 1 and 2 when EDT is selected. Settle Sample Sample Sample Settle Sample Sleep phase Settle Sample Sample Active phase Sample tACTIVE State tSLEEP tSLEEP t Figure 3: Timing Diagram for low-power mode ½, EDT When (0x12) sleeptimer_mode is set to ‘1’, the equidistant-sampling mode (EST) is selected.
Datasheet eCompass BMC150 Page 21 The sleep time for lower-power mode 1 and 2 is set by the (0x11) sleep_dur bits as shown in the following table: Table 5: Sleep phase duration settings (0x11) sleep_dur Sleep Phase Duration tSLEEP,a 0000b 0001b 0010b 0011b 0100b 0101b 0110b 0111b 1000b 1001b 1010b 1011b 1100b 1101b 1110b 1111b 0.5ms 0.5ms 0.5ms 0.5ms 0.5ms 0.
Datasheet eCompass BMC150 Page 22 4.2.2 Magnetometer power modes The BMC150 magnetometer part features configurable power modes. The four power modes of the BMC150 magnetometer are decribed in the following chapters. Power off mode In Power off mode, VDD and/or VDDIO are unpowered. The magnetometer part does not operate in this mode. When only one of VDD or VDDIO is supplied, the magnetic sensor will still be in Power off mode.
Datasheet eCompass BMC150 Page 23 Sleep mode The user puts device from suspend into Sleep mode by setting the Power bit to “1”, or from active modes (normal or forced) by setting OpMode bits to “11”. In this state the user has full access to the device registers. In particular, the Chip ID can be read. Setting the power control bit to “0” (register 0x4B bit0) will bring the device back into Suspend mode. From the Sleep mode the user can put the device back into Suspend mode or into Active mode.
Datasheet eCompass BMC150 Page 24 data acquisitions). Hence, the more repetitions are acquired to generate one magnetic field data point, the longer the active time ratio in one sample phase, and the higher the average current. Thanks to longer internal averaging, the noise level of the output data reduces with increasing number of repetitions. By using forced mode, it is possible to trigger new measurements at any rate.
Datasheet eCompass BMC150 Page 25 4.2.3 BMC150 overall power consumption Below, Table 7 shows the overall current consumption of BMC150 (sum of accelerometer and magnetometer part) in typical scenarios such as a tilt-compensated electronic compass application. Table 7: BMC150 overall current consumption in typical usage scenarios: Compass preset Low power preset Regular preset Enhanced regular preset High accuracy preset Acc. Active / sleep interval Acc. BW / DOR Mag. Avg. current Acc. avg.
Datasheet eCompass BMC150 Page 26 4.3 Sensor data 4.3.1 Acceleration data The width of acceleration data is 12 bits given in two´s complement representation. The 12 bits for each axis are split into an MSB upper part (one byte containing bits 11 to 4) and an LSB lower part (one byte containing bits 3 to 0 of acceleration and a (0x02, 0x04, 0x06) new_data flag). Reading the acceleration data registers shall always start with the LSB part.
Datasheet eCompass BMC150 Page 27 The BMC150’s accelerometer part supports four different acceleration measurement ranges. A measurement range is selected by setting the (0x0F) range bits as follows: Table 9: Range selection Range Acceleration measurement range Resolution 0011 0101 1000 1100 others ±2g ±4g ±8g ±16g reserved 0.98mg/LSB 1.95mg/LSB 3.91mg/LSB 7.81mg/LSB - 4.3.2 Temperature sensor The width of temperature data is 8 bits given in two´s complement representation.
Datasheet eCompass BMC150 Page 28 After all enabled axes have been measured, complete data packages consisting of DATAX, DATAY, DATAZ and RHALL are updated at once in the data registers. This way, it is prevented that a following axis is updated while the first axis is still being read (axis mix-up) or that MSB part of an axis is updated while LSB part is being read. While reading from any data register, data register update is blocked.
Datasheet eCompass BMC150 Page 29 4.3.4 Magnetic field data temperature compensation The raw register values DATAX, DATAY, DATAZ and RHALL are read out from the host processor using the BMC150 API/driver which is provided by Bosch Sensortec.
Datasheet eCompass BMC150 Page 30 4.4 Self-test 4.4.1 Accelerometer self-test This feature permits to check the BMC150’s accelerometer part functionality by applying electrostatic forces to the sensor core instead of external accelerations. By actually deflecting the seismic mass, the entire signal path of the sensor can be tested.
Datasheet eCompass BMC150 Page 31 4.4.2 Magnetometer self-test BMC150 supports two self-tests modes for the magnetometer part: Normal self-test and advanced self-test. Normal self test During normal self-test, the following verifications are performed: FlipCore signal path is verified by generating signals on-chip. These are processed through the signal path and the measurement result is compared to known thresholds.
Datasheet eCompass BMC150 Page 32 Below table describes how the advanced self-test is controlled: Table 11: Magnetometer advanced self-test control (0x4C) Adv.
Datasheet eCompass BMC150 Page 33 4.5 Accelerometer offset compensation Offsets in measured acceleration signals can have several causes but they are always unwanted and disturbing in many cases. Therefore, the accelerometer part of BMC150 offers an advanced set of four digital offset compensation methods which are closely matched to each other. These are slow, fast, and manual compensation, and inline calibration.
Datasheet eCompass BMC150 Page 34 The public offset compensation registers (0x38) offset_x, (0x39) offset_y, (0x3A) offset_z are images of the corresponding registers in the NVM. With each image update (see section 4.6 for details) the contents of the NVM registers are written to the public registers. The public register can be over-written by the user at any time.
Datasheet eCompass BMC150 Page 35 4.5.1 Slow compensation Slow compensation is based on a 1st order high-pass filter, which continuously drives the average value of the output data stream of each axis to zero. The bandwidth of the high-pass filter is configured with bit (0x37) cut_off according to .
Datasheet eCompass BMC150 Page 36 Register (0x36) cal_trigger is a write-only register. Once triggered, the status of the fast correction process is reflected in the status bit (0x36) cal_rdy. Bit (0x36) cal_rdy is ‘0’ while the correction is in progress. Otherwise it is ‘1’. Bit (0x36) cal_rdy is ´0´ when (0x36) cal_trigger is not ´00´.
Datasheet eCompass BMC150 Page 37 4.6 Non-volatile memory 4.6.1 Accelerometer non-volatile memory The memory of the accelerometer part of BMC150 consists of three different kinds of registers: hard-wired, volatile, and non-volatile. Part of it can be both read and written by the user. Access to non-volatile memory is only possible through (volatile) image registers. Altogether, there are eight registers (octets) with NVM backup which are accessible by the user.
Datasheet eCompass BMC150 Page 38 4.7 Accelerometer interrupt controller The accelerometer part of BMC150 is equipped with eight programmable interrupt engines. Each interrupt can be independently enabled and configured. If the trigger condition of an enabled interrupt is fulfilled, the corresponding status bit is set to ´1´ and the selected interrupt pin is activated. There are two interrupt pins for the accelerometer part, INT1 and INT2; interrupts can be freely mapped to any of these pins.
Datasheet eCompass BMC150 Page 39 In latched mode an asserted interrupt status and the selected pin are cleared by writing ´1´ to bit (0x21) reset_int. If the activation condition still holds when it is cleared, the interrupt status is asserted again with the next change of the acceleration registers. In the temporary mode an asserted interrupt and selected pin are cleared after a defined period of time. The behavior of the different interrupt modes is shown graphically in Figure 8.
Datasheet eCompass BMC150 Page 40 4.7.3 Electrical behavior (INT pin# to open-drive or push-pull) Both interrupt pins can be configured to show the desired electrical behavior. The ´active´ level of each interrupt pin is determined by the (0x20) int1_lvl and (0x20) int2_lvl bits. If (0x20) int1_lvl = ´1´ (´0´) / (0x20) int2_lvl = ´1´ (´0´), then pin “INT1” / pin “INT2” is active ´1´ (´0´).
Datasheet eCompass BMC150 Page 41 4.7.5 Slope / any-motion detection Slope / any-motion detection uses the slope between successive acceleration signals to detect changes in motion. An interrupt is generated when the slope (absolute value of acceleration difference) exceeds a preset threshold. It is cleared as soon as the slope falls below the threshold. The principle is made clear in Figure 9.
Datasheet eCompass BMC150 Page 42 4.7.5.1 Enabling (disabling) for each axis Any-motion detection can be enabled (disabled) for each axis separately by writing ´1´ (´0´) to bits (0x16) slope_en_x, (0x16) slope_en_y, (0x16) slope_en_z. The criteria for any-motion detection are fulfilled and the slope interrupt is generated if the slope of any of the enabled axes exceeds the threshold (0x28) slope_th for [(0x27) slope_dur +1] consecutive times.
Datasheet eCompass BMC150 Page 43 4.7.6 Tap sensing Tap sensing has a functional similarity with a common laptop touch-pad or clicking keys of a computer mouse. A tap event is detected if a pre-defined slope of the acceleration of at least one axis is exceeded. Two different tap events are distinguished: A ‘single tap’ is a single event within a certain time, followed by a certain quiet time. A ‘double tap’ consists of a first such event followed by a second event within a defined time frame.
Datasheet eCompass BMC150 Page 44 The parameters (0x2A) tap_shock and (0x2A) tap_quiet apply to both single tap and double tap detection, while (0x2A) tap_dur applies to double tap detection only. Within the duration of (0x2A) tap_shock any slope exceeding (0x2B) tap_th after the first event is ignored. Contrary to this, within the duration of (0x2A) tap_quiet no slope exceeding (0x2B) tap_th must occur, otherwise the first event will be cancelled. 4.7.6.
Datasheet eCompass BMC150 Page 45 4.7.6.4 Axis and sign information of tap sensing The sign of the slope of the first tap which triggered the interrupt is stored in bit (0x0B) tap_sign (´0´ means positive sign, ´1´ means negative sign). The value of this bit persists after clearing the interrupt. The axis which triggered the interrupt is indicated by bits (0x0B) tap_first_x, (0x0B) tap_first_y, and (0x0B) tap_first_z.
Datasheet eCompass BMC150 Page 46 4.7.7 Orientation recognition The orientation recognition feature informs on an orientation change of the sensor with respect to the gravitational field vector ‘g’. The measured acceleration vector components with respect to the gravitational field are defined as shown in Figure 11.
Datasheet eCompass BMC150 Page 47 For each orientation mode the (0x0C) orient bits have a different meaning as shown in Table 19 to Table 21: Table 19: Meaning of the (0x0C) orient bits in symmetrical mode (0x0C) orient Name Angle Condition x00 portrait upright 315° < < 45° |acc_y| < |acc_x| - ‘hyst’ and acc_x – ‘hyst’’ ≥ 0 x01 portrait upside down 135° < < 225° |acc_y| < |acc_x| - ‘hyst’ and acc_x + ‘hyst’ < 0 x10 landscape left 45° < < 135° |acc_y| ≥ |acc_x| + ‘hyst’ and acc_y < 0
Datasheet eCompass BMC150 Page 48 In the preceding tables, the parameter ‘hyst’ stands for a hysteresis, which can be selected by setting the (0x2C) orient_hyst bits. 1 LSB of (0x2C) orient_hyst always corresponds to 62.5 mg, in any g-range (i.e. increment is independent from g-range setting). It is important to note that by using a hysteresis ≠ 0 the actual switching angles become different from the angles given in the tables since there is an overlap between the different orientations.
Datasheet eCompass BMC150 Page 49 4.7.7.1 Orientation blocking The change of the (0x0C) orient value and – as a consequence – the generation of the interrupt can be blocked according to conditions selected by setting the value of the (0x2C) orient_blocking bits as described by Table 22. Table 22: Blocking conditions for orientation recognition (0x2C) orient_blocking Conditions 00b no blocking theta blocking or acceleration in any axis > 1.5g theta blocking or acceleration slope in any axis > 0.
Datasheet eCompass BMC150 Page 50 4.7.7.2 Up-Down Interrupt Suppression Flag Per default an orientation interrupt is triggered when any of the bits in register (0x0C) orient changes state. The BMA255 can be configured to trigger orientation interrupts only when the device position changes in the x-y-plane while orientation changes with respect to the z-axis are ignored.
Datasheet eCompass BMC150 Page 51 4.7.8 Flat detection The flat detection feature gives information about the orientation of the devices´ z-axis relative to the g-vector, i. e. it recognizes whether the device is in a flat position or not. The flat angle is adjustable by (0x2E) flat_theta from 0° to 44.8°. The flat angle can be set according to following formula: 1 atan flat_theta 8 A hysteresis of the flat detection can be enabled by (0x2F) flat_hy bits.
Datasheet eCompass BMC150 Page 52 4.7.9 Low-g interrupt This interrupt is based on the comparison of acceleration data against a low-g threshold, which is most useful for free-fall detection. The interrupt is enabled (disabled) by writing “1” (“0”) to the (0x17) low_en bit. There are two modes available, ‘single’ mode and ‘sum’ mode.
Datasheet eCompass BMC150 Page 53 4.7.10 High-g interrupt This interrupt is based on the comparison of acceleration data against a high-g threshold for the detection of shock or other high-acceleration events. The high-g interrupt is enabled (disabled) per axis by writing “1” (“0”) to bits (0x17) high_en_x, (0x17) high_en_y, and (0x17) high_en_z, respectively. The high-g threshold is set through the (0x26) high_th register.
Datasheet eCompass BMC150 Page 54 4.7.11 No-motion / slow motion detection The slow-motion/no-motion interrupt engine can be configured in two modes. In slow-motion mode an interrupt is triggered when the measured slope of at least one enabled axis exceeds the programmable slope threshold for a programmable number of samples. Hence the engine behaves similar to the any-motion interrupt, but with a different set of parameters.
Datasheet eCompass BMC150 acceleration Page 55 acc(t0+Δt) acc(t0) slope axis x, y, or z slope(t0+Δt)= acc(t0+Δt) - acc(t0) axis x, y, or z slo_no_mot_th -slo_no_mot_th slo_no_mot_dur timer INT time Figure 13: Timing of No-motion interrupt BST-BMC150-DS000-04 | Revision 1.0 | July 2014 Bosch Sensortec © 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.
Datasheet eCompass BMC150 Page 56 4.8 Accelerometer softreset A softreset causes all user configuration settings to be overwritten with their default value and the sensor to enter normal mode. A softreset is initiated by means of writing value 0xB6 to register (0x14) softreset. Subsequently a waiting time of tw,up1 (max.) is required prior to accessing any configuration registers. BST-BMC150-DS000-04 | Revision 1.
Datasheet eCompass BMC150 Page 57 4.9 Magnetometer interrupt controller Four magnetometer based interrupt engines are integrated in the magnetometer part of BMC150: Low-Threshold, High-Threshold, Overflow and Data Ready (DRDY). Each interrupt can be enabled independently. When enabled, an interrupt sets the corresponding status bit in the interrupt status register (0x4A) when its condition is satisfied.
Datasheet eCompass BMC150 Page 58 Low threshold measurements INT3 pin (non-latched) INT3 pin (latched) Readings of interrupt status register (0x4A) Figure 14: Interrupt latched and non-latched mode 4.9.2 Electrical behavior of magnetic interrupt pins Both interrupt pins INT3 and DRDY are push/pull when the corresponding interrupt pin enable bit is set, and are floating (High-Z) when the corresponding interrupt pin enable bit is disabled (default). 4.9.
Datasheet eCompass BMC150 Page 59 4.9.4 Low-threshold interrupt When the data registers’ (DATAX, DATAY and DATAZ) values drop below the threshold level defined by the “Low Threshold register (0x4F), the corresponding interrupt status bits for those axes are set (“Low Int X”, “Low Int Y” and “Low Int Z” in register 0x4A). This is done for each axis independently. Please note that the X and Y axis value for overflow is -4096. However, no interrupt is generated on these values. See chapter 4.9.
Datasheet eCompass BMC150 Page 60 4.9.5 High-threshold interrupt When the data registers’ (DATAX, DATAY and DATAZ) values exceed the threshold level defined by the “High Threshold register (0x50), the corresponding interrupt status bits for those axes are set (“High Int X”, “High Int Y” and “High Int Z” in register 0x4A). This is done for each axis independently.
Datasheet eCompass BMC150 Page 61 4.9.6 Overflow When a measurement axis had an overflow, the corresponding data register is saturated to the most negative value. For X and Y axis, the data register is set to the value -4096. For the Z axis, the data register is set to the value -16384. The “Overflow” flag (register 0x4A bit6) indicates that the measured magnetic field raw data of one or more axes exceeded maximum range of the device.
Datasheet eCompass BMC150 Page 62 5. FIFO Operation 5.1 FIFO Operating Modes The IC of the accelerometer part of BMC150 features an integrated FIFO memory capable of storing up to 32 frames. Conceptually each frame consists of three 16-bit words corresponding to the x, y and z- axis, which are sampled at the same point in time.
Datasheet eCompass BMC150 Page 63 5.2 FIFO Data Readout The FIFO stores the data that are also available at the acceleration read-out registers (0x02) to (0x07). Thus, all configuration settings apply to the FIFO data as well as the acceleration data readout registers. The FIFO read out is possible through register (0x3F). The readout can be performed using burst mode since the read address counter is no longer incremented, when it has reached address (0x3F).
Datasheet eCompass BMC150 Page 64 5.4 FIFO Interrupts The FIFO controller can generate two different interrupt events, a FIFO-full and a watermark event. The FIFO-full and watermark interrupts are functional in all FIFO operating modes. The watermark interrupt is asserted when the fill level in the buffer has reached the frame count defined by register (0x30) fifo_water_mark_trigger_retain. In order to enable (disable) the watermark interrupt, the (0x17) int_fwm_en bit must be set to ‘1’ (‘0’).
Datasheet eCompass BMC150 Page 65 6. Accelerometer register description 6.1 General remarks The entire communication with the device is performed by reading from and writing to registers. Registers have a width of 8 bits; they are mapped to a common space of 64 addresses from (0x00) up to (0x3F). Within the used range there are several registers which are either completely or partially marked as ‘reserved’. Any reserved bit is ignored when it is written and no specific value is guaranteed when read.
Datasheet eCompass BMC150 Page 66 6.
Datasheet eCompass BMC150 Page 67 6.3 Chip ID Register 0x00 (BGW_CHIPID) The register contains the chip identification code. Name Bit Read/Write Reset Value Content 0x00 7 R n/a Bit Read/Write Reset Value Content 3 R n/a chip_id<7:0>: 6 R n/a BGW_CHIPID 5 R n/a 4 R n/a chip_id<7:4> 2 R n/a 1 R n/a 0 R n/a chip_id<3:0> Fixed value b’1111’1010 BST-BMC150-DS000-04 | Revision 1.
Datasheet eCompass BMC150 Page 68 6.4 Acceleration data Register 0x02 (ACCD_X_LSB) The register contains the least-significant bits of the X-channel acceleration readout value. When reading out X-channel acceleration values, data consistency is guaranteed if the ACCD_X_LSB is read out before the ACCD_X_MSB and shadow_dis=’0’. In this case, after the ACCD_X_LSB has been read, the value in the ACCD_X_MSB register is locked until the ACCD_X_MSB has been read.
Datasheet eCompass BMC150 Bit Read/Write Reset Value Content 3 R n/a 2 R n/a Page 69 1 R n/a 0 R n/a acc_x_msb<7:4> acc_x_msb<11:4>: Most significant 8 bits of acceleration readback value (two’s-complement format) Register 0x04 (ACCD_Y_LSB) The register contains the least-significant bits of the Y-channel acceleration readout value. When reading out Y-channel acceleration values, data consistency is guaranteed if the ACCD_Y_LSB is read out before the ACCD_Y_MSB and shadow_dis=’0’.
Datasheet eCompass BMC150 Page 70 Register 0x05 (ACCD_Y_MSB) The register contains the most-significant bits of the Y-channel acceleration readout value. When reading out Y-channel acceleration values, data consistency is guaranteed if the ACCD_Y_LSB is read out before the ACCD_Y_MSB and shadow_dis=’0’. In this case, after the ACCD_Y_LSB has been read, the value in the ACCD_Y_MSB register is locked until the ACCD_Y_MSB has been read.
Datasheet eCompass BMC150 Page 71 Acc_z_lsb<3:0>: Least significant 4 bits of acceleration readback value; (two’s-complement format) undefined: random data; to be ignored new_data_z: ‘0’: acceleration value has not been updated since it has been read out last ‘1’: acceleration value has been updated since it has been read out last Register 0x07 (ACCD_Z_MSB) The register contains the most-significant bits of the Z-channel acceleration readout value.
Datasheet eCompass BMC150 Page 72 6.5 Temperature data Register 0x08 (ACCD_TEMP) The register contains the current chip temperature represented in two’s complement format. A readout value of temp<7:0>=0x00 corresponds to a temperature of 24°C.
Datasheet eCompass BMC150 Page 73 6.6 Status registers Register 0x09 (INT_STATUS_0) The register contains interrupt status flags. Each flag is associated with a specific interrupt function. It is set when the associated interrupt triggers. The setting of latch_int<3:0> controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. The interrupt function associated with a specific status flag must be enabled.
Datasheet eCompass BMC150 Bit Read/Write Reset Value Content data_int: fifo_wm_int: fifo_full_int: reserved: 3 R n/a 2 R n/a Page 74 1 R n/a 0 R n/a reserved data ready interrupt status: ‘0’inactive, ‘1’ active FIFO watermark interrupt status: ‘0’inactive, ‘1’ active FIFO full interrupt status: ‘0’inactive, ‘1’ active reserved, write to ‘0’ Register 0x0B (INT_STATUS_2) The register contains interrupt status flags. Each flag is associated with a specific interrupt engine.
Datasheet eCompass BMC150 Page 75 flag will be permanently latched, temporarily latched or not latched. The interrupt function associated with a specific status flag must be enabled.
Datasheet eCompass BMC150 Bit Read/Write Reset Value Content 3 R n/a 2 R n/a Page 76 1 R n/a 0 R n/a fifo_frame_counter<3:0> fifo_overrun: FIFO overrun condition has ‘1’ occurred, or ‘0’not occurred; flag can be cleared by writing to the FIFO configuration register FIFO_CONFIG_1 only fifo_frame_counter<6:4>: Current fill level of FIFO buffer. An empty FIFO corresponds to 0x00.
Datasheet eCompass BMC150 Page 77 6.7 g-range selection Register 0x0F (PMU_RANGE) The register allows the selection of the accelerometer g-range.
Datasheet eCompass BMC150 Page 78 6.8 Bandwidths Register 0x10 (PMU_BW) The register allows the selection of the acceleration data filter bandwidth. Name Bit Read/Write Reset Value Content 0x10 7 R/W 0 PMU_BW 5 R/W 0 6 R/W 0 reserved 4 R/W 0 bw<4> 0 Bit Read/Write Reset Value Content bw<4:0>: reserved: 3 R/W 1 2 R/W 1 1 R/W 1 0 R/W 1 bw<3:0> Selection of data filter bandwidth: ´00xxxb´ 7.81 Hz, ´01000b´ 7.81 Hz, ´01001b´ 15.63 Hz, ´01010b´ 31.25 Hz, ´01011b´ 62.
Datasheet eCompass BMC150 Page 79 6.9 Power modes Register 0x11 (PMU_LPW) Selection of the main power modes and the low power sleep period.
Datasheet eCompass BMC150 Bit Read/Write Reset Value Content 3 R/W 0 2 R/W 0 Page 80 1 R/W 0 0 R/W 0 reserved lowpower_mode: select ‘0’ LPM1, or ‘1´ LPM2 configuration for SUSPEND and LOW_POWER mode. In the LPM1 configuration the power consumption in LOW_POWER mode and SUSPEND mode is significantly reduced when compared to LPM2 configuration, but the FIFO is not accessible and writing to registers must be slowed down.
Datasheet eCompass BMC150 Page 81 6.10 Special control settings Register 0x13 (ACCD_HBW) Acceleration data acquisition and data output format. Name Bit Read/Write Reset Value Content Bit Read/Write Reset Value Content data_high_bw: Shadow_dis: Reserved: 0x13 7 R/W 0 data_high_bw 6 R/W 0 (1 in 8-bit mode) shadow_dis 3 R/W 0 2 R/W 0 ACCD_HBW 5 R/W 0 4 R/W 0 reserved 1 R/W 0 0 R/W 0 reserved select whether ‘1´ unfiltered, or ‘0’ filtered data may be read from the acceleration data registers.
Datasheet eCompass BMC150 Page 82 operation modes. Please note that all application specific settings which are not equal to the default settings (refer to chapter 6.2), must be reconfigured to their designated values. BST-BMC150-DS000-04 | Revision 1.0 | July 2014 Bosch Sensortec © 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.
Datasheet eCompass BMC150 Page 83 6.11 Interrupt settings Register 0x16 (INT_EN_0) Controls which interrupt engines in group 0 are enabled.
Datasheet eCompass BMC150 int_fwm_en: int_ffull_en: data_en low_en: high_en_z: high_en_y: high_en_x: Page 84 FIFO watermark interrupt: ‘0’disabled, or ‘1’ enabled FIFO full interrupt: ‘0’disabled, or ‘1’ enabled data ready interrupt: ‘0’disabled, or ‘1’ enabled low-g interrupt: ‘0’disabled, or ‘1’ enabled high-g interrupt, z-axis component: ‘0’disabled, or ‘1’ enabled high-g interrupt, y-axis component: ‘0’disabled, or ‘1’ enabled high-g interrupt, x-axis component: ‘0’disabled, or ‘1’ enabl
Datasheet eCompass BMC150 Bit Read/Write Reset Value Content Page 85 3 R/W 0 2 R/W 0 1 R/W 0 0 R/W 0 int1_slo_no_mot int1_slope int1_high int1_low int1_flat: int1_orient: int1_s_tap: int1_d_tap: int1_slo_no_mot: int1_slope: int1_high: int1_low: map flat interrupt to INT1 pin: ‘0’disabled, or ‘1’ enabled map orientation interrupt to INT1 pin: ‘0’disabled, or ‘1’ enabled map single tap interrupt to INT1 pin: ‘0’disabled, or ‘1’ enabled map double tap interrupt to INT1 pin: ‘0’disabled, or ‘1
Datasheet eCompass BMC150 Page 86 Register 0x1B (INT_MAP_2) Controls which interrupt signals are mapped to the INT2 pin.
Datasheet eCompass BMC150 Page 87 int_src_slo_no_mot: select ‘0’filtered, or ‘1’ unfiltered data for slow/no-motion interrupt int_src_slope: select ‘0’filtered, or ‘1’ unfiltered data for slope interrupt int_src_high: select ‘0’filtered, or ‘1’ unfiltered data for high-g interrupt int_src_low: select ‘0’filtered, or ‘1’ unfiltered data for low-g interrupt Register 0x20 (INT_OUT_CTRL) Contains the behavioural configuration (electrical 87ehavior) of the interrupt pins.
Datasheet eCompass BMC150 reset_int: reserved: latch_int<3:0>: Page 88 write ‘1’ clear any latched interrupts, or ‘0’ keep latched interrupts active write ‘0’ ´0000b´ non-latched, ´0001b´ temporary, 250 ms, ´0010b´ temporary, 500 ms, ´0011b´ temporary, 1 s, ´0100b´ temporary, 2 s, ´0101b´ temporary, 4 s, ´0110b´ temporary, 8 s, ´0111b´ latched, ´1000b´ non-latched, ´1001b´ temporary, 250 s, ´1010b´ temporary, 500 s, ´1011b´ temporary, 1 ms, ´1100b´ temporary, 12.
Datasheet eCompass BMC150 low_th<7:0>: Page 89 low-g interrupt trigger threshold according to low_th<7:0> • 7.81 mg in a range from 0 g to 1.992 g; the default value corresponds to an acceleration of 375 mg Register 0x24 (INT_2) Contains the low-g interrupt mode selection, the low-g interrupt hysteresis setting, and the highg interrupt hysteresis setting.
Datasheet eCompass BMC150 Page 90 Register 0x26 (INT_4) Contains the threshold definition for the high-g interrupt. Name Bit Read/Write Reset Value Content 0x26 7 R/W 1 Bit Read/Write Reset Value Content 3 R/W 0 high_th<7:0>: 6 R/W 1 INT_4 5 R/W 0 4 R/W 0 1 R/W 0 0 R/W 0 high_th<7:4> 2 R/W 0 high_th<3:0> threshold of high-g interrupt according to high_th<7:0> · 7.81 mg (2-g range), high_th<7:0> · 15.63 mg (4-g range), high_th<7:0> · 31.25 mg (8-g range), or high_th<7:0> · 62.
Datasheet eCompass BMC150 slope_dur<1:0>: Page 91 slo_no_mot_dur<5:4>=’b00’ [slo_no_mot_dur<3:0> + 1] slo_no_mot_dur<5:4>=’b01’ [slo_no_mot_dur<3:0> · 4 + 20] slo_no_mot_dur<5>=’1’ [slo_no_mot_dur<4:0> · 8 + 88] slope interrupt triggers if [slope_dur<1:0>+1] consecutive slope data points are above the slope interrupt threshold slope_th<7:0> Register 0x28 (INT_6) Contains the threshold definition for the any-motion interrupt.
Datasheet eCompass BMC150 Page 92 slo_no_mot_th<7:0>: Threshold of slow/no-motion interrupt. It is range-dependent and defined as a sample-to-sample difference according to slo_no_mot_th<7:0> · 3..91 mg (2-g range), slo_no_mot_th<7:0> · 7.81 mg (4-g range), slo_no_mot_th<7:0> · 15.63 mg (8-g range), slo_no_mot_th<7:0> · 31,25 mg (16-g range) Register 0x2A (INT_8) Contains the timing definitions for the single tap and double tap interrupts.
Datasheet eCompass BMC150 Value Content tap_samp<1:0>: reserved: tap_th<4:0>: Page 93 tap_th<3:0> selects the number of samples that are processed after wake-up in the lowpower mode according to ´00b´ 2 samples, ´01b´ 4 samples, ´10b´ 8 samples, and ´11b´ 16 samples write ‘0’ threshold of the single/double-tap interrupt corresponding to an acceleration difference of tap_th<4:0> · 62.5mg (2g-range), tap_th<4:0> · 125mg (4grange), tap_th<4:0> · 250mg (8g-range), and tap_th<4:0> · 500mg (16grange).
Datasheet eCompass BMC150 Page 94 Register 0x2D (INT_B) Contains the definition of the axis orientation, up/down masking, and the theta blocking angle for the orientation interrupt.
Datasheet eCompass BMC150 Page 95 Register 0x2F (INT_D) Contains the definition of the flat interrupt hold time and flat interrupt hysteresis.
Datasheet eCompass BMC150 Page 96 6.12 Self-test Register 0x32 (PMU_SELF_TEST) Contains the settings for the sensor self-test configuration and trigger.
Datasheet eCompass BMC150 Page 97 6.13 Non-volatile memory control (EEPROM) Register 0x33 (TRIM_NVM_CTRL) Contains the control settings for the few-time programmable non-volatile memory (NVM).
Datasheet eCompass BMC150 Page 98 6.14 Interface configuration Register 0x34 (BGW_SPI3_WDT) Contains settings for the digital interfaces.
Datasheet eCompass BMC150 Page 99 6.15 Offset compensation Register 0x36 (OFC_CTRL) Contains control signals and configuration settings for the fast and the slow offset compensation.
Datasheet eCompass BMC150 Page 100 reserved: write ‘0’ offset_target_z<1:0>: offset compensation target value for z-axis is ´00b´ 0 g, ´01b´ +1 g, ´10b´ -1 g, or ´11b´ 0 g offset_target_y<1:0>: offset compensation target value for y-axis is ´00b´ 0 g, ´01b´ +1 g, ´10b´ -1 g, or ´11b´ 0 g offset_target_x<1:0>: offset compensation target value for x-axis is ´00b´ 0 g, ´01b´ +1 g, ´10b´ -1 g, or ´11b´ 0 g cut_off: (0x37) cut_off high-pass filter bandwidth Example bw = 500 Hz 0b 1b
Datasheet eCompass BMC150 Page 101 Register 0x39 (OFC_OFFSET_Y) Contains the offset compensation value for y-axis acceleration readout data.
Datasheet eCompass BMC150 Page 102 6.16 Non-volatile memory back-up Register 0x3B (TRIM_GP0) Contains general purpose data register with NVM back-up.
Datasheet eCompass BMC150 Page 103 6.17 FIFO configuration and FIFO data Register 0x30 (FIFO_CONFIG_0) Contains the FIFO watermark level.
Datasheet eCompass BMC150 Page 104 fifo_data_select<1:0>: selects whether ´00b´ X+Y+Z, ´01b´ X only, ´10b´ Y only, ´11b´ Z only acceleration data are stored in the FIFO. Register 0x3F (FIFO_DATA) FIFO data readout register. The format of the LSB and MSB components corresponds to that of the acceleration data readout registers. The new data flag is preserved. Read burst access may be used since the address counter will not increment when the read burst is started at the address of FIFO_DATA.
Datasheet eCompass BMC150 Page 105 7. Magnetometer register description 7.1 General remarks The entire communication with the device’s magnetometer part is performed by reading from and writing to registers. Registers have a width of 8 bits; they are mapped to a common space of 50 addresses from (0x40) up to (0x71). Within the used range there are several registers which are marked as ‘reserved’. Any reserved bit is ignored when it is written and no specific value is guaranteed when read.
Datasheet eCompass BMC150 Page 106 7.3 Chip ID Register (0x40) Chip ID contains the magnetometer chip identification number, which is 0x32. This number can only be read if the power control bit (register 0x4B bit0) is enabled. Table 25: Chip identification number, register (0x40) Bit 7 0 Bit 6 0 Bit 5 1 Bit 4 1 Bit 3 0 Bit 2 0 Bit 1 1 Bit 0 0 Register (0x41) is reserved 7.
Datasheet eCompass BMC150 Page 107 Register (0x44) contains the LSB part of y-axis magnetic field data and the self-test result flag for the y-axis.
Datasheet eCompass BMC150 Page 108 Register (0x47) contains the MSB part of z-axis magnetic field data.
Datasheet eCompass BMC150 Page 109 7.5 Interrupt status register Register (0x4A) contains the states of all magnetometer interrupts. Table 34: Interrupt status, register (0x4A) (0x4A) Bit Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Name Data overrun Overflow High Int Z High Int Y High Int X Low Int Z Low Int Y Low Int X BST-BMC150-DS000-04 | Revision 1.
Datasheet eCompass BMC150 Page 110 7.6 Power and operation modes, self-test and data output rate control registers Register (0x4B) contains control bits for power control, soft reset and interface SPI mode selection. This special control register is also accessible in suspend mode. Soft reset is executed when both bits (register 0x4B bit7 and bit1) are set “1”.
Datasheet eCompass BMC150 Page 111 Register (0x4C) contains control bits for operation mode, output data rate and self-test. The two “Adv. ST” bits control the on-chip advanced self-test (see chapter 4.4.2 for details of the magnetometer advanced self-test). The three “Data rate” bits control the magnetometer output data rate according to below Table 37. The two “Opmode” bits control the operation mode according to below Table 38 (see chapter 4.2.2 for a detailed description of magnetometer power modes).
Datasheet eCompass BMC150 Page 112 7.7 Interrupt and axis enable settings control registers Register (0x4D) contains control bits for interrupt settings. (Also refer to chapter 0 for the details of magnetometer interrupt operation).
Datasheet eCompass BMC150 Page 113 Register (0x4E) contains control bits interrupt settings and axes enable bits. (Also refer to chapter 0 for the details of magnetometer interrupt operation). If a magnetic measurement channel is disabled, its last measured magnetic output values will remain in the data registers. If the Z channel is disabled, the resistance measurement will also be disabled and the resistance output value will be set to zero.
Datasheet eCompass BMC150 Page 114 Register (0x50) contains the High-Threshold interrupt threshold setting. (Also refer to chapter 0 for the details of magnetometer interrupt operation and the threshold setting).
Datasheet eCompass BMC150 Page 115 Register (0x52) contains the number of repetitions for z-axis. Table 46 below shows the number of repetitions resulting out of the register configuration.
Datasheet eCompass BMC150 Page 116 8. Digital interfaces The BMC150 supports two serial digital interface protocols for communication as a slave with a host device for each of the accelerometer and magnetometer part: SPI and I²C. Accelerometer part and magnetometer part alone operate either both in I²C mode or either both in SPI mode, mixed communication protocols are not possible because the interface pins are shared.
Datasheet eCompass BMC150 Page 117 The following table shows the electrical specifications of the interface pins: Table 48: Electrical specification of the interface pins Parameter Symbol Pull-up Resistance Rup,SPI CSB in SPI mode Pull-up Resistance Rup,I2C CSB in I2C mode Input Capacitance Condition Internal Pull-up Resistance to VDDIO Internal Pull-up Resistance to VDDIO Min Typ Max Unit 37 55 74 k 70 120 190 k 20 pF 400 pF Cin I²C Bus Load Capacitance (max.
Datasheet eCompass BMC150 Page 118 The following figure shows the definition of the SPI timings given in Table 49: tCSB_setup tCSB_hold CSB SCK tSCKL tSCKH SDI SDO tSDI_setup tSDI_hold tSDO_OD Figure 19: SPI timing diagram The SPI interface of the BMC150 is compatible with two modes, “00” and “11”. The automatic selection between [CPOL = “0” and CPHA = “0”] and [CPOL = “1” and CPHA = “1”] is done based on the value of SCK after a falling edge of CSB.
Datasheet eCompass BMC150 Page 119 CSB SCK SDI R/W AD6 AD5 AD4 AD3 AD2 AD1 AD0 SDO DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0 Z tri-state Figure 20: 4-wire basic SPI write sequence (mode “11”) The basic read operation waveform for 4-wire configuration is depicted in Figure 21: CS B SC K SD I R/W AD 6 AD5 A 4 D A 3 A 2 D D AD 1 AD 0 SD O DO 7 DO 6 DO 5 DO 4 DO 3 DO 2 DO 1 DO tr -stat 0 i e Figure 21: 4-wire basic SPI read sequence (mode “11”) The data bits are used as follows: Bit0:
Datasheet eCompass BMC150 Page 120 The principle of multiple read is shown in Figure 22: Control byte Start RW CSB = 0 1 Register adress (02h) 0 0 0 0 0 1 0 X 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 X X X X X X X X X X X X Stop X X CSB = 1 Figure 22: SPI multiple read In SPI 3-wire configuration CSB (chip select low active), SCK (serial clock), and SDI (serial data input and
Datasheet eCompass BMC150 Page 121 8.2 Inter-Integrated Circuit (I²C) The I²C bus uses SCL (= SCK pin, serial clock) and SDA (= SDI pin, serial data input and output) signal lines. Both lines must be connected to VDDIO externally via pull-up resistors so that they are pulled high when the bus is free. The I²C interface of the BMC150 is compatible with the I²C Specification UM10204 Rev. 03 (19 June 2007), available at http://www.nxp.com.
Datasheet eCompass BMC150 Page 122 The timing specification for I²C of the BMC150 is given in: Table 51: I²C timings Parameter Clock Frequency SCL Low Period SCL High Period SDA Setup Time SDA Hold Time Setup Time for a repeated Start Condition Hold Time for a Start Condition Setup Time for a Stop Condition Time before a new Transmission can start Idle time between write accesses, normal mode, standby mode, low-power mode 2 Idle time between write accesses, suspend mode, lowpower mode 1 BST-BMC150-DS000-
Datasheet eCompass BMC150 Page 123 Below Figure shows the definition of the I²C timings given in Table 51: I²C timings: SD A tBUF tf t LOW SC L tHIGH tHDSTA tr tHDDAT t SUDAT SD A tSUSTA t SUSTO Figure 24: I²C timing diagram BST-BMC150-DS000-04 | Revision 1.0 | July 2014 Bosch Sensortec © 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.
Datasheet eCompass BMC150 Page 124 The I²C protocol works as follows: START: Data transmission on the bus begins with a HIGH to LOW transition on the SDA line while SCL is held HIGH (start condition (S) indicated by I²C bus master). Once the START signal is transferred by the master, the bus is considered busy. STOP: Each data transfer should be terminated by a Stop signal (P) generated by master. The STOP condition is a LOW to HIGH transition on SDA line while SCL is held HIGH.
Datasheet eCompass BMC150 Page 125 I²C write access: I²C write access can be used to write a data byte in one sequence. The sequence begins with start condition generated by the master, followed by 7 bits slave address and a write bit (RW = 0). The slave sends an acknowledge bit (ACK = 0) and releases the bus. Then the master sends the one byte register address. The slave again acknowledges the transmission and waits for the 8 bits of data which shall be written to the specified register address.
Datasheet eCompass BMC150 Page 126 Example of an I²C multiple read accesses: Data byte Slave Adress Start Sr 0 0 1 0 0 Read Data (0x02) RW ACKS 0 0 1 Data byte X X X X X X Read Data (0x03) ACKM X X X X X Data byte X … X X X X X X X X X X X X X X X X X Data byte Data byte Read Data (0x07) X X … X Read Data (0x05) ACKM Read Data (0x06) X X Data byte Read Data (0x04) … X ACKM X ACKM X X X X X X X X ACKM X … X NACK X X Stop P Fi
Datasheet eCompass BMC150 Page 127 9. Pin-out and connection diagram 9.
Datasheet eCompass BMC150 Page 128 9.2 Connection diagram 4-wire SPI SDI 14 SDI VDDIO CSB 13 PS VDD 12 CSB SDO 1 SDO 11 SCK INT1 or NC 2 INT1 10 VDDIO INT2 or NC 3 INT2 DRDY or NC 4 DRDY TOP VIEW (pads not visible) SCK 9 GND 8 VDD 5 INT3 6 GND 7 GND C2 C1 INT3 or NC Figure 30: 4-wire SPI connection diagram Note: The recommended value for C1 and C2 is 100 nF. BST-BMC150-DS000-04 | Revision 1.
Datasheet eCompass BMC150 Page 129 9.3 Connection diagram 3-wire SPI SDI/SDO 14 SDI VDDIO CSB 13 PS VDD 12 CSB 1 SDO 11 SCK INT1 or NC 2 INT1 10 VDDIO INT2 or NC 3 INT2 DRDY or NC 4 DRDY TOP VIEW (pads not visible) SCK 9 GND 8 VDD 5 INT3 6 GND 7 GND C2 C1 INT3 or NC Figure 31: 3-wire SPI connection diagram Note: The recommended value for C1 and C2 is 100 nF. BST-BMC150-DS000-04 | Revision 1.
Datasheet eCompass BMC150 Page 130 9.4 Connection diagram I2C SDA 14 SDI VDDIO 13 PS VDD 12 CSB I²C address bit 0 GND: 0; VDDIO: '1' 1 SDO 11 SCK INT1 or NC 2 INT1 10 VDDIO INT2 or NC 3 INT2 DRDY or NC 4 DRDY TOP VIEW (pads not visible) SCL 9 GND 8 VDD 5 INT3 6 GND 7 GND C2 C1 INT3 or NC Figure 32: I²C connection diagram Note: The recommended value for C1 and C2 is 100 nF. BST-BMC150-DS000-04 | Revision 1.
Datasheet eCompass BMC150 Page 131 10. Package 10.1 Outline dimensions The sensor housing is a standard LGA 2.2 x 2.2 14-lead package. Its dimensions are the following: Figure 33: Package outline dimensions BST-BMC150-DS000-04 | Revision 1.0 | July 2014 Bosch Sensortec © 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.
Datasheet eCompass BMC150 Page 132 10.2 Sensing axes orientation The magnetic and acceleration sensing axes of the BMC150 are matching. If the sensor is accelerated in the indicated directions, the corresponding channel will deliver a positive acceleration signal (dynamic acceleration). If the sensor is at rest and the force of gravity is acting along the indicated directions, the output of the corresponding channel will be negative (static acceleration).
Datasheet eCompass BMC150 Page 133 10.3 Android axes orientation The Android coordinate system is shown in Figure 35. The origin is in the lower-left corner with respect to the screen, with the X axis horizontal and pointing right, the Y axis vertical and pointing up and the Z axis pointing outside the front face of the screen. In this system, coordinates behind the screen have negative Z values.
Datasheet eCompass BMC150 Page 134 Figure 36: Heading, pitch and roll in Android coordinate frame BST-BMC150-DS000-04 | Revision 1.0 | July 2014 Bosch Sensortec © 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.
Datasheet eCompass BMC150 Page 135 10.4 Landing pattern recommendation For the design of the landing pattern, we recommend the following dimensioning: Figure 37: Landing patterns relative to the device pins, dimensions are in mm BST-BMC150-DS000-04 | Revision 1.0 | July 2014 Bosch Sensortec © 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.
Datasheet eCompass BMC150 Page 136 10.5 Marking 10.5.1 Mass production devices Table 54: Marking of mass production samples Labeling CCC TL Name Symbol Remark First letter of second row T internal use Second letter of second row L internal use Lot counter CCC Numerical counter Pin 1 identifier 10.5.
Datasheet eCompass BMC150 Page 137 10.6 Soldering guidelines The moisture sensitivity level of the BMC150 sensors corresponds to JEDEC Level 1, see also: IPC/JEDEC J-STD-020C “Joint Industry Standard: Moisture/Reflow Sensitivity Classification for non-hermetic Solid State Surface Mount Devices” IPC/JEDEC J-STD-033A “Joint Industry Standard: Handling, Packing, Shipping and Use of Moisture/Reflow Sensitive Surface Mount Devices”.
Datasheet eCompass BMC150 Page 138 10.7 Handling instructions Micromechanical sensors are designed to sense acceleration with high accuracy even at low amplitudes and contain highly sensitive structures inside the sensor element. The MEMS sensor can tolerate mechanical shocks up to several thousand g. However, these limits might be exceeded in conditions with extreme shock loads such as e.g. hammer blow on or next to the sensor, dropping of the sensor onto hard surfaces etc.
Datasheet eCompass BMC150 Page 139 10.8 Tape and reel specification 10.8.1 Tape and reel dimensions The following picture describes the dimensions of the tape used for shipping the BMC150 sensor device. The material of the tape is made of conductive polystyrene (IV). Figure 39: Tape and reel dimensions in mm 10.8.2 Orientation within the reel Processing direction Figure 40: Orientation of the BMC150 devices relative to the tape BST-BMC150-DS000-04 | Revision 1.
Datasheet eCompass BMC150 Page 140 10.9 Environmental safety The BMC150 sensor 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 8 September 2011 on the restriction of the use of certain hazardous substances in electrical and electronic equipment. 10.9.1 Halogen content The BMC150 is halogen-free. For more details on the analysis results please contact your Bosch Sensortec representative.
Datasheet eCompass BMC150 Page 141 11. Legal disclaimer 11.1 Engineering samples Engineering Samples are marked with an asterisk (*) or (e) 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.
Datasheet eCompass BMC150 Page 142 12. Document history and modification Rev. No Chapter 0.1 9.1 0.2 0.3 0.4 1.0 1.3 10.1 10.5 10.8.1 1.2 1.3 8.2 8 10 6.2 1.2 1.3 2 4.2.1 4.3.1, 6.5 4.5.1 4.5.2 4.7.3 4.7.6 4.7.7 4.7.8, 6.11 4.7.10 6.7 6.9 6.11 6.12 6.15 8.1 8.2 10.1 10.