2. 传输线理论
做高速PCB设计,你躲不开传输线。说白了,信号跑在PCB上,不再是简单的导线联通就行。频率一高,波长变短,连根短线都成了天线。我个人习惯,看一个工程师的功力,先问他怎么理解传输线。
咱们得从最基础的东西说起。
2.1 传输线模型:不是一根纯粹的导线
低频的时候,一根导线就是一短路,电流从A到B。但是频率上去之后,导线周围会带电场和磁场。这些场会存能量。
想想看:每小段导线都有电阻 R,电流流过会产生磁场,这就是电感 L。两根导线之间会感应电场,这相当于电容 C。还有绝缘材料不够完美,会有漏电,那是电导 G。
所以,传输线的完整模型其实是这样的:
传输线 RLCG 模型(单位长度参数)
- R (Resistance):导体电阻,信号能量转变成热量。
- L (Inductance):回路电感,信号能量转变成磁场。
- C (Capacitance):互容,信号能量转变成电场。
- G (Conductance):介质电导,信号漏到介质中去了。
你不能把这些参数当成一个孤立的电阻、电容来看。它们连着每毫米、每英寸的PCB走线。计算的时候,就得用单位长度的R、L、C、G来描述。
举个常见的例子:微带线和带状线。我在项目中遇到过快板,表层走线(微带线)和内层走线(带状线)的阻抗表现完全不同,就是因为它的RLCG分布不一样。表层有空气,介质常数低,传播速度就快些。
2.2 特性阻抗:这根线的“性格”
特性阻抗,标志 Z0。这是传输线理论的核心概念,没有之一。
很多人觉得难懂。其实不用想得太复杂。特性阻抗就是 信号在传输线上跑的时候,感受到的瞬时阻抗。它不是直流阻抗。你用万用表量一根50Ω的走线,两端对地肯定不是50Ω。
我的经验: 我刚入行时,被特性阻抗和欧姆定律搞混。后来导师告诉我:你想象一下往水管里推水,水在管子里推进时受到的那种反推的阻力,就是特性阻抗。水还没到水龙头呢,阻力已经在那了。
特性阻抗计算公式取决于走线截面结构:
微带线(微带)近似公式:
Z0 ≈ 87 / (√(εr + 1.41)) * ln(5.98 * H / (0.8 * W + T))
带状线(带状线)近似公式:
Z0 ≈ 60 / (√(εr)) * ln(4 * B / (0.67 * π * W * (1 - T/B)))
其中:
εr = 相对介电常数
H = 介质层厚度
W = 线宽
T = 铜厚
B = 地平面间距(带状线)
记住了,特性阻抗是频率的函数。但好在高频段它趋于稳定,大部分情况下我们说的50Ω、75Ω,指的就是这个稳定值。
我之前调试过一块DDR3板卡,发现信号反射严重。查了一圈,原来是表层走线宽算错了,算出来的阻抗成了65Ω,和预期的50Ω差了15Ω。嗯,这种问题,量精度不高的普通板还凑合,高速信号直接就崩了。
几种常见传输线的特性阻抗参考范围:
| 传输线类型 | 典型应用 | Z0 范围 (Ω) |
|---|---|---|
| 微带线 (Microstrip) | 表层走线 | 30 ~ 120 |
| 带状线 (Stripline) | 内层层走线 | 40 ~ 80 |
| 共面波导 (CPW) | 射频/微波 | 25 ~ 75 |
2.3 传播延迟:信号的时间差
传播延迟,标记 Td 或 tp。就是信号从发射端跑到接收端花了多长时间。
这个时间取决于材料的介电常数。信号在真空里跑是光速,3×10^8 m/s。但在PCB板子里会慢下来。
计算公式很简单:
传播延迟 td = 长度 L / 信号速度 v
信号速度 v = c / √εr_eff
其中:
c = 光速 (约 3×10^8 m/s)
εr_eff = 有效介电常数(微带线考虑空气+介质)
材质不同,速度差不少。FR4板材的εr大约是4.2,信号在FR4里跑,速度大概只有光速的一半。你想想看,1英寸的走线在FR4上传播延迟大概是166ps。你设计匹配电路时,千万别忽略这166ps。
避坑指南: 我遇到过有人把DDR走线等长做得很准,但没注意过孔跟线宽的传播延迟差异。结果同一个字节组内的信号,因为等长计算没考虑传播速度,反而没对齐。做时序分析,必须按传播延迟来,而不是简单的物理长度。
2.4 反射形成原理:信号撞墙了
反射,是高速信号最让人头疼的问题之一。反射不加控制,信号会像坐过山车,上下震荡。严重时导致逻辑错误、误触发。
为什么会反射?说白了就是阻抗突变。
想象一下:信号在50Ω的走线上快乐地跑着,突然前面出现了一个75Ω的岔路。信号懵了,它不知道接下来该用哪种“性格”继续前进。于是,一部分信号继续往前走(透射),另一部分往回弹(反射)。
反射系数 ρ 是量化这个行为的:
反射系数 ρ = (Z_load - Z0) / (Z_load + Z0)
其中:
Z_load = 负载端阻抗
Z0 = 传输线特性阻抗
三种典型情况:
- 匹配状态 (Z_load = Z0):ρ = 0,无反射(理想情况)
- 开路 (Z_load = ∞):ρ = 1,全反射,信号100%弹回来。
- 短路 (Z_load = 0):ρ = -1,全反射,但反射信号电压相位反转180度。
举个例子。信号跑在50Ω微带线上,突然遇到一个开路的T型分支。相当于Z_load = ∞,那就100%反射。这反射回去的信号叠加在原本没走的信号上,就形成了“过冲”、“振铃”。
我记得有一次调试一块高速ADC的采样板。输出波形在上升沿后跟了一个小台阶,持续了大概3ns。查得头皮发麻,最后发现是板上的连接器焊盘,其焊盘有寄生电容,导致瞬时阻抗变化。变了个10Ω,反射系数就变成了0.1(约10%的能量反射回来),一个小台阶就出来了。
避坑:阻抗不连续有很微妙的来源,不只焊盘,还有线宽转折、过孔、插座、分支。你自己如果算过,走线从50Ω突然变到某个阻抗,反射回来的能量大小可以达到吓人的程度。
我的调试小贴士: 做TDR(时域反射计)测试时,反射波形拉出来的时间,除以2,再乘上传播速度,可以定位到是PCB上哪个位置出的问题。这招我很常用。
本章知识体系
下面这张图总结了咱们刚才讲的这几层关系。看一遍就能理清思路。
总结来说,从信号源到负载,信号经过传输线(有RLCG),这条线有它特定的“性格”(特性阻抗),跑一段路要花时间(传播延迟),走到头如果遇到性格不匹配,就产生反射。