Specifications
BMA180
Preliminary data sheet
Bosch Sensortec
Rev. 1.0 Page 48 / - proprietary information - 06 March 2009
© Bosch Sensortec GmbH reserves all rights even in the event of industrial property rights. We reserve all rights of disposal such
as copying and passing on to third parties. BOSCH and the symbol are registered trademarks of Robert Bosch GmbH, Germany.
Specifications within this document are preliminary and subject to change without notice. Document is not intended for publication.
fine_offset_* bits
Correspondance to
low int registers
Register Comments
fine_offset_x
low_th 29h LSB to '0'
fine_offset_y
low_dur 26h -
low_int_x bit 6
low_int_y bit 5
low_int_z bit 4
low_filt bit 3
low_hy<4> bit 2
low_hy<3> bit 1
low_hy<2> bit 0
25h
23h
fine_offset_z
• The full calibration
is the combination of these both calibrations.
7.10.3.3 Offset fine-tuning algorithm
The procedure to run the offset calibration is the following:
1. Set offset_finetuning to a value different to ‘00’. The low interrupt function is consequently
disabled if the offset_finetuning bit 0 is set to ‘1’.
2. Set the appropriate en_offset_* bit(s) to ‘1’ corresponding to the chosen axis.
Remarks:
• If more than one bit is set to ‘1’, only one of the selected axis will be tuned.
• If any of the bits is set to ‘1’ during the offset regulation is in progress, the
corresponding bit will be set to ‘1’ but the regulation currently in progress is not
disturbed.
• As soon as the regulation is done, all bits are reset to ‘0’ by the sensor itself.
Once the procedure (step 1+2, see above) is completed, the offset calibration sequence starts:
a) Coarse calibration is performed and new offset codes are stored in the appropriate
offset_* image register, corresponding to the chosen axis in step 2 (see above). This
calibration is performed only if offset_finetuning = ‘10’ or ‘11’.
b) Fine calibration is performed using internal averaging to achieve best accuracy
(noise reduction). In fact, the result of the average corresponds to the fine_offset
code (offset value), which is stored in the appropriate fine_offset_* image register,
corresponding to the chosen axis in step 2 (see above). If an error occurs, the code
of this register is either ‘0111111’ in the case of acceleration value is positive or
‘1000000’ otherwise. This calibration is performed only if offset_finetuning = ‘01’ or
‘11’.
c) Status bit offset_st_s is set and a pulse interrupt signal of 1*Tupdate length is
generated, indicating that the offset cancellation sequence is finished. This bit can be










