如何使用1-Wire 协议连接物联网端点的传感器

MEMS/传感技术

1292人已加入

描述

  虽然物联网 (IoT) 和工业物联网 (IIoT) 端点拥有局部控制区域是很常见的,但有些需要连接到距离主微控制器位置一米以外的简单传感器。传统做法是,SPI 或 I²C 串行接口用于方便地与这些传感器通信。然而,随着控制算法变得更加复杂且需要部署更多的传感器,微控制器必须使用更多的 SPI 和 I²C 线来连接这些传感器。这样会增加布线复杂性,从而增加配置和维护成本,特别是在距离增加的情况下。

  本文将向开发人员介绍如何使用 Maxim Integrated 的 1-Wire 协议,只需使用一条线加接地线就能连接物联网传感器,从而降低成本。本文将讨论 1-Wire 协议的优势,包括显著扩大传感器的范围并通过同一条电线提供电源和数据。然后,介绍一种将 1-Wire 信号转换为 SPI 或 I²C 的桥接设备,以及一个能帮助设计者开启工作且附带软件的开发套件。

  扩大物联网和 IIoT 传感器的使用范围

  扩展物联网和 IIoT 网络是为了使系统和制造过程在扩大功能的同时更加有效。这涉及通过使用传感器来收集数据。虽然某个家庭可能在一个房间里安装一个包含温度传感器的恒温器,但一个自动化建筑或 IIoT 网络可能在一个房间和整个建筑或设施内放置许多温度和湿度传感器。例如,可以将更多的传感器与压力传感器一起放置在暖通空调 (HVAC) 管道中。安全系统也可能使用不同类型的传感器,而且也可以放置在多个位置。

  在制造和传送带系统中,也越来越多地通过传感器进行过程监控和记录数据,用于分析如何在提高安全性的同时使系统更有效,从而实现节能。

  这些应用中最常见的传感器是环境传感器,具体包括温度、湿度和压力传感器、视觉传感器(含可见光和电容接近传感器)、位置传感器(含微机电系统 (MEMS) 加速计、MEMS 陀螺仪)和振动传感器。MEMS 技术的微型化和进步已使传感器的封装比拇指指甲还小,且耗电只有几百毫安 (mA)。在这些传感器中,大多数都可以通过 SPI 或 I²C 通信接口轻松访问,几乎任何微控制器都提供这两种接口。当与这些简单的传感器连接时,建立一个完整的物联网或 IIoT 端点或子节点只用于温度采样是不切实际的,所以通常更简单、更快的做法是直接通过 SPI 或 I²C 通信线路连接传感器。

  在某些情况下,仍然使用如高温热电偶和一些压力传感器等模拟传感器。在这些情况下,微控制器与传感器位置处的 SPI 或 I²C 模数转换器 (ADC) 相连接,后者对模拟传感器进行就地采样。这样能够避免模拟传感器线路上的电压降,从而提高精确度。

  连接远程 SPI 和 I²C 传感器

  微控制器通过延长 SPI 和 I²C 数据线与这些传感器进行通信。然而,I²C 被限制在不超过一米的范围内,而且 SPI 也有类似限制。此外,全双工 SPI 需要四个引脚,包括每个引脚的单独外设选择。因此,当一条上总线的 SPI 外设达到四个时需要七个引脚,加上电源和接地引脚,则共需九个引脚。半双工 I²C 需要两个引脚连接外设,加上电源和接地线共需四条线。同时,许多高速信号会增加电磁干扰 (EMI) ,产生串扰,导致信号完整性降低、系统可靠性下降。

  现在所需的是一种这样解决方案——能最大限度地减少电源和数据布线,简化操作,同时保持与现有 I²C 和 SPI 传感器的兼容性。

  为了解决较远距离的远程传感器连接问题并减少电线数量,Maxim Integrated 开发出一种 1-Wire 协议——用一根电线加上一条接地线连接大多数 SPI 或 I²C 传感器。该协议将 SPI 的六根线和 I²C 使用的四根线减少到只有两根线,以传输数据和电源,最长可达 100 m。

  采用 1-Wire 制

  使用 1-Wire 时,远程传感器有一个 1-Wire 通信桥,将 1-Wire 协议转换为可连接传感器的兼容型 SPI 或 I²C 信号。1-Wire 桥和传感器都是由 1-Wire 信号加一根接地线以寄生形式供电。这使得 1-Wire 信号可以在小范围内布线,从而减少电线使用量,降低成本。

  虽然 SPI 和 I²C 都使用专门的时钟信号,但 1-Wire 将时钟与数据信号一起嵌入。SPI 使用为每个外设选择的单独信号对特定外设进行寻址,而 I²C 则是使用沿数据线传输的 7 位总线地址;相比之下,1-Wire 使用 56 位地址,即以硬连接方式连接每个单独的通信桥。这种更宽的寻址范围不仅增加了总线上独特外设的数量,而且还提高了安全性,使攻击者很难猜出 1-Wire 总线上的外设地址。

  1-Wire 外设总线上的字长为 8 位。微控制器的 1-Wire 总线主机可对单线协议作出位响应,但也可由一个简单的 UART 驱动器提供支持。这使得 8 位微控制器也能成为 1 位总线主机。一条 1 位总线只能包含 SPI 和 I²C 外设中的某一种,不能同时拥有。这种一致性可防止总线上发生冲突和碰撞,并通过协议简化了编程。

  实际的 1-Wire 解决方案

  对于希望通过 1-Wire 总线连接 SPI 或 I²C 外设的设计人员,Maxim Integrated 提供了带有指令定序器的 DS28E18Q+T -Wire 转 I²C/SPI 桥接器(图 1) 。

传感器

图 1:具有指令定序器的 DS28E18Q+T 1-Wire 转 I²C/SPI 桥接器可连接 1-Wire 总线 IO 和 GND 引脚。(图片源:Maxim Integrated)

  参照图 1,当 IO 为高电平时,寄生功率从总线获取,并通过 SENS_VDD 引脚向外设供电。该桥接器对 1-Wire 指令进行缓冲并将其转换为适当的 I²C 或 SPI 指令。

  IO 引脚和 GND 均连接 1-Wire 总线,并通过其状态机发送到前端。每个器件都有一个 56 位 ROM ID,前缀是 8 位 1-Wire 家族代码,表明该器件是 DS28E18Q+T 的修订版。这样,微控制器固件会对特定的 DS28E18Q+T 进行唯一识别,使其能够灵活地应对器件系列的任何变化。该器件有一个含有 8 位循环冗余校验(CRC) 代码的 48 位唯一序列号。

  前端通过一个 144 字节指令缓冲器将转换后的数据发送给指令定序器,其中包括来自 IO 总线的 128 字节数据和内部使用的 16 字节数据。指令定序器处理指令,并在其缓冲器中存储多达 512 字节的 I²C 或 SPI 指令,以便随后发送给外设,而不是由 1-Wire 总线一次处理一个指令。

  该 512 字节缓冲器还允许 DS28E18Q+T 协调其内部电源行为。这样,利用针对与外设通信进行的计时,就能够保持寄生电源。指令定序器在向 I²C/SPI 主控器和 GPIO 控制器发送指令时会保持这一时序,后者处理数据,使其符合 I²C 和 SPI 标准。

  将一个 470 纳法拉 (nF) 外部电容器被连接到 CEXT 引脚,在 1-Wire 总线运行期间作为 DS28E18Q+T 的储能器件。所连接的外设可以通过 SENS_VDD 引脚获得寄生电源。对于 SPI 操作,四个引脚 SS#、MISO、MOSI 和 SCLK 为所连接的外设提供全双工通信。I²C 操作只使用两个具有交替功能的引脚,SDA 和 SCL。用于 SPI 操作的 SS# 和 MISO 没有用于 I²C 操作,因此可用作通用 I/O (GPIO),并具有 GPIOA 和 GPIOB 替代功能。这提供了更大的灵活性,可用于点亮位于传感器处的诊断 LED,或管理传感器或 ADC 上的配置引脚以改变设备的运行特征。

  使用 Maxim Integrated DS28E18Q+T,微控制器上的单 UART 只需两条线就能与同一条 1-Wire 加接地线总线上的许多传感器进行通信;每个传感器都与 DS28E18Q+T 相连,距离最远可达 100 m。这对暖通空调系统特别有用,因为在这种系统中,只有两根线可以穿过风管,沿着风管上的每个通风口监测温度和湿度。通过监测可能由障碍物造成的热点或冷点,这种方法提高了系统效率。

  1-Wire 的开发

  为方便使用 1-Wire 协议进行开发,Maxim Integrated 推出 DS28E18EVKIT# 评估系统。该评估系统这包括一个硬件开发板(图 2)和软件。

传感器

图 2:采用 Maxim DS28E18EVKIT# 评估板,开发人员能够轻松将 SPI 或 I²C 外设连接到 1-Wire 总线。该系统的随附软件可用于编程和监控总线和外设行为,以及帮助生成微控制器设备驱动程序。(图片源:Maxim Integrated)

  开发人员使用该评估板可对 DS28E18Q+T 进行编程和监控。为便于开发,该板配有一个 USB 适配器,可将该板与 Windows 计算机上的 USB 端口连接。为帮助进行开发,开发人员需要下载并运行 DS28E18EVKIT# 评估套件软件。如图 3 所示,通过评估软件可对 DS28E18Q+T 及其连接的外设进行编程和监控。

传感器

图 3:使用 DS28E18EVKIT# 评估软件,开发人员可通过 USB 适配器配置板载 DS28E18Q+T 并监控其行为。512 字节指令定序器存储器可用来存储数据,然后发送至外设,执行传感器操作。(图片源:Maxim Integrated)

  该软件可以向 DS28E18Q+T 评估板发送指令,并为目标 SPI 或 I²C 外设进行配置。该软件可以选择外设的地址范围,将待执行的外设指令填入 512 字节指令定序器存储器中。该软件还有助于配置目标微控制器的 UART 驱动器,无需为学习 1-Wire 通信协议而耗费精力。开发人员也可以在自己的应用中使用评估板,以节省构建和配置传感器节点所需的时间和精力。

  结论

  随着物联网和 IIoT 系统增加了更多的传感器,特别是在距离的不断增大情况下,到传感器的布线变得更复杂、更昂贵。另一个可能使构建传感器网络复杂化的问题是传感器供电问题。如图所示,Maxim Integrated 的 1-Wire 协议和相关硬件可以通过只用一根线加上接地线来提供数据和电源,从而使得与传感器网络的连接更加容易和高效。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分