在电子测试测量领域,开关测量系统(Switch/Measure System)扮演着至关重要的角色。这类系统通常由数字万用表(DMM)和继电器阵列(Switch Matrix)构成,通过精确控制继电器开关状态与测量时序的配合,实现对被测设备(DUT)的高效测试。根据应用场景的不同,开关测量系统主要服务于两大领域:数据采集(DAQ)和电子功能测试(EFT)。
数据采集系统需要处理大量连续测量任务,例如监测航天器重返大气层时数千个测温点的数据变化。这类应用对系统吞吐量要求极高,优秀的开关测量系统在DAQ模式下可实现每秒上千次读数。而电子功能测试则侧重于验证电子模块的功能正确性,例如汽车发动机控制模块的测试,需要反复配置激励信号并测量响应,虽然单次测量速度不如DAQ模式,但对测试逻辑的复杂度和灵活性要求更高。
当前市场上的开关测量系统主要采用三种架构:
离散仪器互联方案
典型组合如Agilent 34401A独立DMM配合3499A/B/C开关箱,或Racal 1256开关箱。这种方案的优点是设备选型灵活,各组件可单独升级替换。但缺点也很明显:需要大量线缆连接,系统体积庞大,且受限于接口(如GPIB)带宽,难以实现高速扫描测量。
模块化机箱架构
包括VXI、PXI和混合架构。例如Agilent E1411A VXI DMM配合E1476A VXI开关卡,或NI PXI-4070 DMM配合SCXI-1128开关卡(PXI与SCXI背板通过电缆连接)。这类方案的优势在于:
专用开关测量设备
代表产品如Agilent 34980A、34970A和Keithley 2701。这类设备将DMM和多种开关卡集成在优化设计的专用背板机箱中,特点包括:
开关测量系统的核心性能优势来自于硬件握手(Handshaking)机制。在DAQ模式下,系统工作流程如下:
这种硬件级同步避免了软件轮询带来的延迟,配合批量命令下载(而非单条指令发送),可大幅提升吞吐量。实测数据显示,良好的硬件握手设计能使DAQ模式比EFT模式快一个数量级。
关键提示:在设计扫描测量时,务必确认开关设备是否支持硬件触发输出。例如测试中发现NI SCXI-1128开关卡无法生成返回DMM的触发信号,导致只能采用同步模式测量,影响了系统性能。
开关测量系统中的继电器根据带宽和能力分为几大类:
低带宽继电器(DC-100MHz)
高带宽继电器(达18GHz)
选型建议:
开关卡根据连接方式分为几种基本类型:
多路复用器(Multiplexer)
最常见结构,多个输入通道共享一个输出。例如40通道2线复用器(40-ch 2-wire mux),适合顺序扫描多个测试点。
矩阵开关(Matrix)
典型如4x8矩阵,允许任意输入输出组合,适合复杂互连测试。但要注意:
通用开关(General Purpose)
独立控制的单刀单掷(SPST)或单刀双掷(SPDT)继电器,灵活性最高但编程复杂。
开关测量系统支持多种编程环境,主流选择包括:
图形化编程
文本编程
在本次对比测试中,选择VB.NET作为统一环境,原因包括:
SCPI(Standard Commands for Programmable Instruments)
CONF:VOLT:DC 10,.001(配置10V量程,1mV分辨率)仪器驱动
驱动 vs SCPI性能考量
传统观念认为直接SCPI控制速度更快,但现代测试表明:
实测案例:Agilent 34980A由于其强大的处理器(1.5ms命令解析时间),SCPI与驱动性能差异很小;而老式34401A DMM(21ms命令解析)则能从状态缓存中获得明显提升。
在实际测试系统搭建中,常遇到多厂商设备协同工作的问题。关键集成要点:
接口兼容性
触发同步
开发环境配置
测试条件:10V量程,1mV分辨率,20通道扫描
| 设备型号 | EFT时间(ms) | DAQ时间(ms) | 备注 |
|---|---|---|---|
| Agilent 34980A(34925A FET) | 7.9 | 2.7 | 最快FET方案 |
| Agilent 34980A(34922A Arm) | 15.1 | 10.1 | 衔铁继电器较慢 |
| NI SCXI-1128/PXI-4070 | 12.8 | 2.91 | 不支持完整硬件握手 |
| Keithley 2701/7703 | 440 | 68 | 读数速度是主要瓶颈 |
| Agilent 34970A/34901A | 70.0 | 25.2 | 性价比均衡 |
Agilent 34980A优势:
PXI系统不足:
确定主要应用模式:
评估通道需求:
200通道 → 高密度PXI或分布式系统
信号类型考量:
Keithley 2701端口锁定
问题表现:程序异常退出后GPIB端口无法使用
解决方法:升级固件到A06版,支持通过第二个端口发送"KI2701"复位命令
NI驱动安装问题
症状:IVI-C驱动功能不全
修复:安装时勾选"LabWindows/CVI examples"选项
Agilent与NI硬件混用
配置步骤:
批量命令优化
将多个SCPI命令合并发送,减少通信往返:
vb复制' 低效方式
my34401.WriteLine("DISP OFF")
my34401.WriteLine("ZERO:AUTO ONCE")
my34401.WriteLine("CONF:VOLT:DC 10,.001")
' 高效方式
my34401.WriteLine("DISP OFF;:ZERO:AUTO ONCE;:CONF:VOLT:DC 10,.001")
状态缓存实现
在自定义驱动中记录仪器状态,避免重复配置:
vb复制If currentRange <> 10 Then
myDMM.ConfigureRange(10)
currentRange = 10
End If
异常处理规范
统一错误处理策略,确保仪器状态可恢复:
vb复制Try
mySwitch.CloseChannel(1)
reading = myDMM.Read()
Catch ex As Exception
myDMM.Reset()
mySwitch.Reset()
Throw New Exception("Measurement failed", ex)
Finally
mySwitch.OpenAll()
End Try
硬件初始化
vb复制Dim my34980 As New Agilent34980
my34980.Initialize("TCPIP0::169.254.9.80::INSTR")
my34980.Reset()
my34980.DisplayEnabled = False
DAQ模式配置
vb复制' 设置扫描列表(通道6001-6020)
my34980.ScanList = "(@6001:6020)"
' 配置DC电压测量:10V量程,1mV分辨率
my34980.ConfigureVoltageDC(10.0, 0.001)
' 设置触发:立即触发,1次,无延迟
my34980.ConfigureTrigger(TriggerSource.Immediate, 1, 0)
' 启用自动调零(仅一次)
my34980.AutoZero = AutoZeroMode.Once
执行扫描
vb复制' 启动测量
my34980.Initiate()
' 读取结果(最多等待5秒)
Dim readings As Double() = my34980.Fetch(5000)
特殊配置需求
由于SCXI-1128不支持硬件握手,需采用DMM定时采样方案:
vb复制' 配置DMM采样间隔(单位:秒)
Dim sampleInterval As Double = 0.001 ' 1ms
PXIDMM.ConfigureMultiPoint(1, numChannels,
NIDMMTriggerSource.Interval,
sampleInterval)
' 设置扫描列表(通道0-19到COM0)
SCXI.ConfigureScanList("sc1!md3!ch0:19->com0;",
NiSwitchScanMode.BreakBeforeMake)
' 启动异步扫描
SCXI.InitiateScan()
PXIDMM.Initiate()
' 获取结果
Dim readings(numChannels-1) As Double
Dim actualPoints As Integer
PXIDMM.FetchMultiPoint(5000, numChannels,
readings, actualPoints)
经验分享:PXI系统开发时间比专用开关测量设备长2-3倍,主要耗时在触发配置和异常处理上。建议在项目时间紧张时优先考虑集成度高的解决方案。
日常维护要点
系统优化方向
未来趋势观察
在实际项目选型中,Agilent 34980A展现了全面优势:丰富的模块选择、出色的性价比、便捷的编程体验。而对于预算有限的中小规模测试,34970A仍是可靠选择。PXI系统则更适合超高性能需求或需要与其他PXI模块(如高速数字化仪)集成的场景。