# 操作原理 ## 架构与模块划分 RBPU16 是一款用于超导量子比特态信息读出的 SoC 基带芯片。芯片模拟部分包含 ADC、DAC、PLL、LVDS、POR 及温度传感器;数字部分包含 DAQ、AWG、PlsGen、Feedback 及 System 模块。 ![rbpu_schematic](../assets/rbpu_schematic.png) ### 信号流概述 **激励信号生成路径**:AWG 控制激励通道波形输出 → DAC 转换为基带读出激励信号 → AWG 同步触发 PlsGen 发出脉冲使能外部 Pump 通道。 **回波信号处理路径**:ADC 采集反射的读出基带信号 → DAQ 对基带信号进行分析处理 → 结果通过 LVDS 接口发送 → DAQ 触发 Feedback 模块将部分结果上报或下发到外部芯片。 ### 辅助模块 | 模块 | 功能 | |:-|:-| | PLL | 管理芯片时钟,为 ADC/DAC/数字模块生成所需频率 | | POR | 上电复位,保障芯片正常启动 | | 温度监视 | 实时监测芯片温度变化 | | System | 管理芯片控制状态,支撑运维和调试 |
读出芯片支持 ASIC 模式和 FPGA 模式两种工作方式。两种模式受限于资源及外部 ADC/DAC 硬件性能差异,部分功能实现存在不同,阅读时需注意区分。
## 关键数据路径 ### 读出激励输出通道 读出激励输出通道(RO 通道)由 AWG 模块和 Pump 模块协同工作,产生基带读出激励信号和 Pump 使能信号。 #### 编程资源 AWG 模块需编程六类数据资源: | 资源 | 地址空间 | 说明 | |:-|:-|:-| | MCU 指令 (MCU_INS) | `0x700000` | MCU 执行的指令流 | | MCU 数据 (MCU_DAT) | `0x800000` | 指令引用的初始数据 | | 控制寄存器 (AWG_REG) | `0x900000` | AWG 工作模式与参数 | | 波形映射表 (AWG_IDX) | `0xA00000` | 码字 → 波形段映射 | | 波形数据 (AWG_WVE) | `0xB00000` | 波形采样点存储 | | 模拟配置 (SYS_ANA) | — | DAC 输出模式与偏置校准 | #### 波形输出流程 1. MCU 每 3 个时钟周期执行一条指令,发出控制码字 2. `WAVE_ID` 字段经查找表映射为波形段起始地址和长度 3. 波形数据经希尔伯特变换生成 I/Q 两路 4. I/Q 信号与 NCO 混频,实现频率搬移 5. 经数字调幅、半带插值滤波 6. 输出至 DAC 转换为模拟信号 #### 输出模式 | 模式 | 频率范围 | 应用场景 | |:-|:-|:-| | **NRZ 直出** | DC–3 GHz | 多音基带信号,多量子比特并行读出 | | **MIX 混频** | 0.3–2.4 GHz | NCO 精确频点控制,腔频扫描 | | **NCO Only** | — | 芯片测试,连续波形输出 | | **HBMIX 半带混频** | 高频段 | 启用半带插值,提升高频信号质量 | **射频直出**:NRZ 模式下利用高阶奈奎斯特区可实现 6–7 GHz 射频直出,功率平坦度约 2 dB(受 sinc 滚降限制)。 **Pump 通道**:MCU 码字 `PUMP_EN` 位触发 PlsGen 产生可编程脉宽信号,经 `PO_PUMP_EN` 管脚输出使能外部 Pump 上变频通道。 **软复位**:写 AWG_REG 软复位寄存器可复位 AWG 内部状态机和 FIFO,复位后需重新编程所有资源。 ### 读出回波信号处理 读出回波输入通道(RI 通道)由 ADC 和 DAQ 模块构成,采集并处理反射基带信号。 #### 模拟前端 RF 回波信号 → 外部混频器下变频为基带 → 巴伦差分转换 → ADC 采样。 FPGA 平台:8 位 @ 4 GSPS;ASIC 平台:8 位 @ 6 GSPS。 #### 编程资源 DAQ 模块需编程五类数据资源: | 资源 | 地址空间 | 说明 | |:-|:-|:-| | MCU 指令 (MCU_INS) | `0x200000` | DAQ MCU 执行指令流 | | MCU 数据 (MCU_DAT) | `0x300000` | 指令引用的初始数据 | | 控制寄存器 (DAQ_REG) | `0x400000` | DAQ 工作模式与参数 | | 读出参数 (DAQ_PAR) | `0x500000` | 解模参数 | | 匹配滤波器系数 (DAQ_FLT) | `0x580000` | 匹配滤波器权重(ASIC 模式) | | 模拟配置 (SYS_ANA) | — | ADC 参考电压选择 | #### 数据处理流程 1. ADC 采集原始波形 2. 数字解模:原始波形与匹配滤波器相关运算 → I/Q 复数数据 3. 态判定:根据 I/Q 判定量子态(0 / 1 / 2 / 未定义) 4. 态统计:多次测量结果计数 5. 结果输出:经 `RSLT_PUSH` LVDS 接口发送 #### 采集模式 | 模式 | 输出数据量 | 应用场景 | |:-|:-|:-| | 原始波形 | 最大 | 调试与原始数据分析 | | IQ 数据 | 64 bit × N | 解模结果分析 | | 态数据 | 2 bit × N | 高速态读出 | | 态统计 | 最小 | 多次测量汇总 | **软复位**:写 DAQ_REG 软复位寄存器可复位 DAQ 状态机。 ## 接口控制协议 ### SPI 配置协议 SPI 采用四线模式,CPOL = 1(空闲高电平),CPHA = 1(首沿输出、次沿采样)。 ![spi_prot](../assets/spi_prot.png) **帧格式:** | 字段 | RW | ADDR | CHIP_ID | RSV | DATA | |:-:|:-:|:-:|:-:|:-:|:-:| | 位宽 | 1 | 25 | 5 | 1 | 32 × N | | 说明 | 0: 读, 1: 写 | 32 MB 地址空间 | 片选 ID | 保留 | 数据 (N ≥ 1) | 协议以流模式传输:先发送 1 bit 读写标志 + 25 bit 地址 + 5 bit 片选 ID,之后发送/接收 N × 32 bit 数据,直至主控端拉低 CSN 结束通信。每完成 32 bit 后地址自动递增 4 字节。 ### LVDS 通信协议 芯片数据推送 (`rslt_push_[p,n]`)、反馈上报 (`glb_tx_[p,n]`) 和反馈下发 (`glb_rx_[p,n]`) 接口采用定制 LVDS 协议。 **帧格式:** ``` +---------------------------------------+ | LVDS DATA FRAME | +------+-------------------+------------+ | 4 | 16/32/64/128 | 8 | +------+-------------------+------------+ | HEAD | Payload | CRC8 | +------+-------------------+------------+ MSB LSB ``` HEAD 字段定义: | Bit | 说明 | |:-|:-| | [3] | 启动标志(1 = 启动传输) | | [2] | 保留(置 0) | | [1:0] | 载荷长度:0 = 16 bit,1 = 32 bit,2 = 64 bit,3 = 128 bit | CRC8 多项式: $$x^8 + x^2 + x + 1$$ ![lvds_prot](../assets/lvds_prot.png) **同步机制**:接收端必须先与发送端同步方可接收数据。发送端发送同步码 `hfnl`(32 bit),达到设定次数后发送结束码 `exit`(32 bit)。接收端状态转移: * 初始 → **未同步**:等待同步码 * **未同步** → **确认**:收到足够次数的同步码 * **确认** → **就绪**:收到结束码 * **就绪** → **未同步**:数据接收中 CRC8 校验错误 **空闲**:无数据传输时 LVDS 电平拉高;发送数据时拉低两个数据周期后开始发送。