南京凯基特电气有限公司主要生产销售压力变送器、称重传感器、拉压力传感器、扭矩传感器、测力传感器系列产品!
全国服务热线
025-66098387
称重传感器技术知识
DS18B20 温度传感器,单总线通信协议与多节点组网设计实战解析
时间: 2021-10-10 23:19:15 浏览次数:0

想象一下,你需要在一座大型温控大棚、一整套工业设备或一个复杂的电子系统中,同时、精确地感知数十甚至上百个点的温度。如何布线才能避免一团乱麻?如何管理成本又不失精度?这正是 DS18B20 数字温度传感器,凭借其革命性的 单总线通信协议(1-Wire) 和出色的 多节点组网能力,大放异彩的核心场景。

单总线:化繁为简的通信艺术

相较于传统温度传感器常见的I2C或SPI接口,DS18B20的单总线(1-Wire)协议是其最鲜明的标签与核心竞争力。

  1. 物理连接极简: 顾名思义,DS18B20与微控制器(MCU)之间的通信仅需一根数据线(DQ),同时这根数据线还用于为传感器寄生供电(Parasite Power)。这是如何做到的?秘诀在于特定的时序控制,在通信间隙高效地从数据线上“汲取”能量并存储在内部电容中。当然,如果环境恶劣或线缆过长,强烈建议增加一根独立的VDD电源线以保障稳定。地线(GND) 是必不可少的第三条线。
  2. 低功耗典范: DS18B20在待机状态功耗超低(接近静态电流),仅在温度转换和通信时消耗毫安级电流,特别适合电池供电或低功耗场景
  3. 独特通信机制:
  • 主从结构: MCU作为整个1-Wire网络的唯一主设备(Master),掌握通信主导权。所有DS18B20都是从设备(Slave),严格响应主设备的指令
  • 严格时序驱动: 通信的核心在于主设备产生非常精准的“复位脉冲”、“写时隙”(写0或写1)和“读时隙”。每种操作对应特定的低电平和高电平持续时间组合。DS18B20的硬件电路通过采样DQ线在这些特定窗口期的电平状态来识别指令或返回数据。
  • 数据序列化: 指令和数据以LSB(最低有效位)在前的方式,逐个比特地在单根线上传输,主设备通过控制时序生成或识别这些比特流。
  • ROM ID 与全局搜索: 每个DS18B20出厂时都拥有一个全球唯一的64位ROM编码(包含8位家族码、48位唯一序列号、8位CRC校验码)。这是实现多节点共存和精准寻址的基石。主设备通过特定的搜索算法(如“二叉树搜索”),能够在只使用一根数据线的总线上,逐个发现并记录所有在线从设备的ROM ID。

多节点组网:一线连接世界的智慧

单总线协议的精妙之处,正在于它天然地支持多个设备并联在同一根数据线上,MCU能精确地与其中任何一个或多个进行通信。这种能力极大地简化了多点测温系统的部署。

  1. 拓扑结构: 所有DS18B20(节点)的DQ引脚并联到主MCU的单一I/O口,所有GND连接在一起,VDD(如果使用外部电源)也连接在一起。结构极为简洁清晰。
  2. 通信流程关键步:
  • 初始化与复位(Reset & Presence Detect): MCU发出复位脉冲(拉低DQ至少480us),随后释放总线(进入接收模式)。所有在线的DS18B20会在特定时间窗口内(60-240us内)拉低DQ(响应存在脉冲),通知主设备有设备在线。
  • ROM命令阶段(目标寻址/操作):
  • 搜索ROM(Search ROM, F0h): 用于首次发现或重新扫描总线上所有在线的DS18B20的ROM ID
  • 匹配ROM(Match ROM, 55h): 最精确的“点名”。主设备发送55h命令后,紧接着发送一个已知的64位目标ROM ID只有与该ID完全匹配的DS18B20才会响应后续的功能命令(如启动转换、读取温度),其它设备忽略后续操作。
  • 跳过ROM(Skip ROM, CCh): 风险与效率并存!MCU发送CCh命令,意味着后续的功能命令将广播给总线上所有的DS18B20。这仅在确信总线上只有一个设备,或需要同时对所有设备执行相同操作(如同时启动所有转换)时才高效安全。
  • 警报搜索(Alarm Search, ECh): 用于快速定位那些温度值超出预设报警阈值的设备(需提前设置TH/TL寄存器)。
  • 功能命令阶段(执行任务):
  • 启动温度转换(Convert T, 44h): 非常重要的命令!触发选定的DS18B20开始一次温度测量。转换时间取决于设定的分辨率(9-12位,9位最快约94ms,12位最慢约750ms)。在寄生供电模式下,此命令后主设备需在总线上提供强上拉(通常通过MOSFET控制)以保证转换期间的电源需求。
  • 读取暂存器/温度值(Read Scratchpad, BEh): 读取DS18B20内部暂存器的9个字节数据,其中前两个字节就是转化完成的温度值(二进制补码形式,需按手册转换)。务必在启动转换并等待足够时间后再读取。
  • 其它命令: 写入配置/报警值(Write Scratchpad, 4Eh)、复制暂存器到EEPROM(Copy Scratchpad, 48h)、召回EEPROM值(Recall E2, B8h)等。

实践中的组网设计与优化策略

要使多节点DS18B20网络稳定可靠,需关注几个关键点:

  1. 电源策略选择:
  • 寄生供电: 最大优势是仅需两根线(DQ+GND)!极其简化布线。但转换期间需主MCU在总线上提供强上拉(如1kΩ以下电阻连接到5V),确保能量供应。总线电容过大或线缆过长时容易不稳定。适用节点数较少、环境温和、转换频率不高的场景。
  • 外部电源供电(三线制):稳定可靠的方案。每个DS18B20的VDD引脚独立连接到系统电源。此时DQ线只负责通信,无需强上拉转换(但通常仍需一个弱上拉电阻如4.7kΩ)。强烈推荐在节点较多、长距离传输或需要高频率转换的场景中使用。
  1. 总线负载管理:
  • 理论极限与实际限制: DS18B20的低功耗特性理论上支持并联大量设备(如数百个)。但实际节点数量受制于:
  • 总线电容: 线缆长度、连接点数量决定总线电容值。电容过大会使信号上升沿变缓,可能导致通信时序错误。一般建议电容控制在800pF以内,通常对应**几十米线缆
南京凯基特电气有限公司

Copyright © 南京凯基特电气有限公司 版权所有 苏ICP备12080292号-5
全国服务电话:025-66098387传真:025-87168200
公司地址:江苏省南京市江宁区科宁路777号申智滙谷9栋101

电话
服务电话:
025-66075066
微信

微信公众号