本文主要是介绍I2C总线上拉电阻计算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
I2C 总线上拉电阻计算
I2C接口的上拉电阻计算是一个常见问题。本文介绍如何使用简单的方程式进行计算。
1 介绍
I2C通信标准是当今电子系统中应用最广泛的芯片间通信标准。它是一种漏极开路/集电极开路通信标准,这意味着可以连接具有不同电源轨的集成电路 (IC) 进行通信。上拉电阻需要从I2C线路连接到电源,以实现通信,如图1所示。上拉电阻器在漏极开路接口未将线路驱动至低电平时将线路拉高。上拉电阻的值是 I2C 系统的重要设计考虑因素,因为不正确的值会导致信号丢失。在本文中,我们将介绍上拉电阻计算的简单方程,系统设计人员可以使用这些方程对他们的设计进行快速计算。
2 上拉电阻计算
强上拉(小电阻)可防止 IC 上的 I2C 引脚驱动至低电平。IC的输入缓冲器可读取为有效逻辑低电平的VOL电平决定了最小上拉电阻[RP(min)]。RP(min) 是 VCC、VOL (max) 和 IOL 的函数:
由于 I2C 标准上升时间规格,最大上拉电阻受总线电容 (Cb) 的限制。如果上拉电阻值过高,则 I2C 线在被拉低之前可能不会上升到逻辑高电平。从时间 t = 0 开始,RC 电路对幅度为 VCC 的电压阶跃的响应由时间常数 RC 表征。电压波形可以写成:
对于 VIH = 0.7 × VCC:
对于 VIL = 0.3 × VCC:
I2C 总线的上升时间可以写成:
最大上拉电阻是最大上升时间 (tr) 的函数:
其中 I2C 规范的参数列在表 1 中。
表 1.来自 I2C 规范的参数
参数 | 标准模式(Max) | 快速模式(Max) | 快速模式增强(Max) | 单位 | |
---|---|---|---|---|---|
tr | SDA 和 SCL 信号的上升时间 | 1000 | 300 | 120 | ns |
cb | 每条总线的容性负载 | 400 | 400 | 550 | pF |
Vol | 低电平输出电压(3 mA电流吸收时,VCC > 2 V) | 0.4 | 0.4 | 0.4 | V |
低电平输出电压(2 mA电流吸收时,VCC ≤ 2 V) | – | 0.2 × VCC | 0.2 × VCC | V |
RP (min) 在图 2 中绘制为 VCC 的函数。在图3中,标准模式和快速模式I2C的RP (max)绘制为Cb的函数。
3 速度与功耗的权衡
一旦选择了上拉电阻的最小值和最大值,就可以根据速度和功率预算之间的权衡来决定电阻值。由于RC延迟较小,较小的电阻器将提供更高的速度,而较大的电阻器将提供更低的功耗。
4 示例
对于具有以下参数的快速模式 I2C 通信,计算上拉电阻值。
Cb = 200 pF,VCC = 3.3 V
解:
取表 1 中的值:
I2C 通信上拉电阻计算:
因此,我们可以在966.667 Ω和1.77 kΩ之间选择任何可用的电阻值。上拉电阻的值可以根据功耗和速度的权衡来选择。
这篇关于I2C总线上拉电阻计算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!