低引脚数串行通信:1-Wire 总线简介

时间:2023-04-10

串行通信是一种减少信号数量的并行接口替代方案。通过按顺序而不是同时传输位,串行连接在理论上可以将任何大小的并行总线减少到一个引脚。然而,在实践中,串行协议倾向于使用多个引脚,因为我们可以通过合并额外的信号使通信更加方便和稳健。

例如, SPI包括一个串行时钟信号和一个从机选择信号,它使用两个数据信号来提供全双工通信。

I2C仅使用两个信号(数据和时钟)即可实现稳健、灵活的半双工通信,这些信号在高度组织化的事务环境中运行。

UART是一种简单、可靠的接口,只需要一个数据信号,但我们稍后会看到单线总线比 UART 更值得贴上“单线”标签。

 

1-Wire 基础知识

1-wire 总线由 Dallas Semiconductor 开发,Dallas 被 Maxim 收购,因此据我所知,Maxim 是该协议目前的“所有者”。该接口采用主/从结构,主从之间需要的连接是接地参考和一根信号线。与 I2C 一样,信号线通过一个电阻上拉至 V DD并通过漏极开路输出电路驱动。

1 线总线强调低引脚数,而不是速度或实施灵活性。初的协议被限制在 16.3 kbps 的数据速率,这在当前标准下似乎慢得离谱,但对于许多应用程序来说已经完全足够了。较新的 1-wire 器件支持更高速的“超速”模式。

 

这是基本的 1 线总线配置。
 

您可能已经猜到,1-wire 总线不支持全双工通信。(通过一条线路同时在两个方向上传输单独的数据流将是一个非常巧妙的技巧。)不过它是双向的。

 

瞬时接触应用

单线协议的一个独特之处在于它旨在用于(使用 Maxim 的术语)“瞬时接触环境”。当我想到 I2C,尤其是 SPI 时,我想象一个带有各种集成电路的 PCB,这些集成电路是安装的,并通过连接进行链接。

不过,1-wire 总线通常用于与主机仅暂时进行电气接触的组件。瞬时接触系统在 1-wire 总线实现中的重要性体现在“iButton”封装中(见下图)。这是 1-wire 总线组件的标准外形尺寸之一,可用作经常与主设备分离的从设备的耐用标准化外壳。

 

  

iButton 封装直径为 16 毫米,由不锈钢制成。它提供与主机的便捷连接,并保护 1-wire IC 免受恶劣条件的影响。图片由Maxim提供。

 

寄生功率

在我看来,1-wire 总线有趣的特性是“寄生电源”。在本文的开头,我提到 1-wire 协议比 UART 更接近于真正的单线接口。我对此断言的理由是单线从机不需要电源连接,而对于 UART,接收器和发送器都必须单独连接到电源。

单线集成电路(包括温度传感器、验证器、存储器和数据记录器)在没有电源引脚的情况下究竟如何工作和通信?好吧,实际上,它们确实有一个电源引脚,因为主从之间的“一根电线”能够传输数据和电源。

单线 IC 可以通过由二极管电容器组成的内部电源电路从串行数据信号中提取工作电源。当数据线为逻辑高电平时,一些额外的电流用于为电容器充电,然后当数据线为逻辑低电平时二极管阻止电容器放电。

 

图由 Maxim 提供。

 

识别从设备

单线协议的另一个有趣特性是它对连接到总线的组件进行寻址的方法。每个 1-wire 器件都预编程了一个且的 64 位序列号。(感谢 Dallas Semiconductor 的良好长期规划;2 64大约等于 18.4 quintillion,所以我认为我们不会很快用完单线地址。)这个 64 位序列号包括8 位用于CRC,8 位用于标识 IC 所属系列的代码。 

主机在寻址从机时使用这些 64 位序列号,这意味着总线上的多个设备不可能具有相同的从机地址。

如果序列号已知并包含在主机的固件中,那么寻址从机就足够容易了,但是如果不知道它们会怎样呢?好吧,单线协议包含一个方便的搜索算法,允许主机确定所有连接设备的序列号。如果您对 1-wire 搜索过程的细节感兴趣, Maxim 的这篇文档提供了丰富的进一步信息。

上一篇:星形与网状网络拓扑:物联网无线连接基础
下一篇:I2S接口介绍

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料