1. 高速信号概述
做硬件设计这些年,我经常被问到同一个问题:“到底多快的信号才算高速?”
有人说频率超过 50MHz 就算高速。也有人说,只要信号边沿够陡,哪怕只有 1MHz 也算高速。嗯,这两种说法都有道理,但都不够全面。今天咱们就把这事彻底说清楚。
1.1 什么是高速信号
先给个我自己的定义:当信号的传输延迟与信号上升时间可比拟时,它就是高速信号。
说白了,不是看时钟频率多高,而是看信号从 0 变到 1 那一下有多快。你想想看,一个 1MHz 的方波,如果上升时间只有 100ps,那它的高频分量能到 GHz 级别。这时候走线长度哪怕只有几厘米,也得按传输线来处理。
核心判断标准:
- 当走线长度 > 信号上升沿空间长度的 1/6 时,必须按高速信号处理
- 上升沿空间长度 = 上升时间 × 信号传播速度(约 15cm/ns 在 FR4 上)
我在项目中遇到过最典型的例子:一块低速板卡,主频才 10MHz,但用了 1ns 上升时间的缓冲器。结果板子跑起来各种串扰、反射,折腾了两周才发现是边沿太陡惹的祸。从那以后,我选器件时一定会看 datasheet 里的上升时间参数。
1.2 信号上升时间与带宽的关系
这里有个经典公式,做高速设计的人必须刻在脑子里:
BW = 0.35 / Tr
其中 BW 是信号带宽(单位 GHz),Tr 是上升时间(单位 ns)。
举个例子:一个上升时间为 1ns 的信号,它的带宽大约是 350MHz。这意味着什么?意味着你的 PCB 走线、过孔、连接器,都得能支持到 350MHz 的频段,否则信号就会失真。
| 上升时间 (Tr) | 信号带宽 (BW) | 典型应用 |
|---|---|---|
| 10 ns | 35 MHz | 传统 TTL 逻辑 |
| 1 ns | 350 MHz | DDR3 / LVDS |
| 100 ps | 3.5 GHz | DDR5 / PCIe Gen4 |
| 35 ps | 10 GHz | SerDes / 光模块 |
我的经验:选器件时别只看工作频率,一定要看上升时间。两个标称频率相同的芯片,上升时间可能差 5 倍,设计难度天差地别。
为什么会是 0.35 这个系数?它来自高斯响应的上升时间与截止频率的关系。实际工程中,我们常用 0.35 作为保守估计。如果信号边沿更接近梯形波,有时也会用到 0.5。我个人习惯用 0.35,留点余量总没错。
1.3 高速设计的挑战
好,现在我们知道什么是高速信号了。那实际设计时会遇到哪些坑?我列几个最常见的:
1.3.1 信号反射
阻抗不匹配时,信号会在传输线上来回弹。就像你对着山谷喊话,回声会干扰原声。我曾经调试一块 FPGA 板,DDR 数据线眼图总是不开,最后发现是走线阻抗做了 55Ω,而芯片要求 50Ω,差了 10% 就导致反射严重。
1.3.2 串扰
相邻走线之间的电磁耦合。你走线上跑的信号,会“串”到旁边的线上去。我记得有一次做 8 层板,两根平行走了 5cm 的时钟线,间距只有 3W,结果一根线上的抖动直接让另一根线的时序裕量归零。
1.3.3 电源完整性
高速开关时,芯片瞬间抽取大电流,如果电源路径阻抗太高,电压就会掉下去。我见过最夸张的一次,一个 1.8V 的 DDR 供电,在读写时跌到了 1.6V,直接导致数据出错。
1.3.4 时序收敛
信号跑得快,但也要跑得准。建立时间和保持时间必须满足。随着频率提高,时序窗口越来越窄,走线长度差几个毫米都可能出问题。
避坑指南:我曾经在 10Gbps 的 SerDes 设计中,因为忽略了过孔的残桩效应,导致眼图完全闭合。后来在过孔下方加了背钻,才把问题解决。记住:每多一个过孔,就是多一个阻抗不连续点。
下面这张图总结了高速信号的核心知识体系:
总结一下今天的内容:高速信号的核心不是频率,而是上升时间。上升时间决定了信号带宽,带宽决定了你的 PCB 设计难度。反射、串扰、电源完整性、时序收敛,这四大挑战会贯穿整个高速设计流程。
嗯,这一章先到这里。记住那个 0.35 的公式,后面每一章都会用到它。