新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于单总线的数字温度传感器

基于单总线的数字温度传感器

作者:时间:2012-12-04来源:网络收藏


DSl8B20是Dallas生产的支持接口的温度感器。独特而且经济的特点,使用户可轻松地组建传感器网络。与其他温度传感器相比,DSl8B20具有以下特性:
(1)具有3引脚TO-92小体积封装形式。管脚排列:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。在其内部使用了在板(ON-BOARD)专利技术,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(2)量范围为-55~+125℃,可编程为9~12位A/D转换精度。测温分辨率可达0.0625℃。被测温度用符号摭展的16位数字量方式串行输出。
(3)其工作电源既可在远端引入,也可采用寄生电源方式产生。
(4)独特的接口方式:DSl8B20在与微处理器连接时仅需要一条口线即可实现微处理器与DSl8B20的双向通讯。
(5)支持多点组网功能。多个DSl8B20可以并联在唯一的3线上,实现多点测温,可节省大量的引线和逻辑电路。

1 的主要内部结构
DSl8B20内部结构主要由4部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。每一个DSl8B20包括一个唯一的64位长的序号。该序号值存放在DSl8B20内部的ROM(只读存贮器)中。开始8位是产品类型编码(DSl8B20编码均为28H),接着的48位是每个器件唯一的序号,最后8位是前面56位的CRC循环冗余校验码。ROM的作用是使每一个DSl8B20都各不相同,这样就可以实现一根总线上挂接多个DSl8820的目的。
DSl8B20中的温度传感器可完成对温度的测量,以12位转化为例,如图1所示。用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。负温度S=I,正温度S=O。


2 的工作原理
2.1 工作序列
根据DSl8B20的通讯协议,主机控制DSl8B20完成温度转换必须经过3个步骤:
(1)每一次读写之前都必须要对DSl8B20进行复位;
(2)复位成功后发送一条ROM指令;
(3)最后发送RAM指令,这样才能对DSl8B20进行预定的操作。
复位要求主CPU将数据线下拉500μs,然后释放,DSl8B20收到信号后等待16~60μs左右,后发出60~240μs的存在低脉冲,主CPU收到此信号表示复位成功。
2.2 ROM操作命令
当主机收到DSl8B20的响应信号后,便可以发出ROM操作命令之一,这些命令如下:
指令代码 代码
Read ROM(读ROM) [33H]
Match ROM(匹配ROM) [55H]
SkipROM(跳过ROM) [CCH]
SearchROM(搜索ROM) [FOH]
Alarmsearch(告警搜索) [ECH]
3 DS18B20的多点测温
3.1 多点测温的原理
每一片DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM中。主机在进入操作程序前必须用读ROM(33H)命令将该DSl8B20的序列号读出:
当主机需要对众多在线18820的某一个进行操作时,首先要发出匹配ROM命令(55H)。接着主机提供64位序列(包括该18B20的48位序列号),之后的操作就是针对该DSl8820的。而跳过ROM命令,之后的操作是对所有D518820的。
程序可以先跳过ROM.启动所有DSl8B20进行温度变换,之后通过匹配ROM,再逐一地读回每个DSl8B20的温度数据。
在DSl8B20组成的多点测温系统中,主机在发出跳ROM命令之后,再发出统一的温度转换启动码44H,就可以实现所有DSl8B20的统一转换。再经过1s后就可以用很少的时间去逐一读取,这种方式使其时间值往往小于传统方式(由于采取公用的放大电路AD转换器,只能逐一转换)。显然通道数越多这种省时效应就越明显。
3.2 多点测试系统的组建
实验采用AT89C51为主机,3个DSl8B20组成一个多点测试系统,如图2所示。硬件接口非常简单。DSl8B20的3个管脚DQ、VDD、GND分别接到主机的数据脚P1.0口、外接电源VCC以及GND上,非常节约资源,仅仅用到了主机的一条口线。
风速传感器相关文章:风速传感器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭