你的位置:首页 >> 产品展示 >> 薄膜压力传感器系统 >> MEMs压力传感器  MEMs压力传感器
bmp085模块
来源:薄膜压力传感器压力分布 | 发布时间:2022/7/19 17:37:15 | 浏览次数:

表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

 

 
TAG:
打印本页 || 关闭窗口
 上一篇:BMP180数字压力传感器
 下一篇:BMP280