Specifications

BMA180
Preliminary data sheet
Bosch Sensortec
Rev. 1.0 Page 56 / - 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.
update can optionally be blocked until it is also accessed for read (in fact, MSB content is
copied in a shadow register and MSB access is re-directed to this copy which is not affected by
updates). Thus, MSB overflow can be avoided.
It is not possible to read-out only MSB bytes if shadow_dis=0, an LSB byte must first be read
out (if not, shadow register is never updated and MSB value is always identical to first read
value). To be able to read out only MSB byte, shadow_dis must be written to 1.
new_data_* flags at bit position 0 of acc_x_lsb, acc_y_lsb and acc_z_lsb can also be used to
detect if acceleration values have already been read out.
If systematic acceleration values read out is planned, new data interrupt should be used. Each
time all temperature + 3 axes values have been updated, INT goes high and microcontroller
must read out data. With this method, microcontroller accesses are synchronized with internal
BMA180 updates (see picture below).
INT
T X Y Z T X Y Z T X Y Z T X Y Z T X Y Z T X Y Z
ADC conversion
sequence
Acceleration read out and reset_int
should occur immediately after INT
rising edge
T X Y Z
New read-out
Figure 10: ADC conversion sequence and synchronization with read-out of acceleration
values
Synchronization of read-out sequences with internal ADC conversions has two goals:
1. it enables a constant phase shift between acceleration value and its digital correspond-
ding value read by microprocessor.
2. noise due to SPI activity perturbation is always generated during the less critical
conversion of temperature value. Each ADC conversion takes typically ¼*Tupdate, thus,
this is the maximum delay advised to read out acceleration data with lowest noise as
possible.
Remark:
Without using new-data interrupt, sensor is still in spec, using it is mainly optimizing it.
When acceleration read-out is synchronized by the new_data interrupt feature, each Tupdate
only 1 read sequence occurs. Indeed, 4 channels (temperature + 3 axes) are updated between
each new data interrupt.
Noise perturbations due to serial interface pad switching should be avoided. This is especially
true when many slave ICs are connected on same serial data and clock pins. Much noise could