气压BST BMP280 DS001 10阅读剖析.docx
《气压BST BMP280 DS001 10阅读剖析.docx》由会员分享,可在线阅读,更多相关《气压BST BMP280 DS001 10阅读剖析.docx(27页珍藏版)》请在冰豆网上搜索。
气压BSTBMP280DS00110阅读剖析
BMP280:
数据表
文档修订1.12
文档发布日期7月11日,2014年
文件编号BST-BMP280-DS001-10
技术参考代码(s)02733003540273300391,0273300416
备注:
本文档中的数据如有更改,恕不另行通知。
产品照片和图片仅供演示目的,可能不同实际产品的外观。
BMP280数字压力传感器(DIGITALPRESSURESENSOR)
关键参数
压力范围300…1100hPa(equiv.+9000…-500高于/低于海平面)
LGAmetal-lid包有
引脚规格:
2.0×2.5毫米,高度:
0.95毫米
±0.12hPaequiv.±1m相对精度
(950…1050hpa@25°C)
绝对精度±1hPatyp。
(950…1050hPa0…+40°C)
温度系数补偿1.5Pa/K,equiv.12.6cm/K
(25…40°C@900hPa)
I2C(3.4兆赫)数字接口
和4线,10MHz)SPI(3电流消耗采样率2.7μA@1Hz
温度范围-40…+85°C
通过无铅认证无卤
标准一级湿度感应
典型的应用
?
增强GPS导航(例如time-to-first-fix改进、船位推算,斜率检测)
?
室内导航(地板检测、电梯检测)
?
户外导航、休闲和运动的应用程序
?
天气预报
?
医疗保健应用程序(如肺量测定法)
?
垂直速度指示(如上升/下沉速度)
目标设备
?
手机,如手机、平板电脑、GPS设备?
导航系统
?
家里气象站便携式医疗设备?
?
?
飞行玩具手表
一般的描述
罗伯特?
博世是世界上为压力传感器在汽车和消费市场的领导者应用程序。
博世的专有APSM
MEMS(先进的多孔硅膜)生产过程完全是CMOS兼容,并允许一个密封的密封腔的全硅的过程。
BMP280基于博世的压阻压力传感器技术EMC稳健性高、准确度高、线性和长期稳定性。
BMP280是绝对气压传感器特别是在易变环境中的应用。
传感器模块是装在一个非常紧凑的栅格阵列允许电池@1Hz2.7μA毫米包高度。
它的小尺寸和低功耗的0.95和2毫米2.52.0×包的封装只有封装,
中的实现驱动的设备,如手机、GPS模块或手表。
广泛采用BMP180继承者,BMP280提供高性能需要精确的压力测量的应用程序。
BMP280运行低噪音,支持新过滤器模式和SPI接口在一个BMP180引脚小于63%。
BMP180TCO在同一时间。
新兴的室内导航的应用、医疗保健以及GPS细化要求相对精度高和低的和BMP280是适合应用与如地板检测,因为传感器特性优良,相对的hPa精度±0.12,相当于±1米高度的差异。
非常低的补偿温度系数(TCO)1.5Pa/K的转化为只有12.6厘米/K的温度漂移。
BMP280各项性能指标
封装2.0×2.5mm
最低电压1.71VIO口最低电压1.20V
电流损耗(3Pa均方根噪声)1.2uA均方根噪声1.3Pa
压力分辨率1.6Pa
温度分辨率0.01。
C
接口I2C&SPI(3和4线,模式“00”和“11”)测量模式P&T,forcedorperiodic
测量速率可达175Hz筛选器选项五个带宽
1.设计规格
?
全电压范围内所有的值是有效的
?
最小/最大值都给出完整的准确温度范围
?
最大值/最小值的漂移,补偿和温度系数是±3在运行中
?
电流和状态机的典型值确定计时25°C
?
最小/最大电流的值确定使用区域很多在温度范围完成
?
最小/最大值状态机的计时决心使用范围很多在0…+65°C的温度范围
规范表分成BMP280压力和温度的一部分
表2:
参数规范
参数标志条件最小值典型值最大值单位
。
+85C
-4025操作温度范围TA操作+650
满精度
Hpa1100工作压力范围P
满精度300
V3.61.8传感器电源电压V_DD波动最大值50mV1.71
V1.21.83.6V_IODD接口电源电压
uA2.84.2电源电流I_DDLP1赫兹强制模式中,压力和温度,最低的能量
uA峰值电流I_peak压力测量期间7201100
电流在温度测量I_DDTuA325
0.30.1uAI_DDSL睡眠电流25。
C
0.225(待机电流不活跃的I_DDSB。
C0.5uA
2)时期正常模式+-0.12700…900hPaA_relhPa相对精读的压力值m
25...40°CV_DD=3V+-1.0
VDD=VDDIO=1.8V1典型值,VDD=VDDIO=3.6V最大价值。
典型值2。
VDD=VDDIO=3.6V最大价值VDD=VDDIO=1.8V,3目标值
温度补偿系数TCO900hPa25...40°C+1.5Pa/K
cm/K12.6
Pa/K300...1100hPa-20...0°C绝对压力精度+1.7APext
300...1100hPa0...65°CPa/KAPfull+1.0
在超高分辨率的输出R_HhPa0.0016压力
R_T温度数据分辨率模式0.014。
C
Vp,full完整的带宽,超高分辨率Pa0.2噪声压力
最低带宽、超高分辨率cm1.7Vp,filtered
绝度温度精读AT°C±0.525°C
±1.0°C0...+65°C
PSRR(DC)±PSRR0.005Pa/Mv完整的VDD范围?
长期稳定性hPaP_stab个月1.012最小焊接高度hPa50μmSolderdrifts0.5+2
时间先沟通后VDD>1.58V启动时间2
ms
tstartup
0.65VDDIO>V
和
osrs_t=osrs_p=1可能的采样率fsample157182tdpHz
%
待机时间的准确性+25+5?
tstandby
(绝对最大额定参数表3中提供。
绝对最大额定参数)
表3:
绝对最大额定参数
最小值参数最大值单位条件
提供接口电压VDDandVDDIO接口4.25V-0.3
V_IODD+0.3-0.3V所有接口电压
65%rel.H.
-45+85C。
储存温度≤0压力hPa20000
静电释放(ESD)KV
HBM+-2在任何接口接口类型
功能性说明BMP280由压阻压力传感元件和一个混合信号集成电路。
ASIC执行A/D转换,并提供转换结果通过数字接口和传感器特定的补偿数据。
测量时间和能耗通过选择从大量的可能可以适应对于精度要求,BMP280为设计师提供最高的灵活性,的组合传感器的设置。
BMP280可以在三种权力模式操作(见章节3.6):
?
睡眠模式正常模式?
强制模式?
正常模式由一个自动不断循环在活跃的测量周期和不活跃的待机时间之则不执行测量。
在睡眠模式下,间。
在强制模式下,执行单一度量值。
当测量完成后,传感器返回睡眠模式。
该设置是预定义的组合压一组过采样设置可从超低功率超高分辨率设置从而适应目标应用的传感器。
力测量过采样和温度测量采样过密。
压力和温度测量过采样可以单独选择从0到16倍过采样(见3.3.1和3.3.2章):
温度测量?
超低功率?
标准分辨率?
低功率?
?
超高分辨率?
高分辨率
BMP280配备了一个内置的IIR滤波器,以减少短期扰动造成的输出数据溢出。
滤波器系数范围从0
(off)到16。
提供了博世Sensortec,为了简化设备的使用,减少能量的大量可能的组合模式过采样率和过滤设置,
一套经过验证的常见用例在智能手机、移动气象站或飞行玩具(见章节3.4):
)(如运行Android的智能手机手持设备低功耗?
如运行Android的智能手机)手持动态设备?
((设置最低功耗)天气监测?
电梯/地板变化检测?
?
下降检测
?
室内导航
框图(图1显示了一个简化的BMP280框图)
电源管理
BMP280有两个单独的电源引脚
?
VDD是所有内部的主电源模拟和数字功能块
?
VDDIO是一个单独的电源销,用于数字接口的供应
加电复位生成器是建在重置后的逻辑电路和寄存器值接通电源的序列。
没有限制提高VDD的斜率和序列和VDDIO水平。
驱动后,传感器落定在睡眠模式(见3.6.1)。
关掉可能永久损坏设备(由于V_DDIO或警告:
持有任何接口类型(SDI,SDO,SCKCSB)逻辑高水平当过度引起的电流通过二极管ESD保护。
)
BMP280VDD提供电源,接口保持高电平。
而不是V_DD,总线因此已经可以自由使用前V_DDIO如果供应。
3.3测量流
BMP280测量周期由温度和压力测量与可选择的过采样。
测量周期后,数据是通过一个可选的IIR滤波。
流程如下图中描述。
)如造成的溢出(消除短期波动压力,器.
跳过)设定的采样过密;如果osrs_t=02.测量温度(osrs_t1.开始周期测量);如果osrs_p=0跳过3.测量压力(osrs_p设定的采样过密跳9滤波器使能否4.IIR9滤波器初始化?
否跳是5.IIR否跳10是6.更新过滤器内存使用,过滤内存,ADC值和滤波器系数)值复制到过滤器的内存(initalisesIIR滤波器9.ADC10.过滤内存复制到输出寄存器结束周期循环测量11.
上面的图块将在以下分章详细。
3.3.1压力测量
压力测量可以启用或跳过。
跳过测量可能是有用的,如果BMP280作为温度传感器。
启用时,几个过采样选项存在。
每个过采样步骤减少噪音和增加一个比特的输出分辨率,这是存储在XLSB0Xf9数据寄存器。
启用/禁用测量和过采样设置选择通过osrs_p(2:
0)位0xf4控制寄存器。
表4:
osrs_p设置
压力过采样典型的解决压力建议温度过采样过采样设置
跳过压力测试跳过(输出设置为0x80000)
根据需要
超低功耗x1x116bit/2.62Pa
低功率x117bit/1.31Pax2
x4x1分辨率18bit/0.66Pa
x8x1高分辨率19bit/0.33Pa
超高分辨率x2
x1620bit/0.16Pa
osrs_p为了找到一个合适的设置,请参考章节3.4。
3.3.2温度测量温度测量可以启用或跳过。
跳过测量可能是有用的测量压力非常迅速。
启用时,几个过采样选项存在。
每个过采样步骤减少噪音和增加一个比特的输出分辨率,这是存储在XLSB0xfc数据寄存器。
启用/禁用温度测量和过采样设置选择通过osrs_t2:
0位控制0xf4登记。
表4:
osrs_t设置
典型的解决温度osrs_t[2:
0]温度过采样
跳过(000输出设置为0x80000)
建议osrs_t的价值基础的选择价值osrs_p按表4所示。
以上温度采样过密×2是可能的,但不会显著提高进一步压力输出的准确性。
原因是噪声补偿压力值取决于原始压力比原始温度噪声。
以下推荐的设置会导致最优noise-to-power比率。
3.3.2IIR滤波器
环境压力是许多短期变化,如造成摔门或窗(数据溢出?
),或风吹到传感器。
抑制这些干扰在输出数据而不造成额外的接口流量和处理器工作负载,BMP280特性内部IIR滤波器。
它有效地降低了输出信号的带宽。
下一步测量的输出滤波器是使用以下公式:
的数据来自前面的获得(数据)data_filtered_oldADC。
IIRdata_ADC的数据来自滤波前的:
0xf5以下选项滤波器可以配置(2:
0)比特控制寄存器IIR使用滤波器的过滤器设置表6:
filter[2:
0]
14计算见表)过滤系数带宽(ODR
为了找到一个合适的设置过滤器,请参考章节3.4。
当写寄存器过滤器,该过滤器是重置。
下一个值将通过过滤器和过滤器的初始内存值。
如果温度或压力测量是跳过,相应的过滤内存将保持不变,即使输出寄存器设置为0x80000。
以前跳过测量重新启用时,输出将使用过滤器过滤内存从上次测量没有跳过。
.
3.4过滤选择为了选择最佳设置,建议以下用例:
表7:
推荐基于用例的过滤器设置(模式都为正常)
过采样设置RMSNoise[cm]
osrs_posrs_t
ODR[Hz]IIR滤波器多IDD[μA]使用案例
))(3.5项式系数。
(see3.3.3)(see3.7)(3.8.2手持低功耗设备(例如安卓)超高分辨率x16x224710404
手持动态(力)x4x1设备(android)2.483.316577
1
1
超低功率off天气监测26.41/600.14
()强迫模式最低4
50.9电梯/7.36.4地板变化检测标准分辨率x4x1
下降检测低功率12850920.8x2x1off
1626.3
超高分辨率1.6
650x16x2
室内导航
噪声3.5噪音取决于选择的过采样和过滤设置。
在控制压力表示值测定环境和基于连续32个测量的平均标准偏差点在最高采样速度。
这是需要为了排除长期漂移噪声的测量。
噪音压力8:
表
3.6电源模式
BMP280提供三个权力模式:
睡眠模式,强制模式和正常模式。
这些可以选择使用模式(1:
0)位0xf4控制
寄存器。
3.6.1睡眠模式Sleepmode
睡眠模式上电复位后默认设置。
在睡眠模式下,不进行测量和功耗(I_DDSM)最低。
所有寄存器都可以访问;Chip-ID和补偿系数可以读取。
强迫模式3.6.2
在强制模式下,执行单一度量值根据选定的测量和过滤选项。
当完成测量,传感器返回到睡眠模式,可从数据寄存器获得测量结果。
下一个测量,迫使模式需要再次选择。
这类似于BMP180操作。
强制模式建议应用程序需要低采样率或基于主机的同步。
3.6.3正常模式
正常模式之间的连续周期(主动)测量周期和一个备用(不活跃)时期,他们的时间被定义为t_standy备用。
当前在备用期间(I_DDSB)略高于睡眠模式。
设置模式后,测量和过滤选项,最后可获得测量结果从数据寄存器,无需进一步的写访问。
正常模式建议使用IIR滤波器时,和有用的应用程序中,短期扰动(如吹到传感器)应该被过滤。
根据下表0xf5比特控制寄存器(2:
0)的内容t_sb待机时间是由
3.6.4模式转换图
支持的模式转换显示如下。
如果设备目前执行测量,执行模式切换命令推迟到当前运行的测量周期的结束。
下(进?
)一步模式更改命令忽略到最后执行模式更改命令。
模式转换除了下面所示的是测试稳定但不代表推荐使用的设备。
3.7电流损耗
当前的电流损耗取决于ODR和过采样设置。
下面给出的值归一化的ODR1Hz。
实际的消费可以计算在给定的ODR乘以ODR的表12中消费使用。
实际的ODR是通过定义用户设置强制的频率测量或由过。
14备用设置在正常模式在表t采样和
3.8测量时间
测量的速度可以在强制执行模式取决于osrs_t和osrs_p过采样设置。
他们在正常模式下执行的速度取决于osrs_tosrs_p和过采样设置设置待机时间t备用。
在给出下表生成的odr的建议osr的组合。
下表说明了典型和最大测量时间的基础上选定的过采样设置。
最低可实现的频率取决于最大测量时间。
3.8.2正常模式的测量速率
下表说明了测量利率预计将会在正常模式基于过采样设置和t_standy备用。
)
基于用例(传感器时间根据推荐设置15:
表.
3.9数据读出
读出数据转换后,强烈建议使用突发读因为他不需要每一个单独寄存器的地址。
这将防止可能属于不同的字节混乱测量流量,减少接口。
读出的数据是通过开始从0xf7到0xfc突发读取。
一个无符号的20位格式的数据读出的压力和温度。
强烈建议使用BMP280API,可以从博世Sensortec读出和补偿。
内存映射和接口的详细信息,请参考章节分别为3.12和5。
数据读出的时间应该选择强迫模式,最大测量时间(见3.8.1章)是比较推崇的。
在正常模式下,读出速度可以做类似于预期的数据输出率(见3.8.2章)。
后“ut”和“up”的值已经阅读,实际压力和温度需要计算使用补偿参数存储在设备。
在3.11章阐述的过程。
3.10数据寄存器shadowing阴子数据寄存器?
?
在正常模式下,测量时间不一定是同步的读出。
这意味着新的测量结果可能会出现在用户阅读之前的测量结果。
在这种情况下,跟踪执行,以保证数据的一致性。
(shadowing)阴影只会工作,如果所有数据寄存器读取一个阅读。
因此,用户必须使用突发(burst)读取如果他不同步数据读出测量周期。
使用几个独立的读命令可能会导致不一致的数据。
如果完成一个新的测量和数据寄存器仍在阅读,新的测量结果转移到阴影数据寄存器。
影子寄存器传输到数据寄存器的内容当用户结束阅读,即使不是所有的数据寄存器读。
读出数据跨多个数据寄存器,因此只能保证一致的在一个测量周期如果使用单一读出读取命令。
突发读出的结束标记的前沿CSB销在SPI情况下或停止条件I2C的识别情况。
突发阅读结束后,所有用户数据寄存器更新。
3.11输出补偿
BMP280输出由ADC输出值。
然而,每个传感元件的行为不同,和实际压力和温度必须使用一组计算校正参数。
推荐的计算在3.11.3章使用定点算术。
在高级语言Matlab?
或虚拟仪器?
定点的代码可能不支持。
在这种情况下,浮点代码在附录8.1中可以作为一个替代选择。
对于8位微控制器,变量的大小可能是有限的。
在这种情况下,一个简化的32位整数代码与降低精度在附录8.2中给出。
3.11.1计算消耗
下表显示了所需的时钟周期数量补偿计算与GCC32位微控制器Cortex-M3优化级别-02。
该控制器存在。
FPU应用程序只建议在PC因此所有浮点计算模拟。
浮点,不包含浮点单元.
3.11.3补偿公式
请注意,强烈建议使用API可以从博世Sensortec执行读出和补偿。
如果这不是想要的,下面的代码可以应用在用户的风险(risk)。
压力和温度的值都将收到20位格式,积极的,存储在一个32位带符号整数。
变量t_fine(32位)带有温度高分辨率值压力补偿公式,可以实现为一个全局变量。
数据类型“BMP280_S32_t”应该定义一个32位带符号整数变量类型,通常可以定义为“longsingedint”。
数据类型“BMP280_U32_t”应该定义一个32位无符号整数变量类型,通常可以定义为“longunsignedint”。
最好的计算精度,64位整数支持是必要的。
如果这是不可能的在你的平台上,请见附件8.2一个32位的选择。
数据类型“BMP280_S64_t”应该定义一个64位带符号整数变量类型,这在大多数支持平台可以被定义为“长长的签署int”。
rev.1.1代码的修改。
3.12计算压强跟温度
下面的图显示了压力和温度测量的详细算法。
这个算法C源代码提供给客户作为参考(从博世SensortecBMP28x_API)和通过其销售和分销合作伙伴。
全局内存映射和寄存器描述4.18给出了内存映射表所示。
保留寄存器没有显示。
总论4.1.
所有通信设备是由读取或写入寄存器。
寄存器具有一个8位的宽度。
有几个寄存器保留;他们不应该写,不保证特定值时读出数据。
在接口的详细信息,请参考第5章。
4.2内存映射
给出了内存映射表18所示。
保留寄存器没有显示
4.3寄存器说明
4.3.1寄存器0xd0“id”//0xd0是内存映射地址
“id”寄存器包含了芯片身份证号码chip_id7:
0,0x58。
这个数字就可以读取设备完成上电复位。
4.3.2寄存器0xe0复位4.3.2Register0xE0“reset”
“重置”寄存器包含软复位复位(7:
0)。
如果该值0xb6写入寄存器,设备使用完整的上电复位复位程序。
写其他值比0xb6没有影响。
读出的值总是0x00。
4.3.3状态寄存器4.3.3Register0xF3“status”//等待寄存器为零
“状态”寄存器包含两位表示设备的状态。
Register0xF3名字描述
“status”'那时候结果已经转移到数据寄存器。
','Bit3measuring[0]自动转换运行时设置为'10
复制完成1im_update[0]自动设置为'Bit0'当NVM数据被复制到映像寄存器和'后置0。
在上电复位和数据复制每一个转换。
4.3.4寄存器0xF4“ctrl_meas”
“ctrl_meas”寄存器设置数据采集设备的选择。
名字描述Register0xF4
“ctrl_meas”
Bit7,6,5osrs_t[2:
0]控制温度数据的采样过密。
看到章3.3.2详情。
控制采样过密的压力数据。
详情见3.3.1章。
osrs_p[2:
0]24,Bit3,
章。
3.6控制设备的电源模式。
详情见mode[1:
0]
01,Bit
4.3.5Register0xF5“config”4.3.5寄存器0xF5“配置”
“配置”设置寄存器、过滤和接口设备的选择。
写入“配置”注册在正常模式可能被忽略。
在睡眠模式下写不被忽视。
Description
Register0xF5Name
“config”控制活动时间t在正常模式下备用。
有关详细信息,请参阅3.6.3t_sb[2:
0]章。
Bit7,6,5
IIR滤波器的控制时间常数。
有关详细信息,请参阅Bit4,3,23.3.3filter[2:
0]章。
使能Bit0SPI接口spi3w_en[0]