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

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

3天内不再提示

如何利用总线缓冲器挪动主PCB上的I2C器件

电子设计 来源:ADI 作者:ADI 2021-05-31 16:26 次阅读

如果说有一种工程师人尽皆知的总线技术,那非I2C莫属。I2C在微电子通信控制领域广泛采用的一种总线标准,是同步通信的一种特殊形式,具有接口线少、控制方式简化、器件封装形式小、通信速率较高等优点。它是双向总线,可以在任何IC工艺(NMOS,CMOS,双极性)中轻松实现,并允许简单的IC间通信。

硬件上,I2C总线只需要一根数据线和一根时钟线两根线,总线接口已经集成在芯片内部,不需要特殊的接口电路,而且片上接口电路的滤波器可以滤去总线数据上的毛刺。因此I2C总线简化了硬件电路PCB布线,降低了系统成本,提高了系统可靠性。问题来了,如果因为各种原因,I2C器件需要从你的主PCB上挪开,该注意什么?

o4YBAGC0nUKAfhfQAAB_kXtA7h4543.png

移除I2C器件,请避免通过电缆发送单端信号

从PCB上挪开I2C器件首先要避免的是通过电缆发送单端信号,这里比较可行的做法是使用一对I2C扩展器,例如ADI公司的LTC4331,该产品是一款I2C扩展器,具备总线缓冲器系列的常见功能。使用LTC4331时需要将一个安装在本地PCB上,另一个安装在远程板上,然后,在本地I2C主机和远程I2C从机上创建连接。这里可以使用单根双绞线实现连接,例如来自CAT的双绞线,也可以采用RJ45连接器实现连接。

在实际应用中又会是什么状态呢?I2C主机向远程从机(例如其中的LTC4331)发送一个命令, 从机会接收,然后发回,完成向/从差分信号协议的转换,但不会消耗应用资源。值得一提的是可以使用I2C总线覆盖3/4英里及更远的距离。

在本地,运行速率可以达到MHz,I2C主机会控制本地和远程端的总线速度,这里的LTC 4331可以设置为按100kHz、400kHz或1MHz的速率与从机通信。下图中未包含提醒和控制通道, 它们的状态也通过双线链路编码和传输。所以,可以看出,LTC 4331对支持和中断从远程从机返回的信号,支持额外的控制信号。当控制信号可由引脚设置,或者可由带I2C寄存器和命令一起编程

pIYBAGC0nU-AZUmTAAGCCcphZtc675.png

由一对LTC 4331组成的解决方案具备差分对的优点,性能也极为可靠,可以安装在极为恶劣的环境中。LTC 4331可以承受IEC 4级ESD攻击,还可以调节4个电气快速瞬变,具有+/-60V容错,这在操作人员在安装后无法启动,或在现场意外损坏时非常有用,比如传输信号和电源的电缆压在一起。

高噪声工业环境下的I2C设备扩展器

上面提到LTC4331是一款点对点、兼容SMBus的I2C从器件扩展器,专为在高噪声工业环境中运行而设计。LTC4331采用 ±60V 故障保护差分收发器,可通过单个双绞线差分链路(最长1200米)扩展I2C/SMBus 总线,包括SMBALERT和一个控制信号。该解决方案采用扩展的共模工作范围,可以容忍节点之间大的地面差异。对于EMI敏感环境,压摆率控制引脚可降低差分链路发出的EMI。

此外,LTC4331可以充当 I2CI2C桥接器,使本地和远程网络之间能拥有独立总线频率。该解决方案对主设备完全透明,在大多数情况下不需要额外的数字码; 但提供了用于其他配置和故障监视的控制接口。强烈建议使用完全支持SCL时钟拉伸的主控制器。

o4YBAGC0nWiAZPFnAAJCxAh36ws153.png

一个完整的扩展I2C网络需要两个 LTC4331 器件。利用REMOTE引脚,一个LTC4331被配置为本地模式,并作为一个全功能的SMBus兼容I2C从属器件,通过这个本地接口,一个主站可以沿差分电缆对一个远距离的从站设备进行寻址。在远程网络上,另一个LTC4331被配置为远程模式的I2C主设备,与远程从属设备相连。

除了LTC4331,还有一款点对点坚固型 SPI 扩展器LTC4332,这是ADI针对跨长距离的高噪声工业环境中运行而设计。该器件采用一个 ±60V 故障保护 RS485 接口收发器,可通过两根双绞线电缆传输 SPI 数据,包括高达 2MHz 的中断信号。差分链路上的扩展共模范围和高共模抑制性能可容许节点之间存在大的地电位差异。另外,LTC4332 还支持链路上的外部电气隔离。LTC4332 提供一个控制接口,该接口采用一个用于配置和故障监视的单独从设备选择。

结语

I2C无处不在,使得连接更容易。ADI公司的I2C解决方案系列支持热插拔、双线式双向总线缓冲器,可将I/O卡插入带电背板中,而不会损坏数据和时钟总线。ADI的软件可编程和引脚可选I2C多路复用器有助于解决I2C地址限制,增加扇入或扇出能力,并为一体化解决方案集成总线缓冲器和上升时间加速度计。电阻可配置I2C地址转换器可配置超过100个独特的从机地址,使多个具有相同地址的从器件可在同一总线上共存。

编辑:hfy

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

    关注

    4219

    文章

    22466

    浏览量

    385617
  • 滤波器
    +关注

    关注

    158

    文章

    7326

    浏览量

    174751
  • 桥接器
    +关注

    关注

    0

    文章

    61

    浏览量

    45280
  • RJ45连接器
    +关注

    关注

    0

    文章

    30

    浏览量

    4264
收藏 人收藏

    评论

    相关推荐

    stm32f4软件模拟I2C读写EEPROM无器件响应是什么原因造成的?

    利用STM32F4软件模拟I2C读写EEPROM时,在检测I2C总线设备时,在等待应答阶段,CPU读取SDA线口状态值为1(GPIO_ReadInputDataBit(GPIOB,GP
    发表于 03-19 06:36

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

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

    twi和i2c总线有什么区别?

    twi和i2c总线有什么区别,他们谁是不是兼容谁
    发表于 11-08 07:45

    i2c总线上最多可以挂多少个器件

    i2c总线上最多可以挂多少个器件
    发表于 11-01 07:57

    AT32F423 I2C使用指南

    AT32 的 I2C 总线接口用于处理微控制和串行 I2C 总线之间的通信,支持主机和从机模式,支持唤醒深睡眠模式,最大通信速度为 1Mb
    发表于 10-26 06:33

    ROCKCHIP I2C开发指南

    vs-rk3399与vs-rk3288板卡 linuxi2c 简单文档描述分享前言 rockchip系列芯片为客户提供了标准i2c 总线,方便客户实现对不同外接设备的控制和访问。i2c
    发表于 10-09 08:00

    i2c总线最多可以接多少设备?

    请问i2c总线最多可以接多少设备
    发表于 09-26 06:38

    I2C总线的使用与编程

    I2C总线是飞利浦公司在20世纪80年代初由S定义的一种二线制总线系统。I2C总线是一种双向的,专为简单但高效的控制应用而设计。 它广泛应用
    发表于 09-04 07:23

    基于 FPGA 的模拟 I2C协议系统设计

    ; • 片的滤波可以滤去总线数据线上的毛刺波,保证数据完整; • 连接到相同总线的 IC 数量只受到总线的最大电容(400pF)限制。
    发表于 08-14 18:21

    stm32f4软件模拟I2C读写EEPROM无器件响应是什么原因造成的?

    利用STM32F4软件模拟I2C读写EEPROM时,在检测I2C总线设备时,在等待应答阶段,CPU读取SDA线口状态值为1(GPIO_ReadInputDataBit(GPIOB,GP
    发表于 08-07 06:32

    用带i2c接口的S32K144EVB板进行测试,发现i2c sck信号很弱是什么原因造成的?

    我用带 i2c 接口的 S32K144EVB 板进行测试,发现 i2c sck 信号很弱 还有我发送了3个数据,但是好像只发送了两个数据,而且数据不正确 我用的是演示代码,做了一些修改,你能帮忙看看
    发表于 06-06 07:49

    I2C连接ESP8266没有结果怎么结果?

    I2C OLED TFT 或一个 I2C 传感器用于测试。 然后我禁用 TFT 和传感并只尝试主从。 我在来自 Web 的测试 PCB
    发表于 06-02 12:11

    i2c总线上未检测到PCAL6416APW的原因?

    (地址 1) 目前在PCB: PCAL6416APW(ADDR 0) 此从机的 i2c 总线已被移除。(跳线)因此只有 2 个设备存在数字
    发表于 05-17 06:59

    Arduino IDE 的双I2C总线问题求解

    和 Wire.cpp 文件,它们都包含 end() 函数。所以 ????? 1.关于这个错误有什么建议吗?Wire.h 文件有一个说明,它是在 2020 年修改的,所以它是相当新的。 2. 替代想法?I2C 多路复用器可能不在卡片中。如果没有软件解决方案,我将使用小刀和
    发表于 05-09 07:00

    89c51单片机模拟i2c总线怎么实现一多从呢?

    i2c总线上,连接多个89C51,把一个89C51做为主控,其他的作为被控,能否实现一个单
    发表于 05-08 18:05