M1820读出寄存器值与CRC校验值全为 0xFF,是什么原因?

敏源传感首页    M1820读出寄存器值与CRC校验值全为 0xFF,是什么原因?

 

敏源传感高精度数字温度传感芯片M1820最高测温精度为±0.1℃,16位输出,最高分辨率0.004°C,测温范围-70°C~+150°C,温度转换时间10.5ms/5.5ms/4ms可配置,标准单总线接口,高精度P2P替代DS18B20,可替代DS1821/DS1920。


使用过程中,如果发现M1820读出寄存器值与CRC校验值全为0xFF,可按如下检查:


先检查reset后是否有presence,可能原因如下。


1. reset 后有 presence 


原因 1:读时序不合适,从读 bit 函数第一个下降沿到读值的实际时间超过了15us,错过了正确的采样时间,读0失败。 


解决方法:确认延时是否准确,确保从读 bit 函数第一个下降沿到读值的实际时间为13us左右。 


原因 2:GPIO 若为推挽模式,读取时 GPIO 输入模式切换失败。 


解决方法:按照读取 presence 时的切换方式读取寄存器值。 


2. reset 后无 presence 


原因 1:DQ 与 VDD 短路(该情况下,示波器看不到主机发送的指令波形,只有一条直线)。 


解决方法:检查硬件,保证 DQ 与 VDD 间无短路现象。


原因 2:由于供电电压偏低、测量环境温度偏低或线缆过长,reset 时长不够导致没有响应。 


解决方法:拉长 reset 时长。 


原因 3:GPIO 若为推挽模式,读取时 GPIO 输入模式切换失败。 


解决方法:检查输入模式下读取的寄存器是否为输入数据寄存器,切换输入模式后是否给够延时保证切换完成后再读取寄存器值等。

 

 

2022年11月4日 18:21
浏览量:0
收藏