知识链接

更新于 2026年10月10日 版权声明
知识链接

一、DS18B20的结构

DS18B20是美国DALLAS半导体公司生产的单总线数字温度传感器,如图8-2-2所示,它可以实现数字化输出和测试,并且有控制功能强、传输距离远、抗干扰能力强、接口方便、微功耗等优点,因而被广泛应用在工业、农业、军事等领域的控制仪器、测控系统中。

DS18B20的内部有64位的ROM单元和9字节的暂存器单元。64位ROM包含了DS18B20唯一的序列号(唯一的名字),DS18B20内部结构如图8-2-3所示。

图示

图8-2-1 电子体温计电路原理图

图示

图8-2-2 DS18B20

图示

图8-2-3 DS18B20内部结构图

二、DS18B20工作过程

DS18B20的一般工作过程:初始化→发送ROM操作命令→发送存储器操作命令→读写数据。因为是单总线,没有专门的时钟线,所以靠时间隙的长短来表示不同的意义,从而进行读写操作。

1.初始化时序

单总线上所有器件均以初始化开始。主机发出复位脉冲,接着由从器件回应,即从器件发出存在脉冲,让主器件确认从器件已准备好。初始化总线时序如图8-2-4所示。

图示

图8-2-4 DS18B20初始化过程

首先拉低总线DQ 480~960 μs,再拉高等待15~60 μs,然后判断总线DQ是否为0,为0则有应答(应答脉冲保持时间为60~240 μs)。

从拉高总线开始,到读应答,然后等待,合计必须延时480 μs以上才能进入下一步——读/写总线。

2.单总线读/写时序

操作指令及数据读/写时序如图8-2-5所示。静态时,总线必须为高电平,所有操作都是由拉低总线开始的,只是保持拉低的时间间隙不一样。

图示

图8-2-5 单总线读/写时序

主机写0时,由高电平拉低总线60~120μs,然后拉高1μs以上;

主机写1时,由高电平拉低总线1~15μs,然后拉高1μs以上;

主机读总线时,首先由高拉低作为读开始,总线保持拉低1μs以上。

DS18B20会在拉低后15μs以内保持有效,所以必须在15μs内拉高总线,接着读总线状态。每一位的总持续时间不得少于60μs。(https://www.daowen.com)

三、数据处理

DS18B20的缓存由9字节组成,如图8-2-6所示。

图示

图8-2-6 DS18B20的缓存

TCL、TCH为转换后的温度数据的低、高字节数据。当配置为12位采样精度时,数值乘以0.0625即得实际温度值;

TH、TL分别为高、低温度超限报警阈值。

配置字节,为定义采样精度,可选9~12位A/D转换。位数不同,转换的速度也不同。出厂时被设置为12位模式,如图8-2-7所示。具体见表8-2-1所示。

图示

图8-2-7 配置字节

表8-2-1 配置细节

图示

四、DS18B20的操作命令

1.ROM操作命令

●读取ROM[0x33]:可读出64位编码:

●匹配ROM[0x55]:以此指令对某一个1820操作;

●跳过ROM[0xCC]:用于总线只有一个1820;

●搜索ROM[0xFO]:用于一次读取多个1820的6位编码;

●报警搜索[0xEC]:从多个1820中搜索哪个在报警。

2.存储器操作命令

●温度转换[0x44]:启动DS18B20进行温度转换;

●读暂存器[0xBE]:读暂存器9个字节内容;

●写暂存器[0x4E]:将数据写入暂存器的TH、TL字节;

●复制暂存器[0x48]:把暂存器的TH、TL字节写到E2RAM中;

●调回暂存器[0xB8]:把E2RAM中的TH、TL字节写到暂存器TH、TL字节;

●读电源供电方[0xB4]:启动DS18B20发送电源供电方式的信号给主CPU。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)