当前位置:文档之家› 04基于单总线的测温传感器DS18B20-PC机与单片机通信技术

04基于单总线的测温传感器DS18B20-PC机与单片机通信技术


(1)DS18B20的复位时序
所有时序都是 将主机作为主设备,单总线器件 作为从设备。而每一次命令和数据的传输都是从主 机主动启动写时序开始,如果要求单总线器件回送 数据,在进行写命令后,主机需 启动读时序完成 数据接收。数据和命令的传输都是低位在先。
(2)DS18B20的读数据时序
18B20的读时序是从主机把单总线拉 低之后,在15us之内就得释放单总线,以让 DS18B20把数据传输到单总线上。DS18B20在完成一 个读时序过程,至少需要60us才能完成。下图为 DS18B20的读取数据时序图。
1、单总线概述
目前常用的微机与外设之间进行数据传 输的串行总线主要有I2C总线、SPI总线和 SCI总线。这些总线至少需要两条或两条以 上的信号线。
近年来,美国的达拉斯半导体(DALLAS SEMICONDUCTOR)推出了一项特有的数据传 输技术。该技术与上述总线不同,它采用 单根信号线,既可传输时钟,又能传输数 据,而且数据传输是双向的。这种具有线 路简单,硬件开销 ,成本低廉,便于总线 扩展和维护的数据传输技术被称之为单总 线技术
TO-92封装的DS18B20的引脚排列见图
DS18B20的引脚排列图 其引脚功能如下 GND:信号地 DQ :数据输入/输出引脚。开漏单总线接口引脚。 当被用着在寄生电源下,也可以向器件提供电源。 VDD:可选择的VDD引脚。当工作于寄生电源时,此 引脚必须接地。
2)DS18B20的读写方法
由于DS18B20是在一根I/O线上读写数据,因此, 对读写的数据位有着严格的时序要求,DS18B20 有严格的通信协议来保证各位数据传输的正确性 和完整性。该协议定义了几种信号的时序:初始 化时序、读时序、写时序。 所有时序都是 将主 机作为主设备,单总线器件作为从设备。而每一 次命令和数据的传输都是从主机主动启动写时序 开始,如果要求单总线器件回送数据,在进行写 命令后,主机需 启动读时序完成数据接收。数据 和命令的传输都是低位在先。
主机和从机之间的通信可通过3个步骤 完成,分别为初始化单总线器件、识别单 总线器件和交换数据。由于它们是主从结 构,只有主机呼叫从机时,从机才能应答, 因此主机访问单总线器件都必须严格遵循 单总线命令序列,即初始化、ROM、命令功 能命令。如果出现序列混乱,单总线器件 将不响应主机(搜索ROM命令,报警搜索命 令除外)。
3、通过完成项目,了解单线多点测控系统的 基本原理。
【项目知识点与技能点】
1、单总线的通信协议。
2、使用单总线技术控制多个从机设备的 基本原理。
3、单总线器件DS18B20的相关知识。
【项目知识准备】
1、单总线概述 2、单总线的工作原理 3、使用单总线技术控制多个从机设备的基本
原理及示意 4、单总线器件DS18B20的相关知识
基于DS18B20测温传感器的单总线
• 项目功能 • 项目知识点与技能点 • 项目知识准备 • 软件设计 • 硬件电路 • 项目实施
【项目功能】
1、完成单片机读取单总线数字式温度传感器 DS18B20,并将所得到的温度数据通过数 码管显示出来。
2、通过完成项目,了解单总线器件的控制及 读取原理,并掌握其基本应用。
3、使用单总线技术控制多个从机设备的基本 原理及示意
单总线适用于单主机系统,能够控制一 个或多个从机设备。主机可以是微控制器, 从机可以是单总线器件,它们之间的数据交 换只通过一条信号线。当只有一个从机设备 时,系统可按单节点系统操作;当有多个从 机设备时,系统则按多节点系统操作。下图 所示是单总线多节点系统的示意图。
a、只要求一个端口即可实现通信。 b、在DS18B20中的每个器件上都有独一无二的 序列号。 c、实际应用中不需要外部任何元器件即可实 现测温。 d、测量温度范围在-55℃到+125℃之间。 e、数字温度计的分辨率用户可以从9位到12位 选择。 f、内部有温度上、下限告警设置。
(2)、DS18B20的引脚介绍
4、单总线器件DS18B20的相关知识
1)DS18B20基本知识
DS18B20数字温度传感器是DALLAS公司生 产的1-Wire,即单总线器件,具有线路简 单,体积小的特点。因此用它来组成一个 测温系统,线路简单,在一根通信线可以 挂很多这样的数字温度字温度传感器,十 分方便。
(1)DS18B20产品的特点
(2)DS18B20的使用注意事项
A、在对DS1820进行读写编程时,必须严格的保证读写时序, 否则将无法读取测温结果。在使用PL/M、C等高级语言进行 系统程序设计时,对DS1820操作部分最好采用汇编语言实现。 B、当单总线上所挂DS1820超过8个时,就需要解决微处理器 的总线驱动问题,这一点在进行多点测温系统设计时要加以注 意。 C、连接DS1820的总线电缆是有长度限制的。当采用普通信号 电缆传输长度超过50m时,读取的测温数据将发生错误。当 将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达 150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正 常通讯距离进一步加长。这种情况主要是由总线分布电容使信 号波形产生畸变造成的。因此,在用DS1820进行长距离测温 系统设计时要充分考虑总线分布电容和阻抗匹配问题。
DS18B20的写数据时序图如图
3)DS18B20测量数据存放格式及使用注意事 项
(1)DS18B20的数据存放格式
18B20中的温度传感器可独立完成对温度的 测量,以12位转化为例:用16位符号扩展的二 进制补码读数形式提供,以0.0625℃/LSB形 式表达,其中S为符号位。这是12位转化后得 到的12位数据,存储在DS18B20的两个8比特 的RAM中,二进制中的前面5位是符号位,如 果测得的温度大于0,这5位为0,只要将测到 的数值乘于0.0625即可得到实际温度;如果 温度小于0,这5位为1,测到的数值需要取反 加1再乘于0.0625即可得到实际温度。例如 +125℃的数字输出为07D0H,+25.0625℃的数 字输出为0191H,-25.0625℃的数字输出为 FF6FH,-55℃的数字输出为FC90H。
2、单总线的工作原理
简单的说,单总线即只有一根数据线, 系统中的数据交换、控制都由这根线完成。 设备(主机或从机)通过一个漏极开路或 三态端口连至该数据线,以允许设备在不 发送数据时能够释放总线,而让其它设备 使用总线。单总线通常要求外接一个约为 4.7kΩ 的上拉电阻,这样,当总线闲置时, 其状态为高电平。
通常把挂在单总线上的器件称之为单总线器 件,单总线器件内一般都具有控制、收/发、存储 等电路。为了区分不同的单总线器件,厂家生产 单总线器件时都要刻录一个64位的二进制ROM代码, 以标志其ID号。对于每一个单总线器件,都有一 个唯一的ID号与之相对应。在主机对其进行操作 时,先对单总线上所有的单总线器件进行ID识别, 然后确定要操作的单总线器件并匹配其ID号,最 后通过读写指令对其进行操作。这样,便能保证 所有单总线上各点与主机之间通讯畅通无阻、准 确无误。
(3)DS18B20的写数据时序
DS18B20的写数据时序同样可以分为写0和写1 两个过程,但在时序操作上与读取数据时序有所不 同。当要写0时序时,单总线要被拉低至少60us, 保证DS18B20能够在15us到45us之间能够正确地采 样IO总线上的“0”电平,当要写1时序时,单总线 被拉低之后,在15us之内就得释放单总线。
D、在DS1820测温程序设计中,向DS1820发出温度转换 命令后,程序总要等待DS1820的返回信号,一旦某个 DS1820接触不好或断线,当程序读该DS1820时,将没 有返回信号,程序进入死循环。建议采用看门狗解决一问 题。
E、测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地 线与信号线,另一组接VCC和地线,屏蔽层在源端单点接 地。
【软件设计】
程序流程图
【硬件电路】
单总线器件DS18B20测温显示原理图
原理图说明:
单片机读取单总线器件DS18B20 温度传感器所 测量的数据,并通过数码管显示出来。DS18B20 的单总线与单片机的PD6管脚相连接。显示部分 为以74LS164主器件的5位数码管,PC4为显示数 据输入端,PC5为时钟端。这样就构成了以 ATmega16单片机为核心、DS18B20为测量器件 的温度测量系统。
【项目实施】
相关主题