08 Barometer MS5611 Driver

一、开发笔记

  1. MS5611-01BA是由压阻传感器和传感器接口组成的的集成电路,主要功能是把测得未得补偿模拟气压值经ADC转换成24位的数字值输出,同时也可以输出一个24位的数字温度值.

  2. 高度测量最大分辨率10cm

  3. MS5611支持SPI和I2C通信,可以通过上拉PS引脚( Protocol Select)选择I2C协议,下拉则选择SPI协议

  4. MS5611-01BA的I2C地址为111011Cx,其中C为CSB引脚的补码值(取反).因为传感器内并没有微控制器,所有I2C的命令和SPI是相同的.

  5. 气压到海拔的换算公式如下图:点击转到图片来源

二、初始化与工作流程

1. 从PROM读取出厂校准值

每个模块都在两种温度和两种压力下有其单独的出厂校验,6个系数必要补偿为过程变化和温度变化计算和存储到一个内部的128-bit存储器(PROM)中,这些值(划分成6个系数)用软件来读取并要通过程序将D1和D2中的值转换成标准气压、温度值.

变量

描述

变量类型

Size

min

Max

典型

C1

压力灵敏度 SENST1

uint 16

16

0

65535

40127

C2

压力抵消 OFFT1

uint 16

16

0

65535

36924

C3

温度压力灵敏度系数 TCS

uint 16

16

0

65535

23317

C4

温度系数的压力抵消 TCO

uint 16

16

0

65535

23282

C5

参考温度 TREF

uint 16

16

0

65535

33464

C6

温度系数的温度 TEMPSENS

uint 16

16

0

65535

28312

2. 启动温度AD转换,读取AD值

3. 启动气压AD转换,读取AD值

变量

描述

变量类型

Size

min

Max

典型

D1

数字压力值

uint 32

24

0

16777216

9085466

D2

数字温度值

uint 32

24

0

16777216

8569150

4. 计算真实气压和温度值

5. 计算海拔值

最后更新于