TI中文支持网
TI专业的中文技术问题搜集分享网站

关于TMP006读取温度

你好,关于TMP006,我现在可以把ID读出来,但是读不出来温度值和电压值,可能是什么原因呢?望知情人者告知,谢谢。

Mister Lei:

SMBUS是否有pull high;

您指的ID是device 的ID?下面是read sequence

韩朋朋:

回复 Mister Lei:

SMBUS有加上拉电阻的,Device ID.Manufacturer ID和配置寄存器里的值都可以读出来,但是唯独温度值和电压值读不出来。

其中配置寄存器里,我是这样设置的,使使能位EN=0(禁用DRDY引脚).而且配置寄存器里的低八位写不进去,即:即使写进去是1,读出来的还是0.

读出的温度值和电压值一直是0,读出的配置寄存器里的/DRDY位一直是低电平,不会是转换一直未完成吧?

Mister Lei:

回复 韩朋朋:

1. 确认一下ID对不对。

2.配置结存器如下,低8位本来就是写不进的,其中D7是read only,所以您看到并不是问题。

3.读出来是0,要么是根本没转换,要么是转换未完成,从手册中CR的描述可以看到,转换一次最慢也不会超过4秒。DRDY的确可以用来指示转换是否完成,但您前面提到配置 EN=0,那么

 

 

 

Mister Lei:

回复 Mister Lei:

(continued…  不知道为什么后面的内容看不到,重新发一下试试)

1. 确认一下ID对不对。

2.配置结存器如下,低8位本来就是写不进的,其中D7是read only,所以您看到并不是问题。

3.读出来是0,要么是根本没转换,要么是转换未完成,从手册中CR的描述可以看到,转换一次最慢也不会超过4秒。DRDY的确可以用来指示转换是否完成,但您前面提到配置 EN=0,那么DRDY是disable 的。

4.给出您的配置寄存器值,特别是MOD,它有000和111两种值,000是power down mode,it aborts the current conversion and puts the device into a low-power shutdown mode。

5.enable DRDY 看一下。

6.注意硬件设计,特别是layout,网站上有layout 方面的建议。

 

 

 

 

 

韩朋朋:

回复 Mister Lei:

 你好!

非常感谢您的建议,我在初始化中,给配置寄存器先复位(把0x8000写入配置寄存器中),然后在给配置寄存器初始化(把0x7800写入配置寄存器中,即MOD为111),然后读的配置寄存器的值很对(也是0x7800),Manufacturer ID,Device ID中的值也读的很准(分别是0x5449和0x0067),但是唯独电压值和温度值还是为复位后的值(0),而且配置寄存器的/DRDY位一直为低电平(0)。

关于您说的enable DRDY,我是这样做的,将/DRDY引脚引出来(已加上拉电阻),程序中,写入配置寄存器的值为0x7900。测试的结果是,DRDY引脚一直是高电平(1)。

关于硬件设计,PCB布线,说实话我是随便布的线,不知会不会有影响?但是可以准确读出来配置寄存器,Manufacturer ID,Device ID的值,又让我疑问,布线应该没有影响吧。

从测试结果来看,按照您之前说的那样,要么没有转换温度,要么转换了,没转换完成。可是为什么会出现这样的情况?确实让我困惑。还再次麻烦你提些建议。

Mister Lei:

回复 Mister Lei:

Mister Lei

您说您的device ID 是0x0067,但这个值是reset value,并不是真正的device ID,下面才是通过ADR PIN设定的值,只有8种。 请确认。

韩朋朋:

回复 Mister Lei:

你好!

我确实是把AGND和DGND连接了,其实我是初学者,因为之前见过有把AGND和DGND连接到一起的器件,所以这次索性也把AGND和DGND连接到一起了。

问题是不是出在这了?

我的PCB作图很简单,单面板,直接把引脚引出来的,没有什么技术含量。

今天下午按照您的建议,改变了ADRO,ADR1引脚,即改变了SMBUS的器件地址。发现当且仅有ADR0=0,ADR0=0或ADR0=1,ADR0=0这两种情况时,能读出复位值(但仍然温度寄存器里的值没有转换),我用很简单的51单片机开发板调试的。TMP006器件的电源和接地的都是用开发板上的电源端口和接地端口,不知这是否会有影响?

Mister Lei:

回复 韩朋朋:

这里的AGND和DGND可以直接连接,那么您中间的温度感应部分是如何连接的?不过这个应该不会造成读不出温度。

建议您先检查一下PCB是否和硬件线路连接的一致,您提到电源和接地的都是用开发板上的电源端口和接地端口指的是51单片机的电源和GND是链接到开发板吗?这个不会有影响,因为至少您前面的工作都没有问题。

是否有换过其它芯片试一试,芯片是用热风枪吹上的吗?大概多大的温度。

haiyan:

回复 Mister Lei:

Lei 你好,

请问我们用TMP006为什么ID 读出来不对,但是读写都算正常?这样有没有影响?

赞(0)
未经允许不得转载:TI中文支持网 » 关于TMP006读取温度
分享到: 更多 (0)