双向总线简介及为什么要拆分双向总线

描述

双向总线(例如,I 2 C,SMBus和LIN)在今天已经无处不在电子产品部分原因在于其简洁性。仅使用两条线 - 数据和时钟 - 多个设备可以相互通信。根据I 2 C总线规范,多达128个设备可以共享相同的数据和时钟线;这可以通过在每个器件上使用外部上拉电阻和开漏驱动器来实现。如果没有设备发送0,则总线通过上拉电阻自然地拉至1。但是,总线上的任何器件都可以将其拉至0.

允许总线主控器随时驱动总线,并且从器件在一定时间内响应总线主控器的查询。在多主方案中,作为总线主控的各个设备需要执行自己的总线仲裁。希望对总线进行控制的总线主控器需要将其拉至0进行测试;这通知其他主设备正在使用总线。

为什么要拆分双向总线?

I 2 C总线规范[1]包含一个参考电路,允许它分成输入和输出对。出于若干原因需要此配置。首先,在安全,噪声和接地问题的情况下,分离总线可用于光学隔离总线主机和从机(图1)。此外,通过放大分离总线(图2)或用执行介质转换的电路替换放大器,可以实现性能提升。这可以增加总线的工作距离并通过减小电容来提高性能。随着电容下降,信号时间常数t由上拉电阻控制。

PCB打样

图1双向总线隔离

PCB打样

图2双向总线中继器

对于那些设计双向总线控制器的人,可以使用总线分流技术进行调试。双向协议的典型调试变得困难,因为行为不当的控制器可以将总线拉到0而另一个控制器断言对总线的控制。这种情况使得在不知道每个设备的控制器的内部状态的情况下识别总线上的发送设备是不可能的。但是,通过图2监控/gateB1和/gateA2线路,可以仅使用标准实验室设备和调试技术识别发送设备和总线的任何同时断言。

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

PCB打样

图3与GPIO接口的分离总线

有几个已发布的电路能够拆分双向总线。不幸的是,用于分离总线应用的参考电路要么需要为特定应用专门设计的电路(如发表的文章中所见),或者需要外部控制逻辑(如I 2中所见) C标准)使用传输门允许发送器和接收器进行通信,而不会产生导致闭锁的反馈路径。闭锁条件在图2中很明显,其中IOA将总线拉至0迫使IOB通过/gateB1拉至0,然后迫使IOA通过/gateA2无限期地拉到0。

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

PCB打样

图4双边仲裁者启用电路

双边仲裁

图5 中所示的仲裁器,包括来自图4的交叉耦合使能电路,因为根据定义,双向总线仅支持半双工通信。在稳定状态下,DATA总线通过上拉电阻R1和R2拉高,强制OUT1和OUT2为0.这使两个NMOS FET保持在截止状态。当IC1将DATA拉低时,OUT1变为1,这使得Q2下拉IC2的DATA总线。同时,OUT1被馈送到NOR门U2的输入端,将反馈回路从OUT2断开回Q1。这种反馈环路的中断消除了闭锁条件,使得任何其他控制逻辑都不必要,因为断言其数据线的第一个电路赢得竞争并通过NOR门阻断另一个电路。

PCB打样

图5双向总线的双边仲裁

PCB打样

图6双边仲裁启用总线放大

由于电路的通用性,双边仲裁可以应用于任何分离总线应用。图6显示应用于扩增的双边仲裁。通过分别用介质转换电路或光隔离器替换放大器组件,可以很容易地将其扩展到介质转换和总线隔离。对于总线控制器调试目的,可以监视放大器之间的线路,以帮助识别故障总线控制器。图7显示双边仲裁适用于I 2 C-to-GPIO连接。

PCB打样

图7I 2 C到GPIO的连接

结论

将双向总线分成发送/接收对有几个原因。从提高性能到启用调试再到隔离,总线分离是许多设计人员随时都会发现有用的技术。

双边仲裁是一种总线仲裁技术,可实现大多数总线分裂应用。它依赖于双向总线通信的行为来消除对外部控制电路的需求,并且通用性足以用于许多应用而不会增加不必要的复杂性。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分