网络知识 娱乐 DS18B20温度传感器工作原理

DS18B20温度传感器工作原理

目录

管脚描述

综述

访问DS18B20的事件序列

通信时序


管脚描述

VDD:电源引脚,当采用寄生电源的时候,VDD必须连接到地

DQ:单总线运用的数据输入/输出,当采用寄生电源供电时,同时向设备提供电源

GND:地


综述

①DS18B20片内的ROM中都存在独一无二的64位编码,在后期通信时,是用此编码进行匹配的。最高8位中保存着低56位的循环冗余校验值(CRC)

②存储器内存在9个字节,第九个字节是前八个字节的循环冗余校验值(CRC)

EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器

③配置存储器

用户可以通过该表R0和R1的值来配置DS18B20的分辨率,上电默认是R0=1,R1=1(12位分辨率),分辨率越高需要的最大转换时间最长


访问DS18B20的事件序列

①初始化

单总线上所有的事件都必须以初始化开始,主设备发送复位脉冲,从设备回应存在脉冲

②ROM命令(紧跟任何数据交换的请求)

ROM命令是对每个设备独一无二的64位ROM编码进行操作的,这些命令可以让主设备识别各个从设备

搜索ROM、读取ROM、匹配ROM、跳过ROM、报警搜索

注:除了搜索ROM命令和报警搜索命令之外,执行完这些ROM命令之后必须返回到第一步初始化,然后再去执行功能命令

③DS18B20功能命令(紧跟任何数据交换请求)

主设备通过ROM命令确定哪个DS18B20可以通信之后,就可以向该DS18B20发送功能命令。

温度转换、写入暂存存储器、读取暂存存储器、拷贝暂存存储器、召回EEPROM、读取供电模式


通信时序

DS18B20采用严谨的1-Wire总线通信协议来保证数据的完整性。该协议主要的信号形式:复位脉冲、存在脉冲、写0、写1、读0、读1。主设备执行除了存在脉冲之外的所有其他信号。

1)初始化程序-复位和存在脉冲

与DS18B20所有的通信都是从初始化序列开始的,该序列是由主设备发起复位脉冲和DS18B20相应存在脉冲组成。当DS18B20相应存在脉冲,则就是向主设备表明其在总线上,并且做好通信准备。

在初始化期间,主设备通过拉低总线超过480us(480us-960us)来发送(TX)复位脉冲,之后主设备释放总线进入接收模式(RX)。当总线释放之后,5kΩ的上拉电阻总线拉至高电平。当DS18B20检测到总线上升沿信号之后,等待15us-60us,将总线拉低60us-240us来发送一个存在脉冲。

2)读/写时段

主设备通过写时段向DS18B20写入数据,通过读时段行DS18B20中读出数据。在总线上,每一个读写时段只可以读写一个位的数据。

①写时段

写时段分为写1和写0两种情况,每个写时段至少需要60us的持续时间,并且两个独立的写时段间至少要有1us的恢复时间。写时段是由主设备拉低总线来进行初始化。

在写1时段,主设备将总线拉低后的15us之后释放总线,然后由总线上的上拉电阻将总线拉至高电平,持续到该写时段结束。

在写0时段,主设备将总线拉低至少持续60us。

在主设备初始化写时段之后,DS18B20会在15us-60us之内对总线进行采样,如果总线是高电平,则是逻辑1写入DS18B20中;如果总线是低电平,则是逻辑0被写入DS10B20中。

②读时段

只有在读时段,DS18B20才可以向主设备传送数据。因此,在主设备执行完读取暂存寄存器或读取供电模式或执行完转换温度或召回EEPROM之后,要及时生成读时段,这样DS18B20才可以将所需数据传给主设备。

读时段分为读0和读1两种情况,每个读时段至少需要60us的持续时间,且两个独立的读时段之间至少需要1us的恢复时间,主设备通过拉低总线超1us完成读时段的初始化。(并释放总线,将控制权给DS18B20发数据)

DS18B20通过拉高总线,发送逻辑1;通过拉低总线发送逻辑0。发完逻辑0之后,DS18B20会释放总线,由上拉电阻拉至高电平。因为DS18B20输出数据在初始化读时段内的15us有效,因此主设备要在15us内进行数据采样。

 DS18B20 datasheet