首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
分布式测温中传感器时序与温度读取研究
来源:本站整理  作者:佚名  2009-02-24 10:27:56



在分布式测温系统中应用了大量的新型传感器DS18B20,DS18B20是单总线数字温度传感器其硬件接线简单,但时序非常复杂。要实现温度的正确读取,既要有对DS18B20的ROM操作命令,又有一些功能命令。这些命令的执行,既有一定顺序,又有特定含义。都需要基于数字温度传感器初始化时序、写时序和读时序,按照严格的时序配合才能完成温度正确采集与读取。因此要想正确使用单总线数字温度传感器,必须分析其时序关系,并且基于时序编制正确程序。单总线数字温度传感器时序分析与应用研究具有及其重要意义。

2.数字温度传感器时序
DS18B20与单片机只通过一条数据线连接,所以其数据的传输方式为串行方式。为了正确读取温度值,必须严格按照时序配合关系,进行程序编制。DS18B20有严格的通信协议来保证数据传输的正确性和完整性。通信协议规定了总线上的多种信号的时序。如:复位脉冲、响应脉冲、写0、写1、读0和读1等信号的时序。DS18B20是在严格的时序控制下进行正常操作的。换句话讲,就是用较为复杂的软件来换取简单的硬件接口。因此要正确使用DS18B20,就必须了解其初始化时序、写时序和读时序。

2.1   数字温度传感器初始化时序
初始化时序有时也称复位时序,它是数据线上所有传输过程的开始。整个初始化过程由主设备发出的复位脉冲和DS18B20的响应脉冲组成。在主设备初始化的过程中,主设备通过拉低数据线至少480μS ,DS18B20即认为是接收到一个初始化脉冲,接着主设备释放数据线,在数据线上上拉电阻的作用下,数据线电平被拉高,并且主设备进入接收模式。在DS18B20检测到上升沿后,延时15~60μS ,接着通过拉低总线60~240μS以产生应答脉冲。初始化时序如图2所示。图1是图2、图3和图4的线型示意图。


                
图1    线型示意图
    
图2    初始化时序

在分布式测温系统中CPU采用AT89S52,温度读取的初始化程序如下所示:
DAT    BIT  P1.0
INI10: SETB  DAT
MOV  R2, #185
INI11: CLR  DAT
DJNZ  R2, INI11    ; 复位脉冲时间600us
SETB  DAT    ; 释放数据线
MOV  R2, #28
INI12: DJNZ  R2, INI12    ; 等待60us
CLR  C
ORL  C, DAT    ; 有无应答低电平
JC  INI10    ; 若无应答,初始化失败
MOV  R6, #40
INI13: ORL  C, DAT
JC  INI14    ; 数据线变高。初始化成功
DJNZ  R6, INI13    ; 低电平最多240us
SJMP  INI10    ; 低电平持续大于240us,失败
INI14: MOV  R2, #222
INI15: DJNZ  R2, INI15    ; 应答信号至少要持续480us    
RET

2.2  数字温度传感器写时序
写时序包括写“0”时序和写“1”时序。写“1”时序用于主设备向DS18B20写入1,写“0”时序用于主设备向DS18B20写入0。无论是哪种写时序都至少需要60μS ,且在两次独立的写时序之间至少需要1μS的恢复时间。两种写时序均起始于主设备拉低数据线电平。对于写“1”时序,主设备在拉低数据线之后,紧接着必须在15μS之内释放数据线,由上拉电阻将数据线拉至高电平;而对于写“0”时序,在主设备拉低数据线后,只需在整个时序内保持低电平即可至少60μS。在写时序开始后的15~60μS期间内,DS18B20读取数据线电平状态。如果此期间数据线为高电平 ,则对器件写入逻辑1,否则写入逻辑0。写时序如图3所示。

[1] [2] [3]  下一页

关键词:

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

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

推荐阅读

图文阅读

热门阅读

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