总线架构
简介
芯片采用多层 AXI 互连矩阵(Multi-layer AXI Matrix)作为片内通信总线架构。可以将其理解为芯片内部的"多车道立交枢纽":多个主设备(Master,即发起传输的模块,如 CPU、DMA)可同时通过不同路径访问从设备(Slave,即被访问的目标,如 SRAM、Flash、外设),互不干扰。其核心特性如下:
多通道并行访问:多个主设备可在同一时刻通过不同路径访问不同的从设备,消除了传统单总线的串行瓶颈,显著提升数据吞吐量。
分层外设集成:高速 AXI 矩阵直连 CPU 和存储器,低速外设(APB)通过专用的 AXI-to-AHB/APB 桥接器降速接入,保证高速核心不因等待慢速外设而降效。
备注
ARM AMBA 总线协议按性能分三档:AXI4(高速,用于 CPU/DMA/存储器)、AHB(中速,常用于总线桥)、APB4(低速,用于外设寄存器访问)。
架构示意图
各芯片总线架构如下图所示。图中可看到各主控端口(M*)如何通过互连矩阵连接到各从端口(S*),以及 AXI/AHB/APB 桥的层级位置。
主控端口
主控端口(Master Port)是发起总线事务的一侧,CPU、DMA、Wi-Fi 等需要主动读写数据的模块均通过主控端口接入互连矩阵。
端口 ID |
主控 |
互连类型 |
数据总线宽度 |
描述 |
|---|---|---|---|---|
M0 |
KM0 |
AXI4 |
32 bits |
KM0 CPU 主控 |
M1 |
KM4 |
AXI4 |
32 bits |
KM4 CPU 主控 |
M2 |
GDMA0 |
AXI4 |
32 bits |
GDMA0 控制器主控 |
M3 |
Wi-Fi |
AXI4 |
32 bits |
Wi-Fi 主控 |
M4-0 |
SDIO |
AHB |
32 bits |
SDIO 主控 |
M4-1 |
LX_Master_AES_Hash |
AXI4 |
32 bits |
AES/SHA 主控 |
M5-0 |
SIC |
APB4 |
32 bits |
SIC 主控 |
M5-1 |
OTPC |
APB4 |
32 bits |
OTP 控制器主控 |
M6 |
PPE |
AXI4 |
32 bits |
PPE 主控 |
端口 ID |
主控 |
互连类型 |
数据总线宽度 |
描述 |
|---|---|---|---|---|
M0-0 |
KR4 |
AXI4 |
32 bits |
KR4 CPU 主控 |
M0-1 |
OTPC |
APB4 |
32 bits |
OTP 控制器主控 |
M1 |
KM4 |
AXI4 |
32 bits |
KM4 CPU 主控 |
M2 |
GDMA0 |
AXI4 |
32 bits |
GDMA0 控制器主控 |
M3 |
Wi-Fi |
AXI4 |
32 bits |
Wi-Fi 主控 |
M4 |
LX_Master |
AXI4 |
32 bits |
AES/SHA 主控 |
M6 |
SIC |
APB4 |
32 bits |
SIC 主控 |
端口 ID |
主控 |
互连类型 |
数据总线宽度 |
描述 |
|---|---|---|---|---|
M0-0 |
KR4 |
AXI4 |
32 bits |
KR4 CPU 主控 |
M0-1 |
OTPC |
APB4 |
32 bits |
OTP 控制器主控 |
M1 |
KM4 |
AXI4 |
32 bits |
KM4 CPU 主控 |
M2 |
GDMA0 |
AXI4 |
32 bits |
GDMA0 控制器主控 |
M3 |
Wi-Fi |
AXI4 |
32 bits |
Wi-Fi 主控 |
M4 |
LX_Master |
AXI4 |
32 bits |
AES/SHA 主控 |
M6 |
SIC |
APB4 |
32 bits |
SIC 主控 |
端口 ID |
主控 |
互连类型 |
数据总线宽度 |
描述 |
|---|---|---|---|---|
M0-0 |
KR4 |
AXI4 |
32 bits |
KR4 CPU 主控 |
M0-1 |
OTPC |
APB4 |
32 bits |
OTP 控制器主控 |
M1 |
KM4 |
AXI4 |
32 bits |
KM4 CPU 主控 |
M2 |
GDMA0 |
AXI4 |
32 bits |
GDMA0 控制器主控 |
M3 |
Wi-Fi |
AXI4 |
32 bits |
Wi-Fi 主控 |
M4 |
LX_Master |
AXI4 |
32 bits |
AES/SHA 主控 |
M5 |
HiFi 5 DSP |
AXI4 |
64 bits |
HiFi 5 DSP 主控 |
M6 |
SIC |
APB4 |
32 bits |
SIC 主控 |
M7 |
iDMA |
AXI4 |
64 bits |
DSP 内部 DMA 主控 |
端口 ID |
主控 |
互连类型 |
数据总线宽度 |
描述 |
|---|---|---|---|---|
M0-0 |
KR4 |
AXI4 |
32 bits |
KR4 CPU 主控 |
M0-1 |
OTPC |
APB4 |
32 bits |
OTP 控制器主控 |
M1 |
KM4 |
AXI4 |
32 bits |
KM4 CPU 主控 |
M2 |
GDMA0 |
AXI4 |
32 bits |
GDMA0 控制器主控 |
M3 |
Wi-Fi |
AXI4 |
32 bits |
Wi-Fi 主控 |
M4 |
LX_Master |
AXI4 |
32 bits |
AES/SHA 主控 |
M5 |
HiFi 5 DSP |
AXI4 |
64 bits |
HiFi 5 DSP 主控 |
M6 |
SIC |
APB4 |
32 bits |
SIC 主控 |
M7 |
iDMA |
AXI4 |
64 bits |
DSP 内部 DMA 主控 |
HP 平台的主控端口
端口 ID |
主控 |
互连类型 |
数据总线宽度 |
描述 |
|---|---|---|---|---|
M0 |
LS Master Bridge |
AXI |
32 bits |
通过 LBRG 连接到 HP 总线矩阵的 KM0 CPU 主控 |
M1 |
CA32 CPU |
AXI |
128 bits |
CA32 CPU 主控 |
M2 |
KM4 CPU |
AXI |
64 bits |
KM4 CPU 主控 |
M3 |
GDMA0 |
AXI |
32 bits |
GDMA0 控制器主控 |
M4 |
LCDC |
AXI |
32 bits |
LCDC 主控 |
M5 |
Wi-Fi |
AXI |
32 bits |
Wi-Fi 主控 |
M6 |
LX_Master |
AXI |
32 bits |
AES/SHA/EMMC 主控 |
M7 |
USB OTG |
AHB |
32 bits |
USB OTG 主控 |
LS 平台的主控端口
端口 ID |
主控 |
互连类型 |
数据总线宽度 |
描述 |
|---|---|---|---|---|
M0 |
KM0 CPU |
AXI |
32 bits |
KM0 CPU 主控 |
M1 |
OTPC |
APB |
32 bits |
OTP 控制器主控 |
M2 |
SIC |
AHB |
32 bits |
SIC 主控 |
M3 |
HP Master Bridge |
AXI |
128 bits |
通过 HBRG 连接到 LS 总线矩阵的 HP 主控 |
端口 ID |
主控 |
互连类型 |
数据总线宽度 |
描述 |
|---|---|---|---|---|
M0 |
KM4TZ |
AXI4 |
32 bits |
KM4TZ CPU 主控 |
M1 |
KM4NS |
AXI4 |
32 bits |
KM4NS CPU 主控 |
M2 |
GDMA0 |
AXI4 |
32 bits |
GDMA0 主控 |
M3 |
Wi-Fi |
AXI4 |
32 bits |
Wi-Fi 主控 |
M4-0 |
SDIO_WIFI |
AHB |
32 bits |
SDIO Wi-Fi 主控 |
M4-1 |
SDIO_BT |
AHB |
32 bits |
SDIO Bluetooth 主控 |
M4-2 |
USB |
AXI4 |
32 bits |
USB 主控 |
M5-0 |
SIC |
APB4 |
32 bits |
SIC 主控 |
M5-1 |
OTPC |
APB4 |
32 bits |
OTP 主控 |
M6 |
AES/SHA |
AXI4 |
32 bits |
AES/SHA 主控 |
M7 |
MJPEG |
AXI4 |
32 bits |
MJPEG 主控 |
M8 |
LCDC |
AXI4 |
32 bits |
LCDC 主控 |
M9 |
SDIOH |
AHB |
32 bits |
SDIOH 主控 |
M10 |
RMII |
AXI4 |
32 bits |
RMII 主控 |
M11 |
PPE |
AXI4 |
32 bits |
PPE 主控 |
从端口
从端口(Slave Port)是响应总线访问的一侧,存储器和外设作为从设备挂接于此。表格中的"安全属性"列说明了该端口的访问控制机制:
MPC (Memory Protection Controller):对该存储区域进行安全/非安全分区管控,只有授权主控才能访问对应分区。
PPC (Peripheral Protection Controller):对外设寄存器进行访问权限管控。
Non-secure:不受安全控制,所有主控均可直接访问。
端口 ID |
从设备 |
互连类型 |
数据总线宽度 |
安全属性 |
描述 |
|---|---|---|---|---|---|
S0 |
SPIC 自动模式 |
AXI4 |
32 位 |
Non-secure |
Flash 自动模式访问,通过 SPI Flash 控制器连接到总线矩阵 |
S1 |
HS SRAM0 |
AXI4 |
64 位 |
MPC |
片上 SRAM |
S2 |
HS_SHARE_SRAM |
AXI4 |
32 位 |
MPC |
BT/Wi-Fi 共享 SRAM,当 BT/Wi-Fi 关闭时可供主设备使用。 |
S3 |
HS 外设 |
AXI4/AHB/APB4 |
32 位 |
PPC |
High-speed 外设 |
S4 |
LS_ON 外设 |
APB4 |
32 位 |
PPC |
Low-speed 外设,且睡眠模式下依然保持供电。 |
S5 |
LS 外设 |
APB4 |
32 位 |
PPC |
Low-speed 外设 |
S6 |
PSRAM |
AXI4 |
32 位 |
MPC |
外部 PSRAM |
端口 ID |
从设备 |
互连类型 |
数据总线宽度 |
安全属性 |
描述 |
|---|---|---|---|---|---|
S1 |
SPIC 自动模式 |
AXI4 |
32 位 |
Non-secure |
Flash 自动模式访问,通过 SPI Flash 控制器连接到矩阵 |
S2 |
SRAM0 |
AXI4 |
64 位 |
MPC |
片上 SRAM 0 |
S3 |
SRAM1 |
AXI4 |
64 位 |
MPC |
片上 SRAM 1 |
S4 |
SRAM2 |
AXI4 |
32 位 |
Non-secure |
用于 DSP、BT 和 Wi-Fi 的 SRAM,当未使用 DSP、BT 和 Wi-Fi 的任何功能时,可用作共享系统 RAM。 |
S5 |
HS 外设 |
AHB/APB4 |
32 位 |
PPC |
High-speed 外设 |
S6 |
LS 外设 |
AXI4/AHB/APB4 |
32 位 |
PPC |
Low-speed 外设 |
S7 |
PSRAM |
AXI4 |
32 位 |
MPC |
外部 PSRAM |
S8 |
KR4_PLIC |
AXI4 |
32 位 |
Non-secure |
KR4 PLIC |
端口 ID |
从设备 |
互连类型 |
数据总线宽度 |
描述 |
|---|---|---|---|---|
S1 |
SPIC 自动模式 |
AXI4 |
32 位 |
Flash 自动模式访问,通过 SPI Flash 控制器连接到矩阵 |
S2 |
SRAM0 |
AXI4 |
64 位 |
片上 SRAM 0 |
S3 |
SRAM1 |
AXI4 |
64 位 |
片上 SRAM 1 |
S4 |
SRAM2 |
AXI4 |
32 位 |
供 DSP、BT 和 Wi-Fi 使用的 SRAM,当未使用 DSP、BT 和 Wi-Fi 的任何功能时,可用作共享系统 RAM |
S5 |
HS 外设 |
AHB/APB4 |
32 位 |
High-speed 外设 |
S6 |
LS 外设 |
AXI4/AHB/APB4 |
32 位 |
Low-speed 外设 |
S7 |
PSRAM |
AXI4 |
32 位 |
外部 PSRAM |
S8 |
KR4_PLIC |
AXI4 |
32 位 |
KR4 PLIC |
端口 ID |
从设备 |
互连类型 |
数据总线宽度 |
安全属性 |
描述 |
|---|---|---|---|---|---|
S1 |
SPIC 自动模式 |
AXI4 |
32 位 |
Non-secure |
Flash 自动模式访问,通过 SPI Flash 控制器连接到矩阵 |
S2 |
SRAM0 |
AXI4 |
64 位 |
MPC |
片上 SRAM 0 |
S3 |
SRAM1 |
AXI4 |
64 位 |
MPC |
片上 SRAM 1 |
S4 |
SRAM2 |
AXI4 |
32 位 |
Non-secure |
用于 DSP、BT 和 Wi-Fi 的 SRAM,当未使用 DSP、BT 和 Wi-Fi 的任何功能时,可用作共享系统 RAM。 |
S5 |
HS 外设 |
AHB/APB4 |
32 位 |
PPC |
High-speed 外设 |
S6 |
LS 外设 |
AXI4/AHB/APB4 |
32 位 |
PPC |
Low-speed 外设 |
S7 |
PSRAM |
AXI4 |
32 位 |
MPC |
外部 PSRAM |
S8 |
KR4_PLIC |
AXI4 |
32 位 |
Non-secure |
KR4 PLIC |
端口 ID |
从设备 |
互连类型 |
数据总线宽度 |
描述 |
|---|---|---|---|---|
S1 |
SPIC 自动模式 |
AXI4 |
32 位 |
Flash 自动模式访问,通过 SPI Flash 控制器连接到矩阵 |
S2 |
SRAM0 |
AXI4 |
64 位 |
片上 SRAM 0 |
S3 |
SRAM1 |
AXI4 |
64 位 |
片上 SRAM 1 |
S4 |
SRAM2 |
AXI4 |
32 位 |
供 DSP、BT 和 Wi-Fi 使用的 SRAM,当未使用 DSP、BT 和 Wi-Fi 的任何功能时,可用作共享系统 RAM |
S5 |
HS 外设 |
AHB/APB4 |
32 位 |
High-speed 外设 |
S6 |
LS 外设 |
AXI4/AHB/APB4 |
32 位 |
Low-speed 外设 |
S7 |
PSRAM |
AXI4 |
32 位 |
外部 PSRAM |
S8 |
KR4_PLIC |
AXI4 |
32 位 |
KR4 PLIC |
HP 平台的从端口
端口 ID |
从设备 |
互连类型 |
数据总线宽度 |
安全属性 |
描述 |
|---|---|---|---|---|---|
S0 |
DDR P0 |
AXI |
128 位 |
MPC |
DDR 从端口仅对 CA32 主端口开放 |
S1 |
DDR P1 |
AXI |
128 位 |
MPC |
DDR 从端口仅对 LCDC 主端口开放 |
S2 |
DDR/PSRAM |
AXI |
128/32 位 |
MPC |
PSRAM 和 DDR 共享 S2。硬件根据 EXT_MEM_IS_DDR 信号选择访问哪个端口。 |
S3 |
HP SRAM0 |
AXI |
64 位 |
MPC |
专用于 HP 主端口的 SRAM |
S5 |
HP SRAM2 |
AXI |
32 位 |
Non-secure |
用于 BT 的 SRAM,当 BT 关闭时可被 HP 主端口使用。 |
S6 |
KM0 Slaves |
AXI |
32 位 |
Non-secure |
HP 主控通过访问该端口访问 LS 总线矩阵。 |
S7 |
SPIC User Mode |
AXI |
32 位 |
Non-secure |
Flash 用户模式访问,通过 SPIC 连接到矩阵 |
S8 |
HP Peripherals |
AHB/APB4 |
32 位 |
PPC |
High-speed 外设 |
S9 |
HP Peripherals |
AXI4/AHB/APB4 |
32 位 |
PPC |
High-speed 外设 |
S10 |
CA32 Boot ROM |
AXI |
128 位 |
Secure |
专用于 CA32 主端口的 ROM |
S11 |
SPIC Auto Mode |
AXI |
32 位 |
Non-secure |
Flash 自动模式访问,通过 SPIC 连接到矩阵 |
S12 |
CA32 Debug IP / Timestamp |
APB |
32 位 |
Non-secure |
专用于 CA32 主端口的调试组件 |
S13 |
CA32 GIC400 |
AXI |
32 位 |
Non-secure |
专用于 CA32 主端口的中断控制器 |
LS 平台的从端口
端口 ID |
从设备 |
互连类型 |
数据总线宽度 |
安全属性 |
描述 |
|---|---|---|---|---|---|
S0 |
KM0 SRAM0 |
AXI |
32 位 |
Non-secure |
专用于 LS 主端口的 SRAM |
S1 |
LS Peripherals |
APB4 |
32 位 |
Non-secure |
Low-speed 外设 |
S2 |
KM4 Slaves |
AXI |
32 位 |
Non-secure |
Master ID 将被传输到 HP |
S3 |
Wi-Fi FW |
AHB |
32 位 |
Non-secure |
Wi-Fi FW 从端口 |
S4 |
SPIC User Mode |
AXI |
32 位 |
Non-secure |
SPI Flash 控制器 |
S5 |
SPIC Auto Mode |
AXI |
32 位 |
Non-secure |
Flash 自动模式访问,通过 SPI Flash 控制器连接到矩阵 |
端口 ID |
从设备 |
互连类型 |
数据总线宽度 |
安全属性 |
描述 |
|---|---|---|---|---|---|
S0 |
ROM |
AXI4 |
32 位 |
Non-secure |
KM4TZ 内部 ROM |
S1 |
SPIC 自动模式 |
AXI4 |
32 位 |
Non-secure |
Flash 自动模式访问,通过 SPI Flash 控制器连接到矩阵 |
S2 |
SRAM |
AXI4 |
64 位 |
MPC |
片上 SRAM |
S3 |
HS 外设 |
AXI4/AXI/AHB/APB4/APB3 |
32 位 |
PPC |
High-speed 外设 |
S4 |
LS_ON 外设 |
APB4 |
32 位 |
PPC |
Low-speed 外设,且睡眠模式下依然保持供电 |
S5 |
LS 外设 |
APB4 |
32 位 |
PPC |
Low-speed 外设 |
S6 |
PSRAMC |
AXI4 |
32 位 |
MPC |
外部 PSRAM 控制器 |
备注
各个从端口包含的详细内容参考 存储器组织 。