阻抗控制:单端阻抗计算、差分阻抗计算、阻抗影响因素、阻抗测试验证

阻抗控制,说白了就是让PCB上的传输线有一个稳定的特性阻抗值。我见过太多工程师,原理图画得漂漂亮亮,板子打回来信号却乱成一团——十有八九是阻抗没控好。

你想想看,高速信号在走线上跑,就像水在管道里流。管道粗细不均,水就会反射、激荡。阻抗不连续,信号就会反射、振铃、眼图闭合。嗯,这章咱们就把阻抗这件事彻底聊透。

核心观点:阻抗控制不是可选项,而是高速PCB设计的硬门槛。50Ω单端、100Ω差分是业界主流,但怎么算出来、怎么实现、怎么验证,每一步都有坑。

阻抗控制知识体系 阻抗控制 单端阻抗计算 差分阻抗计算 阻抗影响因素 测试验证 微带线 Zo 带状线 Zo 耦合微带线 Zdiff 耦合带状线 Zdiff 线宽 W 介质厚度 H 介电常数 εr 铜厚 T TDR 时域反射 VNA 频域测量

一、单端阻抗计算

单端阻抗,就是一根信号线对参考地平面的特性阻抗。最常见的两种结构:微带线和带状线。

微带线(Microstrip):走线在表层,下面是介质,再下面是参考平面。计算简单,但表层走线容易受干扰。

带状线(Stripline):走线夹在两层参考平面之间。屏蔽好,但加工成本高,过孔也麻烦。

我习惯用 Polar SI9000 或者 Saturn PCB Toolkit 来算。但工具归工具,你得知道公式背后的逻辑。

微带线近似公式(50Ω 场景):

Zo ≈ (87 / √(εr + 1.41)) × ln(5.98H / (0.8W + T))

其中:
  εr = 介质相对介电常数
  H  = 介质厚度(mil)
  W  = 线宽(mil)
  T  = 铜厚(mil)

举个例子。FR4 材料,εr ≈ 4.2,H = 4mil,T = 1.4mil(1oz 铜),想做到 50Ω:

Zo = (87 / √(4.2 + 1.41)) × ln(5.98 × 4 / (0.8W + 1.4))
   = (87 / 2.37) × ln(23.92 / (0.8W + 1.4))

试算 W = 7mil:
  Zo ≈ 36.7 × ln(23.92 / 7.0) ≈ 36.7 × 1.23 ≈ 45.1Ω

试算 W = 5.5mil:
  Zo ≈ 36.7 × ln(23.92 / 5.8) ≈ 36.7 × 1.42 ≈ 52.1Ω

嗯,算出来大概 5.5mil 线宽能到 50Ω 附近。但注意,这只是近似。实际还要考虑阻焊层、铜箔粗糙度、玻纤效应。

我的习惯:先用手算或工具粗算,然后跟板厂沟通他们的工艺参数。每家板厂的蚀刻因子、压合厚度都有差异,别自己闷头算。

二、差分阻抗计算

差分信号,两根线一起走,互为参考。差分阻抗 Zdiff 是两根线之间的阻抗,通常是 100Ω(USB、HDMI、PCIe)或 90Ω(DDR 某些情况)。

差分阻抗和单端阻抗的关系:

Zdiff ≈ 2 × Zo × (1 - 0.48 × e^(-0.96 × S/H))

其中:
  Zo = 单端阻抗
  S  = 线间距(mil)
  H  = 介质厚度(mil)

你看,线间距 S 越小,耦合越强,Zdiff 越低。反过来,S 越大,耦合越弱,Zdiff 越接近 2×Zo。

我记得有一次做 PCIe Gen4 的板子,要求 100Ω 差分。我按 50Ω 单端、线间距 8mil 去算,结果板厂反馈说他们的工艺做不了那么细的间距。后来调整了叠层,把介质厚度 H 从 4mil 改成 3.5mil,线宽从 5.5mil 改成 6mil,间距拉到 10mil,才把阻抗控制在 100Ω ± 5%。

差分阻抗计算工具推荐:

工具 特点 适用场景
Polar SI9000 业界标准,支持多种叠层结构 正式设计、与板厂对齐
Saturn PCB Toolkit 免费,界面直观 快速估算、学习验证
HyperLynx LineSim 集成仿真,可看眼图 高速信号预分析

避坑指南:我曾经在差分对里走过等长绕线,结果绕线区域间距突变,阻抗直接掉了 15Ω。差分对的绕线必须保持间距一致,否则阻抗不连续会带来共模噪声。

三、阻抗影响因素

阻抗不是你想控就能控的。影响阻抗的因素太多了,我列几个最关键的:

  • 线宽 W:线越宽,阻抗越低。这是最直接的调节手段。
  • 介质厚度 H:H 越大,阻抗越高。但 H 受叠层厚度限制。
  • 介电常数 εr:εr 越高,阻抗越低。FR4 的 εr 一般在 3.8~4.5 之间,频率越高 εr 会略微下降。
  • 铜厚 T:铜越厚,阻抗越低。1oz 铜约 1.4mil,2oz 铜约 2.8mil。
  • 阻焊层:阻焊层会降低阻抗 2~5Ω,高频时更明显。
  • 玻纤效应:FR4 的玻纤编织会导致局部 εr 波动,影响阻抗一致性。

你想想看,这么多变量,光靠手算怎么可能准?所以我一直强调:设计阶段必须跟板厂确认叠层参数。

我一般会给板厂一个阻抗控制表:

网络 目标阻抗 走线层 参考层 线宽(mil) 间距(mil)
CLK_P/N 100Ω 差分 L1 L2 5.5 8
USB_DP/DN 90Ω 差分 L3 L2/L4 6.0 7
DDR_DQ[0:7] 50Ω 单端 L4 L5 5.0 —

我的经验:给板厂的表里,线宽和间距留 ±0.5mil 的余量。板厂蚀刻有公差,别卡太死。另外,阻焊层的影响一定要跟板厂确认,有些板厂会在阻抗计算时自动补偿。

四、阻抗测试验证

设计做完了,板子打回来了,怎么知道阻抗到底对不对?

两种主流方法:TDR(时域反射计)和VNA(矢量网络分析仪)。

TDR:发射一个快沿脉冲,看反射回来的波形。阻抗不连续的地方,反射波形就会有起伏。TDR 能直观看到阻抗沿走线的变化,比如过孔处阻抗偏低、拐角处阻抗突变。

VNA:扫频测量 S 参数,看回波损耗 S11 和插入损耗 S21。VNA 更精确,但需要校准,操作也复杂一些。

我一般这样测:

  1. 板厂会随板提供阻抗测试条(coupon),上面有跟实际走线一样的测试线。
  2. 用 TDR 探头接触测试条,看阻抗曲线。
  3. 如果阻抗偏差超过 ±10%,就得跟板厂沟通调整。

嗯,这里要注意。测试条上的走线跟实际板子上的走线可能不完全一样。测试条周围没有其他走线,没有过孔,没有 BGA 焊盘。所以测试条合格不代表整板都合格。我见过测试条阻抗 50Ω 完美,但实际 DDR 走线因为旁边有密集过孔,阻抗掉了 8Ω。

避坑指南:我曾经有一块 12 层板,板厂给的测试条全部通过,但板子焊完上电后 DDR 跑不到标称频率。查了两天,最后发现是内层走线旁边有个电源平面挖空区域,导致局部阻抗突变。从那以后,我要求板厂在测试条里加入跟实际走线环境更接近的测试结构。

TDR 测试结果怎么看?

理想情况:阻抗曲线是一条平坦的直线,在目标值 ±5% 以内。
常见问题:
  - 曲线开头有尖峰 → 探头接触不良或焊盘寄生电容
  - 曲线中间有凹陷 → 过孔或拐角导致阻抗偏低
  - 曲线末端有上翘 → 走线末端开路,阻抗趋于无穷大

最后说一句。阻抗控制不是算出来就完事了。算、设计、生产、测试,每个环节都有坑。我的建议是:设计阶段多跟板厂沟通,测试阶段别只看测试条,整板关键走线也要抽测。这样踩坑的概率能降低一大半。