第4章:电气约束基础:网络分类、电压、电流、信号完整性基本概念
说实话,不少刚入行的工程师觉得电气约束就是填几个电压值、设几个电流上限。我一开始也这么想,直到有一次把电源网络的载流能力算错了,板子一上电就把铜箔烧断了——嗯,那教训挺深刻的。
电气约束到底是什么?说白了,就是把电路板的电气性能要求,翻译成EDA工具能理解的规则。你给的约束越准,板子跑起来就越稳。
4.1 网络分类:先分清楚再谈约束
每一根走线都叫网络(Net),但它们的“身份”完全不同。我个人习惯先把网络分为三类:
| 网络类型 | 特点 | 典型例子 |
|---|---|---|
| 电源网络 | 载流大、电压稳定、噪声敏感 | VCC、VDD、VSS、GND |
| 信号网络 | 传输数据或控制逻辑 | I2C_SCL、SPI_MOSI、UART_TX |
| 特殊网络 | 需要额外约束(阻抗、时序、屏蔽) | 时钟线、差分对、高精度ADC输入 |
实用技巧:在原理图阶段就用不同颜色标记网络类型。我习惯把电源网络标红、信号网络标蓝、特殊网络标紫。这习惯帮我节省了大量检查时间。
为什么要分这么细?因为约束规则完全不同。
- 电源网络:主要关注载流能力和电压降。我曾经遇到过一个项目,芯片需要3A电流,但电源网络只留了0.5mm宽的铜箔,结果铜箔直接过热失效。
- 信号网络:主要关注信号完整性(SI)和电磁兼容性(EMC)。比如时钟线的过冲问题,不加处理就容易辐射超标。
- 特殊网络:通常有厂商推荐的设计指南,比如USB差分线的阻抗必须控制在90Ω±10%。
4.2 电压和电流:基础但容易出错
电压约束听起来简单,对吧?不就是标个电压值嘛。但你想想看,芯片的VCC是1.8V,不代表板上所有1.8V网络都能用同一个约束。为什么?
因为芯片的不同引脚可能有不同的去耦要求。比如FPGA的核电压和I/O电压就完全不同,甚至同一个电源域下,不同引脚的纹波容忍度也不同。
核心概念:电压约束要精确到引脚级别,而不是网络级别。我的经验是:每颗电源芯片的输出网络,都要单独建立电压参数,包括标称值、容差范围、纹波上限。
电流约束就更值得注意了。很多人只关心总电流,忽略了峰值电流和瞬间电流的影响。我见过一个案例:某颗芯片标称功耗1W,在3.3V下,正常工作电流约300mA。但启动瞬间电流达到2A。最终设计时,电源网络铜箔宽度按300mA计算,结果每次启动都触发过热保护。
4.3 信号完整性核心概念
信号完整性(Signal Integrity,SI)说白了就是信号从发送端到接收端,能不能保持“该高的时候高、该低的时候低”,而且切换时间还够快。
主要有三个基本问题:
- 反射(Reflection):阻抗不匹配时,信号会被“弹回来”,导致振铃或过冲。我在调试一块高速ADC板时,发现时钟输入总是有±0.2V的过冲,检查发现源端没做串联匹配。
- 串扰(Crosstalk):一根线上信号跳变时,通过寄生电容或互感影响到邻近信号线。我曾经调整过两次布线:把时钟线和数据线分开走,中间加了一根GND隔离线,串扰降低了一半。
- 时序(Timing):信号到达时间的偏差(Skew)和建立/保持时间的关系。这个其实跟布线长度有关,在PCB约束里叫做“等长约束”。
避坑指南:我曾经在迭代时调整了几根线的绕线方式,忘了同步调整等长约束,结果导致一组DDR数据线长短不一,时序直接崩了。记住:改了走线,一定要检查约束是否还在生效。
为什么信号完整性对PCB约束这么重要?因为约束设计的根本目的就是控制这三个问题。你设定了阻抗目标、间距规则、等长误差,本质上就是在管理反射、串扰、时序风险。
4.4 电气约束知识体系
下面这张图是我个人梳理的电气约束知识框架。它能帮助你理解各个概念之间的逻辑关系——从网络分类出发,一路到最终的约束输出。
你能看到,从网络分类出发,每个分支都指向了具体的约束手段。电源网络盯着载流和压降,特殊网络盯着阻抗和延迟,而信号网络则落脚在反射、串扰、时序这三个核心课题上。最终,所有知识点都要汇集成一条可以执行的约束规则,交给EDA工具去验证。
做PCB约束设计,电气基础就像房子的地基。网络分类、电压电流参数、信号完整性概念,这三个缺一个,后面的约束规则就站不住。我建议你每接触一个设计,都先花半小时理清楚这三块内容——后续你会省下大量返工时间。