1. 量子测控虚拟实验平台环境搭建与仪器连接验证
实验平台的三层连接关系
量子测控虚拟实验平台由三层构成:软件层(测控主控软件与仪器驱动)、虚拟仪器层(虚拟示波器、任意波形发生器、数据采集卡)和通信链路层(虚拟总线/回环通道)。环境搭建的核心不是“装完软件就结束”,而是让三层之间的通信链路可被自检确认。下图给出本例要验证的连接拓扑与自检信号流向。
环境搭建与驱动配置的关键动作
虚拟平台虽然不接真实硬件,但驱动绑定与设备枚举逻辑与真实测控系统一致。建议按“先软件、再驱动、后链路”的顺序推进,每一步都留下可核对的证据。
- 安装测控主控软件:确认安装路径无中文与空格,安装完成后启动主控软件,检查“设备管理器”面板是否为空列表(此时尚未绑定驱动,属正常状态)。
- 配置虚拟仪器驱动:在驱动配置界面为三台虚拟仪器分别指定驱动类型与逻辑地址。本例约定:AWG 逻辑地址
AWG0::CH1,示波器OSC0::CH1,DAQDAQ0::AI0。逻辑地址是后续自检脚本引用设备的唯一标识,必须与驱动配置一致。 - 建立回环通道:将 AWG CH1 输出映射到示波器 CH1 输入,同时分路到 DAQ AI0。虚拟平台中该映射通过“通道路由表”完成,需确认路由方向为“输出→输入”,避免反向配置导致无信号。
- 执行连接自检:调用主控软件的自检功能,依次检查设备枚举、驱动握手、通道连通三项。任一项失败时,自检报告会给出失败环节,便于定位。
逻辑地址一旦确定,后续所有自检脚本、波形配置都引用同一地址。若中途修改驱动绑定,需同步更新脚本中的设备标识,否则会出现“设备未找到”的误报。
用自检脚本验证通信链路
手工点击自检按钮只能得到“通过/失败”,无法留下基础参数。更可靠的做法是写一段自检脚本,主动下发已知信号并读回测量值,把连接状态与基础参数写入记录。下面给出一个可运行的自检脚本示例(Python 风格,虚拟平台提供同名 API)。
from qc_vlab import Session, AWG, OSC, DAQ
# 1. 建立会话并绑定逻辑地址
s = Session()
awg = AWG(s, "AWG0::CH1")
osc = OSC(s, "OSC0::CH1")
daq = DAQ(s, "DAQ0::AI0")
# 2. 下发自检信号:1 kHz 正弦,1.0 Vpp,直流偏置 0 V
awg.set_waveform(shape="sine", freq=1e3, vpp=1.0, offset=0.0)
awg.output_on()
# 3. 配置示波器采集参数
osc.set_channel(1, range_vpp=2.0, coupling="DC")
osc.set_timebase(200e-6) # 200 µs/div
osc.set_trigger(source="CH1", level=0.0, edge="rising")
# 4. 配置 DAQ 采样参数
daq.set_channel("AI0", range_v=5.0, coupling="DC")
daq.set_sample_rate(100e3)
daq.set_samples(2000) # 20 ms 采集窗口
# 5. 采集并读回测量值
osc_meas = osc.measure(channel=1, items=["freq", "vpp"])
daq_data = daq.read()
# 6. 判据与记录
freq_ok = abs(osc_meas["freq"] - 1e3) / 1e3 < 0.02 # 频率误差 < 2%
vpp_ok = abs(osc_meas["vpp"] - 1.0) / 1.0 < 0.05 # 幅度误差 < 5%
link_ok = freq_ok and vpp_ok
record = {
"AWG0::CH1": {"connected": awg.is_connected(), "freq_set": 1e3, "vpp_set": 1.0},
"OSC0::CH1": {"connected": osc.is_connected(), "freq_meas": osc_meas["freq"], "vpp_meas": osc_meas["vpp"]},
"DAQ0::AI0": {"connected": daq.is_connected(), "fs": 100e3, "n": len(daq_data)},
"link_ok": link_ok,
}
print(record)
脚本中的判据阈值(频率 2%、幅度 5%)是教学示例值,实际项目中应根据仪器指标收紧或放宽。运行后若 link_ok 为 True,说明 AWG→OSC 回环链路与 DAQ 分路均正常;若为 False,先看 freq_meas 与 vpp_meas 偏离方向:频率偏差大通常是时基或触发设置问题,幅度偏差大通常是量程或耦合方式不匹配。
连接状态与基础参数记录表
自检完成后,把关键状态与参数整理成一张记录表,作为后续实验的基线。下表为示例数据,字段可直接用于实验报告。
| 设备 / 逻辑地址 | 驱动绑定 | 连接状态 | 关键设置 | 读回值(示例) |
|---|---|---|---|---|
| AWG0::CH1 | 虚拟 AWG 驱动 v2.1 | 已连接 | 正弦 1 kHz / 1.0 Vpp / 偏置 0 V | 输出使能,无异常 |
| OSC0::CH1 | 虚拟示波器驱动 v2.1 | 已连接 | 时基 200 µs/div,触发 CH1 上升沿 0 V | 频率 ≈ 1.00 kHz,Vpp ≈ 1.01 V |
| DAQ0::AI0 | 虚拟 DAQ 驱动 v2.1 | 已连接 | 采样率 100 kSa/s,量程 ±5 V,2000 点 | 采样序列频率与 1 kHz 一致 |
| 回环链路 | 通道路由表 | 连通 | AWG CH1 → OSC CH1,分路 → DAQ AI0 | link_ok = True |
若自检报告显示“设备已连接但无信号”,优先检查通道路由表的方向与分路节点,而不是反复重装驱动。虚拟平台中路由配置错误是最常见的“假故障”。
常见连接异常的定位思路
- 设备列表为空:驱动未绑定或逻辑地址拼写不一致。核对驱动配置界面中的地址与脚本中的字符串是否逐字符相同。
- 示波器无波形:触发源选错通道、触发电平超出信号范围,或 AWG 输出未使能。先确认
output_on()已调用,再检查触发设置。 - DAQ 数据全零:通道号与路由分路节点不匹配,或量程设置过大导致小信号被淹没。将量程从 ±5 V 收窄到 ±2 V 再试。
- 频率读回偏差大:示波器时基与信号周期不匹配,导致测量窗口内周期数不足。1 kHz 信号建议时基不超过 500 µs/div。
完成以上步骤后,平台即具备“可下发、可采集、可判读”的基础能力,连接状态与基础参数也已形成可追溯的记录,为后续脉冲波形生成与示波器触发实验提供了稳定的起点。