使用 7 位寻址方案,理论上可以将 128 个设备连接到 I 2 C 总线。其中一些地址是保留的,只剩下 112 个可用。使用新的 10 位寻址方案,可以连接更多的设备。但是,添加到总线的每个设备都会增加总总线电容,当所有 PCB 电容和设备电容加起来时,总电容可能会高得惊人。为了符合标准,一旦达到 400 pF 的值,总线上就不能放置更多的设备。解决这个问题的一种方法是在您的设计中添加一个 I 2 C 缓冲器。下图摘自 德州仪器 (TI) 发布的应用说明(PDF),显示了具有相关总线电容的典型 I 2 C 总线。
在标准或快速模式下运行时,I 2 C 总线的总线电容为 400 pF。在 Fast Mode Plus 中,这增加到 500 pF。一旦达到该限制,任何更多的电容都会使您超出标准和设备规格。如果在工程师意识到需要添加更多设备之前就选择并指定了设备和上拉电阻,这个问题可能会特别麻烦。
I 2 C 缓冲器将 I 2 C 总线分成两条独立的总线,同时仍允许设备通过它进行通信。这有效地减少了缓冲器放置的总总线电容,因为单独的总线具有单独的总线电容。这意味着对于相同的上拉电阻,我们得到的 RC 时间常数更低,因此上升时间更短。这种减少上升时间的能力是使用缓冲器的主要原因之一。
I 2 C 通信的双向特性意味着 I 2 C 缓冲器必须采用特殊技术来避免“锁定”总线。正如您在下图中看到的那样,如果主机将线路拉低,则从机端也会被拉低。但是,从端的逻辑低电平也会将主端拉低。因此,当主机试图释放总线时,从机端仍处于低电平。
此问题的一种解决方案是使用静态电压偏移 (SVO)。本质上,低压齐纳二极管用于在缓冲器的一侧产生额外的阈值电压,这样缓冲器 SVO 侧的逻辑低电平可以是“低于 SVO”逻辑低电平或“高于 SVO”逻辑低电平,具体取决于逻辑低电平是由主端还是从端驱动的。因此,缓冲器内的控制器可以确定逻辑低电平的来源并使用此信息来防止锁定。
总线上可以使用多个缓冲器作为管理电容的一种方式。您不能假设 SVO 电压电平将相同,即使使用完全相同的部件也是如此,因此必须配置多个缓冲器以确保两个 SVO 电压不会连接在一起。还必须对照从设备的输入电压检查 SVO,以确保它远低于 30% 的阈值。许多设备使用 0.5 V 的 SVO,但该值的范围至少可以从 0.1 V 到 0.6 V。
Texas Instruments 的 PC9515A 被描述为双双向 I 2 C 缓冲器。它可用于同时运行 5 V 总线和 3.3 V 总线,因此它也可用作逻辑电平转换器。这是数据表中的一个应用示例:
Linear Tech/Analog Devices 的 LTC4311 是一种不同类型的 I 2 C 缓冲器。实际上,该部件不是缓冲器,而是“加速器”。它与总线上的其他设备并联连接,其内部电路通过检测正信号转换来补偿大量总线电容,然后注入额外电流,使转换更快发生。下图显示了如何使用 LTC4311。
在工业自动化领域,电子系统通常控制着不允许出现故障的高度敏感过程。关键任务应用程序无论如何都需要硬件和软件才能正常工作。这导致了对冗余系统和控制器的巨大投资。
I 2 C 缓冲器的另一个应用是创建冗余总线。两个缓冲区都运行回同一个主控器,可用于在一条总线锁定或受到损害时提供故障保护。具有冗余设备的冗余 I 2 C 总线可用于降低总线或设备故障的风险。以下是此类系统的示例。
本质上,主机可以使用 EN 引脚来控制当前正在通信的总线,并在发生故障时切换到非活动总线。可以定期检查辅助总线,以确保在主总线发生故障时它仍然准备好接管。像这样的设置增加了设计的稳健性,并且在可靠性是首要考虑因素时可以带来巨大的好处。
这种冗余总线配置创建了两个独立的从属设备组。因此,当一个主机需要与以不同模式运行的从机通信时(例如,一些从机使用快速模式而其他从机处于标准模式),它也很有用。
本文介绍了I 2 C缓冲器及其应用。它可用于减少总线电容、控制上升时间、向总线添加额外设备、在不同电压下运行的接口设备,甚至实现冗余总线。了解缓冲器如何工作以及何时使用它为设计工程师的工具箱提供了另一种工具。
伟大的设计是经验、创造力和对基本原理的掌握的结合。我希望您现在对 I 2 C 的理解有所好转,随之而来的设计挑战也不再那么令人生畏。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。