新闻中心

EEPW首页 > 测试测量 > 设计应用 > 新型数字温度传感器ADT75的原理及应用

新型数字温度传感器ADT75的原理及应用

作者:时间:2009-10-12来源:网络收藏

(2)传送地址
在读取温度值之前必须向从器件发送地址。的7位地址为0x48。由于是读数据(读/写位为1),所以传送的8位地址命令为0x91。在传送数据时,当SCL为0时,才允许SDA上的数据变化;为1时,SDA上的数据保持不变。8位地址传送结束后,主机释放SDA(令SDA=1),等待从机的应答信号。
(3)检测的应答位
I2C总线传输完8位数据后由从机给主机一个低电平的应答信号,表示从机正常工作并可以接收下一个字节的数据。检测ADT75的应答位时,应注意把GPIOB1口设置为输入。

本文引用地址:http://www.eepw.com.cn/article/195703.htm

EALLOW:
GpioMuxRegs.GPBDIR.bit.GPIOB1=0;
EDIS;
如果SDA=0,则TMSS20F2812开始从ADT75中读取数据的高字节;SDA=1,表示ADT75忙或者损坏,结束数据读取。
(4)读取数据
当检测到ADT75的应答信号为0时,开始读取温度值。I2C总线的数据传输是以字节为单位的,首先读取温度值的高字节(温度值的整数部分,最高位为符号位),读取的数据存放在retc中。每接收1位数据,retc左移1位。若SDA=1,retc加1;SDA=0,retc不变。


高8位数据传输完后,TMS320F2812传给ADT75一个低电平的应答信号,由Mack()函数完成。此时,需要将GPIOB1端口的数据传输方向改为输出:
EALLOW:
GpioMuxRegs.GPBDIR.bit.GPIOB1=1;
EDIS:
然后开始接收温度值的低字节(温度值的小数部分),读取成功后由TMS320F2812发送一个非应答位,表示本次温度值的读取结束,进入停止状态。
(5)结束数据传输
结束数据传输由Stop()函数完成,结束条件如下:

Delay(50);
至此,读取一个温度值的全过程结束。在程序调试过程中发现,当设置断点单步运行时,无法检测到ADT75发出的低电平应答信号,应答信号始终为1;若不设断点连续执行时,则可以检测到低电平应答信号。这点是ADT75和其他I2C总线器件(如E2PROM芯片AT24C256)的不同之处,在调试程序的过程中要注意该细节。
ADT75的温度转换周期为100 ms。在本设计中,每隔大约250 ms读取一次温度值,可以实现监测光纤延迟线系统温度的变化。

结 语
在光纤延迟线系统的硬件设计中,ADT75完全能够满足实时温度采集的要求,而且测温准确,灵敏度高。由于使用了I2C总线接口,所以温度检测电路结构简单,占用空间小,串行接口占用TMS320F2812的资源少,可靠性高,功耗低,不易受环境干扰。实验证明,设计和运行都达到了令人满意的效果。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭