0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于1-Wire单总线的介绍与原理及应用

strongerHuang 来源:面包板社区 作者:strongerHuang 2021-03-21 09:27 次阅读

嵌入式底层通信中,像485总线、I2C总线等都是比较常见的通信总线。

今天给大家分享一种相对 485、I2C没有那么流行,但也是一种常用的总线:1-Wire单总线。

1 1-Wire介绍

1-Wire,即大家说的单总线。

单总线是美国DALLAS公司推出的外围串行扩展总线技术。与SPI、I²C串行数据通信方式不同.它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。

7d7e93b4-8927-11eb-8b86-12bb97331649.png

1-Wire器件按照串行协议进行供电和数据通信,能够以无与伦比的优势为系统增添特定功能,大大简化系统的互联电路。

1-Wire 产品特点 :

通过单线接口提供器件控制及操作

每个器件具有唯一的工厂光刻ID

通过单总线供电(“寄生电源”)

可挂接多点:单一总线可挂接多个器件

提供额外的ESD保护

2 1-Wire原理

顾名思义,单总线即只有一根数据线,系统中的数据交换、控制都由这根线完成。

设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线,其内部等效电路如图所示:

7da2b118-8927-11eb-8b86-12bb97331649.png

单总线通常要求外接一个约为4.7kΩ的上拉电阻,这样,当总线闲置时,其状态为高电平。

主机和从机之间的通信主要通过3个步骤完成,分别为:初始化1-wire器件、识别1-wire器件和交换数据。

由于它们是主从结构,只有主机呼叫从机时,从机才能应答,因此主机访问1-wire器件都必须严格遵循单总线命令序列,即初始化、ROM、命令功能命令。如果出现序列混乱,1-wire器件将不响应主机(搜索ROM命令,报警搜索命令除外)。

3 1-Wire时序描述

所有的单总线器件都要遵循严格的通信协议,以保证数据的完整性。

1-wire协议定义了复位脉冲、应答脉冲、写0、读0和读1时序等几种信号类型。

所有的单总线命令序列(初始化,ROM命令,功能命令)都是由这些基本的信号类型组成的。在这些信号中,除了应答脉冲外,其它均由主机发出同步信号,并且发送的所有命令和数据都是字节的低位在前。

7dc2a52c-8927-11eb-8b86-12bb97331649.png

其中,(a)是初始化时序,初始化时序包括主机发出的复位脉冲和从机发出的应答脉冲。主机通过拉低单总线至少480μs产生Tx复位脉冲;然后由主机释放总线,并进入Rx接收模式。主机释放总线时,会产生一由低电平跳变为高电平的上升沿,单总线器件检测到该上升沿后,延时15~60μs,接着单总线器件通过拉低总线60~240μsμ来产生应答脉冲。主机接收到从机的以应答脉冲后,说明有单总线器件在线,然后主机就可以开始对从机进行ROM命令和功能命令操作。

图中的(b)、(c)、(d)分别是写1、写0和读时序。在每一个时序中,总线只能传输一位数据。所有的读、写时序至少需要60μs,且每两个独立的时序之间至少需要1μs的恢复时间。

图中,读、写时序均始于主机拉低总线。在写时序中,主机将在拉低总线15μs之内释放总线,并向单总线器件写1;若主机拉低总线后能保持至少60μs的低电平,则向单总线器件写0。单总线器件仅在主机发出读时序时才向主机传输数据,所以,当主机向单总线器件发出读数据命令后,必须马上产生读时序,以便单总线器件能传输数据。

在主机发出读时序之后,单总线器件才开始在总线上发送0或1。若单总线器件发送1,则总线保持高电平,若发送0,则拉低总线。

由于单总线器件发送数据后可保持15μs有效时间,因此,主机在读时序期间必须释放总线,且须在15μs的采样总线状态,以便接收从机发送的数据。

4 1-Wire应用

单总线应用在很多领域,比如:单总线IC器件、存储器、温湿度传感器、逻辑器件、时钟芯片等。

学习过单片机的同学,应该大多数都用过DS18B20这个经典的温度传感器,单片机与它的连接(通信)就是通过单总线(1-Wire)实现的。

DS18B20电路图:

7e46e56c-8927-11eb-8b86-12bb97331649.jpg

DS18B20单总线应用:

此外,很多器件(模组)为了适应不同需求,会兼容很多通信接口,比如I²C、 SPI、 1-wire同时支持。

除了这个经典的DS18B20之外,其实我们接触的很多器件,也是支持单总线通信的。
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4975

    文章

    18235

    浏览量

    287833
  • 数据通信
    +关注

    关注

    2

    文章

    391

    浏览量

    33511
  • 单总线
    +关注

    关注

    1

    文章

    36

    浏览量

    12301

原文标题:经典的1-Wire单总线原理及应用

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问1-Wire网线如何连接USB适配器?

    ADI/Maxim的 DS1402 系列1-Wire网络电缆提供与任何USB、串行或并行端口1-Wire适配器的连接。经常有客户询问DS1402如何连接USB适配器。许多客户对规格书上的连接性矩阵表感到困惑。
    的头像 发表于 03-28 11:39 247次阅读
    请问<b class='flag-5'>1-Wire</b>网线如何连接USB适配器?

    机电1-Wire接触封装解决方案及其安装方法介绍

    本文介绍已获专利的适用于机电接触应用的1-Wire接触封装解决方案,并对比传统的封装解决方案以展示1-Wire接触封装解决方案的优越性。
    的头像 发表于 12-18 18:23 852次阅读
    机电<b class='flag-5'>1-Wire</b>接触封装解决方案及其安装方法<b class='flag-5'>介绍</b>

    单总线接口I²C转单总线GX28E17产品概述

    1-Wire总线中具有唯一的ROM ID用作节点地址,从而确保芯片可以与1-Wire总线中其他设备共存,并且可以单独访问而不影响其他设备。
    的头像 发表于 12-08 15:10 352次阅读
    <b class='flag-5'>单总线</b>接口I²C转<b class='flag-5'>单总线</b>GX28E17产品概述

    双通道可编程I/O 1-Wire芯片GX2413产品概述

    GX2413是双通道可编程I / O 1-Wire芯片。 PIO输出配置为开漏,提供高达20mA的连续吸收能力和高达28V的关断状态工作电压。 使用专用的设备级命令协议来执行PIO PIN的控制
    的头像 发表于 12-07 09:40 338次阅读
    双通道可编程I/O <b class='flag-5'>1-Wire</b>芯片GX2413产品概述

    GXE00系列256位1-Wire EEPROM产品概述

    读写操作所需要的电源可从 1-Wire 传输线获取。数据传输按照单总线协议进行,只需要一根数据线和一根地线。激光刻制在每个 GXE00 中的 48 位序列号是绝对唯一的,可作为器件的 ID。采用紧凑
    的头像 发表于 12-05 16:35 404次阅读
    GXE00系列256位<b class='flag-5'>1-Wire</b> EEPROM产品概述

    如何将1-Wire主机复用到多个通道?

    如何将1-Wire主机复用到多个通道? 1-Wire是一种串行通信协议,可用于连接各种感测器和芯片,如温度传感器、湿度传感器、EEPROM等。通常情况下,每个1-Wire主机(例如单片机)只能连接
    的头像 发表于 10-29 14:21 283次阅读

    STM32基于onewire单总线的数据抽象实例简析

    onewire(单总线) 是DALLAS公司推出的外围串行扩展总线技术总线,顾名思义,它是采用一根信号线进行通信,既传输时钟信号又传输数据
    的头像 发表于 10-27 15:44 939次阅读
    STM32基于onewire<b class='flag-5'>单总线</b>的数据抽象实例简析

    如何将1-Wire主机复用到多个通道?

    1-Wire网络最初设计用于与单条1-Wire总线上的单个1-Wire主机和多个1-Wire节点进行通信。对于
    的头像 发表于 10-24 16:05 178次阅读
    如何将<b class='flag-5'>1-Wire</b>主机复用到多个通道?

    DS28E40: Deep Cover Automotive 1-Wire Authenticator Data Sheet DS28E40: Deep Cover Automotive 1-Wire Authenticator Data Sheet

    电子发烧友网为你提供ADI(ADI)DS28E40: Deep Cover Automotive 1-Wire Authenticator Data Sheet相关产品参数、数据手册,更有
    发表于 10-17 19:26
    DS28E40: Deep Cover Automotive <b class='flag-5'>1-Wire</b> Authenticator Data Sheet DS28E40: Deep Cover Automotive <b class='flag-5'>1-Wire</b> Authenticator Data Sheet

    单总线的EEPROM用的多吗?

    单总线的EEPROM用的多么,有没有相应的库
    发表于 10-07 07:41

    通过1-Wire技术简化TWS耳机解决方案

    本设计将ADI公司独有的1-Wire®技术首次运用到TWS耳机解决方案中,使用1-Wire双向桥接器DS2488,在满足能量传输和数据通信要求的基础上,具备低成本、低功耗、高精度、小尺寸、高效率等诸多优势,是TWS耳机的理想解决方案。
    的头像 发表于 06-14 15:45 818次阅读
    通过<b class='flag-5'>1-Wire</b>技术简化TWS耳机解决方案

    为嵌入式应用选择合适的1-Wire主机

    本文讨论的电路为1-Wire主机控制器,它们均与1-Wire从器件通信。 但是,这些1-Wire主机控制器不能作为单独的主体,需要一个主机(计算机)告诉它们在1-Wire侧如何工作。
    的头像 发表于 06-13 09:40 656次阅读
    为嵌入式应用选择合适的<b class='flag-5'>1-Wire</b>主机

    了解和使用Maxim 1-Wire和iButton产品的循环冗余校验

    所有1-Wire器件(包括iButton器件)在只读存储器(ROM)中包含一个8字节的唯一注册号。该注册号用作1-Wire总线上的唯一网络地址。为确保数据通信的完整性,每个注册号的一个字
    的头像 发表于 05-16 11:23 655次阅读
    了解和使用Maxim <b class='flag-5'>1-Wire</b>和iButton产品的循环冗余校验

    求分享使用1-wire DS1820测量温度示例

    得益于最新的 nodeMCU 固件,esp 现在能够使用 Dallas 1-wire DS18S20 和 DS18B20 测量温度。 原始的(和过时的 DS1820)没有测试,因为我不再有这样的芯片
    发表于 04-27 07:07

    如何使用FlexIO块访问1-wire设备?

    我的 MCU 是 RT1052,现在我需要访问一个温度传感器 DS18B20,这是一个具有单线协议的设备。使用延迟功能访问 1-wire 协议的方法不适用于 RTOS。 从参考手册来看,1-wire
    发表于 04-23 06:43