版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ms5611-01ba03金属封装气压计组件性能描述高度分辨率组件,10cm转换时间低于1ms低功率,工作电流1ua(待机状态0.15ua)qfn封装尺寸:5.03.01.0mm3供电电压1.8v3.6v集成数字气压传感器(24位adc)测量/工作范围:101200mbar(毫巴=百帕),-40+85i2c和spi接口,传输速率可达20mhz无外接元件(内置振荡器)长期稳定性好描述ms5611-o1ba气压传感器是由meas(瑞士)推出的一款spi和ic总线接口的新一代高分辨率气压传感器,分辨率可达到10cm。该传感器模块包括一个高线性度的压力传感器和一个超低功耗的24位模数转换器(工厂校准系
2、数)。ms5611提供了一个精确的24位数字压力值和温度值以及不同的操作模式,可以提高转换速度并优化电流消耗。高分辨率的温度输出无须额外传感器可实现高度计/温度计功能。可以与几乎任何微控制器连接。通信协议简单,无需在设备内部寄存器编程。ms5611压力传感器只有5.0毫米3.0毫米1.0毫米的小尺寸可以集成在移动设备中。这款传感器采用领先的mems技术并得益于meas(瑞士)十余年的成熟设计以及大批量制造经验,保证产品具有高稳定性以及非常低的压力信号滞后。内部结构及技术数据移动高度计/气压计系统自行车电脑气压表医疗警报高度计室内导航原理框图技术数据性能参数最大工作范围参数电源电压最大压力值最大
3、焊接温度符号vddpmaxtmax条件最长40秒最小-0.3v典型最大+4.0v6bar250电气特性参数工作电压工作温度工作电流(1samplepersec.)符号vddtidd条件osr409620481024512最小1.8v-40典型3.0v+2512.5ua6.3ua3.2ua1.7ua最大3.6v+852560.9uavdd对地电容模数转换(adc)参数符号vddtognd条件100nf最小典型最大输出字长(bit)24转换时间(ms)tcosr4096204810245122567.403.721.880.950.488.224.132.081.060.549.044.542.2
4、81.170.60气压值输出特征温度值输出特征数字输入(csb,i2c,din,sclk)气压输出(i2c,dout)功能描述综合描述ms5611-01ba是由压阻传感器和传感器接口组成的的集成电路,主要功能是把测得未得补偿模拟气压值经adc转换成24位的数字值输出,同时也可以输出一个24位的数字温度值。出厂校验6每个模块都在两种温度和两种压力下有其单独的出厂校验,系数必要补偿为过程变化和温度变化计算和存储到一个内部的128-bit存储器(prom)中,这些值(划分成6个系数)用软件来读取并要通过程序将d1和d2中的值转换成标准气压、温度值。串行接口ms5611-01ba有两种类型的串行接口:
5、spi和i2c。通过调节ps引脚的电压来选择使用i2c或spi通信接口:spi模式外部微控制器通过输入sclk(串行时钟)和sdi(串行数据)来传输数据。在spi模式下时钟极性和相位允许同时模式0和模式3。sdo(串行数据)引脚为传感器的响应输出。csb(芯片选择)引脚用来控制芯片使能/禁用,所以,其他设备可以共用同一组spi总线。在命令发送完毕或命令执行结束(例如结束的转换)时csb引脚将被拉高。在spi总线空闲模式下模块有较好的噪声性能和在adc转换时与其他设备链接。i2c模式外部微控制器通过输入sclk(串行时钟)和sda(串行数据)来传输数据。传感器的响应在一根双向的i2c总线接口sd
6、a线上。所以这个接口类型只使用2信号线路而不需要片选信号,这可以减少板空间。在i2c模式下补充引脚csb(芯片选择)代表了lsb的i2c地址。在i2c总线上可以使用两个传感器和两个不同的地址。csb引脚应当连接到vdd或gnd(不能悬空)。指令ms5611-01ba03只有5个基本命令:1.复位(reset)2.读取存储器(128-bitprom)3.d1转换4.d2转换5.读取adc结果(24-bit气压/温度值)气压和温度计算(详见原文)1.开始计算结果最大值:pmin=10mbar,pmaxt=1200mbar,mint=-40oc,max=85oc,t=20ocref2.从prom读取
7、出厂校准数据变量描述|方程推荐变量类型size值例子/典型bitminmaxc1c2c3c4c5c6压力灵敏度|senst1压力抵消|offt1温度压力灵敏度系数|tcs温度系数的压力抵消|tco参考温度|tref温度系数的温度|tempsensuint16uint16uint16uint16uint16uint161616161616160000006553565535655356553565535655354012736924233172328233464283123.读取数字气压和温度值d1d2数字压力值数字温度值uint32uint322424016777216016777216908
8、546685691504.计算温度实际和参考温度之间的差异intdt25-16776960167772162366dt=d2-t=d2-c5*28reftemp实际温度(-4085c0.01c的分辨率)32int3241-400085002007=20.07ctemp=20oc+dt*tempsens=2000+dt*c6/2235.计算温度补偿下的气压值off实际温度抵消off=off+tco*dtt1=c2*216+(c3*dt)/27uint41-858967245012884705280242028161764sens实际温度灵敏度sens=sens+tcs*dtt1=c1*215+(
9、c3*dt)/28p温度补偿压力(101200mbar与0.01mbar分辨率)p=d1*sens-off=(d1*sens/221-off)/2156.得到气压和温度值。uint41-4294836225644235264064uint581000641315097036100009=1000.09mbar二阶温度补偿是否temp20c低温高温t2=dt2/231off2=5(temp-2000)2/21sens2=5(temp-2000)2/22t2=0off2=0sens2=0是否temp-15c非常低的温度off2=off2+7(temp+1500)2sens2=sens+11(tem
10、p+1500)2/21计算压力和温度temp=temp-t2off=off-off2sens=sene-sens2对压力和温度达到最佳精度的流程图spi接口spi命令下面的表格描述中每个命令的大小是1字节(8位)。执行adcread指令后将会返回一个24-bit的结果,执行promread指令后返回16-bit的结果。存储器(prom)的地址在promread命令中的a2,a1和a0位。命令结构spi复位时序转换时序存储器读取时序图参见原文。i2c接口i2c命令每个i2c通信消息都有开始和停止状态。ms5611-01ba的i2c地址为111011cx,其中c为csb引脚的补码值(取反)。因为传
11、感器内并没有微控制器,所有i2c的命令和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=开始命令w=写命令a=应答来
12、自从机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=应答来自从机p=停止命令r=读命令n=无应答adc读时序来自主机s=开始命令w=写命令a=应答来自从机p=停止命令r
13、=读命令n=无应答i2c从ms5611-01ba读取数据循环冗余检查(crc)ms5611-01ba包含128-bit的prom存储器。存储器中有一个4bit的crc数据检测位。下面详细描述了crc-4代码的使用。典型应用电路spi协议i2c协议引脚定义引脚名称类型描述1vddp电源电压通讯协议选择2psipshigh(vdd)i2cpslow(gnd)spi345678gndcsbsdosdi/sdasclkgioi/ioi接地片选(低电平有效),内部连接串口数据输出串口数据输入/i2c数据串口时钟*注:原文附录有一些典型测量值的特征曲线可参考。其中的一些关键点:adc的测量值d1和d2是分
14、别用来测气压和温度的,且基本成线性关系;在常温(20)或大于常温时,测量误差很小,而温度低于20时,气压和温度测量误差会明显增大;电源电压为3v时,气压和温度测量误差很小,而其它供电电压下误差会大幅度增加。arduino测试代码ms561101ba.h文件:#ifndefms561101ba_h#definems561101ba_h#ifndefcbi#definecbi(sfr,bit)(_sfr_byte(sfr)&=_bv(bit)#endif#includewprogram.h#include/#definedebug_v/#definedebug/#include/addresses
15、ofthedevice#definems561101ba_addr_csb_high0x76/cbr=10x76i2caddresswhencsbisconnectedtohigh(vcc)#definems561101ba_addr_csb_low0x77/cbr=00x77i2caddresswhencsbisconnectedtolow(gnd)/registersofthedevice#definems561101ba_d10x40#definems561101ba_d20x50#definems561101ba_reset0x1e/d1andd2resultsize(bytes)#d
16、efinems561101ba_d1d2_size3/osr(oversamplingratio)constants#definems561101ba_osr_2560x00#definems561101ba_osr_5120x02#definems561101ba_osr_10240x04#definems561101ba_osr_20480x06#definems561101ba_osr_40960x08#definems561101ba_prom_base_addr0xa2/byaddingintsfrom0to6wecanreadallthepromconfigurationvalue
17、s./c1willbeat0xa2andallthesubsequentaremultiplesof2#definems561101ba_prom_reg_count6/numberofregistersintheprom#definems561101ba_prom_reg_size2/sizeinbytesofapromregistry.classms561101bapublic:ms561101ba();voidinit(uint8_taddr);floatgetpressure(uint8_tosr);floatgettemperature(uint8_tosr);int64_tgetd
18、eltatemp(uint8_tosr);int32_trawpressure(uint8_tosr);int32_trawtemperature(uint8_tosr);intreadprom();voidreset();private:unsignedlongdoconversion(uint8_tcommand);uint8_t_addr;uint16_t_cms561101ba_prom_reg_count;#endif/ms561101ba_hms561101ba.cpp文件:#includems561101ba.h#defineextra_precision5/tricktoadd
19、moreprecisiontothepressureandtempreadingsms561101ba:ms561101ba();voidms561101ba:init(uint8_taddress)_addr=address;/disableinternalpullupsoftheatmegawhichwireenablebydefault#ifdefined(_avr_atmega168_)|defined(_avr_atmega8_)|defined(_avr_atmega328p_)/deactivateinternalpull-upsfortwi/aspernotefromatmeg
20、a8manualpg167cbi(portc,4);cbi(portc,5);#else/deactivateinternalpull-upsfortwi/aspernotefromatmega128manualpg204cbi(portd,0);cbi(portd,1);#endifreset();/resetthedevicetopopulateitsinternalpromregistersdelay(1000);/somesafetytimereadprom();/readsthepromintoobjectvariablesforlaterusefloatms561101ba:get
21、pressure(uint8_tosr)/seedatasheetpage7forformulasint64_tdt=getdeltatemp(osr);int64_toff=(int64_t)_c1)7);int64_tsens=(int64_t)_c0)8);return(rawpressure(osr)*sens)21)-off)(15-extra_precision)/(1extra_precision)*100.0);floatms561101ba:gettemperature(uint8_tosr)/seedatasheetpage7forformulasreturn(1(23-e
22、xtra_precision)/(1extra_precision)*100.0);int64_tms561101ba:getdeltatemp(uint8_tosr)returnrawtemperature(osr)-(int32_t)_c4)8);int32_tms561101ba:rawpressure(uint8_tosr)returndoconversion(ms561101ba_d1+osr);int32_tms561101ba:rawtemperature(uint8_tosr)returndoconversion(ms561101ba_d2+osr);unsignedlongm
23、s561101ba:doconversion(uint8_tcommand)unsignedlongconversion=0;/seepage11ofthedatasheet/initializepressureconversionwire.begintransmission(_addr);wire.send(command);wire.endtransmission();delay(10);/theconversionwilltakeatime=9.04mstohavetheoutputready/todo:makethedelaydependantontheosrrequestedinthecommand/startreadsequencewire.begintransmission(_addr);wire.send(0);wire.endtransmission();wire.begintransmission(_addr);wire.requestfrom(_addr,(uint8_t)ms561101ba_d1d2_size);if(wire.available()conve
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工安全自检报告
- 2026年中国铁路运输行业发展展望及投资策略报告
- 底盘类项目可行性分析报告范文(总投资4000万元)
- 2025年家教合同教学成果应用协议书
- 曲艺家协会社区曲艺研修方案
- 沪教版(五四制)六年级上学期数学 第三章 挑战压轴题3(附答案)
- 2026年湖南汽车工程职业学院单招职业技能考试必刷测试卷带答案
- 2026年荆门职业学院单招综合素质考试必刷测试卷带答案
- 语言培训学校创业策划
- 2026年内蒙古建筑职业技术学院单招职业技能考试题库带答案
- 冬季施工混凝土养护方法
- 2025-2026学年重庆市南开中学九年级(上)第三次月考化学试卷(10月份)(含答案)
- 2025年医学高数期末考试题及答案
- 中药药食同源开发项目分析方案
- 2025版更年期综合征症状讲解及护理要点
- 水库物业化管理项目管理组织架构及人员配备
- 企业统计知识培训会课件
- 回收废钢知识培训内容课件
- 小学教师外出学习汇报材料
- 复合材料模具性能测试规定
- 2025公寓保洁服务承包合同
评论
0/150
提交评论