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` = 只写(写清除)