2026-07-19 20:56:15 +08:00
|
|
|
|
# 应用信息
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
|
|
|
|
|
## 模拟接口
|
|
|
|
|
|
|
|
|
|
|
|
### DAC 输出接口
|
|
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
DAC 输出频率范围 DC–12 GHz,内部集成 50 Ω 电阻网络。外部需接差分 270 nH 电感到地,经巴伦差分转单端输出。PCB 走线注意阻抗匹配(50 Ω 差分)。
|
|
|
|
|
|
|
|
|
|
|
|
```schemdraw
|
|
|
|
|
|
import schemdraw
|
|
|
|
|
|
from schemdraw import elements as e
|
|
|
|
|
|
|
|
|
|
|
|
with schemdraw.Drawing(show=False) as d:
|
|
|
|
|
|
d.config(fontsize=11)
|
|
|
|
|
|
d += e.Line().right().label('DAC_OUT_P')
|
|
|
|
|
|
d += e.Inductor().down().label('270nH')
|
|
|
|
|
|
d += e.Ground()
|
|
|
|
|
|
d += e.Line().right().at((2.5, 0))
|
|
|
|
|
|
d += e.Transformer().label('Balun')
|
|
|
|
|
|
d += e.Line().right()
|
|
|
|
|
|
d += e.Resistor().down().label('50ohm')
|
|
|
|
|
|
d += e.Ground()
|
|
|
|
|
|
d += e.Line().right().at((0, -2.5)).label('DAC_OUT_N')
|
|
|
|
|
|
d += e.Inductor().up().label('270nH')
|
|
|
|
|
|
d += e.Ground()
|
|
|
|
|
|
d += e.Line().right().at((2.5, -2.5))
|
|
|
|
|
|
d += e.Line().up()
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
DAC 支持以下输出模式:
|
|
|
|
|
|
|
|
|
|
|
|
| 模式 | 频率范围 | 说明 |
|
|
|
|
|
|
|:-|:-|:-|
|
|
|
|
|
|
| NRZ 直出 | DC–3 GHz | 基带波形直接输出,适合多音基带信号 |
|
|
|
|
|
|
| MIX 混频 | 0.3–2.4 GHz | 基带与 NCO 混频,精确频点定位 |
|
|
|
|
|
|
| MIX-HB 半带混频 | 高频段 | 混频 + 半带插值,提升高频信号质量 |
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
频谱参考见 [DAC 特性](#dac-特性)。
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
### ADC 输入接口
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
ADC 采用差分模拟输入,两组独立通道。
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
| 参数 | 规格 | 单位 |
|
|
|
|
|
|
|:-|:-|:-|
|
|
|
|
|
|
| 满量程输入范围(差分) | 0.7 | Vpp |
|
|
|
|
|
|
| 输入共模电压 | 0.5 | V |
|
|
|
|
|
|
| 差分输入阻抗 | 100 | Ω |
|
|
|
|
|
|
| 输入带宽 (−3 dB) | 3 | GHz |
|
|
|
|
|
|
| 采样速率 | 最高 6 | GSPS |
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
基准电压模式通过 `ADC_REF_SENSE` 选择:
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
| 电平 | 模式 | 说明 |
|
|
|
|
|
|
|:-|:-|:-|
|
|
|
|
|
|
| 1.8 V | 内部带隙基准 | 无需外部参考 |
|
|
|
|
|
|
| 0.52 V | 外部参考源 | 需提供 ADC_VR850 和 ADC_VR350 |
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
波形示例参考见 [ADC 特性](#adc-特性)。
|
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
|
|
|
|
参考时钟通过 CLK_REF_P / CLK_REF_N 差分输入,AC 耦合。
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
| 参数 | 规格 | 单位 |
|
|
|
|
|
|
|:-|:-|:-|
|
|
|
|
|
|
| 频率范围 | 50–250 | MHz |
|
|
|
|
|
|
| 典型频率 | 100 或 125 | MHz |
|
|
|
|
|
|
| 要求 | 低相噪时钟源 | — |
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
内部 PLL 倍频分配:
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
| 输出 | 频率范围 | 用途 |
|
|
|
|
|
|
|:-|:-|:-|
|
|
|
|
|
|
| DAC_CLK | 6–12 GHz | DAC 更新时钟 |
|
|
|
|
|
|
| ADC_CLK | 3–6 GHz | ADC 采样时钟 |
|
|
|
|
|
|
| DIG_CLK | 250–500 MHz | 数字主时钟 |
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
|
|
|
|
|
### 环路滤波器
|
|
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
使用内部 PLL 时需外接环路滤波器。
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
PLL 电荷泵输出 (CP_OUT) → 外部二阶环路滤波器 → VCTRL。PLL_VREF520 需提供外部 520 mV 参考偏置。
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
```schemdraw
|
|
|
|
|
|
import schemdraw
|
|
|
|
|
|
from schemdraw import elements as e
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
with schemdraw.Drawing(show=False) as d:
|
|
|
|
|
|
d.config(fontsize=11)
|
|
|
|
|
|
d += e.Line().left().label('CP_OUT')
|
|
|
|
|
|
d += e.Line().right()
|
|
|
|
|
|
d += e.Resistor().right().label('R1')
|
|
|
|
|
|
d += e.Line().right().label('VCTRL')
|
|
|
|
|
|
d += e.Capacitor().down().at((2, 0)).label('C1')
|
|
|
|
|
|
d += e.Ground()
|
|
|
|
|
|
d += e.Capacitor().down().at((4, 0)).label('C2')
|
|
|
|
|
|
d += e.Ground()
|
|
|
|
|
|
```
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
**外接元件要求:**
|
|
|
|
|
|
|
|
|
|
|
|
| 端口 | 配置 | 说明 |
|
|
|
|
|
|
|:-|:-|:-|
|
|
|
|
|
|
| BIAS_CAP | 100 nF 去耦电容 | PLL 偏置去耦 |
|
|
|
|
|
|
| RES_2K | 2 kΩ 电阻到地 | PLL 偏置电阻 |
|
|
|
|
|
|
| PORT_BIAS_TB | 10 μF ×1 + 1 μF ×1 + 0.1 μF ×3 到地 | PLL 滤波电容 |
|
|
|
|
|
|
|
|
|
|
|
|
<div class="note">
|
|
|
|
|
|
环路滤波器参数(电荷泵电流、环路带宽、具体阻容值)待 PLL 设计确认后补充。
|
|
|
|
|
|
</div>
|
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
|
|
|
|
| ADC_VR850 | 850 mV | ADC 外部参考,需去耦 |
|
|
|
|
|
|
| ADC_VR350 | 350 mV | ADC 外部参考,需去耦 |
|
|
|
|
|
|
| ADC_REF_SENSE | 1.8 V / 0.52 V | ADC 带隙基准选择 |
|
|
|
|
|
|
| PLL_VREF520 | 520 mV | PLL 外部参考,需去耦 |
|
|
|
|
|
|
| VREF500IN | 500 mV | DAC 外部参考,需去耦 |
|
|
|
|
|
|
| DAC_VBIAS_IREF_RES | 5.2 kΩ + 10 μF 到地 | DAC 偏置基准电流 |
|
|
|
|
|
|
| ADC_VBIAS_IREF_RES | 5.2 kΩ + 10 μF 到地 | ADC 偏置基准电流 |
|
|
|
|
|
|
| PLL_CP_OUT | 电荷泵输出 | 经环路滤波器接 VCTRL |
|
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
|
|
|
|
芯片上电须严格遵循以下顺序:
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
| 步骤 | 操作 | 说明 |
|
|
|
|
|
|
|:-|:-|:-|
|
|
|
|
|
|
| 1 | 内核供电 (DIG_VDD, DAC_DVDD, PLL_DVDD, ADC_DVDD) | 数字内核上电 |
|
|
|
|
|
|
| 2 | IO 供电 (IO_VDD) | 数字 I/O 上电 |
|
|
|
|
|
|
| 3 | 模拟供电 (DAC_AVDD18, PLL_VDD18, ADC_VDD18, AVDD_ENCODER, AVDD_P2S, PLL_VDD, VCO_VDD, ADC_VDD) | 模拟域上电 |
|
|
|
|
|
|
| 4 | 参考时钟输入 | 提供稳定参考时钟 |
|
|
|
|
|
|
| 5 | 解除复位 (PB_RST_N 拉高) | 芯片启动 |
|
|
|
|
|
|
|
|
|
|
|
|
<div class="note">
|
|
|
|
|
|
上电时序波形图待补充。
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
### 复位
|
|
|
|
|
|
|
|
|
|
|
|
| 复位类型 | 触发方式 | 影响范围 |
|
|
|
|
|
|
|:-|:-|:-|
|
|
|
|
|
|
| 上电复位 (POR) | 芯片上电自动触发 | 全芯片 |
|
|
|
|
|
|
| 硬复位 | PB_RST_N 拉低 | 全芯片 |
|
|
|
|
|
|
| 软复位 | 写 SYS_REG 软复位寄存器 | 可分别复位 AWG / DAQ / System |
|
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
|
|
|
|
读出芯片上电后应先执行校准(ADC/DAC/PLL/系统同步),校准流程参见附录 [运维操作手册](#运维操作手册)。实验操作遵循**数据配置 → 实验运行 → 数据采集**三个阶段。
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
|
|
|
|
|
### 数据配置阶段
|
|
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
| 通道 | 配置内容 | 接口 |
|
|
|
|
|
|
|:-|:-|:-|
|
|
|
|
|
|
| RO(激励) | 输出模式、波形查找表、波形数据、MCU 程序 | SPI |
|
|
|
|
|
|
| RI(采集) | 采集模式、读出参数、匹配滤波器权重、MCU 程序 | SPI |
|
|
|
|
|
|
| Pump | 使能脉宽、码字触发延迟 | SPI |
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
|
|
|
|
|
<div class="important">
|
2026-07-19 20:56:15 +08:00
|
|
|
|
若芯片出现异常,实验配置前应通过写寄存器软复位芯片状态机和寄存器默认值。配置用例参考附录 [历史无关配置集](#历史无关配置集)。
|
2026-07-18 00:51:43 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
### 实验运行阶段
|
|
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
同步触发信号 (SYNC_IN) 启动芯片运行,确保多芯片间时序确定。同步信号经内部延迟模块为 DAQ 和 AWG 分别补偿延迟,保证协同运行。
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
MCU 从地址 0 启动,每 3 个时钟周期执行一条指令,通过控制码字驱动:
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
* **AWG**:波形输出 + Pump 使能
|
|
|
|
|
|
* **DAQ**:数据采集 + 反馈上报/下发
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
MCU 执行退出指令后进入空闲状态。
|
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
|
|
|
|
数据采集与 MCU 运行同步启动。若采集量大,MCU 可能先于采集结束;数据继续写入缓存,上报模块持续推送,直至缓存清空。
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
可通过检测推送数据量是否达到目标数据量来判断实验完成。若数据量未知,需在 MCU 结束后等待一定时间,通过检测数据返回来判断。
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
**速率匹配**:为避免缓存写满,数据产生速率和数据回传速率须匹配。以解模 IQ 数据为例:
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
设 *T* 为数据产生间隔,*N* 为并行读出 Qubit 数,*F* 为 LVDS 有效速率,触发间隔须满足:
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
|
|
|
|
|
$$T > \frac{64 \times N}{F}$$
|
|
|
|
|
|
|
|
|
|
|
|
## 异常处理
|
|
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
### 中断管理
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
芯片通过 INT_STATUS 和 INT_MASK 寄存器管理中断。INT_STATUS = (INT_MASK & 实际状态) | INT_STATUS,需写寄存器清零。
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
|
|
|
|
|
### 中断处理流程
|
|
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
1. 读取 INT_STATUS,确认中断源
|
|
|
|
|
|
2. 记录异常信息(类型、时间、运行状态)
|
|
|
|
|
|
3. 按中断类型处理:
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
| 中断源 | 处理措施 |
|
|
|
|
|
|
|:-|:-|
|
|
|
|
|
|
| EXIT_IR | 正常退出,可启动下一轮实验 |
|
|
|
|
|
|
| ILLEGAL_ONE / ILLEGAL_ZERO | 检查并重新下载 MCU 程序,软复位 MCU |
|
|
|
|
|
|
| UNALIGN_SW / UNALIGN_LW | 检查 load/store 指令地址对齐 |
|
|
|
|
|
|
| LINK_DOWN | 检查 LVDS 物理连接和信号完整性,重新同步 |
|
|
|
|
|
|
| FORCE_AWG / FORCE_DAQ | 按外部控制器逻辑处理 |
|
2026-07-18 00:51:43 +08:00
|
|
|
|
|
2026-07-19 20:56:15 +08:00
|
|
|
|
4. 写 INT_STATUS 清零中断标志
|
|
|
|
|
|
5. 如需恢复运行:软复位 MCU 状态机并重新配置
|
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
|
|
|
|
* MCU 程序写入后通过回读比对验证正确性
|
|
|
|
|
|
* LVDS 传输前确认收发双方已完成同步
|
|
|
|
|
|
* 实验运行期间禁止访问运维寄存器(系统/模拟/PLL 配置)
|
|
|
|
|
|
* 通过 INT_MASK 启用关注的中断源,屏蔽无关中断
|
|
|
|
|
|
* MCU 程序末尾必须包含退出指令 `exit x0, x0, 0`
|