64 lines
3.4 KiB
Markdown
64 lines
3.4 KiB
Markdown
# 附录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` = 只写(写清除)
|