Datasheet

Table Of Contents
Datasheet
BMM150 Geomagnetic Sensor
Page 16
BST-BMM150-DS001-01 | Revision 1.0 | April 2013 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.
4.4 Self-test
BMM150 supports two self-tests modes: Normal self-test and advanced self-test.
4.4.1 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.
FlipCore (X and Y) connection to ASIC are checked for connectivity and short circuits
Hall sensor connectivity is checked for open and shorted connections
Hall sensor signal path and hall sensor element offset are checked for overflow.
To perform a self test, the sensor must first be put into sleep mode (OpMode = “11”). Self-test
mode is then entered by setting the bit “Self test” (register 0x4C bit0) to “1”. After performing self
test, this bit is set back to “0”. When self-test is successful, the corresponding self-test result bits
are set to 1” (“X-Self-Test” register 0x42 bit0, Y-Self-Test register 0x44 bit0, “Z-Self-Test”
register 0x46 bit0). If self-test fails for an axis, the corresponding result bit returns “0”.
4.4.2 Advanced self test
Advanced self test performs a verification of the Z channel signal path functionality and
sensitivity. An on-chip coil wound around the hall sensor can be driven in both directions with a
calibrated current to generate a positive or negative field of around 100 µT.
Advanced self test is an option that is active in parallel to the other operation modes. The only
difference is that during the active measurement phase, the coil current is enabled. The
recommended usage of advanced self test is the following:
1. Set sleep mode
2. Disable X, Y axis
3. Set Z repetitions to desired level
4. Enable positive advanced self test current
5. Set forced mode, readout Z and R channel after measurement is finished
6. Enable negative advanced self test current
7. Set forced mode, readout Z and R channel after measurement is finished
8. Disable advanced self test current (this must be done manually)
9. Calculate difference between the two compensated field values. This difference should
be around 200 µT with some margins.
10. Perform a soft reset of manually restore desired settings
Please refer to the corresponding application note for the exact thresholds to evaluate
advanced self-test.
The table below describes how the advanced self-test is controlled: