表4:BMP180软件精度模式概述,由驱动程序软件通过变量software\u oversampling\u设置选择
模式
参数
过采样设置
软件过采样设置
最大转换时间压力[ms]
平均电流@1采样/秒典型值。[μA]
均方根噪声类型。[hPa]
均方根噪声类型。[m]
高级分辨率
3.
1.
76.5
32
0.02
0.17
3.4校准系数
176位E2PROM被划分为11个字,每个字16位。其中包含11个校准系数。每个传感器模块都有各自的系数。在首次计算温度和压力之前,主机读取E2PROM数据。
可以通过检查所有文字的值是否为0或0xFFFF来检查数据通信。
表5:校准系数
BMP180 reg adr
参数
MSB
LSB公司
AC1
0xAA
0xAB
AC2型
0xAC
0xAD
AC3
0xAE
0xAF
AC4
0xB0
0xB1
AC5型
0xB2
0xB3
AC6
0xB4
0xB5
地下一层
0xB6
0xB7
地下二层
0xB8
0xB9
MB
0xBA
0xBB
国会议员
0xBC
0xBD
医学博士
0xBE
0xBF
数据表
BMP180
第14页
BST-BMP180-DS000-07 |版本2.3 | 2011年5月Bosch Sensortec
©Bosch Sensortec GmbH保留所有权利,即使是在工业产权的情况下。我们保留所有处置权,如复制和传递给第三方
各方。BOSCH和符号是德国Robert BOSCH GmbH的注册商标。
注:本文件中的规格如有更改,恕不另行通知。
3.5计算压力和温度
模式(超低功率、标准、高、超高分辨率)可以通过C代码中的可变过采样_设置(0、1、2、3)来选择。
以1Pa(=0.01hPa=0.01mbar)为步长计算真实温度和压力,以0.1°C为步长计算温度。
下图显示了压力和温度测量的详细算法。
该算法可作为参考C源代码(“BMP180\uAPI”)从Bosch Sensortec并通过其销售和分销合作伙伴提供给客户。有关详细信息,请联系您的Bosch Sensortec代表。
数据表
BMP180
第15页
BMP180的压力和温度计算
C代码函数:类型:bmp180\u get\u cal\u param AC1(0xAA,0xAB)(16位)AC1=408short AC2(0xAC,0xAD)(16位)AC2=-72short AC3(0xAE,0xAF)(16位)AC3=-14383 short AC4(0xB0,0xB1)(16位)AC4=32741未签名短AC5(0xB2,0xB3)(16位)AC5=32757未签名短AC6(0xB4,0xB5)(16位)AC6=23153unsigned short B1(0xB6,0xB3)B7)(16位)B1=6190short B2(0xB8,0xB9)(16位)B2=4short MB(0xBa,0xBB)(16位)MB=-32767short MC(0xBC,0xBD)(16位)MC=-8711short MD(0xBE,0xBF)(16位)MD=2868shortbmp180\u get\u utUT=27898longoss=0=oversampling\u settingshort(0.3)(超低功率模式)BMP180\u get\u upUP=23843longbP180\u get\u temperatureX1=(UT-AC6)*AC5/215X1=4743longX2=MC*211/(X1+MD)X2=-2344longB5=X1+X2B5=2399长=(B5+8)/24T=150T英寸0.1°ClongBMP180_calpressureB6=B5-4000B6=-1601longX1=(B2*(B6*B6/212))/211X1=1longX2=AC2*B6/211X2=56longX3=X1+X2X3=57longB3=((AC1*4+X3)<>oss)B7=1171050000longif(B7<0x8000000){p=(B7*2)/B4}p=70003long,否则{p=(B7/B4)*2}longX1=(p/28)*(p/28)X1=74774longX1=(X1*3038)/216X1=3466longX2=(-7357*p)/216X2=-7859longp=p+(X1+X2+3791)/24p=69965press。在Palongread未补偿温度值UT=MSB<8+LSBUP=(MSB<16+LSB<8+XLSB)>>(8-oss)将0x2E写入reg 0xF4,等待4.5msread reg 0xF6(MSB),0xF7(LSB)示例:从BMP180的E2PROM读取校准数据读取E2PROM寄存器,16位,MSB firstdisplay temperature and pressure Value Calculate true temperature read uncompensated pressure Value将0x34+(oss<<6)写入reg 0xF4、waitread reg 0xF6(MSB)、0xF7(LSB)、0xF8(XLSB)Start
图4:压力和温度测量算法
BST-BMP180-DS000-07 |版本2.3 | 2011年5月Bosch Sensortec
©Bosch Sensortec GmbH保留所有权利,即使是在工业产权的情况下。我们保留所有处置权,如复制和传递给第三方
各方。BOSCH和符号是德国Robert BOSCH GmbH的注册商标。
注:本文件中的规格如有更改,恕不另行通知。
数据表
BMP180
第16页
3.6计算绝对高度
根据测得的压力p和海平面压力p0,例如1013.25hPa,可以使用国际气压公式计算海拔高度(米):
5.25510pp-1*44330高度
因此,Δp=1hPa的压力变化对应于海平面上的8.43m。
-10000100020003004000500060007008000900030040050060070090010001100hpa海拔高度[m]标准大气中的高度
图5:传递函数:海拔高度-气压图5:传递函数:海拔高度-大气压
BST-BMP180-DS000-07 |版本2.3 | 2011年5月Bosch Sensortec
©Bosch Sensortec GmbH保留所有权利,即使是在工业产权的情况下。我们保留所有处置权,如复制和传递给第三方
各方。BOSCH和符号是德国Robert BOSCH GmbH的注册商标。
注:本文件中的规格如有更改,恕不另行通知。
数据表
BMP180
第17页
3.7计算海平面压力
利用测得的压力p和绝对高度,可以计算海平面上的压力:
255.5044330海拔-1p p p
因此,Δaltitude=10m的高度差对应于海平面上1.2hPa的压力变化。
BST-BMP180-DS000-07 |版本2.3 | 2011年5月Bosch Sensortec
©Bosch Sensortec GmbH保留所有权利,即使是在工业产权的情况下。我们保留所有处置权,如复制和传递给第三方
各方。BOSCH和符号是德国Robert BOSCH GmbH的注册商标。
注:本文件中的规格如有更改,恕不另行通知。
数据表
BMP180
第18页
4、全局内存映射
下面的内存映射图显示了操作BMP180所需的所有外部可访问数据寄存器。左栏显示内存地址。中间的列描述每个寄存器位的内容。位的颜色表示它们是只读的、只读的还是可读写的。内存是易变的,因此每次通电后都必须重新写入可写内容。
并非所有寄存器地址都显示。这些寄存器保留用于博世工厂的进一步测试和修整。
寄存器名称寄存器地址bit7bit6bit5bit4bit3bit2bit1bit0reset stateout\u xlsbF8h00000hout\u lsbF7h00hout\u msbF6h80hctrl\u measF4hsco00hsoft resetE0h00hidD0h55hcalib21 down to calib0BFh down to AAhn/a寄存器:控制寄存器校准寄存器数据寄存器固定类型:读/写只读只读只读只读只读alib21<7:0>down tocalib0<7:0>adc\u out\u xlsb<7:3>resetid<7:0>adc\u out\u lsb<7:0>adc\u out\u msb<7:0>oss<1:0>测量控制
图6:内存映射
测量控制(寄存器F4h):控制测量。有关用法的详细信息,请参阅表6。
Sco(寄存器F4h):转换开始。该位的值在转换期间保持“1”,并在转换完成后重置为“0”(填充数据寄存器)。
Oss(寄存器F4h):控制压力测量的过采样率(00b:single,01b:2倍,10b:4倍,11b:8倍)。
软复位(寄存器E0h):只写寄存器。如果设置为0xB6,将执行与上电重置相同的顺序。
芯片id(寄存器D0h):该值固定为0x55,可用于检查通信是否正常。
转换后,可以按任何顺序读取数据寄存器(即MSB优先或LSB优先)。使用突发读取不是强制性的。
BST-BMP180-DS000-07 |版本2.3 | 2011年5月Bosch Sensortec
©Bosch Sensortec GmbH保留所有权利,即使是在工业产权的情况下。我们保留所有处置权,如复制和传递给第三方
各方。BOSCH和符号是德国Robert BOSCH GmbH的注册商标。
注:本文件中的规格如有更改,恕不另行通知。
数据表
BMP180
第19页
BST-BMP180-DS000-07 |版本2.3 | 2011年5月Bosch Sensortec
©Bosch Sensortec GmbH保留所有权利,即使是在工业产权的情况下。我们保留所有处置权,如复制和传递给第三方
各方。BOSCH和符号是德国Robert BOSCH GmbH的注册商标。
注:本文件中的规格如有更改,恕不另行通知。
5、I2C接口
I2C是一种数字双线接口
时钟频率高达3.4Mbit/sec。(I2C标准,支持快速和高速模式)
SCL和SDA需要一个上拉电阻器,典型值。4.7kOhm至VDDIO(所有I2C总线各一个电阻器)
I2C总线用于控制传感器,从E2PROM读取校准数据,并在A/D转换完成时读取测量数据。SDA(串行数据)和SCL(串行时钟)具有开漏输出。
有关I2C总线的详细规格,请参阅:http://www.nxp.com/acrobat_download/literature/9398/39340011.pdf
5.1 I2C规范
表6:I2C接口的电气参数
参数
象征
最小。
类型
最大值。
单位
时钟输入频率
fSCL公司
3.4
兆赫
输入低电平
VIL公司
0
0.2*VDDIO
五、
输入高电平
VIH公司
0.8*VDDIO
VDDIO公司
五、
SDA和SCL上拉电阻器
R向上拉
2.2
10
科姆
在VDDIO=1.62V,VOL=0.3V时,SDA吸收电流
ISDA_接收器
9
妈妈
通电后首次通信前的启动时间
t启动
10
太太
数据表
BMP180
第20页
5.2设备和寄存器地址
BMP180模块地址如下所示。设备地址的LSB区分读取(1)和写入(0)操作,对应于地址0xEF(读取)和0xEE(写入)。
桌子5.3 I2C协议
I2C接口协议具有特殊的总线信号条件。启动(S)、停止(P)和二进制数据条件如下所示。在启动条件下,SCL较高,SDA有下降沿。然后发送从属地址。在7个地址位之后,方向控制位R/W选择读或写操作。当从设备识别到它正在被寻址时,它应该在第九个SCL(ACK)周期中将SDA拉低以进行确认。
在停止条件下,SCL也很高,但SDA有上升沿。当SCL高时,数据必须在SDA保持稳定。只有当SCL较低时,数据才能在SDA处更改值。
建议的通电顺序为先VDD高,然后VDDIO高。如果VDDIO在VDD之前上升,则有可能增加功耗(非破坏性),直到VDD上升并完成通电重置。
图7:I2C协议BST-BMP180-DS000-07 |版本2.3 | 2011年5月Bosch Sensortec
©Bosch Sensortec GmbH保留所有权利,即使是在工业产权的情况下。我们保留所有处置权,如复制和传递给第三方
各方。BOSCH和符号是德国Robert BOSCH GmbH的注册商标。
注:本文件中的规格如有更改,恕不另行通知。
数据表
BMP180
第21页
5.4启动温度和压力测量
开始测量温度值UT和压力值UP的时序图如下所示。启动条件后,主机发送设备地址写入、寄存器地址和控制寄存器数据。当接收到数据时,BMP180每8个数据位发送一个确认(ACKS)。主机在最后一次确认后发送停止条件。
图8:启动压力测量的时序图
缩写:
S开始
P停止
从机确认ACKS
主站确认ACKM
NACKM未被主机确认
表8:不同内部过采样设置(oss)的控制寄存器值
测量
控制寄存器值
(寄存器地址0xF4)
最大转换时间
[ms]
温度
0x2E
4.5
压力
(oss=0)
0x34
4.5
压力
(oss=1)
0x74
7.5
压力
(oss=2)
0xB4
13.5
压力
(oss=3)
0xF4
25.5
BST-BMP180-DS000-07 |版本2.3 | 2011年5月Bosch Sensortec
©Bosch Sensortec GmbH保留所有权利,即使是在工业产权的情况下。我们保留所有处置权,如复制和传递给第三方
各方。BOSCH和符号是德国Robert BOSCH GmbH的注册商标。
注:本文件中的规格如有更改,恕不另行通知。
5.5读取A/D转换结果或E2PROM数据
要读取温度数据字UT(16位)、压力数据字UP(16至19位)和E2PROM数据,请按以下步骤进行:
在启动条件之后,主机发送模块地址写入命令和寄存器地址。寄存器地址选择读取寄存器:
E2PROM数据寄存器0xAA到0xBF
温度或压力值UT或以上0xF6(MSB),0xF7(LSB),可选0xF8(XLSB)
然后,主机发送重启条件,然后读取模块地址,该地址将由BMP180(ACKS)确认。BMP180首先发送8个MSB,由主机(ACKM)确认,然后发送8个LSB。主机发送“未确认”(NACKM),最后发送停止条件。
对于超高分辨率,可以读取地址为0xF8的XLSB寄存器,以将16位字扩展到最多19位;请参阅应用程序编程接口(API)软件版本。1.1(“BMP180\uAPI”,可从Bosch Sensortec获得)。
S
氯
S
ACKS公司
模块地址
写入0xEE
ACKS公司
注册地址
e、 g.0xF6
MSB,例如。
ADC结果0x5C
ACKS公司
模块地址
读取0xEF
重新启动
ACKM公司
LSB,例如。
ADC结果0x96
NACKM公司
S
DA公司
P
图9:时序图读取16位A/D转换结果
数据表
BMP180
第23页
6、包装
6.1引脚配置
图中显示了设备的顶视图。此处显示的设备引脚仅用于定向目的。
5.
6.
4.
2 1 7
3.
图10:布局引脚配置BMP180
表9:BMP180引脚配置
在No
名称
作用
1.
CSB公司*
芯片选择
2.
虚拟磁盘驱动器
电源
3.
VDDIO公司
数字电源
4.
SDO公司*
SPI输出
5.
SCL公司
I2C串行总线时钟输入
6.
SDA公司
I2C串行总线数据(或SPI输入)
7.
接地
地
*根据客户的要求,可以使用具有SPI接口的pin兼容产品变体。对于I2C(标准情况),未使用CSB和SDO,它们必须保持打开状态。
所有引脚必须焊接到PCB上,以实现对称应力输入,即使它们没有内部连接。
BST-BMP180-DS000-07 |版本2.3 | 2011年5月Bosch Sensortec
©Bosch Sensortec GmbH保留所有权利,即使是在工业产权的情况下。我们保留所有处置权,如复制和传递给第三方
各方。BOSCH和符号是德国Robert BOSCH GmbH的注册商标。
注:本文件中的规格如有更改,恕不另行通知。
数据表
BMP180
第24页
6.2外形尺寸
传感器壳体为7针LGA
|