| 单线数字温度传感器的原理与应用 |
| 类别:传感与控制 |
| 作者:武汉测绘科技大学光电院(430079) 金伟正 来 源:《电子技术应用》
单线数字温度传感器的原理与应用 摘 要:介绍单线数字温度传感器DS1820的特性及工作原理,给出了DS1820与89C51单片机接口的应用实例,以及由DS1820组成温度检测系统的方法,并给出了对DS1820进行各种操作的软件流程图。 关键词: 单线制(1-Wire) 时隙 A/D变换 美国DALLAS公司生产的单线数字温度传感器DS182,可把温度信号直接转换成串行数字信号供微机处理。由于每片DS1820含有唯一的硅串行数所以在一条总线上可挂接任意多个DS1820芯片。从DS1820读出的信息或写入DS1820的信息,仅需要一根口线(单线接口)。读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS1820供电,而无需额外电源。DS1820提供九位温度读数,构成多点温度检测系统而无需任何外围硬件。 本文给出了DS1820与89C51单片机接口的应用实例和DS1820组成温度检测系统的方法,并给出了对DS1820进行各种操作的软件流程图。 1 DS1820的特性 ·单线接口:仅需一根口线与MCU连接 ·无需外围元件 ·由总线提供电源 ·测温范围为-55℃~75℃,精度为0.5℃ ·九位温度读数 ·A/D变换时间为200ms ·用户自设定温度报警上下限,其值是非易失性的 ·报警搜索命令可识别哪片DS1820超温度限 2 DS1820引脚及功能 DS1820的引脚见图1(PR35封装)。 GND:地; DQ:数据输入/输出脚(单线接口,可作寄生供电); VDD:电源电压。 DS1820的内部结构如图2所示。由图2可知,DS1820由三个主要数字器件组成: ① 64bit闪速ROM;②温度传感器;③非易失性温度报警触发器TH和TL。64bit闪速ROM的结构如下: 它既可寄生供电也可由外部5V电源供电。在寄生供电情况下,当总线为高电平时,DS1820从总线上获得能量并储存在内部电容上当总线为低电平时,由电容向DS1820供电。 DS1820的测温原理:内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时振荡器的脉冲无法通过门电路。计数器设置为-55℃时的值,如果计数器到达0之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55℃。同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到回零。如果门电路仍然未关闭,则重复以上过程。温度表示值为9bit,高位为符号位,其结构如下: 对DS1820的使用,多采用单片机实现数据采集。处理时,将DS1820信号线与单片机一位口线相连,单片机可挂接多片DS1820,从而实现多点温度检测系统。 系统对DS1820的操作以ROM命令和存储器命令形式出现。 3.1 ROM命令代码及其含义 ·READROM命令代码[33H]:如果只有一片DS1820,可用此命令读出其序列号,若在线DS1820多于一个,将发生冲突。 ·MATCHROM命令代码[55H]:多个DS1820在线时,可用此命令匹配一个给定序列号的DS1820,此后的命令就针对该DS1820。 ·SKIPROM命令代码[CCH]:此命令执行后的存储器操作将针对在线的所有DS1820。 ·SEARCHRDH命令代码[F0H]:用以读出在线的DS1820的序列号。 ·ALARMSEARCH命令代码[ECH]:当温度值高于TH或低于TL中的数值时,此命令可以读出报警的DS1820。 3.2 存储器操作命令代码及其含义 · WRITESCRATCHPAD命令代码[4EH]:写两个字节的数据到温度寄存器。 · READSCRATCHPAD命令代码[BEH]:读取温度寄存器的温度值。 ·COPYSCRATCHPAD命令代码[48H]:将温度寄存器的数值拷贝到EERAM中,保证温度值不丢失。 ·CONVERT命令代码[44H]:启动在线DS1280做温度A/D转换。 ·RECALL EE命令代码[B8H]:将EERAM中的数值拷贝到温度寄存器中。
DS1820单线通信功能是分时完成的,它有严格的时隙概念。因此系统对DS1820的各种操作必须按协议进行。操作协议为:初始化DS1820(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。各种操作的时序图如图3和图4所示。 4 温度检测系统原理及程序流程图 无论是单点还是多点温度检测,在系统安装及工作之前,应将主机逐个与DS1820挂接,读出其序列号。其工作过程为:主机Tx发一个脉冲,待“0”电平大于480μs后,复位DS1820,待DS1820所发响应脉冲由主机Rx接收后,主机Tx再发读ROM命令代码33H(低位在前),然后发一个脉冲(15μs)并接着读取DS1820序列号的一位。用同样方法读取序列号的56位。对于图5系统的DS1820操作的总体流程图如图6所示。它分三步完成:①系统通过反复操作,搜索DS1820序列号;②启动所有在线DS1820做温度A/D变换;③逐个读出在线DS1820变换后的温度数据。主机启动温度变换并读取温度值的详细流程图如图7所示;主机写入存储器数据详细流程图如8所示。当有更多的检测点需要测温时,可利用89C51的其它口进行扩展。同时,也可利用89C51的串行通信口(RXD,TXD)与上位计算机进行通信,从而构成微机温度测量系统网。
|
- 气体传感器系统在气..
- 2008-1-9
- 气体传感器系统在气..
- 2008-1-9
- pic16单片机应..
- 2008-1-9
- 控制与监测的线缆位..
- 2007-12-20
- 固态压阻压力传感器..
- 2007-12-13
- 用于控制与监测的线..
- 2007-12-10
- 用CAN/LIN总..
- 2007-11-30
- 基于JGF051A..
- 2007-11-30
- MSP430的卫星..
- 2007-11-22
- 基于MSP430的..
- 2007-11-8
- 气体传感器应用在石..
- 2007-9-7
- 集散控制系统的维护
- 2007-9-7
- 用电容传感器按钮设..
- 2007-8-9
- 自动功率控制
- 2007-8-7
- 基于PC机的通用家..
- 2007-8-7
- 电机控制应用方案
- 2007-8-7
- H型桥式电机驱动器..
- 2007-8-9
- PWM电磁阀/阀驱..
- 2007-8-7
- 微机电系统技术
- 2007-8-9
- 单片DSP实现马达..
- 2007-7-29




3
·READPOWERSUPPLY命令代码[B4H]:在本命令送到
温度检测系统原理图如图5所示,采用寄生电源供电方式。为保证在有效的