2. 总线电容来源:PCB走线、IC引脚、过孔与连接器的寄生电容分析

做I2C设计,最容易被忽略的就是总线电容。我见过不少工程师,原理图画得漂漂亮亮,一上示波器,波形惨不忍睹。说白了,就是没算清楚电容从哪来。

I2C总线上的电容,不是某个单一器件贡献的。它是PCB走线、IC引脚、过孔、连接器……所有寄生电容的总和。你想想看,一条总线上挂十几个设备,每个设备贡献一点,加起来就超标了。

核心公式:Cbus = Ctrace + Cpin + Cvia + Cconnector

标准模式下,总线电容上限是400pF。快速模式是200pF。高速模式只有100pF。

2.1 PCB走线寄生电容

PCB走线是总线电容的大头。我习惯用微带线模型来估算,就是走线在顶层,下面是参考平面。

估算公式很简单:

C_trace ≈ 0.085 × ε_r × (W / H) × L

其中:

  • ε_r — 板材介电常数(FR4大约4.2-4.5)
  • W — 走线宽度(mm)
  • H — 走线到参考平面的距离(mm)
  • L — 走线长度(mm)

举个例子。4层板,走线宽0.25mm,到内层地平面距离0.2mm,长度100mm。算下来:

C_trace ≈ 0.085 × 4.3 × (0.25 / 0.2) × 100 ≈ 45.7 pF

嗯,100mm走线就贡献了将近46pF。如果总线长度到300mm,光走线就140pF了。

我的经验:I2C走线尽量控制在200mm以内。超过这个长度,波形上升沿就开始变缓了。我曾经在一个项目里,走线拉了400mm,400kHz下SCL都快变成三角波了。

2.2 IC引脚寄生电容

每个I2C设备的数据手册里,都会标一个引脚电容。通常是:

器件类型 典型引脚电容 备注
普通I2C传感器 3-5 pF 如温度、湿度传感器
I2C EEPROM 5-8 pF 24C系列常见
MCU I2C引脚 5-10 pF 不同厂商差异较大
I2C多路复用器 8-12 pF 如PCA9548

总线上挂10个设备,每个5pF,光引脚电容就50pF了。再加上走线、过孔……很容易就突破200pF。

注意:有些国产器件的数据手册不写引脚电容。我建议你按10pF估算,或者直接拿示波器测一下实际波形。别信"兼容"两个字,我吃过亏。

2.3 过孔寄生电容

过孔也有电容。虽然单个过孔不大,但数量多了就不可忽视。

估算公式:

C_via ≈ 1.41 × ε_r × D1 × D2 / (D2 - D1)

其中:

  • D1 — 过孔内径(mm)
  • D2 — 过孔外径(mm)
  • ε_r — 板材介电常数

典型值:内径0.3mm,外径0.6mm,FR4板材。算下来一个过孔大约0.5-0.8pF。

你可能觉得不大。但一条I2C走线换层3次,就是3个过孔。如果总线上有5个设备,每个设备都换层……15个过孔,10pF就没了。

我的习惯:I2C走线尽量不走过孔。实在要换层,就在过孔旁边加一个地过孔,形成回流路径。这个细节能减少10-15%的寄生电容。

2.4 连接器寄生电容

连接器是很多人容易漏算的。板对板连接器、排针、FPC座……都有寄生电容。

连接器类型 典型寄生电容 适用场景
2.54mm排针 1-2 pF/对 开发板、调试接口
FPC/FFC连接器 2-3 pF/对 显示屏、摄像头模块
板对板连接器 1-3 pF/对 模块化设计
USB Type-C(I2C引脚) 3-5 pF USB PD通信

连接器的电容跟引脚间距、绝缘材料、屏蔽结构都有关系。我一般按2pF估算,然后留20%余量。

避坑指南:我曾经在一个项目里,用FPC线连接两个板子,线长150mm。结果I2C怎么都调不通。一测,FPC线本身就有30pF的寄生电容,加上连接器,总线电容直接超了200pF。后来换成屏蔽FPC,电容降了一半。

2.5 总电容估算实战

我们拿一个实际案例来算算。假设总线上有:

  • 1个MCU(引脚电容8pF)
  • 4个传感器(每个5pF)
  • 1个EEPROM(6pF)
  • PCB走线总长150mm(约68pF)
  • 6个过孔(约4pF)
  • 1个排针连接器(2pF)

总电容:

C_bus = 8 + 4×5 + 6 + 68 + 4 + 2 = 108 pF

108pF,在快速模式(200pF上限)以内,但离高速模式(100pF)就差一点。如果我要跑400kHz以上,就得优化走线长度或者减少设备数量。

关键结论:总线电容不是算一次就完事的。布局布线后要重新估算,打样回来要实测。我见过太多"理论没问题,实际跑不起来"的案例了。

I2C总线电容来源与占比分析 I2C总线总电容 PCB走线寄生电容 占比约40-60% IC引脚寄生电容 占比约20-35% 过孔寄生电容 占比约5-15% 连接器寄生电容 占比约5-10% 设计建议 • 走线长度控制在200mm以内,减少走线电容 • 优先选用低引脚电容的I2C器件(≤5pF) • 减少过孔数量,必须换层时加地过孔

2.6 实测验证

理论算完了,还得实测。我常用的方法:

  1. 断开所有上拉电阻,让总线浮空
  2. 用LCR表测SCL和SDA对地电容,频率设1MHz
  3. 记录实测值,跟理论估算对比
  4. 如果实测值比估算大20%以上,检查布局布线有没有遗漏

小技巧:没有LCR表怎么办?用示波器看上升沿。上升时间t_r和电容C的关系是:t_r ≈ 0.847 × R_p × C_bus。知道上拉电阻R_p,反推C_bus。虽然精度不如LCR表,但够用了。