你好!欢迎来到深圳市品慧电子有限公司!
语言
当前位置:首页 >> 技术中心 >> 传感技术 >> M601读出的寄存器值一直为0x00(对应计算出的温度为40.000℃),怎样解决?

M601读出的寄存器值一直为0x00(对应计算出的温度为40.000℃),怎样解决?


注:敏源传感高精度数字温度传感芯片M601计算出的温度值一直为40.000℃,也有可能是由测温读温中途芯片无响应或CRC校验错误等判断处返回FALSE所导致,有可能寄存器是0xFF,这里特指寄存器值为0x00不变的情况。

出现这种情况,有如下几种可能性:

(1)上拉电阻没接:这种情况下,复位脉冲后是有 "存在脉冲" 的,但并不代表芯片一定响应了,这里因为没接上拉电阻,所以只要是切换到输入方向,总线必为低电平,所以不确定这里IC到底有没有响应。

解决方法:DQ与VDD间要有上拉电阻,如用多点级联的话可根据IC的数量及时序来选用小一些的上拉电阻,比如4.7k或1k。

(2)DQ线与GND短路:这种情况示波器看波形是全程低电平,没有主机的波形,用万用表测量有短路的情况。

解决方法:仔细排查,断开短路的地方。

(3)时序问题:程序延时不准,导致复位脉冲后没有读到存在脉冲(此时若用示波器或逻辑分析仪看波形,复位脉冲后是有存在脉冲的),返回FALSE并退出测温或读取流程。

解决方法:例程文件里给的延时皆为实际时间,用示波器或逻辑分析仪测量程序内1us与实际时间1us的比例,按这个比例调整程序里测量读取温度期间所有的延时,保证其对应的实际时间与例程中给的延时时长相符。

 

用户评论

发评论送积分,参与就有奖励!

发表评论

评论内容:发表评论不能请不要超过250字;发表评论请自觉遵守互联网相关政策法规。

深圳市品慧电子有限公司