STM32H7系列MCU总线架构及内部SRAM介绍

STM32H7 系列 MCU 相较于 F7 系列 MCU,拥有复杂的总线矩阵,这些总线矩阵直接关系到 STM32H7 时钟树的配置和内部 SRAM 的操作。这里就简单介绍一下 STM32H7 系列 MCU 的总线架构及内部 SRAM。

参考资料:RM0433STM32H742, STM32H743/753 and STM32H750 Value line advanced Arm®-based 32-bit MCUsV7.0

一、STM32H7 系列 MCU 总线架构介绍

先来看一个具体的 MCU,下图是 STM32H743xI/G 的原理框图。

STM32H7系列MCU总线架构及内部SRAM介绍
图 1 STM32H743 原理框图

虽然框图看起来很复杂,但是可以将其分为几个部分:

  • M7 内核的处理器及附件(Cache 及 TCM 等),图中左上角的部分;
  • STM32H7 总线矩阵部分,图中浅紫色的部分;
  • 外设控制器及外设接口,图中白底黑框的部分。

M7 内核处理器要操作外设控制器及外设接口,必须要经过总线矩阵,所以需要把总线矩阵单独拉出来分析,图 2 所示,是由 AXI 和 AHBs 组成的总线矩阵。

STM32H7系列MCU总线架构及内部SRAM介绍
图 2 STM32H7 系列 MCU 由 AXI 和 AHBs 组成的总线矩阵

可以看到 AXI 和 AHB 总线矩阵所外挂的外设,共分为三个域:D1 Domain,D2 Domain 和 D3 Domain。

1.1 D1 Domain

纵轴连接的是 LTDC,DMA2D,MDMA,SDMMC1,AXIM,D2-to-D1 AHB 总线;

横轴连接的是 D1-to-D2 AHB 总线,D1-to-D3 AHB 总线,Flash A,Flash B,AXI SRAM,QSPI,FMC。

注:AHB3 总线是由 AXI 总线得到;APB3 总线由 AHB3 总线得到。即 AXI 总线–AHB3 总线–APB3 总线

1.2 D2 Domain

纵轴连接的是 D1-to-D2 AHB 总线,AHBP 总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1 和 USB HS2;

横轴连接的是 SRAM1,SRMA2,SRAM3,AHB1,AHB2,APB1,APB2,D2-to-D3 AHB 总线,D2-to-D1 AHB 总线。

1.3 D3 Domain

纵轴连接的是 D1-to-D3 AHB 总线,D2-to-D3 AHB 总线,BDMA;

横轴连接的是 AHB4,SRAM4 和 Backup SRAM。

注:APB4 总线是由 AHB4 总线得到,即 AHB4 总线–APB4 总线

注:D1 域可以到 D2、D3 域。D2 域可以到 D1、D3 域。但 D3 域无打达到 D1、D2 域。

STM32H7 的总线互联将图 2 整理成表格形式,即《STM32H7 参考手册》“Table 2. Bus-master-to-bus-slave interconnect”,可以更加直观看到互联互通关系,如图 3 所示。

STM32H7系列MCU总线架构及内部SRAM介绍
图 3 STM32H7 系列 MCU 总线矩阵(第 3 版有数字,第 7 版用 x 代替数字)

表格解释:

1. 加粗字体是 64 位总线,普通字体是 32 位总线。

2. 访问通路

  • 任何有数值的 = 都是可以访问的;
  • “-” = 表示不可访问;
  • 灰色阴影的 = 有实用价值的访问通路。

3. 表格中具体数值所代表的含义:

  • D = direct;
  • 1 = via AXI bus matrix;
  • 2 = via AHB bus matrix in D2;
  • 3 = via AHB bus matrix in D3;
  • 4 = via AHB/APB bridge in D1;
  • 5 = via AHB/APB bridge in D2;
  • 6 = via AHB/APB bridge in D3;
  • 7 = via AHBS bus of Cortex-M7;
  • 多个数值组合 = 互连路径以数字的顺序经过多个矩阵或/和桥。

4. 总线访问类型

  • 普通字体 = 32 位总线;
  • 斜体 = 32 位总线主机端/ 64 位总线从机端;
  • 粗体= 64 位总线。

二、STM32H7 系列 MCU 内部 SRAM

通过参看《STM32H7 参考手册》“2.4 Embedded SRAM”章节知道 The STM32H743/53xx and STM32H750xB 内存特性:

  • Up to 864 Kbytes of System SRAM
  • 128 Kbytes of data TCM RAM
  • 64 Kbytes of instruction TCM RAM
  • 4 Kbytes of backup SRAM

2.1 TCM SRAM

TCM : Tightly-Coupled Memory 紧密耦合内存 ,分为 ITCM 和 DTCM。 ITCM 用于运行指令,也就是程序代码,DTCM 用于数据存取,特点是跟内核速度一样,而片上 RAM 的速度基本都达不到这个速度,所以有降频处理。可供 MDMA 通过 Cortex®-M7 CPU 的 AHBS 从总线访问。

最大速度:480MHz。

DTCM 地址:0x2000 0000,大小 128KB。

ITCM 地址:0x0000 0000,大小 64KB。

2.2 AXI SRAM 区

位于 D1 域,数据带宽是 64bit,挂在 AXI 总线上。除了 D3 域中的 BDMB 主控不能访问,其它都可以访问此 RAM 区。

最大速度:240MHz。

地址:0x2400 0000,大小 512KB。

用途:用途不限,可以用于用户应用数据存储或者 LCD 显存。

2.3 SRAM1、SRAM2、SRAM3 区

位于 D2 域,数据带宽是 32bit,挂在 AHB 总线上。除了 D3 域中的 BDMB 主控不能访问这三块 SRAM,其它都可以访问这几个 RAM 区。

最大速度:240MHz。

SRAM1:地址 0x3000 0000,大小 128KB,用途不限,可用于 D2 域中的 DMA 缓冲,也可以当 D1 域断电后用于运行程序代码。

SRAM2:地址 0x3002 0000,大小 128KB,用途不限,可用于 D2 域中的 DMA 缓冲,也可以用于用户数据存取。

SRAM3:地址 0x3004 0000,大小 32KB,用途不限,主要用于以太网和 USB 的缓冲。

2.4 SRAM4 区

位于 D3 域,数据带宽是 32bit,挂在 AHB 总线上,大部分主控都能访这块 SRAM 区。

最大速度:240MHz。

地址:0x3800 0000,大小 64KB。

用途:用途不限,可以用于 D3 域中的 DMA 缓冲,也可以当 D1 和 D2 域进入 DStandby 待机方式后,继续保存用户数据。

2.5 Backup SRAM

备份 RAM 区,位于 D3 域,数据带宽是 32bit,挂在 AHB 总线上,大部分主控都能访问这块 SRAM 区。

最大速度:240MHz。

地址:0x3880 0000,大小 4KB。

用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat 引脚外接电池)。

以上即是 STM32H7 系列 MCU 总线架构及内部 SRAM 的简单介绍,后续会结合实际应用说明该部分的重要性。

扫码关注尚为网微信公众号

尚为网微信公众号
每天学习电路设计嵌入式系统的专业知识,关注一波,没准就用上了。

原创文章,作者:sunev,如若转载,请注明出处:https://www.sunev.cn/embedded/931.html

(8)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年12月15日 21:22
下一篇 2021年3月18日 15:19

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注