51单片机系列--1Wrie

DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点
测温范围:-55°C 到 +125°C
通信接口:1-Wire(单总线)
其它特征:可形成总线结构、内置温度报警功能、可寄生供电
51单片机系列--1Wrie
原理图
51单片机系列--1Wrie
51单片机系列--1Wrie

内部结构图

51单片机系列--1Wrie

64-BIT ROM:作为器件地址,用于总线通信的寻址。它的内容是64位序列号,它可以被看作是该DS18B20 的地址序列码,其作用是使每个DS18B20 都各不相同,这样就可以实现一根总线上挂接多个DS18B20 的目的。
SCRATCHPAD(暂存器):用于总线的数据交互。包括温度传感器、上限触发TH高温报警器、下限触发TL低温报警器、高速暂存器、8位CRC产生器。
EEPROM:用于保存温度触发阈值和配置参数

64位ROM结构图

8位CRC 48位序列号 8位序列号

8位CRC:是单总线系列器件的编码,DS18B20定义为28H。
48位序列号:是一个唯一的序列号。
8位系列码:由CRC产生器生产,作为ROM中的前56位编码的校验码。

9字节暂存器结构图

51单片机系列--1Wrie
以上是内部9 个字节的暂存单元(包括EEPROM)。
字节0~1 是温度存储器,用来存储转换好的温度。
字节2~3 是用户用来设置最高报警和最低报警值。这个可以用软件来实现。
字节4 是配置寄存器,用来配置转换精度,让它工作在9~12 位。
字节5~7 保留位。
字节8 CRC校验位。是64位ROM中的前56位编码的校验码。由CRC发生器产生。

电路规范

设备的DQ均要配置成开漏输出模式
DQ添加一个上拉电阻,阻值一般为4.7KΩ左右
若此总线的从机采取寄生供电,则主机还应配一个强上拉输出电路
51单片机系列--1Wrie

单总线时序结构

**初始化:**主机将总线拉低至少480us,然后释放总线,等待15-60us后,存在的从机会拉低总线60~240us以响应主机,之后从机将释放总线
**发送一位:**主机将总线拉低60-120us,然后释放总线,表示发送0;主机将总线拉低1~15us,然后释放总线,表示发送1。从机将在总线拉低30us后(典型值)读取电平,整个时间片应大于60us
**接收一位:**主机将总线拉低1~15us,然后释放总线,并在拉低后15us内读取总线电平(尽量贴近15us的末尾),读取为低电平则为接收0,读取为高电平则为接收1 ,整个时间片应大于60us

DS18B20操作流程

1.初始化:从机复位,主机判断从机是否响应
2.ROM操作:ROM指令+本指令需要的读写操作
3.功能操作:功能指令+本指令需要的读写操作

温度寄存器结构图
51单片机系列--1Wrie
温度寄存器由两个字节组成,分为低8位和高8位。一共16位。
其中,第0位到第3位,存储的是温度值的小数部分。
第4位到第10位存储的是温度值的整数部分。
第11位到第15位为符号位。全0表示是正温度,全1表示是负温度。
表格中的数值,如果相应的位为1,表示存在。如果相应的位为0,表示不存在。
配置寄存器
51单片机系列--1Wrie

上一篇:2.7-Air302(NB-IOT)-基础外设-DS18B20温度传感器实验


下一篇:蓝桥杯STM32F103RB扩展板DS18B20