STM32H743xI总线
共分为三个域:D1 Domain,D2 Domain 和 D3 Domain。
D1 Domain
D1 域中的各个外设是挂在 64 位 AXI 总线组成 67 的矩阵上。
⚫ 6 个从接口端
外接的主控是CPU,SDMMC1,MDMA,DMA2D,LTDC,D2 to D1总线。
⚫ 7 个主接口端
外接的从设备是 AHB3 总线,Flash A,Flash B,FMC 总线,QSPI 和 AXI SRAM, APB3 总线是由AHB3分出来的。
D2 Domain
D2 域的各个外设是挂在 32 位 AHB 总线组成 109 的矩阵上。
⚫ 10 个从接口
外接的主控是 D1-to-D2 AHB 总线,AHBP 总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1 和 USB HS2。
⚫ 9 个主接口
外接的从设备是 SRAM1,SRMA2,SRAM3,AHB1,AHB2,APB1,APB2,D2-to-D1 AHB总线和 D2-to-D3 AHB 总线。
D3 Domain
D3 域的各个外设是挂在 32 位 AHB 总线组成 3*2 的矩阵上。
⚫ 3 个从接口
外接的主控 D1-to-D3 AHB 总线,D2-to-D3 AHB 总线和 BDMA。
⚫ 2 个主接口
外接的从设备是 AHB4,SRAM4 和 Bckp SRAM。另外 AHB4 也是这个总线矩阵分支出来的,然后再由 AHB4 分支出 APB4 总线。
这三个域之间也是有互联的:
◆ D1 域到 D2 域的 D1-to-D2 AHB bus
允许 D1 域中的主接口外设访问 D2 域里面的从接口外设。比如 D1 域里面的 DMA2D 访问 D2 域里
面的 SRAM1。
◆ D2 域到 D1 域的 D2-to-D1 AHB bus
允许 D2 域中的主接口外设访问 D1 域里面的从接口外设。比如 D2 域里面的 DMA2 访问 D1 域里面
的 AXI SRAM。
◆ D1 域到 D3 域的 D1-to-D3 AHB bus
允许 D1 域中的主接口外设访问 D3 域里面的从接口外设。比如 D1 域里面的 MDMA 访问 D3 域里面
的 SRAM4。
◆ D2 域到 D3 域的 D2-to-D3 AHB bus。
允许 D2 域中的主接口外设访问 D3 域里面的从接口外设。比如 D2 域里面的 DMA2 访问 D3 域里面
的 SRAM4。
AXI 总线特色
AXI 支持高频率、高性能的系统设计:
◆ 支持高带宽,低延迟设计。
◆ 提供高频操作,无需复杂的总线桥。
◆ 满足各种组件的接口需求。
◆ 适用于具有高初始访问延迟的内存控制器。
◆ 为互连架构的实现提供了灵活性。
◆ 与现有的 AHB 和 APB 接口向后兼容。
AXI 总线的关键特性:
◆ 独立的地址、控制和数据线。
◆ 支持非字节对齐方式传输。
◆ 基于起始地址的突发传输。
◆ 分开的读和写数据通道,且提供 DMA 传输。
◆ 支持发起多个地址。
◆ 支持无序传输。
◆ 允许添加寄存器,以提供时序收敛。
关于 AXI 总线,ARM 有一篇古文观止级文档《AXI4_specification》,安富莱大佬在论坛给出
AXI4_specification
AXI总线简介框图
针对从接口 ASIBs,描述如下:
ASIB | 连接的主控 | 协议 | 总线带宽 | 读/写发起能力 |
---|---|---|---|---|
IN1 | D2 域的 AHB 总线 | AHB-lite | 32 | 1/4 |
IN2 | Cortex-M7 | AXI4 | 64 | 7/32 |
IN3 | SDMMC1 | AHB-lite | 32 | 1/4 |
IN4 | MDMA | AXI4 | 64 | 4/1 |
IN5 | DMA2D | AXI4 | 64 | 2/1 |
IN6 | LTDC | AXI4 | 64 | 1/1 |
ASIB | 连接的从设备 | 协议 | 总线带宽 | 读/写发起能力/总接收能力 |
---|---|---|---|---|
TARG1 | D3 域的 AHB 总线 | AXI4 | 32 | 1/1/1 |
TARG2 | D2 域的 AHB 总线 | AXI4 | 32 | 1/1/1 |
TARG3 | Flash A | AXI4 | 64 | 3/2/5 |
TARG4 | Flash B | AXI4 | 64 | 3/2/5 |
TARG5 | FMC | AXI4 | 64 | 3/3/6 |
TARG6 | QUADSPI | AXI4 | 64 | 2/1/6 |
TARG7 | AXI | SRAM | AXI3 | 64 |