I2C上拉电阻计算器
Rp 取值区间(下限×灌电流 / 上限×上升时间)、E24 推荐值吸附与标准/快速/FM+ 三档速览
在线 I2C 上拉电阻计算器:按 TI SLVA689 与 NXP UM10204 口径计算 Rp(min) = (VDD − VOL)/IOL 与 Rp(max) = tr/(0.8473×Cb),输出取值区间、区间有效性判定与 E24 推荐值,并回验推荐值下的实际上升时间; 支持标准模式(100kbps)/快速模式(400kbps)/快速模式+(1Mbps)三档切换与当前 VDD 三档速览表, 附总线电容估算助手(器件数×10pF + 走线×30pF/m)。全部计算在浏览器本地完成,不上传任何数据。
公式口径:Rp(min) = (VDD−VOL)/IOL 与 Rp(max) = tr/(0.8473×Cb) 参照 TI SLVA689,IOL 与各档 tr(max)、 总线电容上限参照 NXP UM10204(标准/快速模式 IOL=3mA,FM+ IOL=20mA)。 0.8473 = ln(7/3),为上升时间按 VDD 的 30%→70% 定义的 RC 系数; 单位推导:tr 用 ns、Cb 用 pF 时 Rp(max) = tr/(0.8473×Cb) 直接得出 kΩ(ns/pF = 10⁻⁹/10⁻¹² = 10³ → Ω×10³ = kΩ)。
输入与区间计算
当前档:tr(max) = 300 ns,IOL = 3 mA,总线电容上限 400 pF
规范默认 0.4V(灌电流下的 VOL(max)),可改
规范上限 400 pF(FM+ 为 550pF,其余 400pF)
总线电容估算助手:器件数 × 10pF(每个 I2C 器件输入/引脚电容典型值)+ 走线长度 × 30pF/m(经验口径,范围 20~50pF/m)
估算:5 × 10 + 0.5 × 30 = 65 pF (示例:5 器件 0.5m → 50 + 15 = 65pF)
Rp 下限(灌电流约束)
966.7 Ω
(3.3 − 0.4) V ÷ 3 mA
Rp 上限(上升时间约束)
3.54 kΩ
300 ns ÷ (0.8473 × 100 pF)
E24 推荐值(取区间几何中点最近档)
1.80 kΩ
常见相邻取值 2.2k / 3.3k / 4.7k 均可对照区间核验
回验:推荐值下实际上升时间
152.5 ns
tr(max) 300 ns 的 51%,满足规范
区间内任一 E24 档位都满足规范;推荐值取几何中点附近的档位,为灌电流裕度与上升速度之间的折中。
当前 VDD 三档速率速览
VDD = 3.3 V,VOL = 0.4 V,Cb = 100 pF(与上方输入联动,同一组函数生成)
| 档位 | Rp(min) | Rp(max) | E24 推荐 | 判定 |
|---|---|---|---|---|
| 标准模式 SM(100 kbps) | 966.7 Ω | 11.80 kΩ | 3.30 kΩ | 有解 |
| 快速模式 FM(400 kbps) | 966.7 Ω | 3.54 kΩ | 1.80 kΩ | 有解 |
| 快速模式+ FM+(1 Mbps) | 145.0 Ω | 1.42 kΩ | 470.0 Ω | 有解 |
同一总线电容下,档位越高 tr(max) 越紧、Rp 上限越低;FM+ 因灌电流规格提高到 20mA,下限也随之大幅下降。
规范参数速览
| 档位 | tr(max) | IOL | Cb 上限 |
|---|---|---|---|
| SM 100k | 1000 ns | 3 mA | 400 pF |
| FM 400k | 300 ns | 3 mA | 400 pF |
| FM+ 1M | 120 ns | 20 mA | 550 pF |
IOL 为 VOL = 0.4V 下规范允许的最大灌电流:标准/快速模式 3mA、FM+ 20mA(NXP UM10204 口径,TI SLVA689 同)。 0.8473 = ln(7/3),对应上升时间按 VDD 的 30%→70% 定义的 RC 充电系数。
多器件 / 长走线实践
- 总电容超标:用总线缓冲器(如 P82B715、TCA9617B)把系统分段,每段电容独立核算。
- 无解时降档:先把速率降到快速模式或标准模式重算,多数无解都来自 FM+ 长总线。
- 走线规则:SDA/SCL 尽量短、等长并行、避免分支残桩;长线可用双绞并靠近地线。
- 多点上拉:总线上多处上拉按并联计算(等效电阻变小),不要叠加导致低于 Rp(min)。
- 电平转换:两侧 VDD 不同时,各自按本侧 VDD 与器件 VOL 核算下限,不能用单一电阻公式套全链路。
静态参考表:VDD 3.3V / 5.0V × 三档速率(Cb = 100pF,VOL = 0.4V)
| VDD | 档位 | Rp(min) | Rp(max) | E24 推荐 |
|---|---|---|---|---|
| 3.3 V | SM 100k | 966.7 Ω | 11.80 kΩ | 3.30 kΩ |
| 3.3 V | FM 400k | 966.7 Ω | 3.54 kΩ | 1.80 kΩ |
| 3.3 V | FM+ 1M | 145.0 Ω | 1.42 kΩ | 470.0 Ω |
| 5 V | SM 100k | 1.53 kΩ | 11.80 kΩ | 4.30 kΩ |
| 5 V | FM 400k | 1.53 kΩ | 3.54 kΩ | 2.40 kΩ |
| 5 V | FM+ 1M | 230.0 Ω | 1.42 kΩ | 560.0 Ω |
本表按固定 Cb = 100pF 预生成;实际总线电容不同时请以上方计算器为准。示例:3.3V 快速模式下推荐 1.8kΩ (区间 966.7Ω ~ 3.54kΩ),常被简记为「3.3V/400kHz 取 2.2k 左右」——那是几何中点 1.85kΩ 与工程偏好的折中说法。
免责声明:本页按 TI SLVA689 与 NXP UM10204 公式口径静态计算,未计入器件 VOL 差异、多处上拉并联叠加与重复起始信号时序余量等动态条件; 实际选型请结合主控/从机手册的灌电流能力与示波器实测上升时间确认。
#为什么 I2C 必须上拉
I2C 的 SDA 与 SCL 都是开漏(开集)输出:器件内部只有下拉管、没有上拉管, 只能"灌电流"把总线拉到低电平,而高电平必须靠上拉电阻把总线从 VDD 拉起来。没有上拉,总线释放后悬浮、电平不定, 通信完全无法建立。上拉电阻因此承担两个互相制约的角色:阻值太小,器件拉低时要灌入的电流过大; 阻值太大,总线电容充电太慢、上升沿爬不上去。
上下限的物理含义
下限由灌电流决定:Rp(min) = (VDD − VOL)/IOL。电阻太小,器件灌电流超过 3mA(标准/快速)或 20mA(FM+),输出管脱离饱和、VOL 抬升甚至超规范,长期还可能损坏输出级。 上限由 RC 上升时间决定:Rp(max) = tr/(0.8473×Cb)。释放总线后 VDD 经电阻给总线电容充电, 时间常数 Rp×Cb;规范要求上升沿从 30% 爬到 70% 的时间不超过 tr(max),0.8473 = ln(7/3) 正是这一区间的对数系数。 两个约束夹出的区间就是可选范围:区间无解说明这一速率与总线电容组合需要降速或减容。
为什么快速模式要更小的上拉
速率越高位宽越短,规范允许的最大上升时间从标准模式 1000ns 收紧到快速模式 300ns、FM+ 120ns。 同样的总线电容下 Rp(max) 与 tr(max) 成正比,档位越高上限越低,必须换更小的上拉电阻才能"赶得上"位时序—— 这就是 400kHz/1MHz 总线常用 1k~2.2k、而 100kHz 老总线用 4.7k~10k 的原因。 FM+ 同时把灌电流规格提高到 20mA,把下限也压低,给小电阻留出空间。
总线电容是怎么来的
Cb 是挂在总线上的所有电容之和:每个 I2C 器件的输入/引脚电容(典型 5~10pF,常用 10pF/个估算)、 PCB 走线对地电容(经验 20~50pF/m,30pF/m 是常用中值,短走线四层板可按 20~30、长线或外接排线按 40~50)、 以及连接器、TVS/ESR 保护管与过孔的附加电容。估算助手按"器件数×10pF + 走线长度×30pF/m"给出初值, 精确值应结合 PCB 叠层与实际布局用工具(如 TDR 仿真或 LCR 表实测)确认。
多器件 / 长走线的工程实践
- 电容分段:用 I2C 总线缓冲器(P82B715、TCA9617B、PCA9617 等)把长总线拆成几段,每段电容独立满足规范。
- 降速兜底:无解组合先降速率档(FM+→FM→SM),tr(max) 放宽后上限抬高,多数场景立刻有解。
- 布线规则:SDA/SCL 短而等长、避免分支残桩,长线双绞并伴地线;过孔与连接器都计入电容。
- 上拉位置:通常在主控端就近上拉一次;多点上拉等效电阻并联变小,需重新核对不低于 Rp(min)。
- 电平转换:1.8V/3.3V 混压时用专用电平转换方案,两侧分别按各自 VDD 与器件 VOL 核算下限。
#常见问题 (FAQ)
I2C 上拉一般用多大?
经验口径:3.3V 系统在 100k~400kHz、总线电容不大(≤100pF)时常用 2.2k~4.7k;5V 系统 4.7k~10k 常见; 1.8V 系统因下限抬高常用 1k~2.2k。精确取值请按本工具区间计算——先算上下限,再取区间内 E24 档位。
4.7k 在 400kHz 行不行?
看总线电容。快速模式要求 tr ≤ 300ns:tr = 0.8473 × 4.7kΩ × Cb,可算出 Cb ≤ 约 75pF 才达标; Cb = 100pF 时 tr ≈ 398ns 已超规范。所以 4.7k 只适合器件少、走线短的 400kHz 总线, 电容偏大时应降到 2.2k~3.3k 并核对不低于 Rp(min)(3.3V 下约 966.7Ω)。
总线电容超了会怎样?
上升沿随电容增大而变缓,接收端可能在位采样点读到未建立的高电平,表现为 NACK、随机误码或整段读数错乱; 电容超过规范上限后,即使减小上拉电阻也会先撞到 Rp 下限约束(灌电流超标)而"无解"。 处理办法:缩短走线、减少挂载器件、加总线缓冲器分段,或直接降低速率档。
FM+ 为什么用 20mA 口径?
1Mbps 的上升时间窗只有 120ns,需要很小的上拉电阻,若仍按 3mA 灌电流口径,下限会高到与上限打架。 NXP UM10204 因此规定 FM+ 下 VOL = 0.4V 时灌电流能力提升到 20mA,Rp(min) 降到原来的 1/6.7 左右, 给小电阻留出合规空间——前提是总线上所有器件的输出级都支持该电流规格。
相关工具推荐
单位换算器
支持长度、重量、温度、面积、体积等多种单位类型的相互转换
科学计算器
高级数学运算,支持三角函数、对数、指数运算等科学计算,包含内存管理和历史记录
统计学计算器
数据分析工具,支持描述统计、回归分析、概率分布、假设检验等统计计算
方程求解器
一次方程、二次方程、方程组求解,支持图像绘制、牛顿迭代法和数值方法
财务比率计算器
盈利能力、偿债能力、运营能力比率分析,支持图表展示、行业对比和财务健康评分
折扣计算器
计算折扣后价格、节省金额和折扣率,支持折扣率和折数输入