简述

单总线器件,具有线路简单、体积小的特点。因此用它来组成一个测温系统,线路简单,在一根通信线上,可以挂很多这样的数字温度计,十分方便。
DS18B20也能够直接读取被测物体的温度值。但是与DS1820相比,DS18B20的功能更强大些。它体积小,电压适用范围宽(3~ 5V),用户还可以通过编程实现9~12位的温度读数,即具有可调的温度分辨率,因此它的实用性和可靠性比同类产品更高。
DS18B20工作时被测温度值直接以“单总线”的数字方式传输,大大提高了系统的抗干扰能力。其内部采用在线温度测量技术,测量范围为55~ 125°C,在-10~85℃时,精度为±0.5°C。
在这里插入图片描述
如果测温结果高于TH或低于TL, DS18B20内部的告警标志就会被置位,表示温值超出了测量范围

特点

ROM

64位地址
在这里插入图片描述
1.首先是8位的产品单线系列编码,接着是每个器件的唯一的序号,共有48位,最重要的8位是前面56位的CRC校验码(循环冗余校验码),这也是多个DS18B20可以采用一线进行通信的原因。

2.非易失性温度报警触发器TH和TL,可通过软件写人用户报警上下限。

3.高速暂存存储器。DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的(E2) RAM。后者用于存储TH和TL值。数据先写人RAM,经校验后再传给(E2)RAM。而配置寄存器为高速暂存器中的第5个字节,它的内容用于确定温度值的数字转换分辨率,DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义如图5-8所示。低5位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动,R1和R0决定温度转换的精度位数,即用于设置分辨率,如表5-2所示(DS18B20出厂时被设置为12位)。
在这里插入图片描述

RAM

高速暂存存储器除了配置寄存器外,还有其他8个字节,其分配如图5-9所示。其中温度信息(第1、 2字节),TH和TL值第3、4字节,第6~8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确
在这里插入图片描述当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可通过单线接口读到该数据,读取时高位在后、低位在前,数据格式以0.0625°C/LSB形式表示。
在这里插入图片描述
在这里插入图片描述
后4位表示小数部分,前12位表示整数部分
DS18B20完成温度转换后,就把测得的温度值与TH、TL进行比较,若T>TH或T< TL,则将该器件内的告警标志置位,并对主机发出的警告搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行告警搜索。
4.CRC的产生。在64位ROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值进行比较,以判断主机收到的ROM数据是否正确。

时序(主机拉低单总线表示将要接收信号)

初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。

初始时序

在这里插入图片描述

读时序

对于DS18B20的读时序分为读0时序和读1时序两个过程,见图5-13。
在这里插入图片描述对于DS18B20的读时序是从主机把单总线拉低之后,在15us之内须释放单总线,以便DSl8B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us。

写时序

对于DS18B20的写时序仍然分为写0时序和写1时序两个过程,见图5-14。
在这里插入图片描述
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15~45us之间正确地采集I/O总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内须释放单总线。

有其他问题欢迎留言补充!!

版权声明:本文为匿名原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: