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

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

3天内不再提示

只需1-Wire即可操作I2C/SPI端点

星星科技指导员 来源:ADI 作者:ADI 2023-02-07 10:37 次阅读

I2C 和 SPI 端点设备能否仅通过一根电线供电和控制?

可以提供电源和数据来运行I2C和SPI端点,如湿度或温度传感器,采用单线连接,接地采用ADI公司的1-Wire技术科技。当使用IO受限的系统时,该技术提供了一个强大的解决方案,因为主机上可能只有一个或几个引脚可用。DS28E18是桥接器件的一个很好的例子,它利用1-Wire来解决一系列常见的系统挑战,如布线限制、通信距离和协议转换。

pYYBAGPhuXaAZqqlAACDoLaPx5s685.jpg


这种单线接口技术ADI公司独有的,自1980年代以来一直存在。电源和数据通过单个专用连接提供,支持广泛的应用,如本地或远程环境传感、医疗传感器或附件识别。适用于这些应用的1-Wire解决方案具有操作SPI或I的优势2C器件采用单触点接口,无需外部电源,具有1-Wire和I的灵活性2C/SPI 主控操作模式。

为了操作该接口,总共有两个触点,一个是1-Wire单连接,另一个是接地连接,因此我们可以在过载模式下以11.7 kb/s和62.5 kb/s两种不同的速度进行通信。图1给出了非常简单的系统级配置,以及DS28E18如何融入系统。微控制器主机(μC)通过1-Wire接口连接到DS28E18桥接器,仅使用1-Wire IO和接地两个连接。

pYYBAGPhuXiAX0XeAABfIhMjEt0436.jpg

图1.系统级配置

1-Wire转I2带序列器和功率收集功能的 C/SPI

DS28E18通信桥器的独特特性之一是,它可以收集高达10mA的电流,为外部连接的I供电。2C/SPI 端点。该设备还能够驱动 I2C 和 SPI 端点分别高达 1MHz 和 2.3MHz。该器件采用小型 2x3mm TDFN 封装,工作电压为 3.3V (±10%),工作在 -40°C 至 +85°C 的环境条件下。

除了1-Wire接口和功能外,DS28E18还具有三个主要模块,对于与I接口至关重要。2C/SPI 端点;命令序列器,用作1-Wire命令和I之间的桥梁2C/SPI 命令、一个带有数据以最终操作器件的 SRAM 模块,以及一个 I2C/SPI/GPIO 接口控制器。这一切都显示在下面的图 2 中。

poYBAGPhuXiAeY86AABz-LSdJMQ689.jpg

图2.方框图

命令序列器

命令序列器处理缓冲区数据并将其存储在SRAM中的指定地址(一次128字节),并返回CRC16供主机处理器验证数据传输。时序控制器通过将最常用的命令存储在SRAM中,最大限度地减少了主机的通信开销。DS28E18在SRAM中提供512字节缓冲器,可加载多个I信号2C 或 SPI 命令。加载后,主控制器发送命令以执行序列、提供电源并从连接的 I 收集数据2C 或 SPI 外设。随后的1-Wire命令读取收集的传感器数据。

有三种类型的命令可用于操作此设备,它们位于图 3 的蓝色突出显示元素中,如下所示。它们是“1-Wire ROM功能命令”、“DS28E18器件功能命令”和“DS28E18时序控制器命令”。

pYYBAGPhuXmAPWAJAAB2FLBFI18625.jpg

图3.命令驻留位置的突出显示框图

主机启动通信,使用28-Wire ROM级功能命令识别和选择DS18E1桥接器件。选择后,设备功能命令用于与音序器交互。图4列出了DS1E28可用的18-Wire ROM和器件功能命令。有关详细信息,请参考DS28E18技术文档。

DS28E18具有144字节命令缓冲器,利用16字节进行器件功能命令操作,利用128字节将带有顺序命令的编成数据包传输到512字节SRAM时序器。可以调用安装在SRAM序列器中的形成数据包来写入和/或读取I2C/SPI 数据到连接的从站。序列的最大长度为 512 字节。序列完成后,I2C/SPI 从机响应使用读取序列器命令恢复。

返回的结果字节指示成功或遇到任何错误,例如收到 NACK。如果结果字节指示错误,则返回两个附加字节,指示错误在序列中的位置。

时序控制器的实用程序命令通过SENS_VDD引脚为端点设备提供各种功能,例如延迟和电源门控。延迟可以按顺序使用,以便为 I 留出额外的时间2C/SPI 端点设备,用于执行转换或在端点通电后允许建立。延迟范围为 1 毫秒至 32 秒。提供给端点的功率从1-Wire接口收集,因此主机必须在整个序列中启用强上拉。DS28E18可提供高达10mA的电流。

图 4 显示了不同命令及其在命令层次结构中的级别列表。

poYBAGPhuXmAeW5oAADEqXpP2Lg092.jpg

图4.命令层次结构

接口控制

DS28E18 的 GPIO,I2C 和 SPI 接口在四个引脚上多路复用,如图 5 所示。我2C 接口可配置为工作在 100kHz、400kHz 或 1MHz,SPI 可配置为工作在 100kHz、400kHz、1MHz 或 2.3MHz。GPIO 在配置为 SPI 时不可用。

pYYBAGPhuXmACIgxAABziZ96N-k252.jpg

图5.GPIO/I2C/SPI 引脚多路复用和接口控制

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

    关注

    182

    文章

    16424

    浏览量

    244144
  • 控制器
    +关注

    关注

    112

    文章

    15020

    浏览量

    170332
  • I2C
    I2C
    +关注

    关注

    27

    文章

    1335

    浏览量

    120568
收藏 人收藏

    评论

    相关推荐

    基于C++模板技术的1-wire总线编程

    这是一个比较简单的 1-wire 总线 C++ 模板库。这个库由 4 个部分组成:11-wire 协议链路层接口类:ow_t定义了 1-wire
    发表于 11-22 23:40

    1-Wire时序的理解及配置

    网络充电速度的影响。在达到逻辑1之前不需对1-Wire采样(tDSO功能)。反之,读时隙期间对1-Wire线完全充电所需的等待时间即可满足写0时隙的恢复时间(tREC0功能)。如图
    发表于 11-12 00:17

    1-Wire接口

    1-Wire接口要适应12V供电的芯片有什么?
    发表于 11-12 11:20

    如何访问1-Wire API

    任何组件在创建者来实现这一点。有人知道如何访问1-Wire API吗?谢谢 以上来自于百度翻译 以下为原文I have been looking for a 1-wire component
    发表于 07-29 15:25

    请问Microchip可能有关于1-Wire的库代码吗?

    ;我知道它可以用1-Wire工作,但是我从来没有经历过1-Wire,只有家族。R与MSSP I2C;是否有人分享有关1Wire的有用信息,或者Microchip可能有关于
    发表于 10-31 10:43

    USB、UART转IIC、SPI方案

    `可编程USB转串口适配器UART/I2C/SMBus/1-Wire/SPI/CAN/PWMUSB2S(USB To Serial ports)可编程 USB 转 UART/
    发表于 11-11 15:35

    串行总线1Wire/I2C(IIC)/SPI远距离通讯模块PS304

    PS304(PortsServer channel 4)是多种数字接口物理层协议转发器,可实现UART转换I2CSPI1Wire远距离通讯,内嵌磁隔离双电源及辅助增强电源电路、自适应线缆算法
    发表于 08-27 12:32

    八通道1Wire主控制器DS2482800相关资料推荐

    概述:DS2482-800是DALLAS半导体公司生产的一款I2C总线至1-Wire的桥接器件,可直接与标准(100kHz最大值)或快速(400kHz最大值)的I2C主机连接,完成I2C
    发表于 05-17 07:26

    DS2408S 1-Wire继电器资料分享

    描述DS2408S 1-Wire 继电器印刷电路板 - 1mm扎斯拉涅 +5V DCZ11 - IO 1 线2 - GND 1-Wire/V
    发表于 06-24 07:25

    如何同时使用I2CSPI

    你好。我不是说英语的人。对不起我糟糕的英语。的我的代码(包括 I2CSPI)在 STM32F303K8T6 Nucleo 板上成功运行。然而,我的代码包括 I2CSPI,只
    发表于 12-13 07:42

    ISR中的Wire (I2C) 异常问题如何解决?

    我正在使用由警报信号触发的中断服务例程以连续模式读取 ADS1115 ADC。该例程相当短,只需将值读入循环缓冲区,使用 350KHz 的 i2c 时钟执行大约需要 120 uSec。这工作正常,将
    发表于 02-24 07:50

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

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

    1-wire单总线的基本原理

    1-wire单总线的基本原理:1-wire 单总线是Maxim 全资子公司,Dallas 的一项专有技术与目前多数标准串行数据通信方式,如SPI/I2C/MICROWIRE 不同它采用
    发表于 09-26 16:57 55次下载

    1-wire单总线的基本原理

    1-wire单总线的基本原理 1-wire 单总线是Maxim 全资子公司Dallas 的一项专有技术与目前多数标准串行数据通信方式如SPI/I2C/MICROWIRE
    发表于 02-05 17:58 78次下载

    只需1-Wire即可操作I2C/SPI端点

      DS28E18 的 GPIO、I 2 C 和 SPI 接口在四个引脚上复用,如图 5所示。I 2 C 接口可配置为以 100kHz、400kHz 或 1MHz 运行,SPI 可配置为以 100kHz、400kHz、1MHz 或 2.3MHz 运行。当配置为
    的头像 发表于 05-30 09:23 1141次阅读
    <b class='flag-5'>只需</b><b class='flag-5'>1-Wire</b><b class='flag-5'>即可操作</b><b class='flag-5'>I2C</b>/<b class='flag-5'>SPI</b><b class='flag-5'>端点</b>