3. 设计阶段介入:DFT(可测试性设计)基础概念,如何在原理图阶段加入测试点
很多工程师觉得测试是后端的事,是产线的事。我年轻时也这么想,直到有一次项目延期,原因就是板子回来了,测试覆盖率太低,一个关键信号死活测不到,最后只能飞线。嗯,从那以后,我再也不敢把测试放到最后了。
说白了,DFT(可测试性设计)就是让你在设计阶段就为测试铺好路。你想想看,如果原理图阶段就把测试点规划好,后面调试、量产、维修都会省很多事。今天我就跟你聊聊,怎么在原理图阶段把测试点加进去。
3.1 DFT 的核心思想
DFT 不是什么高深理论,它就是一个原则:让电路中的每个节点都可控、可观测。
- 可控性:你能通过外部手段让某个节点变成高电平或低电平。
- 可观测性:你能通过外部手段测量到某个节点的状态。
举个例子,一个 I2C 总线上的上拉电阻,如果你把它埋在 PCB 内层,焊好后想测波形?对不起,探头根本够不着。这就是典型的不可观测。
DFT 黄金法则:每个关键信号,都应该有一个物理可接触的测试点。
3.2 测试点的类型与选择
我在项目中遇到过很多种测试点,但常用的就这几种:
| 类型 | 用途 | 典型位置 |
|---|---|---|
| 通孔测试点 | 手动测量、飞线调试 | 电源、地、关键信号 |
| SMD 测试焊盘 | ICT 自动测试 | 总线、时钟、复位 |
| 测试排针 | 批量调试、固件烧录 | JTAG、SWD、UART |
| 边界扫描链 | 芯片级互连测试 | JTAG 链上的所有引脚 |
我个人习惯是:电源和地至少留 2 个测试点,一个给示波器,一个给万用表。别问我为什么,有一次我同时要测纹波和功耗,结果只有一个测试点,来回换探头,差点把板子烧了。
3.3 原理图阶段如何加入测试点
很多人觉得加测试点就是放个焊盘,其实没那么简单。我建议你按这个流程来:
- 识别关键信号:时钟、复位、电源、高速总线、模拟信号。
- 评估测试覆盖率:每个关键节点是否都能被测量?
- 选择测试点类型:手动测还是自动测?
- 标注测试点属性:在原理图中用特殊符号或网络名标记。
- 与 Layout 工程师沟通:测试点不能放在 BGA 下面,也不能离干扰源太近。
小技巧:在原理图中,我习惯用 TP_ 前缀命名测试点网络,比如 TP_3V3、TP_CLK。这样 Layout 工程师一眼就能认出哪些是测试点,不会误删。
3.4 常见测试点设计误区
我曾经踩过不少坑,这里列几个典型的:
- 测试点太小:0.5mm 的焊盘,探针一扎就歪了。建议至少 1.0mm。
- 测试点离器件太近:探针下去,直接把旁边电容碰掉了。保持 2mm 以上间距。
- 测试点放在内层:你想想看,内层信号怎么测?除非你开窗,否则就是摆设。
- 忽略地回路:测高速信号时,如果没有就近的地测试点,探头的地线夹子会引入噪声。
警告:不要在差分信号上只加一个测试点!差分对必须成对引出,否则会破坏阻抗匹配,导致信号质量下降。我曾经因为这个原因,让一个 USB 3.0 接口死活跑不到 5Gbps。
3.5 DFT 在原理图阶段的落地实践
说了这么多,到底怎么在原理图里加测试点?我一般用两种方法:
方法一:直接加测试焊盘符号
在原理图库中创建一个测试点符号,比如一个圆形焊盘,标注为 TP。然后在需要测试的网络直接放置这个符号。这样原理图清晰,BOM 里也会自动生成测试点物料。
方法二:使用 0 欧电阻或跳线
有些时候,测试点会影响信号完整性。比如在高速时钟线上加一个焊盘,可能会引入寄生电容。这时候我习惯用 0 欧电阻或跳线代替。调试时焊上电阻,正常工作时去掉或换成 0 欧。
// 示例:在原理图中添加测试点的网络命名规范
// 电源类
TP_3V3, TP_5V0, TP_VCC_CORE
// 时钟类
TP_CLK_25M, TP_CLK_100M
// 总线类
TP_I2C_SCL, TP_I2C_SDA, TP_SPI_MOSI
// 模拟信号
TP_ADC_IN0, TP_OPAMP_OUT
// 地
TP_GND, TP_GND_AGND
3.6 测试点布局的 SVG 示意图
下面这张图展示了一个典型电路板上的测试点布局策略。你可以看到,测试点分布在关键信号路径上,并且与器件保持安全距离。
3.7 测试点与信号完整性的平衡
你可能会担心:加测试点会不会影响信号质量?答案是:会,但可以控制。
对于低速信号(< 10MHz),测试点引入的寄生电容(通常 < 1pF)基本可以忽略。但对于高速信号(> 100MHz),测试点焊盘会带来阻抗不连续。我一般这样处理:
- 高速差分信号:使用 0 欧电阻或微型同轴连接器,不在主线上直接加焊盘。
- 时钟信号:加串联电阻隔离,测试点放在电阻后面。
- 模拟信号:测试点尽量靠近源端,减少走线长度。
我的习惯:在原理图阶段,我会在每根高速信号旁边加一个注释,标注“此信号测试点需与 Layout 工程师确认”。这样 Layout 工程师会主动找我讨论,而不是直接忽略测试点。
3.8 总结一下
DFT 不是事后补救,而是设计的一部分。在原理图阶段加入测试点,成本几乎为零,但带来的收益是巨大的——调试时间缩短 30% 以上,量产测试覆盖率提升到 95% 以上。
记住:一个设计良好的测试点,胜过十次飞线调试。下次画原理图时,别忘了问自己一句:这个信号,我以后怎么测?