BMP085 Bosch Sensortec, BMP085 Datasheet - Page 13
![DIGITAL BAROMETRIC PRESSURE SNSR](/photos/14/38/143849/bmp085_sml.jpg)
BMP085
Manufacturer Part Number
BMP085
Description
DIGITAL BAROMETRIC PRESSURE SNSR
Manufacturer
Bosch Sensortec
Specifications of BMP085
Pressure Type
Absolute
Operating Pressure
4.35 ~ 15.95 PSI, 300 ~ 1100 hPa
Port Size
Female, 0.591" (1.5mm) Flush
Output
Digital
Voltage - Supply
1.62 V ~ 3.6 V
Termination Style
Surface Mount
Operating Temperature
-40°C ~ 85°C
Package / Case
8-CLCC
For Use With
828-1012 - BMP085 DAUGHTERCARD FOR DEV KIT
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Other names
828-1005-2
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
BMP085
Manufacturer:
BUSSMANN
Quantity:
1 000
Part Number:
BMP085
Manufacturer:
BOSCH/博世
Quantity:
20 000
Calculation of pressure and temperature for BMP085
UT = MSB << 8 + LSB
UP = (MSB<<16 + LSB<<8 + XLSB) >> (8-oss)
X1 = (UT - AC6) * AC5 / 2
X2 = MC * 2
B5 = X1 + X2
T = (B5 + 8) / 2
B6 = B5 - 4000
X1 = (B2 * (B6 * B6 / 2
X2 = AC2 * B6 / 2
X3 = X1 + X2
B3 = ((AC1*4+X3) << oss + 2) / 4
X1 = AC3 * B6 / 2
X2 = (B1 * (B6 * B6 / 2
X3 = ((X1 + X2) + 2) / 2
B4 = AC4 * (unsigend long)(X3 + 32768) / 2
B7 = ((unsigned long)UP - B3) * (50000 >> oss)
if (B7 < 0x80000000) { p = (B7 * 2) / B4 }
X1 = (p / 2
X1 = (X1 * 3038) / 2
X2 = (-7357 * p) / 2
p = p + (X1 + X2 + 3791) / 2
else { p = (B7 / B4) * 2 }
read reg 0xF6 (MSB), 0xF7 (LSB), 0xF8 (XLSB)
read out E
read uncompensated temperature value
display temperature and pressure value
write 0x34+(oss<<6) into reg 0xF4, wait
read uncompensated pressure value
write 0x2E into reg 0xF4, wait 4.5ms
read reg 0xF6 (MSB), 0xF7 (LSB)
from the E
8
) * (p / 2
11
calculate true temperature
2
/ (X1 + MD)
calculate true pressure
PROM registers, 16 bit, MSB first
Read calibration data
4
AC2 (0xAC, 0xAD)
AC1 (0xAA, 0xAB)
AC3 (0xAE, 0xAF)
AC4 (0xB0, 0xB1)
AC5 (0xB2, 0xB3)
AC6 (0xB4, 0xB5)
11
13
MC (0xBC, 0xBD)
MB (0xBa, 0xBB)
MD (0xBE, 0xBF)
B1 (0xB6, 0xB7)
B2 (0xB8, 0xB9)
16
8
2
16
PROM of the BMP085
)
Start
12
12
2
)) / 2
)) / 2
1 5
4
16
11
15
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
(16 bit)
example:
AC1 =
AC2 =
AC3 =
AC4 =
AC5 =
AC6 =
B1 =
B2 =
MB =
MC =
MD =
UT =
oss =
= oversampling_setting
(ultra low power mode)
UP =
X1 =
X2 =
B5 =
T =
B6 =
X1 =
X2 =
X3 =
B3 =
X1 =
X2 =
X3 =
B4 =
B7 =
p =
X1 =
X1 =
X2 =
p =
1171050000
-14383
-32768
27898
23843
32741
32757
23153
33457
70003
74529
69964
-8711
-2344
-1601
-7859
6190
2868
4743
2399
2810
3454
408
150
422
717
-72
56
57
59
4
0
1
C code function:
bmp085_get_cal_param
bmp085_get_ut
bmp085_get_up
bmp085_get_temperature
temp in 0.1° C
BMP085_calpressure
press. in Pa
type:
short
short
short
unsigned short
unsigned short
unsigned short
short
short
short
short
short
long
short (0 .. 3)
long
long
long
long
long
long
long
long
long
long
long
long
long
unsigned long
unsigned long
long
long
long
long
long
long