调试MS5803-14BA压力传感器问题

描述

大家好,我是【广州工控传感★科技】MS5803-14BA压力传感器事业部,张工。


 

问题描述:客户在使用MS5803-14BA遇到以下问题:
 

1. 软硬件环境:单片机使用是ti msp430f448系列,采用两个io口模拟I2C通讯,两个io口分别接ms5803第一脚SCL做时钟线;另一个端口接第七脚。电源3.0V,地共四根线,CSB接地 ,PS拉高,SCL,SDA均用10K 电阻上拉。

2. 在调试软件的过程中,遇到这样的问题,就是通讯正常,发命令有应答,但读出来的数值不对,prom数据为零,转换后的温度和压力值很小。程序完全按照规格书命令格式收发数据。请问这种问题是什么原因造成的,或是器件本省就已经损坏,还是其他问题。

3.在后续的实验中发现,一但单片机给ms5803写D1,D2模式命令后,ms5803就进入通讯不正常模式,即单片机再给其发任何指令时都不理会。请问,这是什么原因?如何处理这个问题?

示波器抓到的通讯数据如下:


 

1. 软硬件环境:单片机使用是ti msp430f448系列,采用两个io口模拟I2C通讯,两个io口分别接ms5803第一脚SCL做时钟线;另一个端口接第七脚。电源3.0V,地共四根线,CSB接地 ,PS拉高,SCL,SDA均用10K 电阻上拉。

检查I2C的地址是否对的,同时I2C的频率是否超出400Khz,.

2.

压力传感器


 

3. 在调试软件的过程中,遇到这样的问题,就是通讯正常,发命令有应答,但读出来的数值不对,prom数据为零,转换后的温度和压力值很小。程序完全按照规格书命令格式收发数据。请问这种问题是什么原因造成的,或是器件本省就已经损坏,还是其他问题。请帮忙解决

PROM的值一定要都读出来,而且要通过CRC校验合格才能确定I2C的通讯是否是正常的。

3.在后续的实验中发现,一但单片机给ms5803写D1,D2模式命令后,ms5803就进入通讯不正常模式,即单片机再给其发任何指令时都不理会。请问,这是什么原因?如何处理这个问题?

在校准和计算的过程中需要注意以下问题:

首先需要根据规格书中给出的具体型号的计算流程图及计算公式来计算温度和压力数据。其次在计算的过程中,因为涉及移动多个bit,如果定义的变量范围太小,很容易导致计算过程中的溢出问题,以上案例就是因为这个原因导致。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分