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

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

3天内不再提示

DS28E18远程I2C和SPI传感器设置指南,内置DS2485

星星科技指导员 来源:ADI 作者:ADI 2023-06-13 15:50 次阅读

众所周知,I2C 和 SPI 通信协议设计用于短距离板内通信。本应用笔记讨论I2DS28E18 1-Wire至I的C和SPI总线扩展能力®2带有命令序列器的 C/SPI 桥接器。具体来说,它涵盖了建立长线的重要措施,例如,与多个I的100m通信2C 和 SPI 传感器以及使用此设备的好处。

介绍

众所周知,I2C 和 SPI 通信协议的总线距离较短,不超过几米。尽管目前存在用于扩展这些范围的解决方案,但它们通常既复杂又昂贵。然而,DS28E18是一款高性价比的桥接芯片器件,展示了使用1-Wire接口在不影响简单性的情况下,充分利用环境传感器、模数转换器ADC)、数模转换器DAC)和显示控制器等复杂I2C和SPI器件的优势。本应用笔记首先讨论DS28E18相对于其他总线扩展方案的一些关键特性和优势。它还介绍了正确设置设备以与多个传感器进行长线通信的重要措施。

设备概述

DS28E18 1线转SPI和I2C 桥使连接板外外围设备更快、更容易。ADI公司的1-Wire互连技术使用单线加接地,将电源和数据传输到板上和板外的外设。1-Wire总线上的器件是可寻址的,并建立一条返回主机微控制器的双向通信路径。以下是DS28E18成为一款出色的产品的原因。2C 和 SPI 总线扩展解决方案。

远程操作

1-Wire接口设计为长距离稳健。虽然我2C和SPI总线长度限制在几米以内,1-Wire器件的通信距离远超过100米。DS28E18充分利用这一特性,在主机和主机之间建立远距离连接。2C 或 SPI 外设,基本上可实现 I 的远程操作2C 和 SPI 设备。

减少 I2C 和 SPI 布线
从微控制器控制外设需要相当多的布线。I2C 通常被视为仅由数据(串行数据访问 [SDA])和时钟(串行时钟线 [SCL])信号组成的双线连接。但实际上,当考虑到电源和接地时,该接口需要四根电线。SPI也是如此。然而,ADI公司的1-Wire技术仅通过一根线传输电源和数据。DS28E18直接从1-Wire电路获得电源,并在必要时提供给I2C或SPI外设。因此,外围设备不需要外部电源。因此,结合接地,与I2C或SPI外设接口所需的导线总数减少到仅来自主机的单对导线。

自主操作

在处理遥感应用时,功耗始终是一个问题。DS28E18通过减轻主机微控制器的部分工作负担来帮助降低功耗。该器件具有一个内部定序器,可用作 I 的缓冲器2C 或 SPI 命令。然后,主微控制器可以命令DS28E18执行其存储的序列。这样,主微控制器可以休眠,而DS28E18则自动向外设馈送命令,并根据需要收集数据。

抽象 I2C 地址

某些 I2C 应用中的另一个问题是设备地址争用。许多 I2C 设备无法修改其地址,或者可以选择仅更改几个地址位。这可能会导致同一总线上尝试响应同一地址的多个 I2C 从站之间出现争用问题。DS28E18解决了这个问题,因为每个器件都有一个唯一的ROM ID,带有48位序列号。而且,由于1-Wire总线可以承载多个1-Wire从器件,因此每个I2C器件可以连接到不同的DS28E18主机,并通过其主机的ROM ID进行区分,从而不必担心系统内的任何地址冲突。

降低成本和复杂性

通常,可以将总线延长到100m以上的系统可能需要在主机端和外设端安装多个芯片。这样的配置可能相当复杂和昂贵。DS28E18的配置正好相反。它只需要两个引脚,而 I 需要四个和六个引脚2分别为 C 和 SPI。此外,主机侧大多只是软件,只有少量接口硬件,而外设端仅由单个DS28E18器件组成。这使得DS28E18成为扩展I的简单且经济高效的方案。2C 或 SPI 总线。

设备设置

以下各节介绍为远程连接到主机处理器的多个DS28E18节点设置最佳配置的重要措施。

兼容的1-Wire主机

实现1-Wire主机非常简单,DS28E18有多种配置兼容。最基本的实现方式如图1所示,其中1-Wire主机由微控制器表示,微控制器使用通用端口引脚驱动1-Wire通信。

wKgaomSIJX6ASc7IAACU6AW8Tn4317.png

图1.DS28E18主机配置采用微控制器作为1-Wire主机。

这种类型的主机配置提供了正确操作DS28E18及其所有功能所需的所有组件。它保持较低的硬件成本,因为它只需要一个备用的双向端口,以及程序内存中的一些备用空间。R 的典型值狗范围为300Ω –1000Ω,但最大值可能因连接的DS28E18节点数量和总线距离而异。

一些1-Wire从机执行某些需要额外电源的操作。这些操作称为强上拉 (SPU) 操作。DS28E18有多种情况下执行SPU操作,例如向连接的传感器提供外设电源时。为此,图1所示的主机微控制器可以使用PIOY引脚驱动逻辑“1”。虚线还表示可选的低阻抗旁路R。狗也可用于提供额外的电力。

使用微控制器作为1-Wire主机的缺点是1-Wire时序是通过软件生成的,这会增加初始软件开发时间和成本。作为替代方案,ADI公司提供多种1-Wire主控产品,也可用于可靠驱动DS28E18。图2所示为采用DS1 I的2485-Wire主机的另一种兼容方案2C 转 1 线桥接器件。

wKgZomSIJYSAAlaXAABi3ItvJuY341.png

图2.DS28E18主机配置,采用DS2485 I2C-to-1-Wire桥接器作为1-Wire主控。

使用DS2485的优点是可以完成大部分繁重的工作。这是一个我2C-to-1-Wire桥接器件,可直接连接到I型2C 主站,通常是微控制器,速度高达 1MHz。它在 I 之间执行协议转换2C主机和任何下游1-Wire从器件,如DS28E18。该器件具有内部用户可调定时器,使系统主机处理器无需生成时间关键型1-Wire波形,支持标准和超速1-Wire通信速度。一旦提供命令和数据,DS2485的输入/输出控制器即可执行时间关键型1-Wire通信功能,如复位/存在检测周期、读字节、写字节、读块、写块、单位R/W、ROM搜索三元组和完整的命令序列,无需与主机处理器交互。1-Wire总线上的外部上拉可以避免,因为DS2485器件在内部提供所有必要的上拉功能。

长距离布线

DS28E18用作板外外设时效率最高。在设置设备进行长距离通信时,重要的是要注意较长的电缆线引入的总线电容。大量数据会阻碍1-Wire线路的上升时间,从而有效干扰数据传输。图3所示为DS28E18可行的长线配置示例。它包括DS2485 1-Wire主站和一根100米长的双绞线24 AWG CAT5E电缆,连接到DS28E18的IO和GND引脚。由于DS28E18的电源来自1-Wire线路,因此无需额外的电源线。

wKgaomSIJYmAPFo4AABKC6IIw1w016.png

图3.DS28E18 远程配置,采用 DS2485。

使用 APU

与DS1E10的典型板载100cm板载连接和28m处的板外连接相比,18-Wire上升时间有显著差异,分别如图4和图5所示。

wKgZomSIH9aAFUkkAACih1nSk_M611.jpg

图4.板载DS1E28的18线上升沿,在10cm和1000Ω R处狗.

wKgaomSIH9iATJmnAAChr1fnHG8768.jpg

图5.1-线线上升沿,28m和18Ω R时DS100E1000的板外上升沿狗.

对于上升时间过慢的剧烈情况,可以通过降低无源电阻(即R狗)值,1-Wire总线上的值到下端(例如,300Ω)。修改 R狗DS2485只需通过软件配置其内部无源上拉电阻值即可轻松实现值。

对于降低上拉电阻还不够的情况,DS2485还提供另一种上拉技术,称为有源上拉(APU)。使能后,APU在1-Wire信号从低到高的转换过程中,基本上在有限的时间内通过低阻抗路径旁路无源上拉电阻,从而更快地有效地达到高压状态。这种效应可以在图6中看到,尽管具有相同的5Ω无源上拉电阻,但图1000中的相同上升沿明显更清晰。因此,在通过长线路与DS28E18通信时,始终建议使用APU。

wKgZomSIH9uAP-7dAAClVWUMLvQ668.jpg

图6.1-线线上升沿,28m和18Ω R时DS100E1000的板外上升沿狗启用 APU。

实现多个节点

考虑到每个DS28E18具有唯一的ROM ID,多个器件可以连接到同一1-Wire总线,而不会产生任何争用问题。从本质上讲,这使得系统能够将各种远程传感器与自己的DS28E18主机集成在一起。图7和图8所示为DS28E18典型节点配置,其I型2分别连接了 C 和 SPI 传感器。图 7 中的虚线表示 I 上的可选上拉2C总线,用于DS28E18的内部上拉被配置为禁用。

wKgaomSIH9yAL63_AACTNXikKVU657.jpg

图7.DS28E18节点配置,带I2C 传感器。

wKgZomSIJZCAMzQWAACDSEeSqKU645.png

图8.DS28E18节点配置,带SPI传感器。

功耗

单个1-Wire总线可连接的节点数量可达10个或更多。最大数量在很大程度上取决于SPU工作期间从1-Wire线路一次消耗的电流量。如果压降使IO处的电压电平小于最小值,则线路上的节点过多可能会妨碍设备的性能斯普乌SPU 操作期间的限制(即 2.0V)。

最显著的高电流消耗发生在多点ROM ID上电序列期间。具体说明一下,DS28E18在上电时始终以默认ROM ID值启动。为了完全工作,DS28E18必须首先从存储器中填充其唯一的ROM ID。为此,1-Wire主机必须发出1-Wire跳跃ROM (CCh)命令,然后发出DS28E18写入GPIO(83h)命令。因此,连接到同一28-Wire总线的每条DS18E1都会响应该ROM ID上电序列,从而有效地增加了从1-Wire线路汲取的电流,因为每个器件同时填充其唯一的ROM ID。

为了在使用DS2485时满足这种高电流需求,建议使用如图2所示的外部p沟道。该p沟道的上拉阻抗小于DS2485的内部SPU阻抗,从而有助于沿1-Wire线路驱动更多电流。注意,DS2485的1-Wire模块(ABh)命令是唯一可以访问外部p沟道的1-Wire主控命令,因此必须用于运行多点ROM ID上电序列。DS28E18节点成功上电后,DS2485可以恢复正常工作,外部p沟道可以忽略不计。

结论

DS28E18是扩展I的出色解决方案2C 或 SPI 通信。与其他扩展解决方案相比,这种简单且经济高效的设备具有许多优势,使系统能够在最远 100 米或更远的距离内控制多个传感器。按照此设备设置指南可以实现最佳硬件配置。

审核编辑:郭婷

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

    关注

    28

    文章

    1346

    浏览量

    120829
  • SPI总线
    +关注

    关注

    4

    文章

    100

    浏览量

    27442
  • 桥接器
    +关注

    关注

    0

    文章

    61

    浏览量

    45280
收藏 人收藏

    评论

    相关推荐

    Maxim推出DS28E18 1-Wire®至I2C/SPI桥接芯片 构建远端连接的I2CSPI传感器网络

    DS28E18只需两根线即可连接器件,而竞争方案则要求4根线连接I2C或6根线连接SPI,从而大幅降低系统复杂度。
    发表于 08-14 16:05 964次阅读

    lsm6ds3tr-c传感器集合模式无法使用的原因?

    3TR_FUNC_CFG_ACCESS, 0x80, 2);//第一外部I2C从接口的地址,写0x58,读0x59bsp_spi_write(LSM6DS3TR_SLV0_ADD, 0
    发表于 03-07 06:26

    如何学习利用I2CSPI读取传感器数据?该从何下手?

    各位大佬好,本人机械行业,目前初入嵌入式,想通过I2CSPI协议采集一些IMU传感器的数据,比如ADXL345、LSM6DS3,但是看他们的寄存
    发表于 08-10 22:08

    pyboardCN V2 使用I2C接口驱动I2C外设DS3231

    pyboard上面有I2C类库可以供我们调用,根据邵版主的原话,I2C类库所挂载的I2C接口是STM32F405RG的硬件I2C接口,非GPIO模拟的
    发表于 08-17 16:53

    I2C通信:18F4550和DS1307 RTC

    嗨,我用I2C解决问题的小贡献:在PIC18F450主控和从机RTC DS1307.RB0和RB1之间进行I2C通信的汇编代码是SDA和SCL线,不要忘记在两条线路上加上上拉电阻1-4
    发表于 11-28 16:37

    I2C无法正常工作

    嗨,我试图用PIC18F46K22上的I2C1(RC3SCL1和RC4SDA1)与DS1631温度传感器通信,但是它不工作。它在等待状态改变时将永远挂起。我已经使用代码配置
    发表于 10-15 12:59

    DS18B20温度传感器是什么

    的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。
    发表于 04-27 08:14

    DS18B20温度传感器简介

    DS18B20温度传感器1. DS18B20简介2. 硬件设计3. 软件设计3.1 STM32CubeMX设置3.2 MDK-ARM编程4.
    发表于 08-12 07:32

    外设温度传感器DS18B20概述

    参看:《嵌入式-STM32开发指南》第三部分 外设篇 - 第2章 温度传感器DS18B20这篇文章讲的非常详细了。一、简介1、概述DS18B
    发表于 01-05 07:17

    DS18b20传感器读数问题如何解决?

    “print(T)”命令。 我试过在 readout() 函数中设置 T=TEMP 但它做同样的事情。 我明白传感器读取和返回值的速度很慢,我不介意,但我希望我的 read_DS18
    发表于 04-27 07:04

    如何使用i2c接口获取温度传感器DS18B20数据?

    使用i2c接口获取ds18b20数据,并且进行数据处理
    发表于 08-16 07:45

    使用DS28E18的基础知识

    本应用笔记讨论如何快速启动DS28E18。然后简要介绍一些简化的基于DS28E18的系统。它还概述了系统操作流程,并演示了一些带有 I 的实际示例2C 和 SPI 温度传感器器件
    的头像 发表于 02-09 10:24 799次阅读
    使用<b class='flag-5'>DS28E18</b>的基础知识

    DS28E18远程I2CSPI传感器设置指南

    DS28E18 1线转SPII2C 桥使连接板外外围设备更快、更容易。Maxim的1-Wire互连技术使用单线加接地,将电源和数据传输到板内和板外的外设。1-Wire总线上的器件是可寻址的,并建立
    的头像 发表于 02-22 10:12 971次阅读
    <b class='flag-5'>DS28E18</b><b class='flag-5'>远程</b><b class='flag-5'>I2C</b>和<b class='flag-5'>SPI</b><b class='flag-5'>传感器</b><b class='flag-5'>设置</b><b class='flag-5'>指南</b>

    DS28E18EVKIT: Evaluation Kit for the DS28E18 Data Sheet DS28E18EVKIT: Evaluation Kit for the DS28E18 Data Sheet

    电子发烧友网为你提供ADI(ADI)DS28E18EVKIT: Evaluation Kit for the DS28E18 Data Sheet相关产品参数、数据手册,更有DS28E18
    发表于 10-13 19:11
    <b class='flag-5'>DS28E18</b>EVKIT: Evaluation Kit for the <b class='flag-5'>DS28E18</b> Data Sheet <b class='flag-5'>DS28E18</b>EVKIT: Evaluation Kit for the <b class='flag-5'>DS28E18</b> Data Sheet

    DS2485EVKIT: Evaluation Kit for the DS2485 Data Sheet DS2485EVKIT: Evaluation Kit for the DS2485 Data Sheet

    电子发烧友网为你提供ADI(ADI)DS2485EVKIT: Evaluation Kit for the DS2485 Data Sheet相关产品参数、数据手册,更有DS2485
    发表于 10-17 18:49
    <b class='flag-5'>DS2485</b>EVKIT: Evaluation Kit for the <b class='flag-5'>DS2485</b> Data Sheet <b class='flag-5'>DS2485</b>EVKIT: Evaluation Kit for the <b class='flag-5'>DS2485</b> Data Sheet