大家好,我是【广州工控传感★科技】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,如果定义的变量范围太小,很容易导致计算过程中的溢出问题,以上案例就是因为这个原因导致。
全部0条评论
快来发表一下你的评论吧 !