首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
新型数字温度传感器ADT75的原理及应用
来源:本站整理  作者:佚名  2009-10-12 12:22:02




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

    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]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:159,210.90000 毫秒