4. 自动化测试系统架构

传导骚扰自动化测试系统并不是“把接收机换成程控”这么简单。它是一套由硬件链路、软件分层、仪器控制接口、数据采集与处理流程共同构成的闭环系统。理解这套架构,是后续编写自动化脚本、排查测试异常、保证数据可追溯的基础。本节从系统整体出发,逐层拆解其组成与协作关系。

一、核心原理:四层协作的闭环系统

传导骚扰测试的本质,是在规定频段内测量被测设备(EUT)电源端口或信号端口上的骚扰电压/电流,并与限值线比较。自动化系统要替代人工完成“设置仪器—切换频点—采集数据—判定结果—生成报告”的全过程,因此必须解决四个问题:信号如何接入、仪器如何受控、数据如何流转、结果如何判定。

从架构上看,系统可分为四个层次:

  • 硬件层:LISN(线路阻抗稳定网络)、电压探头、衰减器、接收机/频谱仪、切换单元、EUT供电与接地系统。
  • 接口层:GPIB、LAN(VXI-11/HiSLIP)、USB-TMC、串口等物理与协议接口。
  • 软件层:仪器驱动、测试引擎、参数配置、数据管理、报告生成。
  • 数据层:原始扫描数据、峰值/准峰值/平均值、限值线、判定结果与日志。
自动化测试系统的价值不在于“快”,而在于一致性:同一EUT在不同时间、不同操作员下得到可复现的结果,并保留完整的数据链路证据。

二、硬件组成:信号链的物理基础

传导骚扰测试的硬件链路决定了信号质量的上限。典型连接顺序为:EUT → LISN → 衰减器/滤波器 → 接收机射频输入。LISN 的作用是隔离电网阻抗、为EUT提供稳定阻抗,并将骚扰电压耦合到测量端口。若EUT电流较大,还需考虑LISN的电流额定值与饱和特性。

切换单元用于在多根电源线(L/N/PE)或多路EUT之间自动切换,避免人工插拔引入接触电阻变化。接收机需支持峰值、准峰值、平均值检波器,并具备足够的前端保护。所有射频电缆应保持阻抗匹配(50Ω),长度尽量短,避免形成天线效应。

三、软件分层:从驱动到报告的职责划分

软件分层是自动化系统可维护性的关键。常见分层如下:

层级职责典型实现
仪器驱动层封装SCPI命令,屏蔽接口差异VISA、PyVISA、厂商驱动
设备抽象层统一接收机、切换单元、LISN控制接口类/接口定义
测试引擎层扫描策略、检波器切换、限值判定状态机、任务调度
数据管理层存储原始数据、配置、日志CSV、SQLite、JSON
应用层参数配置、报告生成、人工复核GUI/CLI

分层的好处是:更换接收机型号时,只需修改驱动层;调整扫描策略时,只动测试引擎层;报告格式变化不影响底层控制逻辑。

四、仪器控制接口:SCPI与VISA的协作

绝大多数EMI接收机、频谱仪、切换单元都支持SCPI(可编程仪器标准命令)。SCPI是“说什么”,VISA是“怎么传”。VISA提供统一的I/O接口,底层可以是GPIB、LAN或USB。自动化脚本通常通过PyVISA调用,示例:

import pyvisa

rm = pyvisa.ResourceManager()
# LAN接口,VXI-11协议
inst = rm.open_resource('TCPIP0::192.168.1.100::inst0::INSTR')
inst.timeout = 10000

# 设置接收机为峰值检波,扫描9kHz~30MHz
inst.write('SENS:DET:FUNC PEAK')
inst.write('SENS:FREQ:STAR 9kHz')
inst.write('SENS:FREQ:STOP 30MHz')
inst.write('SENS:SWE:POIN 4001')

# 读取扫描数据
data = inst.query_ascii_values('TRAC? TRACE1')
print(len(data))

需要注意:不同厂商的SCPI命令集存在差异,尤其是检波器、扫描点数、轨迹读取命令。建议在驱动层做命令映射表,而不是在测试脚本中硬编码。

五、数据采集与处理流程

一次完整的自动化传导骚扰测试,数据流如下:

  1. 初始化:连接仪器、复位、设置检波器与频段。
  2. 扫描采集:按预设频段和点数扫描,读取轨迹数据。
  3. 峰值搜索:在峰值检波数据中找出超过限值线或接近限值的频点。
  4. 准峰值/平均值复测:对可疑频点切换检波器,逐点测量。
  5. 判定与记录:与限值线比较,记录余量、频率、检波器类型。
  6. 报告输出:生成含原始数据、限值线、判定结论的报告。

其中第3步是效率关键。若对全频段直接做准峰值扫描,测试时间会非常长;工程上通常先用峰值快速扫描定位,再对少量频点做准峰值复测,兼顾速度与合规性。

建议在数据层保留原始轨迹数据,而不是只存最终判定结果。当限值标准更新或需要复核时,原始数据可重新判定,避免重测。

六、案例与误区复盘

案例:某电源适配器传导骚扰测试中,自动化脚本在30MHz附近频繁出现“假超标”。排查发现,切换单元在切换L/N线时未等待继电器稳定,导致瞬态干扰被接收机捕获。在切换命令后增加200ms延时并重新扫描后,数据恢复正常。

常见误区:

  • 只关注接收机型号,忽略LISN和电缆的阻抗匹配与接地质量。
  • 在测试脚本中直接硬编码SCPI命令,导致换仪器后大面积返工。
  • 用峰值数据直接判定合格,未对准峰值/平均值检波器做复测。
  • 不记录仪器配置和校准状态,导致数据无法追溯。
自动化测试系统的可靠性,取决于最薄弱的一环。硬件链路、接口稳定性、软件异常处理、数据完整性,任何一处缺失都会让“自动化”变成“自动出错”。
传导骚扰自动化测试系统架构 硬件层 · 信号链 EUT 被测设备 LISN 阻抗稳定网络 衰减器/滤波器 50Ω匹配 EMI接收机 峰值/准峰值/平均 切换单元 L/N/PE 接口层 · 仪器控制 GPIB / LAN / USB VISA 资源管理 SCPI 命令集 PyVISA / 厂商驱动 软件层 · 分层职责 仪器驱动层 SCPI封装 设备抽象层 统一接口 测试引擎层 扫描/判定 数据管理层 CSV/SQLite 应用层 报告/GUI 数据采集与处理流程 初始化 复位/配置 峰值扫描 9kHz~30MHz 峰值搜索 可疑频点 准峰值复测 逐点测量 判定/报告 余量记录

综上,传导骚扰自动化测试系统的架构可以概括为:硬件链路保证信号质量,接口层保证控制可靠,软件分层保证可维护性,数据流程保证结果可追溯。四者缺一不可,任何一层的薄弱都会直接影响测试结论的可信度。