readout_program/chapters/05-07-exc-pipeline-demo.md

6.4 KiB
Raw Permalink Blame History

5.7. EXC-Pump通道全流程控制示例

本节通过一个完整的端到端示例说明EXC-Pump通道的编程配置流程。 示例基于 ASIC 平台DAC 8 bit@6 Gsps8 采样点/时钟周期),场景为输出一个 6.7 GHz 读出激励脉冲,同时触发 Pump 使能信号。

5.7.1. 端到端配置流程

EXC-Pump通道的工作流程如下

阶段 操作 说明
初始化 加载波形数据、配置索引表、配置寄存器、配置上变频、配置Pump 通过SPI写入步骤1~5无先后顺序要求
初始化 加载MCU程序 写入MCU_INS定义触发后要发出的码字
运行 外部触发 → MCU执行 → 产生码字 触发由其它硬件发出MCU响应后执行程序并生成13位码字
运行 码字解码 → 波形输出 + Pump脉冲 硬件自动流水线执行输出RF信号和使能脉冲
关键理解:
  触发信号来自外部硬件非MCUMCU是被动响应方。
  MCU 程序加载到 MCU_INS 后处于待命状态,收到触发后执行并生成码字。
  初始化配置可在任意时刻通过 SPI 完成,只需在触发前生效即可。

5.7.2. 地址空间速查

以下配置基于EXC通道0Exaddr=0各模块基地址如下完整地址映射见 附录A.1.2

模块 基地址 用途
MCU_INS 0x00700000 MCU指令存储
MCU_DAT 0x00800000 MCU数据存储
AWG_REG 0x00900000 AWG控制寄存器
AWG_IDX 0x00A00000 波形索引表256条 × 32位
AWG_WVE 0x00B00000 波形仓库128 KB
MIXER_REG 0x00100000 混频板本振配置
PUMP_REG 0x00000000 Pump通道寄存器ch0基址

5.7.3. 步骤1加载波形数据

将预计算的基带波形采样点写入 AWG_WVE

参数 说明
基带频率 1.2 GHz F_{baseband} = 6.7 - 5.5 GHz
波形长度 256 采样点 ASIC: 32 cycles × 8 samples/cycle
写入地址 0x00B00000 AWG_WVE 基地址,连续写入 256 × 16 bit
ASIC 平台每时钟周期 8 个采样点6 Gsps采样点个数需为 8 的整数倍。
FPGA 平台每时钟周期 16 个采样点4 Gsps采样点个数需为 16 的整数倍。
每个采样点为 16 位有符号整数(二进制补码),大端字节序。
波形仓库总容量 128 KB。

5.7.4. 步骤2配置波形索引表

在 AWG_IDX 中建立波形ID到存储参数的映射深度256条每条32位

WAVE_ID AWG_IDX地址 addr [31:16] len [15:0] 说明
0 0x00A00000 0x0000 0x0020 起始地址 0x0000长度 32 cycles
1 0x00A00004 0x0020 0x0010 起始地址 0x0020长度 16 cycles
addr 和 len 均以时钟周期为单位。
AWG_IDX 每条目占用 4 字节WAVE_ID=N 的地址 = 0x00A00000 + N × 4。

5.7.5. 步骤3配置EXC寄存器

通过SPI写AWG控制寄存器基带直出NRZ模式

地址 寄存器 字段 说明
0x00900034 amplitude acw [31:16] 16384 归一化幅度 16384 / 2^{14} = 1
0x00900038 frequency fcw [31:0] 0 基带直出模式NCO不生效
0x0090003C phase pcw [31:16] 0 基带直出模式NCO不生效
0x00900044 func_ctrl awg_mode [1:0] 0(直出) 原始波形不经调制
0x00900044 func_ctrl mix_mode [2] 0(基带) 使用外部模拟混频
0x00900044 func_ctrl intp_sel [3] 0(邻近插值) ASIC 可设为 1 使用半带插值优化平坦度
0x00900048 pump_ctrl delay [31:16] 2 Pump 脉冲延迟(单位时钟周期)
0x00900048 pump_ctrl width [15:0] 32 Pump 脉冲持续宽度(与波形长度对齐)

若需正交调制模式(如扫频应用),将 awg_mode 设为 1(调制),并配置 frequencyphase。详见 §5.2

5.7.6. 步骤4配置上变频

通过SPI写混频板本振频率寄存器

地址 寄存器 字段 说明
0x00100000 lo_freq fcw [31:0] 5_500_000 本振 5.5 GHz单位 kHz

同一混频板4个通道共享本振。输出频率 = 基带频率 + 本振频率 = 6.7 GHz。

5.7.7. 步骤5配置Pump

配置泵浦板寄存器ch0基址 0x00000000

地址 寄存器 字段 说明
0x00200000 pump_freq pump_freq [31:0] 7_800_000 Pump 频率 7.8 GHz单位 kHz
0x00300000 pump_power pump_power [31:0] -600 功率设定(具体映射取决于硬件校准)
0x00400000 pump_enable pump_enable [31:0] 32'h11 硬件级使能(32'h00 = 关闭)
pump_enable = 32'h11 为硬件级使能,配置后方可响应码字 PUMP_EN 位。
pump_enable = 32'h00 时无论码字如何设置Pump 均无输出。

5.7.8. 步骤6MCU程序与触发

MCU程序加载到 MCU_INS0x00700000触发后MCU执行程序并生成13位码字。 触发信号由外部硬件发出MCU响应后自动执行。

场景A同时输出波形和Pump脉冲

位段 字段名 说明
[12] PULSE_ONLY 0 正常输出波形
[11] PARAMETER_SEL 0 波形索引来自查找表
[10] NCO_CLR_EN 0 不复位NCO
[9] MARK_EN 0 不触发Marker
[8] PUMP_EN 1 触发Pump脉冲
[7:0] WAVE_ID 0 索引波形ID=032 cycles 读出脉冲)

完整码字值:0x0100

场景B仅输出Pump脉冲无波形

位段 字段名 说明
[12] PULSE_ONLY 1 禁用波形输出
[11:9] 0
[8] PUMP_EN 1 触发Pump脉冲
[7:0] WAVE_ID 0 被忽略PULSE_ONLY=1

完整码字值:0x1100

注意事项:
1. 连续触发时需确保前一码字的波形输出完成,否则波形索引表可能被覆盖。
2. 调试阶段建议使用 MARK_EN 触发Marker脉冲辅助示波器触发捕获。
3. 码字字段定义详见 [§5.1](#51-码字功能定义),具体 MCU 指令编程参见《量子编程指令集》。

5.7.9. 配置清单汇总

步骤 地址 寄存器 关键字段
1 0x00B00000 AWG_WVE 波形采样点 256 × 16 bit
2 0x00A00000 AWG_IDX[0] addr / len 0x0000 / 0x0020
3 0x00900034 amplitude acw 16384
3 0x00900038 frequency fcw 0
3 0x0090003C phase pcw 0
3 0x00900044 func_ctrl awg_mode, mix_mode, intp_sel 0x0
3 0x00900048 pump_ctrl delay / width 2 / 32
4 0x00100000 lo_freq fcw 5_500_000
5 0x00200000 pump_freq pump_freq 7_800_000
5 0x00300000 pump_power pump_power -600
5 0x00400000 pump_enable pump_enable 32'h11
6 0x00700000 MCU_INS MCU程序 产生码字 0x0100