3. 量子测控系统软件架构与通信协议
量子测控系统并不是“一台仪器加一个软件”的简单组合,而是一条从用户操作界面一直延伸到量子芯片端口的多层软硬件链路。理解这条链路的层次划分与各段通信协议,是后续联调和故障诊断的基础:只有知道一个控制指令从哪一层产生、经过哪些协议封装、最终以什么物理信号到达芯片,才能在链路中断时快速定位是软件、驱动、固件还是总线的问题。
一、四层软件架构与职责边界
典型的量子测控系统可划分为上位机软件层、驱动层、FPGA 固件层和硬件物理层,四层之间通过明确定义的接口通信。
- 上位机软件层:面向实验人员,负责脉冲序列编辑、参数配置、实验调度、数据采集与可视化。它把“对某个量子比特施加一个 20 ns 的 X 门”这样的高层语义,翻译成一组带时间戳的波形数据与通道配置。
- 驱动层:运行在主机操作系统内核或用户态,负责把上位机的抽象请求转换为对具体板卡的寄存器读写、DMA 传输和中断处理。它屏蔽了 PXIe、USB、以太网等不同物理接口的差异。
- FPGA 固件层:板卡上的实时逻辑,负责波形播放、时序触发、ADC 采样、数字解调(如 IQ 混频)和结果缓存。它工作在纳秒级时间尺度,是“实时性”的真正承担者。
- 硬件物理层:DAC/ADC、本振、放大器、衰减器以及连接量子芯片的射频/直流线缆。
这四层的分工可以用一句话概括:上位机决定“做什么”,驱动决定“发给谁”,FPGA 决定“什么时候做”,硬件决定“做成什么信号”。
二、通信链路与协议的分段
从主机到芯片,通信链路通常分为三段,每段使用不同的协议,速率和实时性要求逐段提高。
第一段:上位机 ↔ 板卡(TCP/IP 与 PXIe)。若测控机箱通过以太网连接,上位机与板卡控制器之间使用 TCP/IP:配置类指令走 TCP 保证可靠有序,大批量波形数据可用 UDP 或 TCP 流式下发。若采用 PXIe 机箱,则通过 PCIe 总线直接映射板卡 BAR 空间,寄存器读写延迟可低至微秒级,DMA 带宽可达 GB/s 量级,适合高速波形与采集数据的搬运。选择哪种,取决于对延迟和带宽的要求:慢速参数配置用 TCP/IP 足够,高速闭环反馈则必须走 PXIe。
第二段:板卡控制器 ↔ FPGA(SPI/I2C 与内部总线)。板卡上的 CPU 或控制器需要通过 SPI、I2C 等串行总线访问 FPGA 内部的配置寄存器、时钟芯片、衰减器芯片和温度传感器。SPI 通常用于高速寄存器访问(几 MHz 到几十 MHz),I2C 用于低速监控器件(100 kHz~1 MHz)。这一段是“配置通道”,不承载实时波形。
第三段:FPGA ↔ 模拟前端(并行 LVDS/自定义时序)。FPGA 通过并行 LVDS 或专用高速串行链路把波形样点送到 DAC,同时接收 ADC 采样数据。这一段是“数据通道”,由 FPGA 内部时钟驱动,与上位机软件无直接关系。
三、协议分层与数据流示意
下图给出一个典型量子测控系统的分层结构与数据流方向。左侧为控制流(自上而下),右侧为数据流(自下而上),中间标注了各段使用的协议。
四、一次典型实验的指令路径
以“对 Q1 施加 20 ns 高斯型 X 门并读取结果”为例,指令的实际路径如下:
- 上位机把脉冲包络、频率、相位、通道号打包为一条实验描述,通过 TCP/IP 发送到板卡控制器。
- 驱动层解析该描述,把波形样点写入 FPGA 的波形 RAM,把触发时间、重复次数写入控制寄存器。
- 控制器通过 SPI 把寄存器地址与数据写入 FPGA,同时通过 I2C 设置衰减器衰减值(例如 10 dB)。
- FPGA 在收到触发后,按内部 1 GS/s 时钟从 RAM 读出样点,经 LVDS 送到 DAC,输出中频信号与本振混频后送入芯片。
- 读取阶段,ADC 采样经 FPGA 数字解调得到 IQ 值,缓存后由驱动通过 DMA 搬回主机,上位机显示概率分布。
这条路径中任何一段出错,都会表现为“实验结果不对”,但错误位置完全不同。例如:TCP/IP 丢包会导致波形数据不完整;SPI 写寄存器失败会导致触发不产生;I2C 衰减器未设置会导致信号幅度异常;FPGA 时序错位会导致脉冲位置偏移。
五、联调中的关键检查点
在实际联调时,建议按“自下而上”的顺序逐段验证,而不是一上来就跑完整实验:
- 物理层:用示波器确认 DAC 输出有信号、本振频率正确、衰减器实际衰减值与设定一致。
- FPGA 层:用板卡自带的环回测试或计数器,确认触发、播放、采样逻辑正常。
- 驱动层:用寄存器读写测试确认 BAR 空间映射正确、DMA 能正常搬运数据。
- 上位机层:先发单通道、单脉冲的简单序列,确认端到端链路通畅后再增加复杂度。
六、协议选择与参数示例
下表给出一个教学示例中的典型配置,用于说明不同链路的参数范围。这些数值属于合理假设,实际系统需以板卡手册为准。
| 链路 | 协议 | 典型速率 | 典型延迟 | 用途 |
|---|---|---|---|---|
| 上位机 ↔ 控制器 | TCP/IP | 1 Gbps | 百微秒级 | 配置下发、数据回传 |
| 上位机 ↔ 板卡 | PXIe Gen3 x8 | 约 8 GB/s | 微秒级 | 高速波形与采集数据 |
| 控制器 ↔ FPGA | SPI | 10~50 MHz | 微秒级 | 寄存器配置 |
| 控制器 ↔ 监控芯片 | I2C | 400 kHz | 毫秒级 | 衰减器、温度、电压监控 |
| FPGA ↔ DAC | LVDS 并行 | 1 GS/s | 纳秒级 | 波形样点输出 |
理解这张表的关键在于:越靠近芯片,速率越高、延迟越低、实时性越强,但可编程性和灵活性越差。上位机适合做复杂逻辑和用户交互,FPGA 适合做确定性时序,两者通过驱动和总线各司其职。联调时,先确认每一段的“通”,再确认每一段的“对”,最后才追求整体性能,这是量子测控系统调试最稳妥的路径。