MS561101BA03气压计高度计中文资料解析.docx
- 文档编号:3812947
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:21
- 大小:113.46KB
MS561101BA03气压计高度计中文资料解析.docx
《MS561101BA03气压计高度计中文资料解析.docx》由会员分享,可在线阅读,更多相关《MS561101BA03气压计高度计中文资料解析.docx(21页珍藏版)》请在冰豆网上搜索。
MS561101BA03气压计高度计中文资料解析
MS5611-01BA03金属封装气压计组件
性能描述
高度分辨率组件,10cm转换时间低于1ms低功率,工作电流1uA(待机状态<0.15uA)
QFN封装尺寸:
5.0&0*0mm3
供电电压1.8V〜3.6V
集成数字气压传感器(24位ADC)
测量/工作范围:
10~1200mbar(毫巴=百帕),-40~+85C
I2C和SPI接口,传输速率可达20MHz
无外接元件(内置振荡器)长期稳定性好描述
MS5611-O1BA气压传感器是由MEAS(瑞士)推出的一款SPI和I2C总线接口的新一代高分辨率气压传感器,分辨率可达到10cm。
该传感器模块包括一个高线性度的压力传感
器和一个超低功耗的24位工模数转换器(工厂校准系数)。
MS5611提供了一个精确的24位数字压力值和温度值以及不同的操作模式,可以提高转换速度并优化电流消耗。
高分辨率的温
度输出无须额外传感器可实现高度计/温度计功能。
可以与几乎任何微控制器连接。
通信协
议简单,无需在设备内部寄存器编程。
MS5611压力传感器只有5.0毫米$.0毫米*1.0毫米的
小尺寸可以集成在移动设备中。
这款传感器采用领先的MEMS技术并得益于MEAS(瑞士)
十余年的成熟设计以及大批量制造经验,保证产品具有高稳定性以及非常低的压力信号滞后。
内部结构及技术数据
移动高度计/气压计系统
自行车电脑
气压表
医疗警报高度计室内导航
原理框图
SensorPerfonnances(Von=3VJ
Pressure
Min
Typ
Max
Unit
Range
10
120C
mbar
ADC
24
bit
Resolution
(1)
0065/0.042/0.027/DOI0/OJ12
mbar
Accuracy25*Ci750mbar
15
+1.5
mbar
ETOTband,-200Cto+85°C
450to1lOOmbar
(2)
25
+2.5
mbar
Responsetime
(1)
0.5/
1.1J2.174.11
B.22
ms
Longtermstability
-1
mbar/yr
Temperature
Mm
Typ
Max
Unit
Range
-40
[+85
°C
Resolution
<=0.01
sc
Accuracy
-0.8
+08
°C
Notes.:
{1:
Overs白mphngRailo.266/512/102412O4R/4-0
|
(2)WiWautoz^raalon电pressurepoint
技术数据
性能参数
最大工作范围
参数
符号
条件
最小
典型
最大
r电源电压
VDD
-0.3V
+4.0V
最大压力值
Pmax
6bar
最大焊接温度
Tmax
最长40秒
250C
电气特性
参数
符号
条件
最小
典型
最大
r工作电压
Vdd
1.8V
3.0V
3.6V
r工作温度
T
-40C
+25C
+85C
工作电流
(1samplepersec.)
Idd
OSR4096
2048
1024
512
12.5uA
6.3uA
3.2uA
1.7uA
256
0.9uA
VDD对地电容
VDDtoGND
100nF
模数转换(ADC)
参数
符号
条件
最小
典型
最大
输出字长(bit)
24
OSR4096
7.40
8.22
9.04
2048
3.72
4.13
4.54
转换时间(ms)
tc
1024
1.88
2.08
2.28
512
0.95
1.06
1.17
256
0.48
0.54
0.60
气压值输出特征
温度值输出特征
数字输入(CSB,I2C,DIN,SCLK)气压输出(I2C,DOUT)功能描述
综合描述
MS5611-01BA是由压阻传感器和传感器接口组成的的集成电路,主要功能是把测得未得补偿模拟气压值经ADC转换成24位的数字值输出,同时也可以输出一个24位的数字温
度值。
出厂校验
每个模块都在两种温度和两种压力下有其单独的出厂校验,6系数必要补偿为过程变化
和温度变化计算和存储到一个内部的128-bit存储器(PROM)中,这些值(划分成6个系
数)用软件来读取并要通过程序将D1和D2中的值转换成标准气压、温度值。
串行接口
MS5611-01BA有两种类型的串行接口:
SPI和I2C。
通过调节PS引脚的电压来选择使用I2C或SPI通信接口:
PinPS
初ode
Pinsused
Mign
Fu
SDA
Low
SPI
SOI.SDO,CSB
SPI模式
外部微控制器通过输入SCLK(串行时钟)和SDI(串行数据)来传输数据。
在SPI模式下时钟极性和相位允许同时模式0和模式3。
SDO(串行数据)引脚为传感器的响应输出。
CSB(芯片选
择)引脚用来控制芯片使能/禁用,所以,其他设备可以共用同一组SPI总线。
在命令发送完毕或命令执行结束(例如结束的转换)时CSB引脚将被拉高。
在SPI总线空闲模式下模块有较好的噪声性能和在ADC转换时与其他设备链接。
I2C模式
外部微控制器通过输入SCLK(串行时钟)和SDA(串行数据)来传输数据。
传感器的响应在一根双向的I2C总线接口SDA线上。
所以这个接口类型只使用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.开始
计算结果最大值:
PMin10mbar,PMAX1200mbar,Tmin40oC,Tmax85oC,
Tref20C
2.从PROM读取出厂校准数据
变量
描述|方程
推荐变量类型
Size
值
例子/典型
bit
min
Max
C1
压力灵敏度|SENSt1
uint16
16
0
65535
40127
C2
压力抵消|0FFti
uint16
16
0
65535
36924
C3
温度压力灵敏度系数|tcs
uint16
16
0
65535
23317
C4
温度系数的压力抵消|TCO
uint16
16
0
65535
23282
C5
参考温度|Tref
uint16
16
0
65535
33464
C6
温度系数的温度itempsens
uint16
16
0
65535
28312
3.读取数字气压和温度值
DI
数字压力值
uint32
24
0
16777216
9085466
D2
数字温度值
uint32
24
0
16777216
8569150
4.计算温度
dT
实际和参考温度之间的差异
dTD2TrefD2C5*28
int
32
25
-16776960
16777216
2366
temp
实际温度(-40…85°C0.01°C的分辨率)
o
temp20CdT*TEMPSENS
23
2000dT*C6/2
int
32
41
-4000
8500
2007=
20.07C
5.计算温度补偿下的气压值
OFF
实际温度抵消
offOFFT1TCO*dT
C2*216(c3*dT)/27
uint
64
41
-8589672450
12884705280
2420281617
sens
实际温度灵敏度
sensSENSiTCS*dT
Cl*215(C3*dT)/28
uint
64
41
-4294836225
6442352640
1315097036
p
温度补偿压力(10…
1200mbar与0.01mbar分辨率)
pdi*sensoff
(D1*SENS/2OFF)/2
uint
64
58
1000
100009=1000.09mbar
6•得到气压和温度值。
二阶温度补偿
计算压力和温度
TEMP
TEMP
T2
OFF
OFFOFF2
SENS
SENE
SENS2
对压力和温度达到最佳精度的流程图
SPI接口
SPI命令
下面的表格描述中每个命令的大小是1字节(8位)。
执行ADCread指令后将会返回一个
24-bit的结果,执行PROMread指令后返回16-bit的结果。
存储器(PROM)的地址在PROMread命令中的a2,a1和a0位。
Commandbyte
hexvalue
Bitnumber
0
1□
2
3
4
5
6
7
Bitname
PRM
cov
-
Typ
Ad2/0s2
Ad1/
0s1
AdO/
OsO
stop
Command
Reset
0
0
0
1
1
1「
1
o
0x1E
COflVSrtDI(OSR=256)
0
1
0
0
0
on
0
0
0X40
ConvertD1^OSR=512|
0
l
0
0
0
0二
1
0
0x42
ConvertDI(OSR=1024>
0
1
0
0
0
1
0
0
0X44
ConvertD1(OSR=2048)
0
1
0
0
0
i
1
0
0x46
COTVeHD1(OSR=4096>
0
1
0
0
1
0
0
0
0X46
ConvertD2(OSR^25S)
0
1
0
1
0
0
0
0
0x50
GOflveHDZ(OSR=512)
0
1
Q
1
0
0
1
0
0X52
ConweriD2(QSR=1024>
0
1
0
1
0
1
0
0二
0x54
CofiveHD2(OSR=2Q40>
0
1
0
1
0
11
1
0
0x56
ConcertD2(OSR=40%>
0
1
0
1
1
0二
0
0二
0x58
ADCRead
0
0
0
0
0
0
0
0
0x00
PROMRead
1
0
1
0
Ad2
Ad1
AdO
0
OxAOtoOxAE
命令结构
SPI复位时序
转换时序
存储器读取时序图参见原文。
I2C接口
I2C命令
每个I2C通信消息都有开始和停止状态。
MS5611-01BA的I2C地址为111011CX,其中C为CSB引脚的补码值(取反)。
因为传感器内并没有微控制器,所有I2C的命令和SPI是相同的。
I2C复位时序
复位指令可以在任何时间发送。
如果没有成功的上电复位,这可能是被屏蔽的SDA模
块在应答状态。
MS5611-01BA唯一的复位方式是发送几个SCLKs后跟一个复位指令或上电复位。
11101icsF0DeviceAddress
0
000111command
100
S|Dtvi^e^ddr^s|
a|
andbitt
A
P
来自主机S=开始命令W=写命令A=应答
来自从机P=停止命令R=读命令N=无应答
I2C复位指令
存储器读取时序
PROM读指令由两部分构成,第一部分使系统处于PROM读模式,第二部分从系统中读取数据。
111011C&B0
o|1
L01U01
1Qo|1
DeviceAddress
匚ommand
■|DeviceAddress
W
A|
ciixlbyte
A|P
|_来自主机S=开始命令W=写命令A=应答
来自从机P=停止命令R=读命令N=无应答
I2C读存储器指令,地址=011(系数:
3)
111011CSB1
Devi诧Address
O11OOXXXXO
data
XXXXXXXXdata
o
DeviceAddirss|R
A|Memorybit15-8]A
Memoiybit7-o
NP1
来自主机S=开始命令W=写命令A=应答
来自从机P=停止命令R=读命令N=无应答
I2C从芯片中应答
转换时序
通过向MS5611-01BA发送指令可以进入转换模式。
当命令写入到系统中,系统处于忙碌状态,直到转换完成。
当转换完成后可以发送一个读指令,此时MS5611-01BA发回一个
应答,24个SCLK时钟将所有bit位传送出来。
每隔8bit就会等待一个应答信号
111011CSfi
0Io
010010-00(F
DeviceAddress
command
S
DeviceAddress
WA]
crndbyte]几|P
I_来自主机S=开始命令W=写命令A=应答
1110110
DevkeAddress
0
()000000(command
J(i
S[DeviceAddress
a
jcmdbyte
A|
F
来自从机P=停止命令R=读命令N=无应答
I2C启动压力转换指令(OSR=4096,typ=D1)
□
I_来自主机S=开始命令W=写命令A=应答
来自主机S=开始命令W=写命令A=应答
来自从机P=停止命令R=读命令N=无应答
I2C从MS5611-01BA读取数据
循环冗余检查(CRC)
MS5611-01BA包含128-Bit的PROM存储器。
存储器中有一个4bit的CRC数据检测位。
下面详细描述了CRC-4代码的使用。
D
B
1
5
D
R
1
4
D
D
1
2
D
D
D
D
D
D
D
U
D
D
B
B
B
B
B
B
B
B
B
B
9
8
7
6
5
4
3
2
1
0
D
B
16bitreservedformanufacturer
Co^ffiGient1(16bitunsigned)
Coefficient2(16bitunsigned)
CcefticiEnt3(16bitunsigned)
Coefticient4(16b[tunsigned)
Coefficient5(16bitinsigned)
Coefficient6(16bitunsigned)
IIIIIIIIII~~CRC
典型应用电路
SPI协议
lOW*-审即selected
VDO
'3QnF
MS5611-01BA
CCB
VDO
SOI
PS
SDO
它ND
SCLK
Output-
Part
SFI
lnlerfdce
I2C协议
引脚定义
NfS6611-01BA
Htnl
VDD+3Va
o*rr>5Utis^HimI?
■:
:
ICCTr-1
SDA
SCLW
+DC
+3W
ILi-
1=0-
Interface
引脚
名称
类型
描述
1
VDD
P
电源电压:
2
PS
I
通讯协议选择
PShigh(VDDI2C
PSlow(GND—SPI
3
GND
G
接地
4
CSB
I
片选(低电平有效),内部连接
5
6
SDO
O
串口数据输出
7
SDI/SDA
I/IO
串口数据输入/I2C数据
8
SCLK
I
串口时钟
***注:
原文附录有一些典型测量值的特征曲线可参考。
其中的一些关键点:
ADC
的测量值D1和D2是分别用来测气压和温度的,且基本成线性关系;在常温
(20C)或大于常温时,测量误差很小,而温度低于20C时,气压和温度测量
误差会明显增大;电源电压为3V时,气压和温度测量误差很小,而其它供电电压下误差会大幅度增加。
ARDUINO测试代码
MS561101BA.h文件:
#ifndefMS561101BA_h
#defineMS561101BA_h
#ifndefcbi
#definecbi(sfr,bit)(_SFR_BYTE(sfr)&=~_BV(bit))
#endif
#include"WProgram.h"
#include
//#defineDEBUGV
//#defineDEBUG
//#include
//addressesofthedevice
#defineMS561101BA_ADDR_CSB_HIGH0x76
//CBR=10x76I2CaddresswhenCSBisconnectedtoHIGH(VCC)#defineMS561101BA_ADDR_CSB_LOW0x77
//CBR=00x77I2CaddresswhenCSBisconnectedtoLOW(GND)
//registersofthedevice
#defineMS561101BA_D10x40#defineMS561101BA_D20x50#defineMS561101BA_RESET0x1E
//D1andD2resultsize(bytes)#defineMS561101BA_D1D2_SIZE3
//OSR(OverSamplingRatio)constants#defineMS561101BA_OSR_2560x00#defineMS561101BA_OSR_5120x02#defineMS561101BA_OSR_10240x04#defineMS561101BA_OSR_20480x06#defineMS561101BA_OSR_40960x08
#defineMS561101BA_PROM_BASE_ADDR0xA2//byaddingintsfrom0to6wecanreadallthepromconfigurationvalues.
//C1willbeat0xA2andallthesubsequentaremultiplesof2
#defineMS561101BA_PROM_REG_COUNT6//numberofregistersinthePROM#defineMS561101BA_PROM_REG_SIZE2//sizeinbytesofapromregistry.
classMS561101BA
{
public:
MS561101BA();voidinit(uint8_taddr);floatgetPressure(uint8_tOSR);floatgetTemperature(uint8_tOSR);int64_tgetDeltaTemp(uint8_tOSR);int32_trawPressure(uint8_tOSR);int32_trawTemperature(uint8_tOSR);intreadPROM();
voidreset();
private:
unsignedlongdoConversion(uint8_tcommand);
uint8_t_addr;
uint16_t_C[MS561101BA_PROM_REG_COUNT];
};
#endif//MS561101BA_h
MS561101BA.cpp文件:
#include"MS561101BA.h"
#defineEXTRA_PRECISION5//tricktoaddmoreprecisiontothepressureandtempreadings
MS561101BA:
:
MS561101BA()
{;}
voidMS561101BA:
:
init(uint8_taddress)
{
_addr=address;
//disableinternalpullupsoftheATMEGAwhichWireenablebydefault
#ifdefined(__AVR_ATmega168_一)IIdefined(_AVR_ATmega8_II
defined(__AVR_ATmega328P__)
//deactivateinternalpull-upsfortwi
//aspernotefromatmega8manualpg167
cbi(PORTC,4);
cbi(PORTC,5);
#else
//deactivateinternalpull-upsfortwi
//aspernotefromatm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MS561101BA03 气压计 高度计 中文 资料 解析