readout_program/chapters/80-appendix-ids-table.md

64 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 附录A. IDS寄存器索引表
本附录提供读出子系统通道配置寄存器的地址索引(IDS, Index Data Sheet),
供软件编程时通过基地址 + 偏移地址访问具体寄存器。
以下所有表格数据来源于 IDS JSON 数据文件(对应2509批次读出芯片),
由构建时自动渲染生成,确保与硬件设计数据库保持同步。
## A.1. 地址空间映射
读出子系统的配置访问采用四级寻址层级,从网络到寄存器的完整链路如下:
1. **网络地址(IP)** — 定位机箱。软件通过指定目标机箱的 IP 地址来确定与哪个机箱内的板卡通信。一个机箱内可安装多块 PXIe 板卡,IP 地址是整个通信链路的起点。
2. **扩展地址(Exaddr)** — 定位槽位和总线。[7:3]对应槽位号,exaddr[2:0]对应总线号。读出基带板允许安装在4或者15槽,混频和泵浦功能单元位于基带板相邻槽位(分离形态下混频板和泵浦板分别在基带板左右两侧;合并形态下混频/泵浦合板位于基带板右侧槽位)。软件仅需指定基带板槽位号即可定位全部功能单元。
3. **片选地址(Cid)** — 定位总线上芯片ID。采用5比特编码最大支持32颗芯片挂载到同一个spi总线上,在当前的实现中,直接使用总线编址通道号,每个芯片独占一个总线,因此Cid固定为0。
4. **配置基地址(Base)** — 定位具体配置项。采用25比特编码,其中高5比特用来定位不同模块,配合20比特的偏移地址用来具体指定配置项目。
芯片控制存在MCU视角和配置视角,区别是基地址不同。从MCU操控视角来看,AWG和DAQ模块寄存器统一映射在对应 MCU 的 **`0x200000`** 地址空间。从上位机配置视角看,基地址和偏移地址定义如下表所示:
### A.1.1. ACQ 通道模块基地址
对应 `msmt_acq` 通道类型(采集通道),共 4 个通道(ch0~ch3),
每个通道包含 5 个功能模块:
@import "../../rbpu_datasheet/data/ids.json" using render_ids_acq_map
### A.1.2. EXC 通道模块基地址
对应 `msmt_exc` 通道类型(激励通道),共 4 个通道(ch0~ch3),
每个通道包含 5 个功能模块:
@import "../../rbpu_datasheet/data/ids.json" using render_ids_exc_map
## A.2. DAQ_REG — ACQ 寄存器
ACQ 通道配置寄存器,对应采集通道的 DAQ 模块。寄存器基地址参见
[A.1.1 节](#a11-acq) 中 `DAQ_REG` 行。
各寄存器通过偏移地址在模块内部索引,如下表所示。
@import "../../rbpu_datasheet/data/ids.json" using render_ids_daq_reg
> mtf_idx_q<>跟随平台有所不同,详细参见§4.4章节,上表是以FPGA平台为例
## A.3. AWG_REG — EXC-Pump 寄存器
EXC-Pump 通道配置寄存器,对应激励通道的 AWG 模块。寄存器基地址参见
[A.1.2 节](#a12-exc) 中 `AWG_REG` 行。
各寄存器通过偏移地址在模块内部索引,如下表所示。
@import "../../rbpu_datasheet/data/ids.json" using render_ids_awg_reg
## A.4. 寄存器访问说明
- 所有寄存器支持 **SPI** 和 **MCU** 双端口访问
- 静态参数建议通过 SPI 配置后保持不变,动态参数通过 MCU 实时更新
- 寄存器位宽均为 **32 位**(不足 32 位的高位保留)
- 返回数据统一采用 **大端字节序**
- MCU 以固定 **3 个时钟周期/指令** 的速率执行
- 权限缩写:`RW` = 读写,`RO` = 只读,`WC` = 只写(写清除)