资讯中心

联系我们

深圳市维立信电子科技有限公司
地址:深圳市福田区红荔路第一世界广场A座8D-E
咨询电话:0755-83766766
E-mail:info@welissom.com

如何通过SCPI指令查询Keysight双向直流电源列表模式步进时间抖动的统计参数?

2026-06-12 09:51:28  点击:

  一、基础概念区分

  Keysight N79xxA / N89xxA 列表模式(LIST)步进时序抖动分为两类采集统计:

  LIST 自身步进触发时序抖动(列表每一步切换真实时间偏差)

  ARB 波形序列时序抖动(ARB 分段步进时序,指令体系同源) 仪器无单条JITTER?直读总抖动,依靠时序测量缓存 + 统计读取两套 SCPI 链路获取:最小 / 最大 / 均值 / 标准差抖动。

  前置开启时序捕获(必须先使能时序采样)

  scpi

  *CLS

  ! 开启LIST时序误差采集,捕获每一步实际切换时刻

  SOURce:LIST:TIMing:CAPTure ON

  ! 关闭:SOUR:LIST:TIM:CAPT OFF

  SOUR:LIST:TIM:CAPT?

  开启后,每一次 LIST 完整运行,仪器自动缓存所有步骤的设定步进时间与实际执行步进时间差值(抖动 Δt)。

  二、读取全部步进原始抖动差值数组

  1. 查询列表总步数

  scpi

  SOUR:LIST:COUNt?

  返回 N = 列表总步数,对应 N 个抖动采样点。

  2. 批量读取每一步抖动原始值(单位:秒)

  scpi

  ! 读取全部0~终点索引的时序抖动差值

  SOURce:LIST:TIMing:JITTer:DATA? 0.MAX

  返回逗号分隔浮点数组:Δt0.Δt1.Δt2...Δtn Δt = 实际切换时间 − 编程设定 Step 时间

  正数:实际切换慢于设定时间

  负数:实际切换快于设定时间

  3. 读取设定基准步进时间数组(用于核对基准)

  scpi

  SOUR:LIST:TIMe:DATA? 0.MAX

  返回每一步编程设置的标准时长。

  三、仪器内置一键统计参数(均值、最大、最小、标准差)

  新版固件(≥6.02 N79/N89)内置统计计算指令,无需上位机运算:

  scpi

  ! 抖动平均值

  SOUR:LIST:TIM:JITTer:MEAN?

  ! 最大正向抖动(最慢偏差)

  SOUR:LIST:TIM:JITTer:MAX?

  ! 最小抖动(负向,最快偏差)

  SOUR:LIST:TIM:JITTer:MIN?

  ! 抖动标准差(离散度,衡量稳定度)

  SOUR:LIST:TIM:JITTer:STDdev?

  四、ARB 序列模式等效步进抖动查询(ARB 分段列表)

  若使用 ARB 分段阶梯输出而非原生 LIST 指令,切换 ARB 时序采集指令:

  scpi

  ! 开启ARB时序捕获

  SOUR:ARB:TIM:CAPT ON

  ! ARB抖动原始数据

  SOUR:ARB:TIM:JIT:DATA? 0.MAX

  ! ARB统计量

  SOUR:ARB:TIM:JIT:MEAN?

  SOUR:ARB:TIM:JIT:MAX?

  SOUR:ARB:TIM:JIT:MIN?

  SOUR:ARB:TIM:JIT:STD?

  五、完整标准操作流程(可直接复制下发)

  scpi

  *RST;*CLS

  ! 1 清空上一轮时序缓存

  SOUR:LIST:TIM:CLEar

  ! 2 开启时序抖动捕获

  SOUR:LIST:TIM:CAPT ON

  ! 3 运行一次完整列表

  SOUR:LIST:RUN

  *WAI ! 阻塞等待列表全部执行完毕

  ! 4 读取统计参数

  PRINT "平均抖动:";SOUR:LIST:TIM:JIT:MEAN?

  PRINT "最大抖动:";SOUR:LIST:TIM:JIT:MAX?

  PRINT "最小抖动:";SOUR:LIST:TIM:JIT:MIN?

  PRINT "抖动标准差:";SOUR:LIST:TIM:JIT:STD?

  ! 可选:导出全部原始抖动数组上位机二次分析

  SOUR:LIST:TIM:JIT:DATA? 0.MAX

  六、关键配套控制指令

  清空时序缓存(每次测试前必须清空,防止旧数据干扰)

  scpi

  SOUR:LIST:TIM:CLEar

  设置时序采集分辨率(高精度微调)

  scpi

  ! 单位s,越小采集精度越高,缓存占用越大

  SOUR:LIST:TIM:RESolution 1e-6

  SOUR:LIST:TIM:RES?

  关闭时序捕获减少仪器负载

  scpi

  SOUR:LIST:TIM:CAPT OFF

  七、机型固件兼容边界

  N79xxA / N89xxA(固件≥6.02):完整支持 MEAN/MAX/MIN/STD 内置统计

  固件低于 6.02:无内置统计指令,仅可读取DATA?原始抖动数组,均值 / 标准差必须上位机 Python/LabVIEW 自行计算

  E36100 BT 小型双向源:LIST 时序采集功能阉割,无 TIM:JITTER 整套指令,只能外部示波器测时序抖动

  N6705B:仅基础 LIST,无内置时序抖动捕获子系统

  八、低固件无内置统计时上位机 Python 计算示例

  python

  运行

  import pyvisa, numpy as np

  rm = pyvisa.ResourceManager()

  inst = rm.open_resource("TCPIP::IP::INSTR")

  # 读取原始抖动数组

  jitter_raw = list(map(float, inst.query("SOUR:LIST:TIM:JIT:DATA? 0.MAX").split(',')))

  # numpy一键统计

  jit_mean = np.mean(jitter_raw)

  jit_max = np.max(jitter_raw)

  jit_min = np.min(jitter_raw)

  jit_std = np.std(jitter_raw, ddof=1)

  print(f"均值抖动:{jit_mean:.9f} s")

  print(f"最大:{jit_max:.9f} s 最小:{jit_min:.9f} s")

  print(f"标准差:{jit_std:.9f} s")

  inst.close()

  九、常见报错含义

  -113 Undefined header:固件过低,不支持 TIM:JITTER 子系统

  -222 Data out of range:还未运行 LIST 就查询抖动缓存,无采样数据

  -214 Trigger ignored:CAPT 未开启,无时序捕获记录

  补充:同步触发外部时钟减小抖动

  若抖动偏大,可外部 10MHz 参考时钟同步,SCPI 配置:

  scpi

  SYST:REF:CLOCK EXT

  SYST:REF:CLOCK?