联系方式  客服中心 会员中心 切换到繁體中文

 单片机技术培训基地
 | 网站首页 | 资讯 | 培训中心 | 技术文章 | 软件下载 | 产品展示 | 留言板 | 电子商城 | 供求信息 | 求职招聘 | 
您现在的位置: 华信单片机 > 技术文章 > 设计应用 > 单片机 > 文章正文 用户登录 新用户注册
单线数字温度传感器DS18B20原理及其应用         ★★★★ 【字体:
单线数字温度传感器DS18B20原理及其应用
作者:华信    文章来源:华信单片机工作室    点击数:    更新时间:2005-7-6    

  
   DALLAS最新单线数字温度传感器DS18B20简介新的"一线器件"体积更小、适用电压更宽、更经济 Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 "一线总线"接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、 DS1822 "一线总线"数字化温度传感器 同DS1820一样,DS18B20也 支持"一线总线"接口,测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。DS1822的精度较差为± 2°C 。现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。 DS18B20、 DS1822 的特性 DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色! DS1822与 DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继"一线总线"的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。

1. DS18B20的新性能

  (1) 可用数据线供电,电压范围:3.0~5.5V;

  (2) 测温范围:-55~+125℃,在-10~+85℃时精度为±0.5℃;

  (3) 可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃;

  (4) 12位分辨率时最多在750ms内把温度值转换为数字;

  (5) 负压特性:电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

2. DS18B20的外形和内部结构

   DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下:

      

图(1)DS18B20外形图

引脚定义:

(1)    DQ为数字信号输入/输出端;

(2)    GND为电源地;

(3)    VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

内部结构

图 (2) DS18B20内部结构图

DS18B20有4个主要的数据部件:

    (1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

   (2) DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

表1 DS18B20温度值格式表

 

     这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

表2 DS18B20温度数据表

(3)DS18B20温度传感器的存储器

DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

(4)配置寄存器

该字节各位的意义如下: 

3 配置寄存器结构

TM

R1

R0

1

1

1

1

1

     低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)
分辨率设置表:

 

4 温度值分辨率设置表

R1

R0

分辨率

温度最大转换时间

0

0

9

93.75ms

0

1

10

187.5ms

1

0

11

375ms

1

1

12

750ms

3. 高速暂存存储器

  高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表 2是对应的一部分温度值。第九个字节是冗余检验字节。

5 DS18B20暂存寄存器分布

寄存器内容

字节地址

温度值低位

0

温度值高位

1

高温限值TH

2

低温限值TL

3

配置寄存器

4

保留

5

保留

6

保留

7

CRC检验

8

 
 
   根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。

6 ROM指令表

约定代码

 

ROM

33H

DS1820ROM中的编码(即64位地址)

符合ROM

55H

发出此命令之后,接着发出64ROM编码,访问单总线上与该编码相对应的DS1820使之作出响应,为下一步对该DS1820的读写作准备。

搜索ROM

0F0H

用于确定挂接在同一总线上DS1820的个数和识别64ROM地址。为操作各器件作好准备。

跳过ROM

0CCH

忽略64ROM地址,直接向DS1820发温度变换命令。适用于单片工作。

告警搜索命令

0ECH

执行后只有温度超过设定值上限或下限的片子才做出响应。

7 RAM指令表

约定代码

 

温度变换

44H

启动DS1820进行温度转换,转换时最长为500ms(典型为200ms)。结果存入内部9字节RAM中。

读暂存器

0BEH

内部RAM9字节的内容

写暂存器

4EH

发出向内部RAM34字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。

复制暂存器

48H

RAM中第34字节的内容复制到EEPROM中。

重调EEPROM

0B8H

EEPROM中内容恢复到RAM中的第34字节。

读供电方式

0B4H

DS1820的供电模式。寄生供电时DS1820发送“0”,外接电源供电DS1820发送“1”。

4. DS18B20工作原理

  DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。

DS18B20的读写时序如下。

    PROC  WRITE
WRITE: MOV  R2,#8
    CLR  C
WR1:  CLR  DQ
    MOV  R7,#6
    DJNZ  R7,$
    RRC  A
    MOV  DQ,C
    MOV  R7,#23
    DJNZ  R7,$
    SETB  DQ
    NOP  
    DJNZ  R2,WR1
    SETB  DQ
    RET
;读一个字节,出口:A=读入的字节
    PROC  DREAD    
DREAD: MOV  R2,#8
READL: CLR  C
    SETB  DQ
    NOP
    NOP
    CLR  DQ
    NOP
    NOP
    NOP
    SETB  DQ   ;产生时间片
    MOV  R7,#7
    DJNZ  R7,$
    MOV  C,DQ
    MOV  R7,#23
    DJNZ  R7,$
    RRC  A
    DJNZ  R2,READL
    RET

5. DS1820使用中注意事项

  DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:

  (1) 较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。

  (2) 在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

  (3) 连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。

  (4) 在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。

    测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。

 

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    DS18B20数字温度计使用
    单总线数字温度传感器原理及…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)