气压BSTBMP280DS00110阅读概要.docx
《气压BSTBMP280DS00110阅读概要.docx》由会员分享,可在线阅读,更多相关《气压BSTBMP280DS00110阅读概要.docx(29页珍藏版)》请在冰豆网上搜索。
气压BSTBMP280DS00110阅读概要
BMP280:
数据表
文档修订1.12
文档发布日期7月11日,2014年
文件编号BST-BMP280-DS001-10
技术参考代码(s)02733003540273300391,0273300416
备注:
本文档中的数据如有更改,恕不另行通知。
产品照片和图片仅供演示目的,可能不同实际产品的外观。
BMP280数字压力传感器(DIGITAL PRESSURE SENSOR)
关键参数
压力范围300…1100hPa(equiv.+9000…-500高于/低于海平面)
包有LGAmetal-lid
引脚规格:
2.0×2.5毫米,高度:
0.95毫米
相对精度±0.12hPaequiv.±1m
(950…1050hpa@25°C)
绝对精度typ。
±1hPa
(950…1050hPa0…+40°C)
温度系数补偿1.5Pa/K,equiv.12.6cm/K
(25…40°C@900hPa)
数字接口I²C(3.4兆赫)
SPI(3和4线,10MHz)
电流消耗2.7µA@1Hz采样率
温度范围-40…+85°C
通过无铅认证无卤
标准一级湿度感应
典型的应用
增强GPS导航(例如time-to-first-fix改进、船位推算,斜率检测)
室内导航(地板检测、电梯检测)
户外导航、休闲和运动的应用程序
天气预报
医疗保健应用程序(如肺量测定法)
垂直速度指示(如上升/下沉速度)
目标设备
手机,如手机、平板电脑、GPS设备导航系统
便携式医疗设备家里气象站
飞行玩具手表
一般的描述
罗伯特•博世是世界上为压力传感器在汽车和消费市场的领导者应用程序。
博世的专有APSMMEMS(先进的多孔硅膜)生产过程完全是CMOS兼容,并允许一个密封的密封腔的全硅的过程。
BMP280基于博世的压阻压力传感器技术EMC稳健性高、准确度高、线性和长期稳定性。
BMP280是绝对气压传感器特别是在易变环境中的应用。
传感器模块是装在一个非常紧凑的栅格阵列封装,包的封装只有2.0×2.5毫米2和0.95毫米包高度。
它的小尺寸和低功耗的2.7µA@1Hz允许电池中的实现驱动的设备,如手机、GPS模块或手表。
广泛采用BMP180继承者,BMP280提供高性能需要精确的压力测量的应用程序。
BMP280运行低噪音,支持新过滤器模式和SPI接口在一个BMP180引脚小于63%。
新兴的室内导航的应用、医疗保健以及GPS细化要求相对精度高和低的TCO在同一时间。
BMP180和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
接口I²C&SPI(3和4线,模式“00”和“11”)测量模式P&T,forcedorperiodic
测量速率可达175Hz筛选器选项五个带宽
1.设计规格
全电压范围内所有的值是有效的
最小/最大值都给出完整的准确温度范围
最大值/最小值的漂移,补偿和温度系数是±3在运行中
电流和状态机的典型值确定计时25°C
最小/最大电流的值确定使用区域很多在温度范围完成
最小/最大值状态机的计时决心使用范围很多在0…+65°C的温度范围
规范表分成BMP280压力和温度的一部分
表2:
参数规范
参数标志条件最小值典型值最大值单位
操作温度范围TA操作-4025+85。
C
满精度0+65
工作压力范围P满精度3001100Hpa
传感器电源电压V_DD波动最大值50mV1.711.83.6V
接口电源电压V_IODD1.21.83.6V
电源电流I_DDLP1赫兹强制模式中,压力2.84.2uA
和温度,最低的能量
峰值电流I_peak压力测量期间7201100uA
电流在温度测量I_DDT325uA
睡眠电流I_DDSL25。
C0.10.3uA
待机电流(不活跃的I_DDSB25。
C0.20.5uA
时期正常模式2)
相对精读的压力值A_rel700…900hPa+-0.12hPa
V_DD=3V25...40°C+-1.0m
1典型值VDD=VDDIO=1.8V,最大价值VDD=VDDIO=3.6V。
2典型值VDD=VDDIO=1.8V,最大价值VDD=VDDIO=3.6V。
3目标值
温度补偿系数TCO900hPa25...40°C+1.5Pa/K
12.6cm/K
绝对压力精度APext300...1100hPa-20...0°C+1.7Pa/K
APfull300...1100hPa0...65°C+1.0Pa/K
在超高分辨率的输出R_H压力0.0016hPa
数据分辨率模式4R_T温度0.01。
C
噪声压力Vp,full完整的带宽,超高分辨率0.2Pa
Vp,filtered最低带宽、超高分辨率1.7cm
绝度温度精读AT25°C±0.5°C
0...+65°C±1.0°C
PSRR(DC)PSRR完整的VDD范围±0.005Pa/Mv
长期稳定性P_stab12个月1.0hPa
Solderdrifts最小焊接高度50µm0.5+2hPa
启动时间tstartup时间先沟通后VDD>1.58V2ms
和0.65VDDIO>V
可能的采样率fsampleosrs_t=osrs_p=1157182tdpHz
待机时间的准确性tstandby+5+25%
绝对最大额定参数(绝对最大额定参数表3中提供。
)
表3:
绝对最大额定参数
参数条件最小值最大值单位
提供接口电压VDDandVDDIO接口-0.34.25V
所有接口电压-0.3V_IODD+0.3V
储存温度≤65%rel.H.-45+85。
C
压力020000hPa
静电释放(ESD)HBM在任何接口接口类型+-2KV
功能性说明
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)。
警告:
持有任何接口类型(SDI,SDO,SCK或CSB)逻辑高水平当V_DDIO关掉可能永久损坏设备(由于过度引起的电流通过二极管ESD保护。
)
如果V_DDIO提供电源,而不是V_DD,接口保持高电平。
总线因此已经可以自由使用前BMP280VDD供应。
3.3测量流
BMP280测量周期由温度和压力测量与可选择的过采样。
测量周期后,数据是通过一个可选的IIR滤波器,消除短期波动压力(如造成的溢出)。
流程如下图中描述。
1.开始周期测量2.测量温度 (osrs_t设定的采样过密;如果osrs_t=0跳过)
3.测量压力 (osrs_p设定的采样过密;如果osrs_p=0跳过)
4.IIR滤波器使能否跳9
是5.IIR滤波器初始化?
否跳9
是6.更新过滤器内存使用,过滤内存,ADC值和滤波器系数否跳10
9.ADC值复制到过滤器的内存(initalisesIIR滤波器)
10.过滤内存复制到输出寄存器
11.结束周期循环测量
上面的图块将在以下分章详细。
3.3.1压力测量
压力测量可以启用或跳过。
跳过测量可能是有用的,如果BMP280作为温度传感器。
启用时,几个过采样选项存在。
每个过采样步骤减少噪音和增加一个比特的输出分辨率,这是存储在XLSB0Xf9数据寄存器。
启用/禁用测量和过采样设置选择通过osrs_p(2:
0)位0xf4控制寄存器。
表4:
osrs_p设置
过采样设置压力过采样典型的解决压力建议温度过采样
跳过压力测试跳过(输出设置为0x80000)根据需要
超低功耗x116bit/2.62Pax1
低功率x217bit/1.31Pax1
分辨率x418bit/0.66Pax1
高分辨率x819bit/0.33Pax1
超高分辨率x1620bit/0.16Pax2
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_old的数据来自前面的获得(数据)
data_ADC的数据来自IIR滤波前的ADC。
使用滤波器的IIR滤波器可以配置(2:
0)比特控制寄存器0xf5以下选项:
表6:
过滤器设置
filter[2:
0]过滤系数带宽(ODR计算见表14)
为了找到一个合适的设置过滤器,请参考章节3.4。
当写寄存器过滤器,该过滤器是重置。
下一个值将通过过滤器和过滤器的初始内存值。
如果温度或压力测量是跳过,相应的过滤内存将保持不变,即使输出寄存器设置为0x80000。
以前跳过测量重新启用时,输出将使用过滤器过滤内存从上次测量没有跳过。
3.4过滤选择为了选择最佳设置,建议以下用例:
表7:
推荐基于用例的过滤器设置(模式都为正常)
使用案例过采样设置osrs_posrs_tIIR滤波器多IDD[µA]ODR[Hz]RMSNoise[cm]
项式系数。
(see3.3.3)(see3.7)(3.8.2)(3.5)
手持低功耗
设备(例如安卓)超高分辨率x16x242471040
手持动态(力)
设备(android)x4x11657783.32.4
天气监测超低功率11off0.141/6026.4
(最低)强迫模式
电梯/地板变化检测标准分辨率x4x1450.97.36.4
下降检测低功率x2x1off50912820.8
室内导航超高分辨率x16x21665026.31.6
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滤波器时,和有用的应用程序中,短期扰动(如吹到传感器)应该被过滤。
待机时间是由t_sb的内容(2:
0)比特控制寄存器0xf5根据下表
3.6.4模式转换图
支持的模式转换显示如下。
如果设备目前执行测量,执行模式切换命令推迟到当前运行的测量周期的结束。
下(进?
)一步模式更改命令忽略到最后执行模式更改命令。
模式转换除了下面所示的是测试稳定但不代表推荐使用的设备。
3.7电流损耗
当前的电流损耗取决于ODR和过采样设置。
下面给出的值归一化的ODR1Hz。
实际的消费可以计算在给定的ODR乘以ODR的表12中消费使用。
实际的ODR是通过定义用户设置强制的频率测量或由过采样和t备用设置在正常模式在表14。
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。
该控制器不包含浮点单元,因此所有浮点计算模拟。
浮点PC应用程序只建议在FPU存在。
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]自动转换运行时设置为'1','0'那时候结果已经转移到数据寄存器。
Bit0im_update[0]自动设置为'1'当NVM数据被复制到映像寄存器和'复制完成后置0。
在上电复位和数据复制每一个转换。
4.3.4寄存器0xF4“ctrl_meas”
“ctrl_meas”寄存器设置数据采集设备的选择。
Register0xF4名字描述
“ctrl_meas”
Bit7,6,5osrs_t[2:
0]控制温度数据的采样过密。
看到章3.3.2详情。
Bit4,3,2osrs_p[2:
0]控制采样过密的压力数据。
详情见3.3.1章。
Bit1,0mode[1:
0]控制设备的电源模式。
详情见3.6章。
4.3.5寄存器0xF5“配置”4.3.5Register0xF5“config”
“配置”设置寄存器、过滤和接口设备的选择。
写入“配置”注册在正常模式