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