数字化温度传感器ds18b20的使用_第1页
数字化温度传感器ds18b20的使用_第2页
数字化温度传感器ds18b20的使用_第3页
数字化温度传感器ds18b20的使用_第4页
数字化温度传感器ds18b20的使用_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字化温度传感器 DS18B20One-Wire总线(单总线)One-Wire总线是 DALLAS公司研制开发的一种协议。它由一个总线主节点、一个或多个从节点组成系统,通过一根信号线对从芯片进行数据的读取。每一个符合 One-Wire协议的从芯片都有一个唯一的地址,包括 48位的序列号、 8位的家族代码和 8位的 CRC代码。主芯片对各个从芯片的寻址依据这 64位的不同来进行。 One-Wire总线利用一根线实现双向通信。因此其协议对时序的要求较严格,如应答等时序都有明确的时间要求。基本的时序包括复位及应答时序、写一位时序、读一位时序。 在复位及应答时序中,主器件发出复位信号后,要求从器件在规定的时间内送回应答信号;在位读和位写时序中,主器件要在规定的时间内读回或写出数据。 串行单总线原理与应用 串行单总线概述 数字化温度传感器 DS18B20 DS18B20的温度采集程序 实践与思考串行单总线概述 单总线适用于单主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机可以是单总线器件,它们之间的数据交换只通过一条信号线。当只有一个从机设备时,系统可按单节点系统操作;当有多个从设备时,系统则按多节点系统操作。 单总线的工作原理 单总线的时序 单总线器件 单总线的工作原理 单总线即只有一根数据线,系统中的数据交换、控制都由这根线完成。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其他设备使用总线。单总线通常要求外接一个约为 4.7k的上拉电阻,这样,当总线闲置时,其状态为高电平。主机和从机之间的通信可通过 3个步骤完成,分别为初始化 One-Wire器件、识别 One-Wire器件和交换数据。由于它们是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问 One-Wire器件都必须严格遵循单总线命令序列,即初始化、 ROM命令、功能命令。如果出现序列混乱, One-Wire器件将不响应主机(搜索 ROM命令、报警搜索命令除外)。 单总线的时序 One-Wire协议定义了复位脉冲、应答脉冲、写 0、读 0和读 1时序等几种信号类型。所有的单总线命令序列(初始化, ROM命令,功能命令)都是由这些基本的信号类型组成的。在这些信号中,除了应答脉冲外,其他均由主机发出同步信号,并且发送的所有命令和数据都是字节的低位在前。 初始化时序 读、写时序初始化时序初始化时序图 读、写时序写时序图 读、写时序读时序图 单总线器件 通常把挂在单总线上的器件称为单总线器件,单总线器件内一般都具有控制、收 /发、存储等电路。为了区分不同的单总线器件,厂家生产单总线器件时都要刻录一个64位的二进制 ROM代码,以标志其 ID号。目前,单总线器件主要有数字温度传感器(如 DS18B20)、 A/D转换器(如 DS2450)、门标、身份识别器(如 DS1990A)、单总线控制器(如 DS1WM)等。 数字化温度传感器 DS18B20 美国 DALLAS半导体公司的数字化温度传感器 DS18B20是世界上第一片支持 “一线总线 ”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的 DS18B20体积更小、更经济、更灵活。 DS18B20测量温度范围为55 +125 。在 10 +85 范围内,精度为 0.5 。现场温度直接以 “一线总线 ”的数字方式传输,大大提高了系统的抗干扰性。DS18B20的主要特性 DS18B20的外形和内部结构 DS18B20工作原理 DS18B20的 4个主要数据部件高速暂存存储器指令表 DS18B20的应用电路 DS18B20使用中注意事项 DS18B20的主要特性 ( 1)适应电压范围更宽,电压范围: 3 5.5V,在寄生电源方式下可由数据线供电。( 2)独特的单线接口方式, DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20的双向通信。( 3) DS18B20支持多点组网功能,多个 DS18B20可以并联在唯一的三线上,实现组网多点测温。( 4) DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。( 5)测温范围 55 +125 ,在 10 +85 时精度为 0.5 。( 6)可编程的分辨率为 9 12位,对应的可分辨温度分别为 0.5 、 0.25 、 0.125 和0.0625 ,可实现高精度测温。( 7)在 9位分辨率时最多在 93.75ms内把温度转换为数字, 12位分辨率时最多在 750ms时间内把温度值转换为数字,速度更快。( 8)测量结果直接输出数字温度信号,以 “一线总线 ”串行传送给 CPU,同时可传送 CRC校验码,具有极强的抗干扰纠错能力。( 9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。DS18B20的外形和内部结构 DS18B20内部结构主要由 4部分组成: 64位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH和 TL、配置寄存器。 DS18B20的外形及管脚排列如图所示。 DS18B20外形及引脚排列图 DS18B20引脚定义如下:( 1) DQ为数字信号输入 /输出端。( 2) GND为电源地。( 3) VDD为外接供电电源输入端(在寄生电源接线方式时接地)。DS18B20工作原理 DS18B20测温原理框图如图所示: 图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器 1。高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器 2的脉冲输入。计数器 1和温度寄存器被预置在 55 所对应的一个基数值。计数器 1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1的预置值减到 0时,温度寄存器的值将加 1,计数器 1的预置将重新被装入,计数器 1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2计数到 0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1的预置值。DS18B20测温原理框图 DS18B20的 4个主要数据部件 ( 1)光刻 ROM中的 64位序列号是出厂前被光刻好的,它可以看做是该 DS18B20的地址序列码,这样就可以实现一根总线上挂接多个 DS18B20的目的。 64位光刻 ROM的排列是:开始 8位( 28H)是产品类型标号,接着的 48位是该 DS18B20自身的序列号,最后 8位是前面 56位的循环冗余校验码(CRC=X8+X5+X4+1)。( 2) DS18B20中的温度传感器可完成对温度的测量,以 12位转化为例:用 16位符号扩展的二进制补码读数形式提供,以 0.0625 /LSB形式表达,其中 S为符号位。 DS18B20温度值格式表如表所示。 DS18B20的 4个主要数据部件( 3) DS18B20温度传感器的存储器。 DS18B20温度传感器的内部存储器包括一个高速暂存 RAM和一个非易失性的可电擦除的 E2PROM,后者存放高温度和低温度触发器 TH、 TL和结构寄存器。( 4)配置寄存器。配置寄存器的格式如表所示。TM R1 R0 1 1 1 1 1低 5位一直都是 “1”, TM是测试模式位,用于设置 DS18B20在工作模式还是在测试模式。在 DS18B20出厂时该位被设置为 0,用户不要去改动。 R1和R0用来设置分辨率,如右表所示(DS18B20出厂时被设置为 12位)。R1 R0 分辨率 温度最大 转换时间 /ms0 0 9位 93.750 1 10位 187.51 0 11位 3751 1 12位 750温度分辨率设置表 高速暂存存储器 高速暂存存储器由 9个字节组成,其分配如表所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0和第 1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。对应的温度计算:当符号位 S=0时,直接将二进制位转换为十进制;当 S=1时,先将补码变为原码,再将数据部分转换为十进制。第 9个字节是冗余检验字节。 寄存器内容 字 节 地址温度 值 低位( LS Byte) 0温度 值 高位( MS Byte) 1高温限 值 ( TH) 2低温限 值 ( TL) 3配置寄存器 4保留 5保留 6保留 7CRC校 验值 8DS18B20暂存寄存器分布 高速暂存存储器根据 DS18B20的通信协议,主机(单片机)控制 DS18B20完成温度转换必须经过 3个步骤:每一次读写之前都要对 DS18B20进行复位操作,复位成功后发送一条 ROM指令,最后发送 RAM指令,这样才能对 DS18B20进行预定的操作。复位要求主 CPU将数据线下拉 500s,然后释放,当 DS18B20收到信号后等待 16 60s左右,后发出 60 240s的应答低脉冲,主 CPU收到此信号表示复位成功。指令表 指 令 约 定代码 功 能读 ROM 33H 读 DS1820温度 传 感器 ROM中的 编码 (即 64位地址)符合 ROM 55H发 出此命令之后,接着 发 出 64 位 ROM 编码 , 访问单总线 上与 该编码 相 对应 的 DS1820 ,使之做出响应 , 为 下一步 对该 DS1820 的 读 写做准 备搜索 ROM 0F0H 用于确定挂接在同一 总线 上 DS1820 的个数和 识别 64 位 ROM 地址。 为 操作各器件做好准 备跳 过 ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS1820 发 温度 变换 命令。适用于 单 片工作告警搜索命令 0ECH执 行后只有温度超 过设 定 值 上限或下限的片子才做出响 应ROM指令表 指令表RAM指令表 指 令 约 定代码 功 能温度 变换 44H 启 动 DS18B20进 行温度 转换 , 12位 转换时 最 长为750ms( 9位 为 93.75ms)。 结 果存入内部 9字 节 RAM中读暂 存器 0BEH 读 内部 RAM中 9字 节 的内容写 暂 存器 4EH发 出向内部 RAM的 2、 3、 4字 节 写上、下限温度数据和配置寄存器命令, 紧 跟 该 命令之后,是 传 送三字 节的数据复制 暂 存器 48H 将 RAM中第 2 、 3字 节 的内容复制到 E2PROM中重 调 E2PROM 0B8H 将 E2PROM中内容恢复到 RAM中的第 2 、 3字 节读 供 电 方式 0B4H 读 DS18B20的供 电 模式。寄生供 电时 DS18B20发 送 “ 0 ”,外接 电 源供 电 DS18B20发 送 “ 1 ”DS18B20的应用电路 1 DS18B20寄生电源供电方式电路图 寄生电源方式特点:( 1)进行远距离测温时,无须本地电源。( 2)可以在没有常规电源的条件下读取ROM。( 3)电路更加简洁,仅用一根 I/O口实现测温。( 4)只适应于单一温度传感器测温情况下使用,不适于采用电池供电系统中。 DS18B20寄生电源供电方式 DS18B20的应用电路2 DS18B20寄生电源强上拉供电方式电路图DS18B20寄生电源强上拉供电方式 在强上拉供电方式下可以解决电流供应不足的问题,因此也适合于多点测温应用,缺点就是要多占用一根 I/O口线进行强上拉切换。 DS18B20的应用电路3 DS18B20的外部电源供电方式外部电源供电方式是 DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统,如图所示。 外部供电方式的多点测温电路图 DS18B20使用中注意事项 ( 1)较小的硬件开销需要相对复杂的软件进行补偿,由于 DS18B20与微处理器间采用串行数据传送,因此,在对 DS18B20进行读写编程时,必须严格地保证读写时序,否则将无法读取测温结果。在使用 PL/M、 C等高级语言进行系统程序设计时,对 DS18B20操作部分最好采用汇编语言实现。 ( 2)在 DS18B20的有关资料中均未提及单总线上所挂 DS18B20数量问题,容易使人误认为可以挂任意多个 DS18B20,在实际应用中并非如此。( 3)连接 DS18B20的总线电缆是有长度限制的。在采用 DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 ( 4)在 DS18B20测温程序设计中,向 DS18B20发出温度转换命令后,程序总要等待 DS18B20的返回信号,一旦某个 DS18B20接触不好或断线,当程序读该 DS18B20时,将没有返回信号,程序进入死循环。( 5)测温电缆线建议采用屏蔽 4芯双绞线,其中一对线接地线与信号线,另一对线接 VCC和地线,屏蔽层在源端单点接地。 DS18B20的温度采集程序 1采集程序功能从 DS18B20中读出温度数据,并舍去小数位,将整数部分转换成十进制数据存入内存单元

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论