I2C上拉电阻计算器

根据总线电容和速度模式计算最佳I2C上拉电阻值。支持标准、快速和快速模式增强。

I2C上拉电阻器总线通信嵌入式

计算器

pF

Total SDA/SCL line capacitance

V
       Vcc           Vcc
        │             │
       ┌┴┐           ┌┴┐
       │ │ Rp        │ │ Rp
       └┬┘           └┬┘
        │             │
   SDA ─┼─────────────┼─ SCL
        │             │
     ┌──┴──┐       ┌──┴──┐
     │     │       │     │
     │ IC1 │       │ IC2 │
     │     │       │     │
     └─────┘       └─────┘

如何使用此计算器

此I2C上拉电阻计算器帮助您根据总线电容、电源电压和速度模式要求,找到I2C总线的最佳上拉电阻值。

  1. 估算总线电容 — 所有设备输入电容加上走线/导线电容的总和
  2. 输入电源电压 — 通常为3.3V或5V
  3. 选择速度模式 — 标准(100kHz)、快速(400kHz)或快速模式+(1MHz)
  4. 点击计算 — 获取有效的电阻范围和推荐值

I2C上拉公式

Rmax = tr / (0.8473 × Cbus)
Rmin = (Vcc - Vol) / Iol
其中 tr = 最大上升时间,Cbus = 总电容

理解约束条件

  • 最大电阻: 受上升时间要求限制。较高的电容需要较低的电阻以满足时序规格
  • 最小电阻: 受输出灌电流(Iol)限制。不得超过设备将线路拉低的能力
  • 0.8473系数: 从RC上升时间到达0.7×Vcc(逻辑高电平阈值)推导而来

I2C速度模式

模式最大频率最大上升时间最大电容灌电流
标准模式100 kHz1000 ns400 pF3 mA
快速模式400 kHz300 ns400 pF3 mA
快速模式+1 MHz120 ns550 pF20 mA
高速模式3.4 MHz400 pF特殊

注意: 高速模式需要有源上拉(电流源)而非电阻上拉。

估算总线电容

电容来源

  • 设备输入电容: 每个设备3-10 pF(查看数据手册)
  • PCB走线: 典型走线宽度约1-2 pF/cm
  • 连接器: 每个连接器2-5 pF
  • 导线/电缆: 根据电缆类型30-100 pF/米

计算示例

10cm PCB上的3个设备:

  • 3个设备 × 10 pF = 30 pF
  • 10 cm走线 × 1.5 pF/cm = 15 pF
  • 总计: 约45 pF(增加20%余量 = 54 pF)

常见问题

我可以为SDA和SCL使用不同的上拉值吗?

通常两条线使用相同的值。但是,如果一条线的电容明显不同(例如走线更长),您可以分别优化每条线。

如果计算出的范围非常小或无效怎么办?

这通常意味着您的总线电容对于该速度模式来说太高了。解决方案: 减少设备数量、缩短走线、使用总线缓冲器/扩展器,或切换到较慢的模式。

我应该使用微控制器的内部上拉吗?

内部上拉(通常20-50kΩ)对于正确的I2C操作通常太弱,特别是在快速模式速度或有显著总线电容时。 为了可靠的通信,请始终使用外部上拉。

我应该把上拉电阻放在哪里?

将上拉放在总线的主设备端,或尽可能靠近主设备。每条总线只使用一对上拉,而不是每个设备一对。

验证您的元件选择

计算元件值后,使用Schemalyzer验证您的原理图设计。我们的AI驱动分析可检测常见错误并提出改进建议。

免费试用原理图审查