在面包板与丝印之间:一块测试板的诞生
从原理图到投板,记录一块半导体 DIB 测试接口板的设计思考,以及那些只有画过板的人才懂的细节。
做硬件这几年,越来越觉得一块板子的好坏,往往不在原理图有多精巧,而在那些「看不见的地方」。
从需求开始
DIB(Device Interface Board)的本质,是把测试仪的通道安全、低损耗地引到芯片引脚。听起来简单,但当通道数上百、信号速率到 Gbps 量级时,每一根走线都开始有脾气。
这次的板子要处理的是一组高速差分对,加上几十路低速 IO 和电源。我的习惯是先在纸上把信号分组:
- 高速信号优先考虑参考平面与阻抗连续;
- 电源要预留足够的去耦电容位置,宁可多放;
- 低速 IO 可以灵活布线,但要避开敏感区。
原理图是逻辑,PCB 是物理。物理不会因为你画了一条直线就真的走直线。
叠层与阻抗
六层板是性价比的甜点。我的常规叠层是:
TOP — 信号 / 元件
GND — 完整地平面
SIG — 高速信号
PWR — 电源层
GND — 完整地平面
BOT — 信号 / 元件
关键是高速信号层必须紧邻一个完整的参考平面。我见过太多板子把高速线走在两个信号层之间,结果阻抗算得再准,回流路径还是一塌糊涂。
差分对我一般走 100Ω 差分阻抗,线宽线距交给板厂的叠层设计软件算,但会自己再用 Saturn PCB 复核一遍。
那些容易翻车的细节
- 丝印不要压焊盘。返修时看不到引脚编号,是会骂人的。
- 定位孔周边留禁布区。螺丝金属化孔附近走细线,短路只是时间问题。
- 去耦电容靠近电源引脚。这句话说了一万遍,能做到的板子不到一半。
- 测试点要够。调试阶段,一个孤零零的测试点能省你半天时间。
投板之后
发给板厂的那一刻,总会有点像交卷。等板子回来的那几天,我通常会开始写下一块板的需求文档——因为你知道,等拿到实物,就会发现至少三处该改的地方。
硬件设计没有完美,只有「下一版更好」。而那些在面包板上乱飞的跳线,终会变成丝印下安静的铜迹,这大概就是做硬件的浪漫。
下一篇想聊聊自动测试脚本里的时序问题,以及为什么 Python 写硬件自动化有时候比 C 还让人头大。
— Shawn Zuo