分割和仲裁双向串行总线

出处:维库电子市场网时间:2024-08-26
  双向总线(例如 I2C 、 SMBus 和 LIN)在当今的电子产品中无处不在,部分原因在于其简单性。仅使用两条线(数据和时钟),多个设备就可以相互通信。根据 I2C 总线规范,多 128 个设备可以共享相同的数据和时钟线;这可以通过在每个设备上使用外部上拉电阻和开漏驱动器来实现。如果没有设备传输 0,则上拉电阻会自然将总线拉至 1。但是,总线上的任何设备都可以将其拉至 0。
  总线主控器可以随时驱动总线,从控器 在收到查询后,会在一定时间内响应总线主控器的查询。在多主控器情况下,充当总线主控器的各个设备需要执行自己的总线仲裁。希望控制总线的总线主控器需要通过将其拉至 0 来测试总线;这会通知其他主控器总线正在被使用。

  I 2 C 总线规范[1] 包含一个参考电路,允许将其拆分为输入和输出对。出于多种原因,需要这种配置。首先,在出现安全、噪声和接地问题时,可以使用拆分总线对总线主设备和从设备进行光学隔离(图 1)。此外,可以通过放大拆分总线(图 2)或用执行介质转换的电路替换放大器来实现性能提升。这可以增加总线的操作距离,并通过降低电容来提高性能。随着电容下降,信号时间常数 t 将由上拉电阻决定。

  图1  双向总线隔离

  图2  双向总线中继器
  对于设计双向总线控制器的用户,总线分割技术可用于调试。双向协议的典型调试很困难,因为行为不当的控制器可能会将总线拉至 0,而另一个控制器则正在控制总线。这种情况使得在不了解每个设备控制器的内部状态的情况下无法识别总线上的传输设备。但是,通过监控图 2 中的 /gateB1 和 /gateA2 线路,仅 使用标准实验室设备和调试技术即可识别传输设备和总线的任何同时断言。

  ,总线分割技术可用于将支持I2C的设备连接到另一个没有 I2C 控制器的设备。在这种情况下,分割总线可以连接到另一个设备的 GPIO(图 3)。

  图 3  连接至 GPIO 的分离总线
  有几种已发布的电路可以实现双向总线的分离。遗憾的是,分离总线应用的参考电路要么需要专门为特定应用设计的电路(如 已发布文章中所示),要么需要外部控制逻辑(如 I 2 C 标准中所示),该逻辑使用传输门允许发送方和接收方进行通信,而不会产生导致闩锁的反馈路径。闩锁情况在图 2中很明显,其中 IOA 将总线拉至 0 会迫使 IOB 通过 /gateB1 拉至 0,然后迫使 IOA 通过 /gateA2 无限期地拉至 0。

  本设计方案中介绍的双边仲裁器可以将双向总线拆分为发送和接收对,并且采用通用方式构建,使其可以用于任何拆分总线应用。此外,它不需要外部控制逻辑 - 总线仅由数据总线的状态控制:

  图4  双边仲裁器使能电路
  双边仲裁

  图 5所示的仲裁器由图 4中的交叉耦合使能电路组成,它之所以能工作是因为双向总线按照定义只支持半双工通信。在稳定状态下,DATA 总线被上拉电阻 R1 和 R2 拉高,从而强制 OUT1 和 OUT2 为 0。这使两个 NMOS FET 都处于截止状态。当 IC1 将 DATA 拉低时,OUT1 变为 1,这使得 Q2 拉低 IC2 的 DATA 总线。同时,OUT1 被馈送到 NOR 门 U2 的输入端,从而断开从 OUT2 回到 Q1 的反馈回路。反馈回路的断开消除了闩锁情况,使得任何其他控制逻辑都变得没有必要,因为个断言其数据线的电路将赢得竞争并通过 NOR 门阻止另一个电路。

  图5  双向总线的双边仲裁

  图6  双边仲裁实现总线放大

  由于电路的通用性,双向仲裁可应用于任何分离总线应用。图 6 显示了应用于放大的双向仲裁。通过将放大器组件分别替换为媒体转换电路或光隔离器,可以轻松将其扩展到媒体转换和总线隔离。为了进行总线控制器调试,可以监控放大器之间的线路,以帮助识别故障的总线控制器。图 7 显示了应用于 I 2 C 至 GPIO 连接的双向仲裁。

  图 7  I2C至 GPIO连接
  结论
  将双向总线拆分为发送/接收对的原因有多种。从提高性能到启用调试再到隔离,拆分总线是一项许多设计人员会发现有用的技术。
  双边仲裁是一种总线仲裁技术,可实现大多数总线分割应用。它依赖于双向总线通信的行为,从而消除了对外部控制电路的需求,并且足够通用,可用于许多应用而不会增加不必要的复杂性。
上一篇:60V 低静态电流降压转换器具有可调栅极驱动
下一篇:瞬时开关控制电源,具有锁定和远程关机功能

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关电路图