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

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

3天内不再提示

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

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

众所周知,I2C 和 SPI 通信协议设计用于短距离板内通信。本应用笔记讨论了DS28E18 1线®至I2C/SPI桥接器的I2C和SPI总线扩展能力。具体而言,它涵盖了建立长线路的重要措施,例如,与多个I2C和SPI传感器进行100m通信以及使用该器件的好处。

设备概述

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

远程操作

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

减少 I2C 和 SPI 接线

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

自主操作

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

摘要一2C 地址

一些我的另一个问题2C 应用程序是设备地址争用。许多我2C 设备无法修改其地址,或者可以选择仅更改几个地址位。这可能会导致多个 I 之间的争用问题2同一总线上的 C 从站尝试响应同一地址。DS28E18解决了这个问题,因为每个器件都有一个唯一的ROM ID,带有48位序列号。而且,由于1-Wire总线可以承载多个1-Wire从机,因此每个2C器件可以连接到不同的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通信。

poYBAGP1egSAZfQBAADb5EZmjys531.jpg

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

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

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

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

pYYBAGP1egWACnN5AADDO4ulyb8103.jpg

图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线路,因此无需额外的电源线。

poYBAGP1egaAIR1JAADu3p31ahE367.jpg

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

使用 APU

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

pYYBAGP1egeAe4pJAACih1nSk_M961.jpg

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

poYBAGP1egiAZQykAAChr1fnHG8617.jpg

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

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

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

pYYBAGP1egmAVzaAAAClVWUMLvQ727.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的内部上拉被配置为禁用。

poYBAGP1egqAeh1mAACTNXikKVU537.jpg

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

pYYBAGP1eguAfhHDAACvAGtWpKE896.jpg

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

审核编辑:郭婷

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

    关注

    2526

    文章

    48093

    浏览量

    740062
  • adc
    adc
    +关注

    关注

    95

    文章

    5651

    浏览量

    539462
  • dac
    dac
    +关注

    关注

    43

    文章

    1973

    浏览量

    189514
收藏 人收藏

    评论

    相关推荐

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

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

    数字温度传感器系统接口:SPII2C 、SMBus如何选

    0Hz到3.4MHz。它没有SPI 那样快,但对于系统管理器件如温度传感器来说则非常理想。I2C 存在系统开销,这些开销包括起始位/停止位、确认位和从地址位,但它因此拥有流控机制。主器件在完成接收
    发表于 09-23 16:55

    STM32怎么采集I2CSPI通信的传感器模块数据?

    新人刚接触STM32,想用开发板采集I2CSPI通信的传感器模块信号?实现的思路是怎样的?需要学习哪方面的知识?各位大神~~~~HELP~~~
    发表于 04-30 12:19

    STM32怎么采集I2CSPI通信的传感器模块数据?

    新人刚接触STM32,想用开发板采集I2CSPI通信的传感器模块信号?实现的思路是怎样的?需要学习哪方面的知识?各位大神~~~~HELP~~~
    发表于 05-01 14:40

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

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

    到底什么是I2C

    、MCU、ASIC)传输到外围设备(温度传感器、湿度传感器及其它设备)。那I2C到底是什么呢……现在,为什么要使用它?I2C可以在同一总线上轻松实现多个外设 - 例如,使用各种
    发表于 07-23 04:45

    I2C无法正常工作

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

    如何使用DV102411 WiFi COMM演示板与I2C传感器接口

    您好,我正尝试使用DV102411 WiFi COMM演示板与I2C传感器接口。根据用户指南,“传感器扩展端口”图表具有使用SDA5和SCL5(引脚31&安培32)连接的
    发表于 04-30 13:53

    一个带补偿的I2C超声波传感器

    上。是什么让它特别?该传感器体积小,具有可变输入电压 3.3-5V,并且可以将 I2C 地址设置为从 0x10 到 0x17。代码https://github.com/RobotCing/Cing/blob
    发表于 06-21 06:32

    I2C总线和C++ API上的多个传感器问题求解

    /VL53L1流程如下:关闭每个传感器的复位引脚 XSHUT然后,在 for 循环中(设置我的 3 个传感器):使用 XSHUT 引脚打开第一个传感器
    发表于 01-03 10:30

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

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

    Rockchip i2c开发指南

    视壮嵌入式板卡rk3399《rockchip i2c 开发指南 v1.0》分享i2c设备的设备应用非常广泛,常见的包含重力传感器,触摸屏驱动芯片,音频解码等,这个文档是rk3399的
    发表于 10-10 08:17

    使用DS28E18的基础知识

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

    DS28E18远程I2CSPI传感器设置指南,内置DS2485

    众所周知,I2CSPI 通信协议设计用于短距离板内通信。本应用笔记讨论I2DS28E18 1-Wire至I的C和SPI总线扩展能力®2带有命令序列器的 C/
    的头像 发表于 06-13 15:50 907次阅读
    <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>,内置<b class='flag-5'>DS</b>2485

    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