rbpu_datasheet/chapters/06_theory_of_operation.md

168 lines
6.4 KiB
Markdown
Raw Permalink Normal View History

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