版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MS5611-01BA03金属封装气压计组件性能描述高度分辨率组件,10cm转换时间低于1ms低功率,工作电流1uA(待机状态<0.15uA)QFN封装尺寸:5.0×3.0×1.0 mm3供电电压1.8V3.6V集成数字气压传感器(24位ADC)测量/工作范围:101200mbar(毫巴=百帕),-40+85I2C和SPI接口,传输速率可达20MHz无外接元件(内置振荡器)长期稳定性好描述MS5611-o1BA气压传感器是由MEAS(瑞士)推出的一款SPI和I²C总线接口的新一代高分辨率气压传感器,分辨率可达到10cm。该传感器模块包括一个高线性度的压力传感
2、器和一个超低功耗的24位模数转换器(工厂校准系数)。MS5611提供了一个精确的24位数字压力值和温度值以及不同的操作模式,可以提高转换速度并优化电流消耗。高分辨率的温度输出无须额外传感器可实现高度计/温度计功能。可以与几乎任何微控制器连接。通信协议简单,无需在设备内部寄存器编程。MS5611压力传感器只有5.0毫米×3.0毫米×1.0毫米的小尺寸可以集成在移动设备中。这款传感器采用领先的MEMS技术并得益于MEAS(瑞士)十余年的成熟设计以及大批量制造经验,保证产品具有高稳定性以及非常低的压力信号滞后。内部结构及技术数据移动高度计/气压计系统自行车电脑气压表医疗警报高度计
3、室内导航原理框图技术数据性能参数最大工作范围参数符号条件最小典型最大电源电压VDD-0.3V+4.0V最大压力值Pmax6bar最大焊接温度Tmax最长40秒250电气特性参数符号条件最小典型最大工作电压VDD1.8V3.0V3.6V工作温度T-40+25+85工作电流(1 sample per sec.)IDDOSR 40962048102451225612.5uA6.3uA3.2uA1.7uA0.9uAVDD对地电容VDD to GND100nF模数转换(ADC)参数符号条件最小典型最大输出字长(bit)24转换时间(ms)tcOSR 4096204810245122567.403.721
4、.880.950.488.224.132.081.060.549.044.542.281.170.60气压值输出特征温度值输出特征数字输入(CSB,I2C,DIN,SCLK)气压输出(I2C,DOUT)功能描述综合描述MS5611-01BA是由压阻传感器和传感器接口组成的的集成电路,主要功能是把测得未得补偿模拟气压值经ADC转换成24位的数字值输出,同时也可以输出一个24位的数字温度值。出厂校验每个模块都在两种温度和两种压力下有其单独的出厂校验,6系数必要补偿为过程变化和温度变化计算和存储到一个内部的128-bit存储器(PROM)中,这些值(划分成6个系数)用软件来读取并要通过程序将D1和D
5、2中的值转换成标准气压、温度值。串行接口MS5611-01BA有两种类型的串行接口:SPI和I2C。通过调节PS引脚的电压来选择使用I2C或SPI通信接口:SPI模式外部微控制器通过输入SCLK(串行时钟)和SDI(串行数据)来传输数据。在SPI模式下时钟极性和相位允许同时模式0和模式3。SDO(串行数据)引脚为传感器的响应输出。CSB(芯片选择)引脚用来控制芯片使能/禁用,所以,其他设备可以共用同一组SPI总线。在命令发送完毕或命令执行结束(例如结束的转换)时CSB引脚将被拉高。在SPI总线空闲模式下模块有较好的噪声性能和在ADC转换时与其他设备链接。I2C模式外部微控制器通过输入SCLK(
6、串行时钟)和SDA(串行数据)来传输数据。传感器的响应在一根双向的I2C总线接口SDA线上。所以这个接口类型只使用2信号线路而不需要片选信号,这可以减少板空间。在I2C模式下补充引脚CSB (芯片选择)代表了LSB的I2C地址。在I2C总线上可以使用两个传感器和两个不同的地址。CSB引脚应当连接到VDD或GND(不能悬空)。指令MS5611-01BA03只有5个基本命令:1. 复位(Reset)2. 读取存储器(128-bit PROM)3. D1转换4. D2转换5. 读取ADC结果(24-bit气压/温度值)气压和温度计算(详见原文)1.开始计算结果最大值: ,2.从PROM读取出厂校准数
7、据变量描述|方程推荐变量类型Size 值例子/典型bitminMaxC1压力灵敏度|SENST1uint 161606553540127C2压力抵消| OFFT1uint 161606553536924C3温度压力灵敏度系数| TCSuint 161606553523317C4温度系数的压力抵消| TCOuint 161606553523282C5参考温度|TREFuint 161606553533464C6温度系数的温度|TEMPSENSuint 1616065535283123.读取数字气压和温度值D1数字压力值uint 32240167772169085466D2数字温度值uint 32
8、2401677721685691504.计算温度dT实际和参考温度之间的差异int 3225-16776960167772162366TEMP实际温度(-4085°C 0.01°C的分辨率)int 3241-400085002007=20.07°C5.计算温度补偿下的气压值OFF实际温度抵消uint 6441-8589672450128847052802420281617SENS实际温度灵敏度uint 6441-429483622564423526401315097036P温度补偿压力(101200mbar与0.01mbar分辨率)uint 64581000100
9、009=1000.09 mbar6. 得到气压和温度值。二阶温度补偿对压力和温度达到最佳精度的流程图SPI接口SPI命令下面的表格描述中每个命令的大小是1字节(8位)。执行ADC read指令后将会返回一个24-bit的结果,执行PROM read指令后返回16-bit的结果。存储器(PROM)的地址在PROM read命令中的a2,a1和a0位。命令结构SPI复位时序转换时序存储器读取时序图参见原文。I2C接口I2C命令每个I2C通信消息都有开始和停止状态。MS5611-01BA的I2C地址为111011Cx,其中C为CSB引脚的补码值(取反)。因为传感器内并没有微控制器,所有I2C的命令和
10、SPI是相同的。I2C复位时序复位指令可以在任何时间发送。如果没有成功的上电复位,这可能是被屏蔽的SDA模块在应答状态。MS5611-01BA唯一的复位方式是发送几个SCLKs后跟一个复位指令或上电复位。来自主机 S = 开始命令 W = 写命令 A =应答来自从机 P = 停止命令 R =读命令 N = 无应答I2C复位指令存储器读取时序PROM读指令由两部分构成,第一部分使系统处于PROM读模式,第二部分从系统中读取数据。来自主机 S = 开始命令 W = 写命令 A =应答来自从机 P = 停止命令 R =读命令 N = 无应答I2C读存储器指令,地址=011(系数:3)来自主机 S =
11、 开始命令 W = 写命令 A =应答来自从机 P = 停止命令 R =读命令 N = 无应答I2C从芯片中应答转换时序通过向MS5611-01BA发送指令可以进入转换模式。当命令写入到系统中,系统处于忙碌状态,直到转换完成。当转换完成后可以发送一个读指令,此时MS5611-01BA发回一个应答,24个SCLK时钟将所有bit位传送出来。每隔8bit就会等待一个应答信号来自主机 S = 开始命令 W = 写命令 A =应答来自从机 P = 停止命令 R =读命令 N = 无应答I2C启动压力转换指令(OSR=4096, typ=D1)来自主机 S = 开始命令 W = 写命令 A =应答来自从
12、机 P = 停止命令 R =读命令 N = 无应答ADC读时序来自主机 S = 开始命令 W = 写命令 A =应答来自从机 P = 停止命令 R =读命令 N = 无应答I2C从MS5611-01BA读取数据循环冗余检查(CRC)MS5611-01BA包含128-Bit的PROM存储器。存储器中有一个4bit的CRC数据检测位。下面详细描述了CRC-4代码的使用。典型应用电路SPI协议I2C协议引脚定义引脚名称类型描述1VDDP电源电压2PSI通讯协议选择PS high(VDD)I2CPS low(GND)SPI3GNDG接地4CSBI片选(低电平有效),内部连接56SDOO串口数据输出7S
13、DI/SDAI/IO串口数据输入/I2C数据8SCLKI串口时钟*注:原文附录有一些典型测量值的特征曲线可参考。其中的一些关键点:ADC的测量值D1和D2是分别用来测气压和温度的,且基本成线性关系;在常温(20)或大于常温时,测量误差很小,而温度低于20时,气压和温度测量误差会明显增大;电源电压为3V时,气压和温度测量误差很小,而其它供电电压下误差会大幅度增加。ARDUINO 测试代码MS561101BA.h文件:#ifndef MS561101BA_h#define MS561101BA_h#ifndef cbi#define cbi(sfr, bit) (_SFR_BYTE(sfr) &a
14、mp;= _BV(bit)#endif#include "WProgram.h"#include <Wire.h>/#define DEBUG_V/#define DEBUG/#include <DebugUtils.h>/ addresses of the device#define MS561101BA_ADDR_CSB_HIGH 0x76 /CBR=1 0x76 I2C address when CSB is connected to HIGH (VCC)#define MS561101BA_ADDR_CSB_LOW 0x77 /CBR=0 0
15、x77 I2C address when CSB is connected to LOW (GND)/ registers of the device#define MS561101BA_D1 0x40#define MS561101BA_D2 0x50#define MS561101BA_RESET 0x1E/ D1 and D2 result size (bytes)#define MS561101BA_D1D2_SIZE 3/ OSR (Over Sampling Ratio) constants#define MS561101BA_OSR_256 0x00#define MS56110
16、1BA_OSR_512 0x02#define MS561101BA_OSR_1024 0x04#define MS561101BA_OSR_2048 0x06#define MS561101BA_OSR_4096 0x08#define MS561101BA_PROM_BASE_ADDR 0xA2 / by adding ints from 0 to 6 we can read all the prom configuration values. / C1 will be at 0xA2 and all the subsequent are multiples of 2#define MS5
17、61101BA_PROM_REG_COUNT 6 / number of registers in the PROM#define MS561101BA_PROM_REG_SIZE 2 / size in bytes of a prom registry.class MS561101BA public: MS561101BA(); void init(uint8_t addr); float getPressure(uint8_t OSR); float getTemperature(uint8_t OSR); int64_t getDeltaTemp(uint8_t OSR); int32_
18、t rawPressure(uint8_t OSR); int32_t rawTemperature(uint8_t OSR); int readPROM(); void reset(); private: unsigned long doConversion(uint8_t command); uint8_t _addr; uint16_t _CMS561101BA_PROM_REG_COUNT;#endif / MS561101BA_hMS561101BA.cpp文件:#include "MS561101BA.h"#define EXTRA_PRECISION 5 /
19、trick to add more precision to the pressure and temp readingsMS561101BA:MS561101BA() ; void MS561101BA:init(uint8_t address) _addr = address; / disable internal pullups of the ATMEGA which Wire enable by default#if defined(_AVR_ATmega168_) | defined(_AVR_ATmega8_) | defined(_AVR_ATmega328P_) / deact
20、ivate internal pull-ups for twi / as per note from atmega8 manual pg167 cbi(PORTC, 4); cbi(PORTC, 5); #else / deactivate internal pull-ups for twi / as per note from atmega128 manual pg204 cbi(PORTD, 0); cbi(PORTD, 1); #endif reset(); / reset the device to populate its internal PROM registers delay(
21、1000); / some safety time readPROM(); / reads the PROM into object variables for later usefloat MS561101BA:getPressure(uint8_t OSR) / see datasheet page 7 for formulas int64_t dT = getDeltaTemp(OSR); int64_t off = (int64_t)_C1) << 16) + (_C3 * dT) >> 7); int64_t sens = (int64_t)_C0) <
22、< 15) + (_C2 * dT) >> 8); return (rawPressure(OSR) * sens) >> 21) - off) >> (15-EXTRA_PRECISION) / (1<<EXTRA_PRECISION) * 100.0);float MS561101BA:getTemperature(uint8_t OSR) / see datasheet page 7 for formulas return (1<<EXTRA_PRECISION)*2000l + (getDeltaTemp(OSR) *
23、_C5) >> (23-EXTRA_PRECISION) / (1<<EXTRA_PRECISION) * 100.0);int64_t MS561101BA:getDeltaTemp(uint8_t OSR) return rawTemperature(OSR) - (int32_t)_C4) << 8);int32_t MS561101BA:rawPressure(uint8_t OSR) return doConversion(MS561101BA_D1 + OSR);int32_t MS561101BA:rawTemperature(uint8_t
24、OSR) return doConversion(MS561101BA_D2 + OSR);unsigned long MS561101BA:doConversion(uint8_t command) unsigned long conversion = 0; / see page 11 of the datasheet / initialize pressure conversion Wire.beginTransmission(_addr); Wire.send(command); Wire.endTransmission(); delay(10); / the conversion wi
25、ll take a time <= 9.04 ms to have the output ready / TODO: make the delay dependant on the OSR requested in the command / start read sequence Wire.beginTransmission(_addr); Wire.send(0); Wire.endTransmission(); Wire.beginTransmission(_addr); Wire.requestFrom(_addr, (uint8_t) MS561101BA_D1D2_SIZE); if(Wire.available() conversion = Wire.receive() * 65536 + Wire.receive() *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 景区内部员工管理制度
- 机关内部人员调动制度
- 机关内部建设制度
- 机关内部运行工作制度
- 机关财务内部审核制度
- 机构内部运行管理制度
- 西华大学《流体机械设计(II)》2024-2025学年第二学期期末试卷
- 某医院内部审计制度
- 检察院内部工作管理制度
- 检验科内部会议制度
- 第2课 让我们的家更美好 第二课时(课件)2025-2026学年《道德与法治》五年级下册
- 学前教育政策与法规考试试题(含答案)
- 2025年江西信息应用职业技术学院单招综合素质考试试题及答案解析
- 话剧《日出》剧本
- 亳州市招聘警务辅助人员考试真题及答案
- 寿春中学师德师风考核制度
- 2026年春青岛版(五四制)(新教材)小学科学二年级第二学期教学计划及进度表
- 对外汉语教材研究课件
- 脑膜脑膜瘤(课堂PPT)
- 投影仪的使用说明
- 单桩承载力计算(嵌岩桩)
评论
0/150
提交评论