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

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

3天内不再提示

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

星星科技指导员 来源:Maxim 作者:Marco A. Ramirez Cast 2022-05-30 09:23 次阅读

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

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

pYYBAGKUHK2AdoDhAANzCQy68is378.png

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

为了操作这个接口,总共有两个触点,1-Wire 单连接和一个接地连接,通过它我们可以在过载模式下以 11.7 kb/s 和 62.5 kb/s 两种不同的速度进行通信。图 1展示了一个非常简单的系统级配置以及 DS28E18 如何融入系统。微控制器主机 (µC) 通过与 DS28E18 桥接器的 1-Wire 接口连接到远程 SPI 传感器,仅使用两个连接,即 1-Wire IO 和接地。

pYYBAGKUHLaAZ5RyAADINdEQ-mw336.png

图 1. 系统级配置

1-Wire 至 I 2 C/SPI,带排序器和功率收集

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

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

pYYBAGKUHL2AWeSzAAGUT2gn8N4344.png

图 2. 框图

命令定序器

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

存在三种类型的命令来操作此设备,它们位于下图 3中蓝色突出显示的元素中。它们是“1-Wire ROM 功能命令”、“DS28E18 器件功能命令”和“DS28E18 定序器命令”。

poYBAGKUHMWAe5PkAAG8nbK3M5g602.png

图 3. 命令所在位置的突出显示框图

主机使用 1-Wire ROM 级功能命令启动通信以识别和选择 DS28E18 桥接器件。选择后,设备功能命令将用于与定序器交互。图 4 列出了 DS28E18 可用的 1-Wire ROM 和器件功能命令。

DS28E18 有一个 144 字节的命令缓冲区,利用 16 字节的设备功能命令操作和 128 字节的顺序命令将形成的数据包传输到 512 字节的 SRAM 定序器。可以调用安装在 SRAM 定序器中的已形成数据包来向连接的从机写入和/或读取 I 2 C/SPI 数据。序列的最大长度为 512 字节。序列完成后,I 2 C/SPI 从机响应使用读取序列器命令恢复。

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

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

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

poYBAGKUHM6AcXtTAAUlu-Aw4Z0259.png

图 4. 命令层次结构

接口控制

DS28E18 的 GPIO、I 2 C 和 SPI 接口在四个引脚上复用,如图 5所示。I 2 C 接口可配置为以 100kHz、400kHz 或 1MHz 运行,SPI 可配置为以 100kHz、400kHz、1MHz 或 2.3MHz 运行。当配置为 SPI 时,GPIO 不可用。

poYBAGKUHNmAQgVCAAHA0ESvrRI063.png

图 5. GPIO/I 2 C/SPI 引脚复用和接口控制

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

    关注

    2526

    文章

    48093

    浏览量

    740049
  • sram
    +关注

    关注

    6

    文章

    742

    浏览量

    113900
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1615

    浏览量

    89600
收藏 人收藏

    评论

    相关推荐

    TC275操作I2C操作时陷入while循环无法退出怎么解决?

    保持为1,无法退出循环。然后修改了此段代码,增加了超时退出while循环的操作,修改后发现退出while循环后,进入了下面的ERRIRQSS分支,RXF_OFL位被置为1。并且在下一次操作
    发表于 02-02 06:52

    最简单的总线通讯!I2C通讯总线的原理原来这么好懂

    通讯I2C
    安泰仪器维修
    发布于 :2024年01月02日 11:16:31

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

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

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

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

    终于搞清了:SPI、UART、I2C通信的区别与应用!

    电子设备之间的通信就像人类之间的交流,双方都需要说相同的语言。在电子产品中,这些语言称为通信协议。 之前有单独地分享了SPI、UART、I2C通信的文章,这篇对它们做一些对比。 串行 VS 并行
    发表于 10-07 17:01

    全面掌握面试必考题I2C协议 - 第12节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:07:43

    全面掌握面试必考题I2C协议 - 第11节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:06:53

    全面掌握面试必考题I2C协议 - 第10节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:06:03

    全面掌握面试必考题I2C协议 - 第6节

    I2C协议
    充八万
    发布于 :2023年09月01日 19:02:42

    全面掌握面试必考题I2C协议 - 第1

    I2C协议
    充八万
    发布于 :2023年09月01日 18:58:30

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第7节 #硬声创作季

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:07:44

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第2

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:03:33

    80 第23.1讲 I2C实验-I2C协议和6U的I2C控制器详解 - 第1

    程序代码I2C协议
    充八万
    发布于 :2023年08月17日 10:02:43

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

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

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

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