MS5805是一款由TE推出的可以测量周围环境的温度以及压力的高精度传感器方案,室温下,温度误差为+/-1℃,内部具有24bit ADC,最高压力精度为0.02mbar,采用标准I2C通信,硬件设计简单。本文主要介绍MS5805压力传感器的温度和压力值的读取,方便工程师在软件开发的时候,可以快速的了解MS5805的软件代码实现的过程,更加容易的应用MS5805压力传感器。

下面开始介绍MS5805的温度以及压力值读取步骤:
一、首先,MS5805是标准I2C通信,它的器件地址为0xEC (与有些器件的0xA0不一样,需要注意)。
二、按照数据手册所示读取步骤:

1)发送RESET命令,向地址0xEC发送命令0x1E
2)等待重启完成,延时等待大约1ms,此步骤非常重要,如果等待的时间不足,会导
致校准值的第一个数据不准确。
3)发送读取校准值命令,向地址0xEC发送0x40+2ch,读取内部校准值,有7个,C0-C6,
其中C0是内部校准值的CRC校验,为出厂时写入的可读值。
三、发送温度转换命令0x5A,然后等待,大约10us,向地址0xEC发送命令0x00读取温度的24bit ADC值。
四、发送压力转换命令0x4A,然后等待,大约10us,向地址0xEC发送命令0x00读取压力的24bit ADC值。
五、根据公式计算温度:
dT = D2 - T REF = D2 - C5 * 2^8;
TEMP = 20°C+dT*TEMPSENS = 2000+dT*C6/2^23
六、根据公式计算压力值:
OFF = C2*2 17+(C4*dT )/2^6;
SENS = C1 * 2 16+( C3*dT )/2^7;
P = D1 * SENS - OFF = (D1 * SENS / 2 21 - OFF) / 2^15
通过以上步骤,我们就可以精确地读出周围环境的温度值以及压力值了。

版权所有(C)江门市安泰电子有限公司
技术支持:爱用建站