测试系统架构:上位机、测试板、DUT 连接方式

量产测试自动化脚本写得再漂亮,如果硬件拓扑搭错了,一切都是白搭。我在几个项目里都碰到过类似情况——脚本跑了三天三夜没报错,结果发现是 DUT 根本没上电。所以这一章,我们把硬件连接这件事彻底聊透。

三种核心角色

量产测试系统里,就三个角色:上位机、测试板、DUT。搞清楚它们各自干什么,连接才不会乱。

角色职责典型设备
上位机运行测试脚本、收发指令、存储日志工控机、笔记本、嵌入式 PC
测试板桥接上位机与 DUT,提供物理层激励定制 PCB、FPGA 板、MCU 板
DUT被测车载 PHY 芯片及其外围电路百兆/千兆车载以太网 PHY

你想想看,上位机是大脑,测试板是手臂,DUT 是被检查的零件。三者缺一不可。

主流连接拓扑

说实话,我见过不下十种连接方案。但量产线上最稳定的就两种:直连式和夹具中转式。

直连式

上位机通过 USB 或以太网直连测试板,测试板通过标准接口(如 RJ45、SMA)直触 DUT。优点就是延迟低,适合单工位验证。缺点嘛——换 DUT 时得手动插拔,累死人。

夹具中转式

这是量产线的标配。上位机→测试板→自动化夹具→DUT。夹具里集成了 Pogo Pin、转接板、电源开关。我记得第一次用这种方案时差点翻车——Pogo Pin 的弹力太大,把 DUT 的焊盘给压裂了。从那以后我就规定:夹具的接触力必须控制在 0.5~0.8N 之间。

核心原则:信号路径越短越好。每增加一个转接头,测试误码率就上升一个数量级。量产线宁可多花两万做定制夹具,也别省那几个转接头。

信号链分解

别看线缆一堆,其实信号就三类:

  • 控制信号:上位机通过 USB/UART/SPI 配置测试板上的 PHY 寄存器。
  • 数据信号:测试板发送标准测试 pattern(如 PRBS7)给 DUT,DUT 回环后接收比对。
  • 电源信号:测试板给 DUT 供电(3.3V / 1.8V / 可调),并实时回读电流。

为什么要分这三类?我告诉你一个坑:曾经有个项目,数据信号和电源共了一根地线,结果 DUT 瞬间短路把测试板的 PHY 也带走了。那次损失了 12 块测试板,老板脸都绿了。

警告:电源和信号必须独立走线,不能用同一根排线。如果空间受限,至少用双绞线做好隔离。

SVG:系统连接结构图

量产测试系统硬件连接拓扑 上位机 工控机 / 笔记本 测试板 MCU + PHY 测试模块 DUT 车载 PHY 芯片 USB / 以太网 / UART 差分对 / SPI / GPIO 电源模块 3.3V / 1.8V 自动化夹具 Pogo Pin 注意:信号与电源必须 独立走线,共地需星形连接

连接配置代码示例

实际项目中,我会在脚本里先做一次连接自检。下面是一个简化版:

import serial
import socket

def check_connections():
    # 检查上位机到测试板 USB 串口
    try:
        ser = serial.Serial('COM3', 115200, timeout=2)
        ser.close()
        print("[OK] 上位机→测试板 USB 通讯正常")
    except:
        raise ConnectionError("USB 连接异常,请检查线缆")

    # 检查测试板到 DUT 的 SPI 链路
    # 测试板回复特定 ID 表示 DUT 已应答
    resp = send_cmd('GET_DUT_ID')
    if resp == '0x4D4554':
        print("[OK] 测试板→DUT SPI 链路正常")
    else:
        raise ConnectionError("DUT 无应答,检查夹具接触")

    # 检查 DUT 电源电压
    voltage = read_adc('VDD33')
    if 3.25 < voltage < 3.35:
        print("[OK] DUT 电源 3.3V 正常 (%.3fV)" % voltage)
    else:
        raise ValueError("电源异常: %.3fV" % voltage)

    print("所有连接检查通过,开始测试...")

我的习惯:量产脚本启动前,先跑一个 check_connections() 自检函数。如果夹具没压紧、线缆松动或 DUT 没到位,脚本直接退出并弹报警。这能避免整批次误测。

接地与屏蔽——最容易翻车的地方

嗯,这里要注意。车载 PHY 工作频率动辄 125MHz 甚至 1Gbps。接地处理不好,眼图分分钟闭掉。我总结过三条铁律:

  • 单点接地:测试板、夹具、DUT 的参考地必须通过一个铜柱或粗线连回电源地。别搞环路。
  • 差分对等长:测试板到 DUT 的 RX/TX 差分线,长度差控制在 5mm 以内。我见过用杜邦线拉 20cm 长的,那误码率直接飙到 1e-3。
  • 屏蔽罩:如果测试现场有变频电机干扰,给 DUT 加个小屏蔽壳。钱不多,效果立竿见影。

有一次我深夜在产线排查问题——所有参数都对,就是误码率时好时坏。最后发现是夹具的接地螺丝松了半圈。没错,半圈。那根螺丝拧紧后,测试良率从 78% 升到了 99.6%。这你受得了吗?

不同 PHY 类型的连接差异

PHY 类型接口标准连接注意事项
100BASE-T1单对差分线(1 Pair)必须共模扼流圈,线长 < 15cm
1000BASE-T1单对差分线(1 Pair,速率更高)差分线阻抗 100Ω ±5%,回流地要近
100BASE-TX两对差分线(RJ45)注意 MDI/MDIX 极性,建议用自动翻转
RGMII / SGMII并行/串行 MAC 接口测试板上需额外的 MAC 或 FPGA 桥接

选择哪种连接方式,取决于你的 DUT 是哪个系列的 PHY。我一般先在规格书里查 MDI 引脚定义,再画一个连接矩阵贴在测试台上。省得每次换项目都重头查。

量产场景下的电缆选型

量产线每天插拔几千次,普通 USB 线一个月就废了。我个人建议:

  • 上位机到测试板:用 工业级 USB 3.0 线(带锁扣),或者走 以太网 RJ45(更耐用)。
  • 测试板到夹具:用 FFC 排线 + 补强板,弯折寿命 10000 次以上。
  • 夹具到 DUT:老老实实用 Pogo Pin + 转接 PCB,别想着用弹簧探针飞线。

经验值:一套合格的生产连接方案,目标是无故障插拔 ≥ 5000 次。低于这个数,你的维护成本会吃掉所有净利润。

好了,系统连接这部分我基本摊开讲了。理清上位机、测试板、DUT 的关系后,下一步就要进入具体的测试板硬件设计细节——不过那是另一课的内容了。你先把这张连接图刻在脑子里,写脚本的时候才有根基。